.include "macros/function.inc" .include "include/ov61.inc" .text .global func_ov61_0213dec0 arm_func_start func_ov61_0213dec0 func_ov61_0213dec0: ; 0x0213dec0 cmp r0, #0 ldrne r1, _0213dedc ; =data_ov61_0217ea20 ldrne r1, [r1, #4] strne r1, [r0] ldr r0, _0213dedc ; =data_ov61_0217ea20 ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov61_0213dec0 _0213dedc: .word data_ov61_0217ea20 .global func_ov61_0213dee0 arm_func_start func_ov61_0213dee0 func_ov61_0213dee0: ; 0x0213dee0 cmp r0, #0 ldrne r2, _0213dfc8 ; =data_ov61_0217ea20 ldrne r2, [r2, #4] strne r2, [r0] cmp r1, #0 beq _0213dfbc ldr r0, _0213dfc8 ; =data_ov61_0217ea20 ldr r0, [r0] cmp r0, #0x11 addls pc, pc, r0, lsl #2 b _0213dfb4 _0213df0c: ; jump table b _0213dfb4 ; case 0 b _0213df84 ; case 1 b _0213df54 ; case 2 b _0213df54 ; case 3 b _0213df54 ; case 4 b _0213df54 ; case 5 b _0213df60 ; case 6 b _0213df6c ; case 7 b _0213df54 ; case 8 b _0213df84 ; case 9 b _0213df78 ; case 10 b _0213df78 ; case 11 b _0213df78 ; case 12 b _0213df78 ; case 13 b _0213df90 ; case 14 b _0213df9c ; case 15 b _0213dfa8 ; case 16 b _0213df9c ; case 17 _0213df54: mov r0, #6 str r0, [r1] b _0213dfbc _0213df60: mov r0, #3 str r0, [r1] b _0213dfbc _0213df6c: mov r0, #4 str r0, [r1] b _0213dfbc _0213df78: mov r0, #1 str r0, [r1] b _0213dfbc _0213df84: mov r0, #7 str r0, [r1] b _0213dfbc _0213df90: mov r0, #5 str r0, [r1] b _0213dfbc _0213df9c: mov r0, #6 str r0, [r1] b _0213dfbc _0213dfa8: mov r0, #2 str r0, [r1] b _0213dfbc _0213dfb4: mov r0, #0 str r0, [r1] _0213dfbc: ldr r0, _0213dfc8 ; =data_ov61_0217ea20 ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov61_0213dee0 _0213dfc8: .word data_ov61_0217ea20 .global func_ov61_0213dfcc arm_func_start func_ov61_0213dfcc func_ov61_0213dfcc: ; 0x0213dfcc ldr r0, _0213dfe8 ; =data_ov61_0217ea20 ldr r1, [r0] cmp r1, #9 movne r1, #0 strne r1, [r0] strne r1, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov61_0213dfcc _0213dfe8: .word data_ov61_0217ea20 .global func_ov61_0213dfec arm_func_start func_ov61_0213dfec func_ov61_0213dfec: ; 0x0213dfec ldr r0, _0213e004 ; =data_ov61_0217ea20 ldr r0, [r0] cmp r0, #0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_0213dfec _0213e004: .word data_ov61_0217ea20 .global func_ov61_0213e008 arm_func_start func_ov61_0213e008 func_ov61_0213e008: ; 0x0213e008 ldr r2, _0213e01c ; =data_ov61_0217ea20 ldr r3, [r2] cmp r3, #9 stmneia r2, {r0, r1} bx lr .align 2, 0 arm_func_end func_ov61_0213e008 _0213e01c: .word data_ov61_0217ea20 .global func_ov61_0213e020 arm_func_start func_ov61_0213e020 func_ov61_0213e020: ; 0x0213e020 ldr r2, _0213e030 ; =data_ov61_0217ea28 str r0, [r2, #4] str r1, [r2] bx lr .align 2, 0 arm_func_end func_ov61_0213e020 _0213e030: .word data_ov61_0217ea28 .global func_ov61_0213e034 arm_func_start func_ov61_0213e034 func_ov61_0213e034: ; 0x0213e034 stmdb sp!, {r3, lr} ldr r3, _0213e04c ; =data_ov61_0217ea28 mov r2, #0x20 ldr r3, [r3, #4] blx r3 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e034 _0213e04c: .word data_ov61_0217ea28 .global func_ov61_0213e050 arm_func_start func_ov61_0213e050 func_ov61_0213e050: ; 0x0213e050 stmdb sp!, {r3, lr} ldr r3, _0213e064 ; =data_ov61_0217ea28 ldr r3, [r3, #4] blx r3 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e050 _0213e064: .word data_ov61_0217ea28 .global func_ov61_0213e068 arm_func_start func_ov61_0213e068 func_ov61_0213e068: ; 0x0213e068 stmdb sp!, {r3, lr} cmp r1, #0 ldmeqia sp!, {r3, pc} ldr r3, _0213e084 ; =data_ov61_0217ea28 ldr r3, [r3] blx r3 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e068 _0213e084: .word data_ov61_0217ea28 .global func_ov61_0213e088 arm_func_start func_ov61_0213e088 func_ov61_0213e088: ; 0x0213e088 stmdb sp!, {r3, lr} mov ip, #0x20 str ip, [sp] bl func_ov61_0213e09c ldmia sp!, {r3, pc} arm_func_end func_ov61_0213e088 .global func_ov61_0213e09c arm_func_start func_ov61_0213e09c func_ov61_0213e09c: ; 0x0213e09c stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr ip, _0213e108 ; =data_ov61_0217ea28 mov r4, r2 mov r7, r3 mov r5, r1 ldr r2, [sp, #0x18] ldr r3, [ip, #4] mov r1, r7 mov r8, r0 blx r3 movs r6, r0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} cmp r5, #0 beq _0213e100 mov r0, r5 mov r1, r6 mov r2, r7 bl func_02007ad8 ldr r1, _0213e108 ; =data_ov61_0217ea28 mov r0, r8 ldr r3, [r1] mov r1, r5 mov r2, r4 blx r3 _0213e100: mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0213e09c _0213e108: .word data_ov61_0217ea28 .global func_ov61_0213e10c arm_func_start func_ov61_0213e10c func_ov61_0213e10c: ; 0x0213e10c ldr ip, _0213e11c ; =func_ov61_0213e034 mov r1, r0 mov r0, #5 bx ip .align 2, 0 arm_func_end func_ov61_0213e10c _0213e11c: .word func_ov61_0213e034 .global func_ov61_0213e120 arm_func_start func_ov61_0213e120 func_ov61_0213e120: ; 0x0213e120 ldr ip, _0213e138 ; =func_ov61_0213e088 mov r2, r1 mov r1, r0 mov r3, r2 mov r0, #5 bx ip .align 2, 0 arm_func_end func_ov61_0213e120 _0213e138: .word func_ov61_0213e088 .global func_ov61_0213e13c arm_func_start func_ov61_0213e13c func_ov61_0213e13c: ; 0x0213e13c ldr ip, _0213e150 ; =func_ov61_0213e068 mov r1, r0 mov r0, #5 mov r2, #0 bx ip .align 2, 0 arm_func_end func_ov61_0213e13c _0213e150: .word func_ov61_0213e068 .global func_ov61_0213e154 arm_func_start func_ov61_0213e154 func_ov61_0213e154: ; 0x0213e154 stmdb sp!, {r4, r5, r6, lr} ldr r2, _0213e1b0 ; =data_ov61_0217ea30 mov r6, r0 ldr r2, [r2] mov r5, r1 mov r4, r3 cmp r2, #0 ldmneia sp!, {r4, r5, r6, pc} mov r1, #0 mov r2, #0xc bl func_02007a44 strh r5, [r6, #8] mov r0, #1 strh r0, [r6, #0xa] strh r0, [r6, #4] mov r0, #0 ldr r1, _0213e1b0 ; =data_ov61_0217ea30 strh r0, [r6, #6] str r6, [r1] bl func_ov61_0213e1b4 mov r0, r4 bl func_ov61_021599ec ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0213e154 _0213e1b0: .word data_ov61_0217ea30 .global func_ov61_0213e1b4 arm_func_start func_ov61_0213e1b4 func_ov61_0213e1b4: ; 0x0213e1b4 stmdb sp!, {r3, lr} cmp r0, #0 beq _0213e1d4 cmp r0, #1 beq _0213e1e0 cmp r0, #2 beq _0213e1ec ldmia sp!, {r3, pc} _0213e1d4: ldr r0, _0213e1f8 ; =data_ov61_0217a620 bl func_ov61_0214dbb4 ldmia sp!, {r3, pc} _0213e1e0: ldr r0, _0213e1fc ; =data_ov61_0217a648 bl func_ov61_0214dbb4 ldmia sp!, {r3, pc} _0213e1ec: ldr r0, _0213e200 ; =data_ov61_0217a66c bl func_ov61_0214dbb4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e1b4 _0213e1f8: .word data_ov61_0217a620 _0213e1fc: .word data_ov61_0217a648 _0213e200: .word data_ov61_0217a66c .global func_ov61_0213e204 arm_func_start func_ov61_0213e204 func_ov61_0213e204: ; 0x0213e204 stmdb sp!, {lr} sub sp, sp, #0xc ldr r0, _0213e2a8 ; =data_ov61_0217ea30 ldr r0, [r0] cmp r0, #0 beq _0213e294 ldrh r0, [r0, #4] cmp r0, #1 addne sp, sp, #0xc ldmneia sp!, {pc} add r0, sp, #0 mov r1, #0 mov r2, #0xc bl func_02007a44 ldr r0, _0213e2a8 ; =data_ov61_0217ea30 ldr r3, _0213e2ac ; =func_ov61_0213e034 ldr lr, [r0] ldr r2, _0213e2b0 ; =func_ov61_0213e068 ldrh ip, [lr, #8] add r0, sp, #0 mov r1, #2 strb ip, [sp, #8] ldrh ip, [lr, #0xa] strb ip, [sp, #9] str r3, [sp] str r2, [sp, #4] strh r1, [lr, #4] bl func_ov61_0214ae18 cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {pc} mov r0, #9 sub r1, r0, #0xf bl func_ov61_0213e008 add sp, sp, #0xc ldmia sp!, {pc} _0213e294: mov r0, #9 sub r1, r0, #0xd bl func_ov61_0213e008 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov61_0213e204 _0213e2a8: .word data_ov61_0217ea30 _0213e2ac: .word func_ov61_0213e034 _0213e2b0: .word func_ov61_0213e068 .global func_ov61_0213e2b4 arm_func_start func_ov61_0213e2b4 func_ov61_0213e2b4: ; 0x0213e2b4 stmdb sp!, {r3, lr} ldr r0, _0213e2f0 ; =data_ov61_0217ea30 ldr r1, [r0] cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r0, [r1] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} mov r0, #3 strh r0, [r1, #4] bl func_ov61_0213e36c mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e2b4 _0213e2f0: .word data_ov61_0217ea30 .global func_ov61_0213e2f4 arm_func_start func_ov61_0213e2f4 func_ov61_0213e2f4: ; 0x0213e2f4 stmdb sp!, {r3, lr} ldr r0, _0213e368 ; =data_ov61_0217ea30 ldr r1, [r0] cmp r1, #0 ldmeqia sp!, {r3, pc} ldrh r0, [r1, #4] cmp r0, #2 bne _0213e328 bl func_ov61_0214afc0 ldr r1, _0213e368 ; =data_ov61_0217ea30 ldr r1, [r1] str r0, [r1] ldmia sp!, {r3, pc} _0213e328: cmp r0, #4 ldmneia sp!, {r3, pc} ldrh r0, [r1, #6] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0215f568 cmp r0, #9 ldmeqia sp!, {r3, pc} ldr r0, _0213e368 ; =data_ov61_0217ea30 mov r3, #0 ldr r2, [r0] mov r1, #6 strh r3, [r2, #6] ldr r0, [r0] strh r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e2f4 _0213e368: .word data_ov61_0217ea30 .global func_ov61_0213e36c arm_func_start func_ov61_0213e36c func_ov61_0213e36c: ; 0x0213e36c stmdb sp!, {r3, lr} ldr r0, _0213e418 ; =data_ov61_0217ea30 ldr r0, [r0] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldrh r0, [r0, #4] cmp r0, #1 ldmeqia sp!, {r3, pc} bl func_ov61_0214b090 mov r1, r0 cmp r1, #5 bne _0213e3c0 ldr r1, _0213e418 ; =data_ov61_0217ea30 mov r0, #4 ldr r3, [r1] mov r2, #1 strh r0, [r3, #4] ldr r1, [r1] strh r2, [r1, #6] ldmia sp!, {r3, pc} _0213e3c0: cmp r1, #0 bge _0213e410 mvn r0, #9 cmp r1, r0 blt _0213e3f4 sub r1, r1, #0x2bc mov r0, #9 bl func_ov61_0213e008 ldr r1, _0213e418 ; =data_ov61_0217ea30 mov r0, #8 ldr r1, [r1] strh r0, [r1, #4] ldmia sp!, {r3, pc} _0213e3f4: mov r0, #5 bl func_ov61_0213e008 ldr r1, _0213e418 ; =data_ov61_0217ea30 mov r0, #7 ldr r1, [r1] strh r0, [r1, #4] ldmia sp!, {r3, pc} _0213e410: mov r0, #2 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e36c _0213e418: .word data_ov61_0217ea30 .global func_ov61_0213e41c arm_func_start func_ov61_0213e41c func_ov61_0213e41c: ; 0x0213e41c stmdb sp!, {r4, lr} ldr r0, _0213e478 ; =data_ov61_0217ea30 ldr r1, [r0] cmp r1, #0 ldmeqia sp!, {r4, pc} ldrh r1, [r1, #4] cmp r1, #1 moveq r1, #0 streq r1, [r0] ldmeqia sp!, {r4, pc} bl func_ov61_0214b140 cmp r0, #0 bne _0213e468 mov r4, #0xa _0213e454: mov r0, r4 bl func_0200db28 bl func_ov61_0214b140 cmp r0, #0 beq _0213e454 _0213e468: ldr r0, _0213e478 ; =data_ov61_0217ea30 mov r1, #0 str r1, [r0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0213e41c _0213e478: .word data_ov61_0217ea30 .global func_ov61_0213e47c arm_func_start func_ov61_0213e47c func_ov61_0213e47c: ; 0x0213e47c stmdb sp!, {r3, lr} ldr r0, _0213e4e8 ; =data_ov61_0217ea30 ldr r2, [r0] cmp r2, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} ldrh r1, [r2, #4] cmp r1, #8 moveq r0, #0 ldmeqia sp!, {r3, pc} cmp r1, #1 bne _0213e4bc mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r3, pc} _0213e4bc: mov r0, #5 strh r0, [r2, #4] bl func_ov61_0214b140 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r0, _0213e4e8 ; =data_ov61_0217ea30 mov r1, #0 str r1, [r0] mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e47c _0213e4e8: .word data_ov61_0217ea30 .global func_ov61_0213e4ec arm_func_start func_ov61_0213e4ec func_ov61_0213e4ec: ; 0x0213e4ec ldr r0, _0213e514 ; =data_ov61_0217ea30 ldr r0, [r0] cmp r0, #0 beq _0213e50c ldrh r0, [r0, #4] cmp r0, #6 moveq r0, #1 bxeq lr _0213e50c: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_0213e4ec _0213e514: .word data_ov61_0217ea30 .global func_ov61_0213e518 arm_func_start func_ov61_0213e518 func_ov61_0213e518: ; 0x0213e518 ldr ip, _0213e520 ; =func_ov61_0216138c bx ip .align 2, 0 arm_func_end func_ov61_0213e518 _0213e520: .word func_ov61_0216138c .global func_ov61_0213e524 arm_func_start func_ov61_0213e524 func_ov61_0213e524: ; 0x0213e524 stmdb sp!, {r3, lr} bl func_ov61_0213e2f4 bl func_ov61_0213e4ec cmp r0, #0 beq _0213e564 bl func_ov61_0214b0fc mov r2, r0 cmp r2, #0x63 ldr r1, _0213e56c ; =0xffff2d10 movhi r2, #0x63 mov r0, #8 sub r1, r1, r2 bl func_ov61_0213e008 bl func_ov61_0213e41c mov r0, #1 ldmia sp!, {r3, pc} _0213e564: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213e524 _0213e56c: .word 0xffff2d10 .global func_ov61_0213e570 arm_func_start func_ov61_0213e570 func_ov61_0213e570: ; 0x0213e570 ldr r0, _0213e57c ; =data_ov61_0217f368 ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov61_0213e570 _0213e57c: .word data_ov61_0217f368 .global func_ov61_0213e580 arm_func_start func_ov61_0213e580 func_ov61_0213e580: ; 0x0213e580 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc stmia sp, {r0, r3} mov r4, r2 str r1, [sp, #8] ldr r2, _0213e5b4 ; =data_ov61_0217a68c mov r0, r4 mov r1, #0x1000 bl func_0200c910 mov r0, r4 bl func_02047008 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_0213e580 _0213e5b4: .word data_ov61_0217a68c .global func_ov61_0213e5b8 arm_func_start func_ov61_0213e5b8 func_ov61_0213e5b8: ; 0x0213e5b8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r2 mov r7, r0 mov r6, r1 mov r4, r3 mov r0, r5 mov r1, #0 bl func_020472b4 mov r2, r0 mov r0, r7 mov r1, r6 mov r3, r4 bl func_ov61_0213e580 mov r0, r5 bl func_02047008 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0213e5b8 .global func_ov61_0213e5f8 arm_func_start func_ov61_0213e5f8 func_ov61_0213e5f8: ; 0x0213e5f8 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r4, r1 mov r7, r0 mov r6, r3 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r2 mov r1, r6 bl func_020472b4 movs r5, r0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _0213e628: mov r0, r7 bl func_02047008 mov r2, r0 mov r1, r7 add r0, r5, #1 bl func_02047280 cmp r0, #0 bne _0213e660 mov r0, r7 bl func_02047008 add r0, r0, r5 ldrsb r0, [r0, #1] cmp r6, r0 beq _0213e694 _0213e660: mov r1, r6 add r0, r5, #1 bl func_020472b4 cmp r0, #0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r1, r6 add r0, r0, #1 bl func_020472b4 movs r5, r0 bne _0213e628 mvn r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0213e694: mov r1, r6 add r0, r5, #1 bl func_020472b4 movs r5, r0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r1, r6 add r0, r5, #1 bl func_020472b4 cmp r0, #0 addne r1, r5, #1 subne r6, r0, r1 bne _0213e6d4 add r0, r5, #1 bl func_02047008 mov r6, r0 _0213e6d4: mov r0, r4 mov r2, r6 add r1, r5, #1 bl func_020470ec mov r1, #0 mov r0, r6 strb r1, [r4, r6] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0213e5f8 .global func_ov61_0213e6f4 arm_func_start func_ov61_0213e6f4 func_ov61_0213e6f4: ; 0x0213e6f4 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0213e814 ; =data_ov61_0217ea34 mov r4, r0 ldr r0, [r1, #4] ldr r2, [r1] cmp r0, #0 cmpeq r2, #0 mov r0, #0 bne _0213e7b8 ldr r2, [r1, #0xc] ldr r3, [r1, #8] cmp r2, r0 cmpeq r3, r0 bne _0213e7b8 ldr r2, [r1, #0x14] ldr r1, [r1, #0x10] cmp r2, r0 cmpeq r1, r0 bne _0213e7b8 add r0, sp, #0 bl func_0200f014 bl func_0200e8f8 mov r2, r1, lsl #0x18 ldr ip, [sp] ldr r3, [sp, #4] mov lr, ip, lsr #0x18 orr lr, lr, r3, lsl #8 mvn r1, #0xff000000 and r1, lr, r1 orr lr, r1, r0, lsl #24 mov ip, #0 orr r2, r2, r0, lsr #8 and r1, ip, r3, lsr #24 orr r2, r1, r2 ldr r0, _0213e818 ; =data_ov61_0217ea34 add r1, sp, #0 str lr, [sp] str r2, [sp, #4] ldmia r1, {r2, r3} stmia r0, {r2, r3} ldr r1, _0213e81c ; =0x6c078965 ldr r0, _0213e814 ; =data_ov61_0217ea34 ldr r2, _0213e820 ; =0x5d588b65 str r1, [r0, #8] ldr r1, _0213e824 ; =0x00269ec3 str r2, [r0, #0xc] str r1, [r0, #0x10] str ip, [r0, #0x14] _0213e7b8: ldr r1, _0213e814 ; =data_ov61_0217ea34 ldr r2, [r1] ldmib r1, {r0, r3} umull lr, ip, r3, r2 mla ip, r3, r0, ip ldr r0, [r1, #0xc] ldr r3, [r1, #0x10] mla ip, r0, r2, ip ldr r0, [r1, #0x14] adds r2, r3, lr adc r0, r0, ip str r2, [r1] cmp r4, #0 str r0, [r1, #4] addeq sp, sp, #8 ldmeqia sp!, {r4, pc} mov r3, #0 umull r2, r1, r0, r4 mla r1, r0, r3, r1 mla r1, r3, r4, r1 mov r0, r1 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0213e6f4 _0213e814: .word data_ov61_0217ea34 _0213e818: .word data_ov61_0217ea34 _0213e81c: .word 0x6c078965 _0213e820: .word 0x5d588b65 _0213e824: .word 0x00269ec3 .global func_ov61_0213e828 arm_func_start func_ov61_0213e828 func_ov61_0213e828: ; 0x0213e828 ldrh r1, [r0] mov r2, #0 cmp r1, #0 beq _0213e84c _0213e838: add r2, r2, #1 mov r1, r2, lsl #0x1 ldrh r1, [r0, r1] cmp r1, #0 bne _0213e838 _0213e84c: mov r0, r2 bx lr arm_func_end func_ov61_0213e828 .global func_ov61_0213e854 arm_func_start func_ov61_0213e854 func_ov61_0213e854: ; 0x0213e854 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 ldr ip, _0213eab8 ; =data_ov61_0217ea4c mov r6, r1 mov r5, r2 mov r4, r3 str r0, [ip] bl func_ov61_0213dfcc ldr r0, _0213eab8 ; =data_ov61_0217ea4c mov r2, #0 ldr r1, [r0] ldr r3, _0213eabc ; =func_ov61_021438ec str r2, [r1] ldr r1, [r0] ldr r2, _0213eac0 ; =func_ov61_0213fdb0 str r3, [r1, #4] ldr r1, [r0] ldr ip, [sp, #0x24] str r2, [r1, #8] cmp ip, #0 ldr r2, [r0] ldr r3, _0213eac4 ; =func_ov61_0213fdbc ldr r1, _0213eac8 ; =func_ov61_0214010c str r3, [r2, #0xc] ldr r0, [r0] ldr r3, [sp, #0x28] str r1, [r0, #0x10] ldr r0, _0213eab8 ; =data_ov61_0217ea4c moveq ip, #0x2000 ldr r0, [r0] cmp r3, #0 str ip, [r0, #0x14] moveq r3, #0x2000 ldr r1, _0213eab8 ; =data_ov61_0217ea4c mov r0, #0 ldr r2, [r1] ldr ip, _0213eacc ; =data_ov61_02181384 str r3, [r2, #0x18] ldr r2, [r1] ldr r3, _0213ead0 ; =data_ov61_02181484 str r0, [r2, #0x1c] ldr r2, [r1] str r6, [r2, #0x20] ldr r2, [r1] str r0, [r2, #0x24] ldr r2, [r1] str r0, [r2, #0x28] ldr r2, [r1] strb r0, [r2, #0x2c] ldr r2, [r1] strb r0, [r2, #0x2d] ldr r2, [r1] str r0, [r2, #0x64] ldr r2, [r1] str ip, [r2, #0x68] ldr r2, [r1] str r3, [r2, #0x6c] ldr r2, [r1] str r0, [r2, #0x70] ldr r2, [r1] str r0, [r2, #0x74] ldr r2, [r1] str r0, [r2, #0x78] ldr r2, [r1] str r0, [r2, #0x7c] ldr r2, [r1] str r0, [r2, #0x80] ldr r2, [r1] str r0, [r2, #0x84] ldr r2, [r1] str r0, [r2, #0x88] ldr r2, [r1] str r0, [r2, #0x8c] ldr r2, [r1] str r0, [r2, #0x90] ldr r1, [r1] str r0, [r1, #0x94] bl func_ov61_0213f678 ldr r0, _0213eab8 ; =data_ov61_0217ea4c ldr r1, [r6, #0x24] ldr r2, [r0] ldr r0, _0213ead4 ; =func_ov61_0213f9f0 str r1, [sp] add r1, r2, #0x2e str r1, [sp, #4] mov r1, r6 mov r3, r5 str r0, [sp, #8] mov r5, #0 add r0, r2, #0x98 add r2, r2, #0x1c str r5, [sp, #0xc] bl func_ov61_02140154 ldr r0, _0213eab8 ; =data_ov61_0217ea4c ldr r2, [sp, #0x30] ldr r5, [r0] ldr r3, [sp, #0x2c] add r0, r5, #0x2f8 add r1, r5, #0x1c str r2, [sp] add r2, r5, #0x2e bl func_ov61_02140d34 ldr r0, _0213eab8 ; =data_ov61_0217ea4c ldr r1, _0213eacc ; =data_ov61_02181384 ldr r2, [r0] ldr r0, _0213ead0 ; =data_ov61_02181484 str r1, [sp] str r0, [sp, #4] ldr r1, [sp, #0x2c] ldr r0, [sp, #0x30] str r1, [sp, #8] str r0, [sp, #0xc] add r0, r2, #0x354 add r1, r2, #0x1c add r3, r2, #4 bl func_ov61_0214237c ldr r0, _0213eab8 ; =data_ov61_0217ea4c ldr r0, [r0] add r0, r0, #0x3d8 add r0, r0, #0x400 bl func_ov61_0214a71c mov r0, r4 bl func_02047008 cmp r0, #0x100 movhs r5, #0xff bhs _0213ea58 mov r0, r4 bl func_02047008 mov r5, r0 _0213ea58: ldr r1, _0213eacc ; =data_ov61_02181384 mov r0, r4 mov r2, r5 bl func_02007ad8 ldr r0, [sp, #0x20] ldr r1, _0213eacc ; =data_ov61_02181384 mov r2, #0 strb r2, [r1, r5] bl func_02047008 cmp r0, #0x100 movhs r4, #0xff bhs _0213ea94 ldr r0, [sp, #0x20] bl func_02047008 mov r4, r0 _0213ea94: ldr r0, [sp, #0x20] ldr r1, _0213ead0 ; =data_ov61_02181484 mov r2, r4 bl func_02007ad8 ldr r0, _0213ead0 ; =data_ov61_02181484 mov r1, #0 strb r1, [r0, r4] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0213e854 _0213eab8: .word data_ov61_0217ea4c _0213eabc: .word func_ov61_021438ec _0213eac0: .word func_ov61_0213fdb0 _0213eac4: .word func_ov61_0213fdbc _0213eac8: .word func_ov61_0214010c _0213eacc: .word data_ov61_02181384 _0213ead0: .word data_ov61_02181484 _0213ead4: .word func_ov61_0213f9f0 .global func_ov61_0213ead8 arm_func_start func_ov61_0213ead8 func_ov61_0213ead8: ; 0x0213ead8 stmdb sp!, {r3, lr} ldr r0, _0213ec3c ; =data_ov61_0217ea4c ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r0, [r0, #0x364] cmp r0, #0 beq _0213eb0c bl func_ov61_02177f98 ldr r0, _0213ec3c ; =data_ov61_0217ea4c mov r1, #0 ldr r0, [r0] str r1, [r0, #0x364] _0213eb0c: ldr r0, _0213ec3c ; =data_ov61_0217ea4c mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x36c] ldr r0, [r0] ldr r0, [r0, #0x438] cmp r0, #0 beq _0213eb40 bl func_ov61_02162ba0 ldr r0, _0213ec3c ; =data_ov61_0217ea4c mov r1, #0 ldr r0, [r0] str r1, [r0, #0x438] _0213eb40: bl func_ov61_02176dc0 bl func_ov61_021720e0 ldr r0, _0213ec3c ; =data_ov61_0217ea4c ldr ip, [r0] ldr r0, [ip, #0x1c] cmp r0, #0 beq _0213ebf4 mov r1, #0 mov r2, r1 mov r3, r1 add r0, ip, #0x1c bl func_ov61_02167050 ldr r0, _0213ec3c ; =data_ov61_0217ea4c mov r2, #0 ldr r0, [r0] mov r3, r2 add r0, r0, #0x1c mov r1, #3 bl func_ov61_02167050 ldr r0, _0213ec3c ; =data_ov61_0217ea4c mov r2, #0 ldr r0, [r0] mov r3, r2 add r0, r0, #0x1c mov r1, #1 bl func_ov61_02167050 ldr r0, _0213ec3c ; =data_ov61_0217ea4c mov r2, #0 ldr r0, [r0] mov r1, #2 add r0, r0, #0x1c mov r3, r2 bl func_ov61_02167050 ldr r0, _0213ec3c ; =data_ov61_0217ea4c ldr r0, [r0] add r0, r0, #0x1c bl func_ov61_0216701c ldr r0, _0213ec3c ; =data_ov61_0217ea4c ldr r0, [r0] add r0, r0, #0x1c bl func_ov61_02167000 mov r1, #0 ldr r0, _0213ec3c ; =data_ov61_0217ea4c ldr r0, [r0] str r1, [r0, #0x1c] _0213ebf4: bl func_ov61_02140374 bl func_ov61_02141384 bl func_ov61_021444bc bl func_ov61_0214a9f0 ldr r0, _0213ec3c ; =data_ov61_0217ea4c ldr r0, [r0] ldr r0, [r0] cmp r0, #0 beq _0213ec2c bl func_ov61_0217422c ldr r0, _0213ec3c ; =data_ov61_0217ea4c mov r1, #0 ldr r0, [r0] str r1, [r0] _0213ec2c: ldr r0, _0213ec3c ; =data_ov61_0217ea4c mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213ead8 _0213ec3c: .word data_ov61_0217ea4c .global func_ov61_0213ec40 arm_func_start func_ov61_0213ec40 func_ov61_0213ec40: ; 0x0213ec40 stmdb sp!, {r3, lr} bl func_ov61_0213e524 cmp r0, #0 beq _0213ec54 bl func_ov61_0213f778 _0213ec54: ldr r0, _0213ee74 ; =data_ov61_0217ea4c ldr r0, [r0] cmp r0, #0 ldrne r0, [r0, #0x24] cmpne r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0213dfec cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0213ee74 ; =data_ov61_0217ea4c ldr r0, [r0] ldr r0, [r0, #0x24] cmp r0, #6 addls pc, pc, r0, lsl #2 b _0213ee2c _0213ec90: ; jump table b _0213ee2c ; case 0 b _0213ecac ; case 1 b _0213edc0 ; case 2 b _0213edc8 ; case 3 b _0213edc8 ; case 4 b _0213edd8 ; case 5 b _0213ede8 ; case 6 _0213ecac: bl func_ov61_0216575c cmp r0, #1 beq _0213eccc cmp r0, #2 beq _0213eda0 cmp r0, #3 beq _0213edb0 b _0213ee2c _0213eccc: ldr r0, _0213ee74 ; =data_ov61_0217ea4c mov r2, #0 ldr r0, [r0] ldr r1, [r0, #0xa0] add r0, r0, #0x1c bl func_ov61_02166fd0 bl func_ov61_0213f830 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0213ee74 ; =data_ov61_0217ea4c mov r1, #0 ldr r0, [r0] ldr r2, _0213ee78 ; =func_ov61_0213fc10 mov r3, r1 add r0, r0, #0x1c bl func_ov61_02167050 bl func_ov61_0213f830 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0213ee74 ; =data_ov61_0217ea4c ldr r2, _0213ee7c ; =func_ov61_0213fc48 ldr r0, [r0] mov r1, #3 add r0, r0, #0x1c mov r3, #0 bl func_ov61_02167050 bl func_ov61_0213f830 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0213ee74 ; =data_ov61_0217ea4c ldr r2, _0213ee80 ; =func_ov61_02141020 ldr r0, [r0] mov r1, #1 add r0, r0, #0x1c mov r3, #0 bl func_ov61_02167050 bl func_ov61_0213f830 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _0213ee74 ; =data_ov61_0217ea4c ldr r2, _0213ee84 ; =func_ov61_021410c8 ldr r0, [r0] mov r1, #2 add r0, r0, #0x1c mov r3, #0 bl func_ov61_02167050 bl func_ov61_0213f830 cmp r0, #0 ldmneia sp!, {r3, pc} mov r0, #2 bl func_ov61_0213f77c bl func_ov61_021401d8 b _0213ee2c _0213eda0: ldr r1, _0213ee88 ; =0xffffb172 mov r0, #3 bl func_ov61_02140324 ldmia sp!, {r3, pc} _0213edb0: ldr r1, _0213ee8c ; =0xffffb17b mov r0, #4 bl func_ov61_02140324 ldmia sp!, {r3, pc} _0213edc0: bl func_ov61_02140210 b _0213ee2c _0213edc8: bl func_ov61_02140e14 mov r0, #0 bl func_ov61_02142b94 b _0213ee2c _0213edd8: mov r0, #1 bl func_ov61_02142b94 bl func_ov61_02140e14 b _0213ee2c _0213ede8: bl func_ov61_0214a7d4 bl func_ov61_02140e14 ldr r0, _0213ee74 ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x369] cmp r0, #2 ldrneb r0, [r1, #0x369] cmpne r0, #3 bne _0213ee18 mov r0, #1 bl func_ov61_02142b94 b _0213ee2c _0213ee18: ldr r0, [r1] cmp r0, #0 beq _0213ee2c mov r0, #0 bl func_ov61_02142b94 _0213ee2c: ldr r0, _0213ee74 ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x36c] cmp r0, #1 ldmneia sp!, {r3, pc} ldr r0, [r1, #0x364] cmp r0, #0 beq _0213ee60 bl func_ov61_02177f98 ldr r0, _0213ee74 ; =data_ov61_0217ea4c mov r1, #0 ldr r0, [r0] str r1, [r0, #0x364] _0213ee60: ldr r0, _0213ee74 ; =data_ov61_0217ea4c mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x36c] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213ec40 _0213ee74: .word data_ov61_0217ea4c _0213ee78: .word func_ov61_0213fc10 _0213ee7c: .word func_ov61_0213fc48 _0213ee80: .word func_ov61_02141020 _0213ee84: .word func_ov61_021410c8 _0213ee88: .word 0xffffb172 _0213ee8c: .word 0xffffb17b .global func_ov61_0213ee90 arm_func_start func_ov61_0213ee90 func_ov61_0213ee90: ; 0x0213ee90 stmdb sp!, {r4, r5, r6, lr} movs r4, r0 mov r6, r2 mov r5, r3 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} bl func_ov61_0213dfec cmp r0, #0 bne _0213eec8 ldr r0, _0213ef90 ; =data_ov61_0217ea4c ldr r2, [r0] ldr r1, [r2, #0x24] cmp r1, #0 beq _0213eed0 _0213eec8: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0213eed0: str r6, [r2, #0x70] ldr r1, [r0] cmp r4, #0 str r5, [r1, #0x74] ldrneh r1, [r4] cmpne r1, #0 moveq r5, #0 beq _0213ef3c ldr r1, [r0] mov r0, #0 add r1, r1, #0x2e mov r2, #0x34 bl func_020078c0 mov r0, r4 bl func_ov61_0213e828 cmp r0, #0x19 movhi r5, #0x19 bhi _0213ef24 mov r0, r4 bl func_ov61_0213e828 mov r5, r0 _0213ef24: ldr r1, _0213ef90 ; =data_ov61_0217ea4c mov r0, r4 ldr r1, [r1] mov r2, r5, lsl #0x1 add r1, r1, #0x2e bl func_020078d8 _0213ef3c: ldr r0, _0213ef90 ; =data_ov61_0217ea4c mov r1, #0 ldr r0, [r0] add r0, r0, r5, lsl #1 strh r1, [r0, #0x2e] bl func_ov61_0213e36c cmp r0, #4 beq _0213ef70 ldr r1, _0213ef94 ; =0xffff1596 mov r0, #2 bl func_ov61_02140324 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0213ef70: mov r0, #1 bl func_ov61_0213f77c ldr r0, _0213ef90 ; =data_ov61_0217ea4c ldr r0, [r0] ldr r0, [r0, #0x68] bl func_ov61_021655ac mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0213ee90 _0213ef90: .word data_ov61_0217ea4c _0213ef94: .word 0xffff1596 .global func_ov61_0213ef98 arm_func_start func_ov61_0213ef98 func_ov61_0213ef98: ; 0x0213ef98 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r6, r1 mov r5, r2 mov r4, r3 bl func_ov61_0213dfec cmp r0, #0 bne _0213efd4 ldr r0, _0213f038 ; =data_ov61_0217ea4c ldr r2, [r0] ldr r1, [r2, #0x24] cmp r1, #3 blt _0213efd4 cmp r1, #4 bne _0213efe0 _0213efd4: add sp, sp, #0x10 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0213efe0: str r6, [r2, #0x78] ldr r1, [r0] mov r0, #4 str r5, [r1, #0x7c] bl func_ov61_0213f77c ldr r0, _0213f038 ; =data_ov61_0217ea4c ldr r1, [sp, #0x20] ldr r3, [r0] ldr r0, [sp, #0x24] str r4, [sp] str r1, [sp, #4] ldr r4, [sp, #0x28] str r0, [sp, #8] ldr r2, _0213f03c ; =func_ov61_0213fa50 add r0, r3, #0xe0 add r1, r3, #0x1e0 mov r3, #0 str r4, [sp, #0xc] bl func_ov61_02140f1c mov r0, #1 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0213ef98 _0213f038: .word data_ov61_0217ea4c _0213f03c: .word func_ov61_0213fa50 .global func_ov61_0213f040 arm_func_start func_ov61_0213f040 func_ov61_0213f040: ; 0x0213f040 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bl func_ov61_0213dfec cmp r0, #0 bne _0213f078 ldr r0, _0213f0d8 ; =data_ov61_0217ea4c ldr r0, [r0] ldr r0, [r0, #0x24] cmp r0, #3 beq _0213f084 _0213f078: add sp, sp, #8 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0213f084: bl func_ov61_0213f678 ldr r1, _0213f0d8 ; =data_ov61_0217ea4c mov r0, #5 ldr r2, [r1] str r5, [r2, #0x80] ldr r1, [r1] str r4, [r1, #0x84] bl func_ov61_0213f77c ldr r1, [sp, #0x20] sub r0, r7, #1 ldr r4, [sp, #0x24] str r1, [sp] ldr r2, _0213f0dc ; =func_ov61_0213fa98 mov r1, r6 and r0, r0, #0xff mov r3, #0 str r4, [sp, #4] bl func_ov61_02142694 mov r0, #1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0213f040 _0213f0d8: .word data_ov61_0217ea4c _0213f0dc: .word func_ov61_0213fa98 .global func_ov61_0213f0e0 arm_func_start func_ov61_0213f0e0 func_ov61_0213f0e0: ; 0x0213f0e0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x90 mov r4, r0 mov sl, r1 mov sb, r2 mov fp, r3 bl func_ov61_0213dfec cmp r0, #0 bne _0213f118 ldr r0, _0213f284 ; =data_ov61_0217ea4c ldr r0, [r0] ldr r0, [r0, #0x24] cmp r0, #3 beq _0213f124 _0213f118: add sp, sp, #0x90 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0213f124: bl func_ov61_0213f678 ldr r0, _0213f284 ; =data_ov61_0217ea4c ldr r3, [sp, #0xb8] ldr r1, [r0] ldr r2, [sp, #0xbc] str r3, [r1, #0x80] ldr r1, [r0] mov r0, #5 str r2, [r1, #0x84] bl func_ov61_0213f77c cmp r4, #0 beq _0213f190 ldr r0, _0213f288 ; =func_ov61_0213fa98 sub r2, sb, #1 str r0, [sp] mov r1, #0 ldr r0, [sp, #0xc0] str r1, [sp, #4] ldr r5, [sp, #0xc4] str r0, [sp, #8] mov r0, r4 mov r1, sl mov r3, fp and r2, r2, #0xff str r5, [sp, #0xc] bl func_ov61_02142880 b _0213f278 _0213f190: mov sl, #0 mov r5, sl bl func_ov61_0214114c cmp r0, #0 ble _0213f1c0 add r4, sp, #0x10 _0213f1a8: add r0, r5, #1 strb r5, [r4, r5] and r5, r0, #0xff bl func_ov61_0214114c cmp r5, r0 blt _0213f1a8 _0213f1c0: mov r8, #0 bl func_ov61_0214114c cmp r0, #0 ble _0213f240 add r5, sp, #0x10 add r4, sp, #0x50 _0213f1d8: bl func_ov61_0214114c sub r0, r0, r8 bl func_ov61_0213e6f4 mov r6, r0 ldrb r0, [r5, r6] add r7, r5, r6 add sl, sl, #1 strb r0, [r4, r8] bl func_ov61_0214114c sub r0, r0, r8 sub r0, r0, #1 cmp r6, r0 bhs _0213f22c _0213f20c: ldrb r0, [r7, #1] add r6, r6, #1 strb r0, [r7], #1 bl func_ov61_0214114c sub r0, r0, r8 sub r0, r0, #1 cmp r6, r0 blo _0213f20c _0213f22c: add r0, r8, #1 and r8, r0, #0xff bl func_ov61_0214114c cmp r8, r0 blt _0213f1d8 _0213f240: ldr r0, _0213f288 ; =func_ov61_0213fa98 sub r2, sb, #1 str r0, [sp] mov r1, #0 str r1, [sp, #4] ldr r0, [sp, #0xc0] ldr r4, [sp, #0xc4] str r0, [sp, #8] add r0, sp, #0x50 mov r1, sl mov r3, fp and r2, r2, #0xff str r4, [sp, #0xc] bl func_ov61_02142880 _0213f278: mov r0, #1 add sp, sp, #0x90 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0213f0e0 _0213f284: .word data_ov61_0217ea4c _0213f288: .word func_ov61_0213fa98 .global func_ov61_0213f28c arm_func_start func_ov61_0213f28c func_ov61_0213f28c: ; 0x0213f28c ldr r2, _0213f2b4 ; =data_ov61_0217ea4c ldr r3, [r2] cmp r3, #0 moveq r0, #0 bxeq lr str r0, [r3, #0x90] ldr r2, [r2] mov r0, #1 str r1, [r2, #0x94] bx lr .align 2, 0 arm_func_end func_ov61_0213f28c _0213f2b4: .word data_ov61_0217ea4c .global func_ov61_0213f2b8 arm_func_start func_ov61_0213f2b8 func_ov61_0213f2b8: ; 0x0213f2b8 stmdb sp!, {r3, lr} ldr r0, _0213f354 ; =data_ov61_0217ea4c ldr r0, [r0] cmp r0, #0 beq _0213f2f0 bl func_ov61_0213dfec cmp r0, #0 bne _0213f2f0 ldr r0, _0213f354 ; =data_ov61_0217ea4c ldr r2, [r0] ldr r0, [r2, #0x24] cmp r0, #5 cmpne r0, #6 beq _0213f2f8 _0213f2f0: mvn r0, #0 ldmia sp!, {r3, pc} _0213f2f8: ldrb r0, [r2, #0x361] cmp r0, #0 bne _0213f328 ldr r1, _0213f358 ; =data_ov61_0217a698 mov r0, #1 mov r2, #0 bl func_ov61_0214124c bl func_ov61_02176dc0 mov r0, #3 bl func_ov61_0213f77c mov r0, #1 ldmia sp!, {r3, pc} _0213f328: mov r1, #1 ldr r0, _0213f354 ; =data_ov61_0217ea4c strb r1, [r2, #0x2d] ldr r0, [r0] ldr r0, [r0] bl func_ov61_021744b8 ldr r1, _0213f354 ; =data_ov61_0217ea4c mov r0, #0 ldr r1, [r1] strb r0, [r1, #0x2d] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213f2b8 _0213f354: .word data_ov61_0217ea4c _0213f358: .word data_ov61_0217a698 .global func_ov61_0213f35c arm_func_start func_ov61_0213f35c func_ov61_0213f35c: ; 0x0213f35c stmdb sp!, {r4, lr} ldr r1, _0213f3c0 ; =data_ov61_0217ea4c mov r4, r0 ldr r0, [r1] cmp r0, #0 beq _0213f398 bl func_ov61_0213dfec cmp r0, #0 bne _0213f398 ldr r0, _0213f3c0 ; =data_ov61_0217ea4c ldr r0, [r0] ldr r0, [r0, #0x24] cmp r0, #5 cmpne r0, #6 beq _0213f3a0 _0213f398: mvn r0, #0 ldmia sp!, {r4, pc} _0213f3a0: mov r0, r4 bl func_ov61_0213f5c8 cmp r0, #0 mvneq r0, #1 ldmeqia sp!, {r4, pc} bl func_ov61_02174498 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0213f35c _0213f3c0: .word data_ov61_0217ea4c .global func_ov61_0213f3c4 arm_func_start func_ov61_0213f3c4 func_ov61_0213f3c4: ; 0x0213f3c4 stmdb sp!, {r3, lr} ldr r0, _0213f408 ; =data_ov61_0217ea4c ldr r1, [r0] cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldrb r0, [r1, #0x369] cmp r0, #2 ldrneb r0, [r1, #0x369] cmpne r0, #3 bne _0213f3fc bl func_ov61_021442a0 add r0, r0, #1 ldmia sp!, {r3, pc} _0213f3fc: bl func_ov61_02144280 add r0, r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213f3c4 _0213f408: .word data_ov61_0217ea4c .global func_ov61_0213f40c arm_func_start func_ov61_0213f40c func_ov61_0213f40c: ; 0x0213f40c ldr r0, _0213f424 ; =data_ov61_0217ea4c ldr r0, [r0] cmp r0, #0 ldrneb r0, [r0, #0x2c] moveq r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_0213f40c _0213f424: .word data_ov61_0217ea4c .global func_ov61_0213f428 arm_func_start func_ov61_0213f428 func_ov61_0213f428: ; 0x0213f428 stmdb sp!, {r3, lr} ldr r2, _0213f474 ; =data_ov61_0217ea4c ldr r1, [r2] cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} add r1, r1, #0x224 add r1, r1, #0x400 str r1, [r0] ldr r2, [r2] ldrb r1, [r2, #0x369] cmp r1, #2 ldrneb r1, [r2, #0x369] cmpne r1, #3 bne _0213f46c bl func_ov61_02144348 ldmia sp!, {r3, pc} _0213f46c: bl func_ov61_02144314 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213f428 _0213f474: .word data_ov61_0217ea4c .global func_ov61_0213f478 arm_func_start func_ov61_0213f478 func_ov61_0213f478: ; 0x0213f478 stmdb sp!, {r3, lr} ldr r0, _0213f4a8 ; =data_ov61_0217ea4c ldr r0, [r0] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} add r0, sp, #0 bl func_ov61_0213f428 mov r1, r0 ldr r0, [sp] bl func_ov61_0213f7fc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213f478 _0213f4a8: .word data_ov61_0217ea4c .global func_ov61_0213f4ac arm_func_start func_ov61_0213f4ac func_ov61_0213f4ac: ; 0x0213f4ac stmdb sp!, {r3, lr} ldr r1, _0213f4e0 ; =data_ov61_0217ea4c ldr r1, [r1] cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r2, [r1, #0x644] mov r1, #1 tst r2, r1, lsl r0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0213f730 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213f4ac _0213f4e0: .word data_ov61_0217ea4c .global func_ov61_0213f4e4 arm_func_start func_ov61_0213f4e4 func_ov61_0213f4e4: ; 0x0213f4e4 ldr r0, _0213f4fc ; =data_ov61_0217ea4c ldr r0, [r0] cmp r0, #0 ldrne r0, [r0, #0x24] moveq r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_0213f4e4 _0213f4fc: .word data_ov61_0217ea4c .global func_ov61_0213f500 arm_func_start func_ov61_0213f500 func_ov61_0213f500: ; 0x0213f500 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r0, _0213f5b8 ; =data_ov61_0217ea4c ldr r0, [r0] ldr r0, [r0] cmp r0, #0 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {r3, r4, pc} mov r0, #0x4000 bl func_ov61_0213e6f4 add r0, r0, #0xc000 mov r1, r0, lsl #0x10 ldr r3, _0213f5b8 ; =data_ov61_0217ea4c mov r0, #0 mov r2, r0 mov r1, r1, lsr #0x10 ldr r4, [r3] bl func_ov61_021769a4 ldr r1, _0213f5bc ; =func_ov61_02140118 ldr r2, _0213f5b8 ; =data_ov61_0217ea4c str r1, [sp] mov r1, r0 ldr r0, [r2] ldr r2, [r4, #0x14] ldr r3, [r4, #0x18] bl func_ov61_02174218 mov r4, r0 bl func_ov61_0213f94c cmp r0, #0 addne sp, sp, #4 movne r0, r4 ldmneia sp!, {r3, r4, pc} ldr r0, _0213f5b8 ; =data_ov61_0217ea4c ldr r1, _0213f5c0 ; =func_ov61_021436a4 ldr r0, [r0] ldr r0, [r0] bl func_ov61_02174274 ldr r0, _0213f5b8 ; =data_ov61_0217ea4c ldr r1, _0213f5c4 ; =func_ov61_021435b0 ldr r0, [r0] ldr r0, [r0] bl func_ov61_0217451c mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_0213f500 _0213f5b8: .word data_ov61_0217ea4c _0213f5bc: .word func_ov61_02140118 _0213f5c0: .word func_ov61_021436a4 _0213f5c4: .word func_ov61_021435b0 .global func_ov61_0213f5c8 arm_func_start func_ov61_0213f5c8 func_ov61_0213f5c8: ; 0x0213f5c8 stmdb sp!, {r4, r5, r6, lr} ldr r1, _0213f624 ; =data_ov61_0217ea4c mov r6, r0 ldr r0, [r1] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r4, _0213f628 ; =data_ov61_0217ea54 mov r5, #0 _0213f5ec: ldr r0, [r4, r5, lsl #2] cmp r0, #0 beq _0213f610 bl func_ov61_02174560 ldrb r0, [r0, #1] cmp r6, r0 ldreq r0, _0213f628 ; =data_ov61_0217ea54 ldreq r0, [r0, r5, lsl #2] ldmeqia sp!, {r4, r5, r6, pc} _0213f610: add r5, r5, #1 cmp r5, #0x20 blt _0213f5ec mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0213f5c8 _0213f624: .word data_ov61_0217ea4c _0213f628: .word data_ov61_0217ea54 .global func_ov61_0213f62c arm_func_start func_ov61_0213f62c func_ov61_0213f62c: ; 0x0213f62c stmdb sp!, {r3, lr} bl func_ov61_02174560 ldrb r0, [r0, #1] ldmia sp!, {r3, pc} arm_func_end func_ov61_0213f62c .global func_ov61_0213f63c arm_func_start func_ov61_0213f63c func_ov61_0213f63c: ; 0x0213f63c stmdb sp!, {r3, lr} bl func_ov61_02174560 ldrb r0, [r0] ldmia sp!, {r3, pc} arm_func_end func_ov61_0213f63c .global func_ov61_0213f64c arm_func_start func_ov61_0213f64c func_ov61_0213f64c: ; 0x0213f64c ldr r2, _0213f674 ; =data_ov61_0217ea54 mov r0, #0 _0213f654: ldr r1, [r2, r0, lsl #2] cmp r1, #0 bxeq lr add r0, r0, #1 cmp r0, #0x20 blt _0213f654 mvn r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_0213f64c _0213f674: .word data_ov61_0217ea54 .global func_ov61_0213f678 arm_func_start func_ov61_0213f678 func_ov61_0213f678: ; 0x0213f678 stmdb sp!, {r3, lr} ldr r1, _0213f6a0 ; =data_ov61_0217ea54 mov r0, #0 mov r2, #0x80 bl func_020078f4 ldr r1, _0213f6a4 ; =data_ov61_0217ead4 mov r0, #0 mov r2, #0x100 bl func_020078f4 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213f678 _0213f6a0: .word data_ov61_0217ea54 _0213f6a4: .word data_ov61_0217ead4 .global func_ov61_0213f6a8 arm_func_start func_ov61_0213f6a8 func_ov61_0213f6a8: ; 0x0213f6a8 ldr r1, _0213f6b4 ; =data_ov61_0217ea54 add r0, r1, r0, lsl #2 bx lr .align 2, 0 arm_func_end func_ov61_0213f6a8 _0213f6b4: .word data_ov61_0217ea54 .global func_ov61_0213f6b8 arm_func_start func_ov61_0213f6b8 func_ov61_0213f6b8: ; 0x0213f6b8 stmdb sp!, {r3, lr} cmp r1, #0 mov r3, #0 ble _0213f6f0 ldr r2, _0213f71c ; =data_ov61_0217ea4c ldr ip, [r2] _0213f6d0: add r2, ip, r3, lsl #2 ldr r2, [r2, #0x448] cmp r0, r2 beq _0213f6f0 add r2, r3, #1 and r3, r2, #0xff cmp r3, r1 blt _0213f6d0 _0213f6f0: cmp r3, r1 movge r0, #0 ldmgeia sp!, {r3, pc} ldr r0, _0213f71c ; =data_ov61_0217ea4c ldr r0, [r0] add r0, r0, r3 ldrb r0, [r0, #0x624] bl func_ov61_0213f5c8 bl func_ov61_0213f63c bl func_ov61_0213f6a8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213f6b8 _0213f71c: .word data_ov61_0217ea4c .global func_ov61_0213f720 arm_func_start func_ov61_0213f720 func_ov61_0213f720: ; 0x0213f720 ldr r1, _0213f72c ; =data_ov61_0217ead4 add r0, r1, r0, lsl #3 bx lr .align 2, 0 arm_func_end func_ov61_0213f720 _0213f72c: .word data_ov61_0217ead4 .global func_ov61_0213f730 arm_func_start func_ov61_0213f730 func_ov61_0213f730: ; 0x0213f730 stmdb sp!, {r4, r5, r6, lr} ldr r4, _0213f774 ; =data_ov61_0217ea54 mov r6, r0 mov r5, #0 _0213f740: ldr r0, [r4, r5, lsl #2] cmp r0, #0 beq _0213f760 bl func_ov61_02174560 ldrb r0, [r0, #1] cmp r6, r0 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} _0213f760: add r5, r5, #1 cmp r5, #0x20 blt _0213f740 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0213f730 _0213f774: .word data_ov61_0217ea54 .global func_ov61_0213f778 arm_func_start func_ov61_0213f778 func_ov61_0213f778: ; 0x0213f778 bx lr arm_func_end func_ov61_0213f778 .global func_ov61_0213f77c arm_func_start func_ov61_0213f77c func_ov61_0213f77c: ; 0x0213f77c ldr r1, _0213f798 ; =data_ov61_0217ea4c ldr r3, [r1] ldr r2, [r3, #0x24] str r2, [r3, #0x28] ldr r1, [r1] str r0, [r1, #0x24] bx lr .align 2, 0 arm_func_end func_ov61_0213f77c _0213f798: .word data_ov61_0217ea4c .global func_ov61_0213f79c arm_func_start func_ov61_0213f79c func_ov61_0213f79c: ; 0x0213f79c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 add r0, sp, #0 bl func_ov61_02144314 mov r1, r0 cmp r1, #0 mov r0, #0 ble _0213f7e0 ldr r3, [sp] _0213f7c4: ldrb r2, [r3] cmp r4, r2 beq _0213f7e0 add r0, r0, #1 cmp r0, r1 add r3, r3, #1 blt _0213f7c4 _0213f7e0: cmp r0, r1 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} bl func_ov61_021440c8 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_0213f79c .global func_ov61_0213f7fc arm_func_start func_ov61_0213f7fc func_ov61_0213f7fc: ; 0x0213f7fc stmdb sp!, {r3, lr} mov ip, #0 mov lr, ip cmp r1, #0 ble _0213f828 mov r3, #1 _0213f814: ldrb r2, [r0, lr] add lr, lr, #1 cmp lr, r1 orr ip, ip, r3, lsl r2 blt _0213f814 _0213f828: mov r0, ip ldmia sp!, {r3, pc} arm_func_end func_ov61_0213f7fc .global func_ov61_0213f830 arm_func_start func_ov61_0213f830 func_ov61_0213f830: ; 0x0213f830 stmdb sp!, {r4, r5, r6, lr} movs r6, r0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} cmp r6, #4 addls pc, pc, r6, lsl #2 b _0213f88c _0213f84c: ; jump table b _0213f88c ; case 0 b _0213f860 ; case 1 b _0213f86c ; case 2 b _0213f878 ; case 3 b _0213f884 ; case 4 _0213f860: mov r5, #9 sub r4, r5, #0xa b _0213f88c _0213f86c: mov r5, #9 sub r4, r5, #0xb b _0213f88c _0213f878: mov r5, #6 sub r4, r5, #0x10 b _0213f88c _0213f884: mov r5, #6 sub r4, r5, #0x1a _0213f88c: ldr r0, _0213f938 ; =data_ov61_0217ea4c ldr r1, [r0] ldr r0, [r1, #0x24] cmp r0, #5 addls pc, pc, r0, lsl #2 b _0213f91c _0213f8a4: ; jump table b _0213f91c ; case 0 b _0213f8bc ; case 1 b _0213f8d4 ; case 2 b _0213f91c ; case 3 b _0213f910 ; case 4 b _0213f8f8 ; case 5 _0213f8bc: ldr r1, _0213f93c ; =0xffff11b8 mov r0, r5 add r4, r4, r1 mov r1, r4 bl func_ov61_02140324 b _0213f924 _0213f8d4: ldr r1, [r1, #0x9c] ldr r0, _0213f93c ; =0xffff11b8 cmp r1, #1 add r4, r4, r0 bge _0213f924 mov r0, r5 mov r1, r4 bl func_ov61_02140324 b _0213f924 _0213f8f8: ldr r1, _0213f940 ; =0xfffec398 mov r0, r5 add r4, r4, r1 mov r1, r4 bl func_ov61_02143c14 b _0213f924 _0213f910: ldr r0, _0213f944 ; =0xfffeeaa8 add r4, r4, r0 b _0213f924 _0213f91c: ldr r0, _0213f948 ; =0xfffe9c88 add r4, r4, r0 _0213f924: mov r0, r5 mov r1, r4 bl func_ov61_02140fc8 mov r0, r6 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0213f830 _0213f938: .word data_ov61_0217ea4c _0213f93c: .word 0xffff11b8 _0213f940: .word 0xfffec398 _0213f944: .word 0xfffeeaa8 _0213f948: .word 0xfffe9c88 .global func_ov61_0213f94c arm_func_start func_ov61_0213f94c func_ov61_0213f94c: ; 0x0213f94c stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #7 addls pc, pc, r4, lsl #2 b _0213f9d0 _0213f968: ; jump table b _0213f9d0 ; case 0 b _0213f988 ; case 1 b _0213f994 ; case 2 b _0213f9a4 ; case 3 b _0213f9b0 ; case 4 b _0213f994 ; case 5 b _0213f9bc ; case 6 b _0213f9c8 ; case 7 _0213f988: mov r0, #9 sub r2, r0, #0xa b _0213f9d0 _0213f994: mov r0, #0 mov r2, r0 mov r4, r0 b _0213f9d0 _0213f9a4: mov r0, #6 sub r2, r0, #0x10 b _0213f9d0 _0213f9b0: mov r0, #6 sub r2, r0, #0x24 b _0213f9d0 _0213f9bc: mov r0, #6 sub r2, r0, #0x4c b _0213f9d0 _0213f9c8: mov r0, #6 sub r2, r0, #0x56 _0213f9d0: cmp r0, #0 beq _0213f9e4 ldr r1, _0213f9ec ; =0xfffefa48 add r1, r2, r1 bl func_ov61_02140324 _0213f9e4: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0213f94c _0213f9ec: .word 0xfffefa48 .global func_ov61_0213f9f0 arm_func_start func_ov61_0213f9f0 func_ov61_0213f9f0: ; 0x0213f9f0 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 mov r4, r1 bne _0213fa1c ldr r1, _0213fa4c ; =data_ov61_0217ea4c mov r0, #3 ldr r1, [r1] str r4, [r1, #0x64] bl func_ov61_0213f77c bl func_ov61_02141214 b _0213fa24 _0213fa1c: mov r0, #0 bl func_ov61_0213f77c _0213fa24: ldr r0, _0213fa4c ; =data_ov61_0217ea4c ldr r0, [r0] ldr r3, [r0, #0x70] cmp r3, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, [r0, #0x74] mov r0, r5 mov r1, r4 blx r3 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0213f9f0 _0213fa4c: .word data_ov61_0217ea4c .global func_ov61_0213fa50 arm_func_start func_ov61_0213fa50 func_ov61_0213fa50: ; 0x0213fa50 stmdb sp!, {r3, r4, r5, lr} ldr r2, _0213fa94 ; =data_ov61_0217ea4c mov r5, r0 ldr r0, [r2] mov r4, r1 ldr r0, [r0, #0x28] cmp r0, #4 beq _0213fa74 bl func_ov61_0213f77c _0213fa74: ldr r1, _0213fa94 ; =data_ov61_0217ea4c mov r0, r5 ldr r3, [r1] mov r1, r4 ldr r2, [r3, #0x7c] ldr r3, [r3, #0x78] blx r3 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0213fa50 _0213fa94: .word data_ov61_0217ea4c .global func_ov61_0213fa98 arm_func_start func_ov61_0213fa98 func_ov61_0213fa98: ; 0x0213fa98 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 movs r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bne _0213fae0 cmp r6, #0 beq _0213fae0 ldr r0, _0213fc0c ; =data_ov61_0217ea4c ldr r0, [r0] ldr r0, [r0, #0x4f4] cmp r0, #0 bne _0213fb44 bl func_ov61_02143cd0 mov r0, #3 bl func_ov61_0213f77c b _0213fb44 _0213fae0: cmp r7, #0 bne _0213fb44 mov r0, #6 bl func_ov61_0213f77c ldr r0, _0213fc0c ; =data_ov61_0217ea4c mov r2, #0 ldr r3, [r0] ldrb r0, [r3, #0x361] cmp r0, #0 blt _0213fb44 ldr r1, [r3, #0x64] _0213fb0c: add r0, r3, r2, lsl #2 ldr r0, [r0, #0x448] cmp r1, r0 bne _0213fb34 ldr r0, _0213fc0c ; =data_ov61_0217ea4c ldr r1, [r0] add r0, r1, r2 ldrb r0, [r0, #0x624] strb r0, [r1, #0x2c] b _0213fb44 _0213fb34: ldrb r0, [r3, #0x361] add r2, r2, #1 cmp r2, r0 ble _0213fb0c _0213fb44: ldr r0, _0213fc0c ; =data_ov61_0217ea4c ldr r0, [r0] ldrb r1, [r0, #0x361] add r0, r0, #0x224 add r0, r0, #0x400 add r1, r1, #1 bl func_ov61_0213f7fc ldr r1, _0213fc0c ; =data_ov61_0217ea4c ldr r1, [r1] str r0, [r1, #0x644] bl func_ov61_021442c0 ldr r0, _0213fc0c ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x369] cmp r0, #2 ldrneb r0, [r1, #0x369] cmpne r0, #3 bne _0213fbc0 ldr r0, _0213fc0c ; =data_ov61_0217ea4c ldr r1, [sp, #0x20] ldr r3, [r0] mov r0, r7 str r1, [sp] ldr r2, [r3, #0x8c] mov r1, r6 str r2, [sp, #4] ldr r6, [r3, #0x88] mov r2, r5 mov r3, r4 blx r6 b _0213fbd4 _0213fbc0: ldr r2, [r1, #0x84] ldr r3, [r1, #0x80] mov r0, r7 mov r1, r6 blx r3 _0213fbd4: cmp r7, #0 ldrne r0, _0213fc0c ; =data_ov61_0217ea4c ldrne r0, [r0] cmpne r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r0, #0x24] cmp r0, #5 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #3 bl func_ov61_0213f77c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0213fa98 _0213fc0c: .word data_ov61_0217ea4c .global func_ov61_0213fc10 arm_func_start func_ov61_0213fc10 func_ov61_0213fc10: ; 0x0213fc10 stmdb sp!, {r3, lr} ldr r1, [r1, #4] ldr r0, _0213fc40 ; =0x00000603 cmp r1, r0 ldrne r0, _0213fc44 ; =0x00000901 cmpne r1, r0 addne r0, r0, #0x200 cmpne r1, r0 ldmeqia sp!, {r3, pc} mov r0, #3 bl func_ov61_0213f830 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0213fc10 _0213fc40: .word 0x00000603 _0213fc44: .word 0x00000901 .global func_ov61_0213fc48 arm_func_start func_ov61_0213fc48 func_ov61_0213fc48: ; 0x0213fc48 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc add r4, sp, #0 mov r3, #0 mov r5, r1 strb r3, [r4] strb r3, [r4, #1] strb r3, [r4, #2] strb r3, [r4, #3] strb r3, [r4, #4] strb r3, [r4, #5] strb r3, [r4, #6] strb r3, [r4, #7] strb r3, [r4, #8] strb r3, [r4, #9] strb r3, [r4, #0xa] strb r3, [r4, #0xb] ldr r4, [r5, #8] mov r6, r0 bl func_ov61_0214106c cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _0213fda4 ; =data_ov61_0217a69c bl func_02047008 mov r2, r0 ldr r1, _0213fda4 ; =data_ov61_0217a69c mov r0, r4 bl func_0204366c cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _0213fda4 ; =data_ov61_0217a69c bl func_02047008 add r4, r4, r0 mov r0, r4 mov r1, #0x76 bl func_020472b4 sub r7, r0, r4 add r0, sp, #0 mov r1, r4 mov r2, r7 bl func_020470ec cmp r7, #0xa addhi sp, sp, #0xc ldmhiia sp!, {r4, r5, r6, r7, pc} add r0, sp, #0 mov r1, #0 mov r2, #0xa bl func_02048ecc cmp r0, #3 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _0213fda8 ; =data_ov61_0217a6a4 add r1, r7, #1 add r4, r4, r1 bl func_02047008 mov r2, r0 ldr r1, _0213fda8 ; =data_ov61_0217a6a4 mov r0, r4 bl func_0204366c cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _0213fdac ; =data_ov61_0217ea4c ldr r1, [r0] ldr r0, [r1, #0x24] cmp r0, #5 beq _0213fd80 cmp r0, #6 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldrb r0, [r1, #0x369] cmp r0, #2 ldrneb r0, [r1, #0x369] cmpne r0, #3 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} _0213fd80: ldr r0, _0213fda8 ; =data_ov61_0217a6a4 bl func_02047008 mov r2, r0 ldr r1, [r5] mov r0, r6 add r2, r4, r2 bl func_ov61_02143b70 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0213fc48 _0213fda4: .word data_ov61_0217a69c _0213fda8: .word data_ov61_0217a6a4 _0213fdac: .word data_ov61_0217ea4c .global func_ov61_0213fdb0 arm_func_start func_ov61_0213fdb0 func_ov61_0213fdb0: ; 0x0213fdb0 ldr ip, _0213fdb8 ; =func_ov61_0214a758 bx ip .align 2, 0 arm_func_end func_ov61_0213fdb0 _0213fdb8: .word func_ov61_0214a758 .global func_ov61_0213fdbc arm_func_start func_ov61_0213fdbc func_ov61_0213fdbc: ; 0x0213fdbc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov r5, #0 mov fp, r0 mov sb, r1 mov sl, r5 bl func_ov61_02144534 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp sb, #4 addls pc, pc, sb, lsl #2 b _0213fe20 _0213fdf0: ; jump table b _0213fe04 ; case 0 b _0213fe04 ; case 1 b _0213fe0c ; case 2 b _0213fe0c ; case 3 b _0213fe18 ; case 4 _0213fe04: mov r8, r5 b _0213fe20 _0213fe0c: mov r8, #6 ldr r6, _021400f8 ; =0xffffe250 b _0213fe20 _0213fe18: ldr r6, _021400fc ; =0xffffe24f mov r8, #9 _0213fe20: cmp r8, #0 bne _0213fecc mov r0, fp bl func_ov61_02174560 movs r5, r0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _02140100 ; =data_ov61_0217ea4c ldrb r4, [r5, #1] ldr r0, [r0] mov r7, #1 ldr r0, [r0, #0x644] tst r0, r7, lsl r4 mov r0, r4 moveq r7, #0 bl func_ov61_0214a968 ldr r0, _02140100 ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x369] cmp r0, #2 cmpeq sb, #0 beq _0213fe88 ldrb r0, [r1, #0x369] cmp r0, #3 cmpeq r4, #0 bne _0213fe8c _0213fe88: mov sl, #1 _0213fe8c: mov r0, r4 bl func_ov61_0213f79c ldr r1, _02140100 ; =data_ov61_0217ea4c ldrb r5, [r5] ldr r2, _02140104 ; =data_ov61_0217ea54 mov fp, #0 ldr r3, [r1] str fp, [r2, r5, lsl #2] ldrb r2, [r3, #0x361] mov r5, r0 sub r0, r2, #1 strb r0, [r3, #0x361] ldr r1, [r1] ldrb r0, [r1, #0x368] sub r0, r0, #1 strb r0, [r1, #0x368] _0213fecc: ldr r0, _02140100 ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x2d] cmp r0, #0 ldreq r0, [r1, #0x24] cmpeq r0, #6 cmpeq r7, #0 bne _0213ff14 ldrb r0, [r1, #0x369] cmp r0, #2 cmpeq r8, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} bl func_ov61_021443ec mov r0, r5 bl func_ov61_02144040 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0213ff14: mov r0, r8 mov r1, r6 mov r2, r5 bl func_ov61_02143ec4 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r8, #0 beq _0213ff4c mov r0, r8 mov r1, r6 bl func_ov61_0213e008 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0213ff4c: ldr r0, _02140100 ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x2d] cmp r0, #0 bne _0213ffbc ldrb r0, [r1, #0x369] cmp r0, #2 ldrneb r0, [r1, #0x369] cmpne r0, #3 bne _0213ffbc ldr r2, _02140100 ; =data_ov61_0217ea4c ldr r1, [r2] ldrb r0, [r1, #0x361] add r6, r0, #2 add r3, r1, r6, lsl #2 ldr r3, [r3, #0x448] cmp r3, #0 beq _0213ffbc add r3, r1, r6 ldrb r3, [r3, #0x624] add r0, r0, #1 add r0, r1, r0 strb r3, [r0, #0x624] ldr r0, [r2] ldrb r1, [r0, #0x361] add r0, r1, #1 add r1, r1, #3 bl func_ov61_021440c8 _0213ffbc: ldr r0, _02140100 ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x369] cmp r0, #2 bne _02140004 ldrb r0, [r1, #0x2d] cmp r0, #0 bne _0213ffe4 bl func_ov61_021443ec b _02140020 _0213ffe4: ldrb r0, [r1, #0x361] cmp r0, #0 bne _02140020 ldr r1, _02140108 ; =data_ov61_0217a698 mov r0, #1 mov r2, #0 bl func_ov61_0214124c b _02140020 _02140004: ldrb r0, [r1, #0x361] cmp r0, #0 bne _02140020 ldr r1, _02140108 ; =data_ov61_0217a698 mov r0, #1 mov r2, #0 bl func_ov61_0214124c _02140020: ldr r0, _02140100 ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x369] cmp r0, #0 ldrneb r0, [r1, #0x369] cmpne r0, #1 bne _02140058 ldr r0, _02140100 ; =data_ov61_0217ea4c ldr r2, [r0] ldrb r1, [r2, #0x368] strb r1, [r2, #0x36a] ldr r0, [r0] ldr r0, [r0, #0x364] bl func_ov61_02177f3c _02140058: ldr r0, _02140100 ; =data_ov61_0217ea4c ldr r6, [r0] ldr r0, [r6, #0x90] cmp r0, #0 cmpne r7, #0 beq _021400b0 cmp sb, #0 moveq r7, #1 mov r0, r5 movne r7, #0 bl func_ov61_021411b0 str r0, [sp] ldr r1, [r6, #0x94] ldr r0, _02140100 ; =data_ov61_0217ea4c str r1, [sp, #4] ldr r1, [r0] mov r0, r8 ldr r5, [r1, #0x90] mov r1, r7 mov r2, sl mov r3, r4 blx r5 _021400b0: ldr r0, _02140100 ; =data_ov61_0217ea4c ldr r1, [r0] ldrb r0, [r1, #0x2d] cmp r0, #0 ldreqb r0, [r1, #0x369] cmpeq r0, #2 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r0, [r1, #0x361] cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} bl func_ov61_02176dc0 bl func_ov61_02143cd0 mov r0, #3 bl func_ov61_0213f77c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0213fdbc _021400f8: .word 0xffffe250 _021400fc: .word 0xffffe24f _02140100: .word data_ov61_0217ea4c _02140104: .word data_ov61_0217ea54 _02140108: .word data_ov61_0217a698 .global func_ov61_0214010c arm_func_start func_ov61_0214010c func_ov61_0214010c: ; 0x0214010c ldr ip, _02140114 ; =func_ov61_0214a794 bx ip .align 2, 0 arm_func_end func_ov61_0214010c _02140114: .word func_ov61_0214a794 .global func_ov61_02140118 arm_func_start func_ov61_02140118 func_ov61_02140118: ; 0x02140118 stmdb sp!, {r3, lr} bl func_ov61_02174514 bl func_ov61_02166ce0 ldr r2, _0214014c ; =data_ov61_0217ea4c ldr r1, _02140150 ; =0xfffe8515 str r0, [r2, #4] mov r0, #9 bl func_ov61_0213e008 ldr r0, _0214014c ; =data_ov61_0217ea4c mov r1, #0 ldr r0, [r0] str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02140118 _0214014c: .word data_ov61_0217ea4c _02140150: .word 0xfffe8515 .global func_ov61_02140154 arm_func_start func_ov61_02140154 func_ov61_02140154: ; 0x02140154 stmdb sp!, {r4, r5, r6, lr} ldr ip, _021401d4 ; =data_ov61_0217ebd4 mov r6, r1 mov r5, r2 mov r1, #0 mov r2, #0x260 mov r4, r3 str r0, [ip, #4] bl func_02007a44 ldr r0, _021401d4 ; =data_ov61_0217ebd4 mov r2, #0 ldr r1, [r0, #4] ldr ip, [sp, #0x10] str r5, [r1] ldr r1, [r0, #4] ldr r5, [sp, #0x14] str r2, [r1, #4] ldr r1, [r0, #4] ldr r3, [sp, #0x18] str r4, [r1, #8] ldr r1, [r0, #4] ldr r2, [sp, #0x1c] str ip, [r1, #0xc] ldr r1, [r0, #4] str r5, [r1, #0x10] ldr r1, [r0, #4] str r3, [r1, #0x14] ldr r1, [r0, #4] str r2, [r1, #0x18] ldr r0, [r0, #4] str r6, [r0, #0x1c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02140154 _021401d4: .word data_ov61_0217ebd4 .global func_ov61_021401d8 arm_func_start func_ov61_021401d8 func_ov61_021401d8: ; 0x021401d8 stmdb sp!, {r3, lr} ldr r0, _02140208 ; =func_ov61_02140580 mov r1, #0 bl func_ov61_02140634 ldr r0, _0214020c ; =data_ov61_0217ebd4 mov r3, #1 ldr r2, [r0, #4] mov r1, #0 str r3, [r2, #4] ldr r0, [r0, #4] str r1, [r0, #0x30] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021401d8 _02140208: .word func_ov61_02140580 _0214020c: .word data_ov61_0217ebd4 .global func_ov61_02140210 arm_func_start func_ov61_02140210 func_ov61_02140210: ; 0x02140210 stmdb sp!, {r3, lr} ldr r0, _021402f8 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0213dfec cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _021402f8 ; =data_ov61_0217ebd4 ldr r1, [r0, #4] ldr r0, [r1, #4] cmp r0, #5 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, pc} _02140248: ; jump table ldmia sp!, {r3, pc} ; case 0 b _02140260 ; case 1 b _02140268 ; case 2 b _02140268 ; case 3 b _02140268 ; case 4 ldmia sp!, {r3, pc} ; case 5 _02140260: bl func_ov61_02140800 ldmia sp!, {r3, pc} _02140268: ldr r0, [r1] cmp r0, #0 ldrne r1, [r0] cmpne r1, #0 beq _02140280 bl func_ov61_0216701c _02140280: ldr r0, _021402f8 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] ldr r0, [r0, #0x30] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_0200e8f8 ldr r3, _021402f8 ; =data_ov61_0217ebd4 ldr r2, _021402fc ; =0x000082ea ldr ip, [r3, #4] mov r3, #0 ldr lr, [ip, #0x34] ldr ip, [ip, #0x38] subs lr, r0, lr sbc r0, r1, ip mov r1, r0, lsl #0x6 orr r1, r1, lr, lsr #26 mov r0, lr, lsl #0x6 bl func_02002bac ldr r2, _02140300 ; =0x0000ea60 cmp r1, #0 cmpeq r0, r2 ldmlsia sp!, {r3, pc} ldr r1, _02140304 ; =0xffff1172 mov r0, #6 bl func_ov61_02140324 ldr r0, _021402f8 ; =data_ov61_0217ebd4 mov r1, #0 ldr r0, [r0, #4] str r1, [r0, #0x30] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02140210 _021402f8: .word data_ov61_0217ebd4 _021402fc: .word 0x000082ea _02140300: .word 0x0000ea60 _02140304: .word 0xffff1172 .global func_ov61_02140308 arm_func_start func_ov61_02140308 func_ov61_02140308: ; 0x02140308 ldr r0, _02140320 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] cmp r0, #0 ldrne r0, [r0, #0x1c] moveq r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_02140308 _02140320: .word data_ov61_0217ebd4 .global func_ov61_02140324 arm_func_start func_ov61_02140324 func_ov61_02140324: ; 0x02140324 stmdb sp!, {r4, lr} ldr r2, _02140370 ; =data_ov61_0217ebd4 mov r4, r0 ldr r2, [r2, #4] cmp r2, #0 cmpne r4, #0 ldmeqia sp!, {r4, pc} bl func_ov61_0213e008 ldr r0, _02140370 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] ldr r3, [r0, #0x14] cmp r3, #0 beq _02140368 ldr r2, [r0, #0x18] mov r0, r4 mov r1, #0 blx r3 _02140368: bl func_ov61_021403d0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02140324 _02140370: .word data_ov61_0217ebd4 .global func_ov61_02140374 arm_func_start func_ov61_02140374 func_ov61_02140374: ; 0x02140374 stmdb sp!, {r3, lr} ldr r0, _021403cc ; =data_ov61_0217ebd4 ldr r0, [r0, #4] ldr r0, [r0, #0x24] cmp r0, #0 beq _021403bc bl func_ov61_0214dd9c bl func_ov61_0214de28 ldr r1, _021403cc ; =data_ov61_0217ebd4 mov r0, #0 ldr r1, [r1, #4] mov r2, r0 ldr r1, [r1, #0x24] bl func_ov61_0213e068 ldr r0, _021403cc ; =data_ov61_0217ebd4 mov r1, #0 ldr r0, [r0, #4] str r1, [r0, #0x24] _021403bc: ldr r0, _021403cc ; =data_ov61_0217ebd4 mov r1, #0 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02140374 _021403cc: .word data_ov61_0217ebd4 .global func_ov61_021403d0 arm_func_start func_ov61_021403d0 func_ov61_021403d0: ; 0x021403d0 ldr r0, _021403f4 ; =data_ov61_0217ebd4 ldr r2, [r0, #4] cmp r2, #0 bxeq lr mov r1, #0 str r1, [r2, #4] ldr r0, [r0, #4] str r1, [r0, #0x30] bx lr .align 2, 0 arm_func_end func_ov61_021403d0 _021403f4: .word data_ov61_0217ebd4 .global func_ov61_021403f8 arm_func_start func_ov61_021403f8 func_ov61_021403f8: ; 0x021403f8 stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #4 addls pc, pc, r4, lsl #2 b _02140454 _02140414: ; jump table b _02140454 ; case 0 b _02140428 ; case 1 b _02140434 ; case 2 b _02140440 ; case 3 b _0214044c ; case 4 _02140428: mov r0, #9 sub r2, r0, #0xa b _02140454 _02140434: mov r0, #9 sub r2, r0, #0xb b _02140454 _02140440: mov r0, #6 sub r2, r0, #0x10 b _02140454 _0214044c: mov r0, #6 sub r2, r0, #0x1a _02140454: ldr r1, _02140468 ; =0xffff11b8 add r1, r2, r1 bl func_ov61_02140324 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021403f8 _02140468: .word 0xffff11b8 .global func_ov61_0214046c arm_func_start func_ov61_0214046c func_ov61_0214046c: ; 0x0214046c stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r3, _02140570 ; =data_ov61_0217ebd4 mov r2, #0 ldr ip, [r3, #4] mov r4, r1 str r2, [ip, #0x30] ldr r1, [r4] cmp r1, #0 bne _02140560 ldr ip, [r3, #4] ldr r1, [ip, #4] cmp r1, #2 bne _02140530 ldr r1, [ip, #0x1c] ldr r0, [r4, #4] ldr r1, [r1, #0x1c] cmp r1, r0 bne _0214051c ldr r1, _02140574 ; =data_ov61_0217a6a8 mov r3, #5 mov r0, #1 str r3, [ip, #4] bl func_ov61_0214124c bl func_ov61_021403f8 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} ldr r0, _02140570 ; =data_ov61_0217ebd4 ldr r1, [r4, #4] ldr r3, [r0, #4] mov r0, #0 ldr r2, [r3, #0x18] ldr r3, [r3, #0x14] blx r3 bl func_ov61_0213f500 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} ldr r0, [r4, #4] bl func_ov61_021424f8 add sp, sp, #8 cmp r0, #0 ldmia sp!, {r4, pc} _0214051c: ldr r1, _02140578 ; =0xffff15a0 mov r0, #6 bl func_ov61_02140324 add sp, sp, #8 ldmia sp!, {r4, pc} _02140530: cmp r1, #3 addne sp, sp, #8 ldmneia sp!, {r4, pc} ldr r1, _0214057c ; =func_ov61_02140a08 mov r3, r2 stmia sp, {r1, r2} ldr r1, [r4, #4] bl func_ov61_021672a0 bl func_ov61_021403f8 add sp, sp, #8 cmp r0, #0 ldmia sp!, {r4, pc} _02140560: mov r0, r1 bl func_ov61_021403f8 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214046c _02140570: .word data_ov61_0217ebd4 _02140574: .word data_ov61_0217a6a8 _02140578: .word 0xffff15a0 _0214057c: .word func_ov61_02140a08 .global func_ov61_02140580 arm_func_start func_ov61_02140580 func_ov61_02140580: ; 0x02140580 ldr ip, _02140590 ; =func_ov61_02140598 ldr r2, _02140594 ; =func_ov61_0214046c mov r3, #2 bx ip .align 2, 0 arm_func_end func_ov61_02140580 _02140590: .word func_ov61_02140598 _02140594: .word func_ov61_0214046c .global func_ov61_02140598 arm_func_start func_ov61_02140598 func_ov61_02140598: ; 0x02140598 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc ldr r4, _02140630 ; =data_ov61_0217ebd4 mov r6, r1 ldr r4, [r4, #4] mov r1, r0 add r0, r4, #0x48 mov r5, r2 mov r4, r3 bl func_02047024 ldr r0, _02140630 ; =data_ov61_0217ebd4 mov r1, r6 ldr r0, [r0, #4] add r0, r0, #0x148 bl func_02047024 ldr r0, _02140630 ; =data_ov61_0217ebd4 ldr r6, [r0, #4] bl func_0200e8f8 str r0, [r6, #0x34] str r1, [r6, #0x38] mov r3, #1 ldr r0, _02140630 ; =data_ov61_0217ebd4 str r3, [r6, #0x30] ldr r2, [r0, #4] mov r1, #0 stmia sp, {r1, r5} str r1, [sp, #8] ldr r0, [r2] add r1, r2, #0x48 add r2, r2, #0x148 bl func_ov61_021670a0 bl func_ov61_021403f8 cmp r0, #0 ldreq r0, _02140630 ; =data_ov61_0217ebd4 ldreq r0, [r0, #4] streq r4, [r0, #4] add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02140598 _02140630: .word data_ov61_0217ebd4 .global func_ov61_02140634 arm_func_start func_ov61_02140634 func_ov61_02140634: ; 0x02140634 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 mov r5, r0 mov r4, r1 add r0, sp, #0 mov r1, #0 mov r2, #0x48 bl func_02007a44 ldr r0, _021407e4 ; =data_ov61_0217ebd4 str r5, [r0, #8] str r4, [r0] ldr r0, [r0, #4] ldr r0, [r0, #0x1c] blx func_ov00_020777c4 cmp r0, #0 beq _02140694 ldr r0, _021407e4 ; =data_ov61_0217ebd4 ldr r1, [r0, #4] ldr r0, [r1, #0x1c] add r2, r1, #0x248 ldr r1, [r0, #0x24] add r0, r0, #0x10 blx func_ov00_02077634 b _02140748 _02140694: ldr r0, _021407e4 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] add r0, r0, #0x3c blx func_ov00_020777b0 cmp r0, #0 bne _021406fc ldr r0, _021407e4 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] ldr r0, [r0, #0x1c] add r0, r0, #4 blx func_ov00_02077760 cmp r0, #0 beq _021406e8 ldr r0, _021407e4 ; =data_ov61_0217ebd4 ldr r1, [r0, #4] ldr r0, [r1, #0x1c] add r3, r1, #0x3c add r0, r0, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} b _02140730 _021406e8: ldr r0, _021407e4 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] add r0, r0, #0x3c blx func_ov00_020776ec b _02140730 _021406fc: bl func_0200e8f8 ldr r2, _021407e8 ; =0x6c078965 ldr r3, _021407ec ; =0x5d588b65 umull ip, r4, r0, r2 mla r4, r0, r3, r4 ldr r3, _021407e4 ; =data_ov61_0217ebd4 ldr r0, _021407f0 ; =0x00269ec3 mla r4, r1, r2, r4 adds r0, ip, r0 ldr r3, [r3, #4] adc r1, r4, #0 add r0, r3, #0x3c blx func_ov00_02077470 _02140730: ldr r0, _021407e4 ; =data_ov61_0217ebd4 ldr r2, [r0, #4] ldr r1, [r2, #0xc] add r0, r2, #0x3c add r2, r2, #0x248 blx func_ov00_02077634 _02140748: ldr r0, _021407e4 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] ldr r0, [r0, #0x10] bl func_ov61_0213e828 ldr r1, _021407e4 ; =data_ov61_0217ebd4 mov r2, r0, lsl #0x1 ldr r1, [r1, #4] add r2, r2, #2 ldr r0, [r1, #0x10] add r1, sp, #0 bl func_02007ad8 ldr r1, _021407e4 ; =data_ov61_0217ebd4 add r0, sp, #0x34 ldr r1, [r1, #4] add r1, r1, #0x51 add r1, r1, #0x200 bl func_02047024 ldr r4, _021407f4 ; =func_ov61_0213e034 ldr r3, _021407f8 ; =func_ov61_0213e068 ldr r1, _021407fc ; =0x00001c14 mov r0, #0 mov r2, #4 str r4, [sp, #0x40] str r3, [sp, #0x44] bl func_ov61_0213e050 ldr r1, _021407e4 ; =data_ov61_0217ebd4 mov r4, r0 ldr r0, [r1, #4] str r4, [r0, #0x24] bl func_0200e8f8 ldr r2, _021407e4 ; =data_ov61_0217ebd4 ldr r2, [r2, #4] str r0, [r2, #0x28] str r1, [r2, #0x2c] mov r1, r4 add r0, sp, #0 bl func_ov61_0214dbc4 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02140634 _021407e4: .word data_ov61_0217ebd4 _021407e8: .word 0x6c078965 _021407ec: .word 0x5d588b65 _021407f0: .word 0x00269ec3 _021407f4: .word func_ov61_0213e034 _021407f8: .word func_ov61_0213e068 _021407fc: .word 0x00001c14 .global func_ov61_02140800 arm_func_start func_ov61_02140800 func_ov61_02140800: ; 0x02140800 stmdb sp!, {r3, lr} sub sp, sp, #0x3d0 bl func_ov61_0214deb0 cmp r0, #0x15 bne _021408d0 add r0, sp, #0x20c bl func_ov61_0214defc ldr r0, _021409f0 ; =data_ov61_0217ebd4 add r1, sp, #0x200 ldr r0, [r0, #4] add r1, r1, #0x56 add r0, r0, #0x48 bl func_02047024 ldr r0, _021409f0 ; =data_ov61_0217ebd4 add r1, sp, #0x300 ldr r0, [r0, #4] add r1, r1, #0x83 add r0, r0, #0x148 bl func_02047024 bl func_ov61_0214de28 ldr r1, _021409f0 ; =data_ov61_0217ebd4 mov r0, #0 ldr r1, [r1, #4] mov r2, r0 ldr r1, [r1, #0x24] bl func_ov61_0213e068 ldr r0, _021409f0 ; =data_ov61_0217ebd4 mov r2, #0 ldr r1, [r0, #4] str r2, [r1, #0x24] ldr r0, [r0, #4] ldr r0, [r0, #0x1c] blx func_ov00_020777c4 cmp r0, #0 beq _021408ac ldr r0, _021409f0 ; =data_ov61_0217ebd4 ldr r2, [r0] ldmib r0, {r1, r3} add r0, r1, #0x48 add r1, r1, #0x148 blx r3 add sp, sp, #0x3d0 ldmia sp!, {r3, pc} _021408ac: ldr r0, _021409f0 ; =data_ov61_0217ebd4 ldr r2, _021409f4 ; =func_ov61_0214046c ldr r1, [r0, #4] mov r3, #3 add r0, r1, #0x48 add r1, r1, #0x148 bl func_ov61_02140598 add sp, sp, #0x3d0 ldmia sp!, {r3, pc} _021408d0: bl func_ov61_0214deb0 cmp r0, #0 addeq sp, sp, #0x3d0 ldmeqia sp!, {r3, pc} bl func_0200e8f8 ldr r3, _021409f0 ; =data_ov61_0217ebd4 ldr r2, _021409f8 ; =0x000082ea ldr ip, [r3, #4] mov r3, #0 ldr lr, [ip, #0x28] ldr ip, [ip, #0x2c] subs lr, r0, lr sbc r0, r1, ip mov r1, r0, lsl #0x6 orr r1, r1, lr, lsr #26 mov r0, lr, lsl #0x6 bl func_02002bac ldr r2, _021409fc ; =0x00002710 cmp r1, #0 cmpeq r0, r2 bls _0214096c add r0, sp, #0x48 bl func_ov61_0214defc bl func_ov61_0214de28 ldr r1, _021409f0 ; =data_ov61_0217ebd4 mov r0, #0 ldr r1, [r1, #4] mov r2, r0 ldr r1, [r1, #0x24] bl func_ov61_0213e068 ldr r0, _021409f0 ; =data_ov61_0217ebd4 mov r2, #0 ldr r1, [r0, #4] mov r0, #2 str r2, [r1, #0x24] ldr r1, [sp, #0x48] bl func_ov61_02140324 add sp, sp, #0x3d0 ldmia sp!, {r3, pc} _0214096c: bl func_ov61_0214de28 add r0, sp, #0 mov r1, #0 mov r2, #0x48 bl func_02007a44 ldr r0, _021409f0 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] ldr r0, [r0, #0x10] bl func_ov61_0213e828 ldr r1, _021409f0 ; =data_ov61_0217ebd4 mov r2, r0, lsl #0x1 ldr r1, [r1, #4] add r2, r2, #2 ldr r0, [r1, #0x10] add r1, sp, #0 bl func_02007ad8 ldr r1, _021409f0 ; =data_ov61_0217ebd4 add r0, sp, #0x34 ldr r1, [r1, #4] add r1, r1, #0x51 add r1, r1, #0x200 bl func_02047024 ldr r2, _02140a00 ; =func_ov61_0213e034 ldr r0, _021409f0 ; =data_ov61_0217ebd4 str r2, [sp, #0x40] ldr r2, _02140a04 ; =func_ov61_0213e068 ldr r1, [r0, #4] str r2, [sp, #0x44] ldr r1, [r1, #0x24] add r0, sp, #0 bl func_ov61_0214dbc4 add sp, sp, #0x3d0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02140800 _021409f0: .word data_ov61_0217ebd4 _021409f4: .word func_ov61_0214046c _021409f8: .word 0x000082ea _021409fc: .word 0x00002710 _02140a00: .word func_ov61_0213e034 _02140a04: .word func_ov61_0213e068 .global func_ov61_02140a08 arm_func_start func_ov61_02140a08 func_ov61_02140a08: ; 0x02140a08 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x48 mov r4, r1 ldr r1, [r4] mov r5, r0 cmp r1, #0 addne sp, sp, #0x48 ldmneia sp!, {r3, r4, r5, pc} ldr r1, _02140b98 ; =data_ov61_0217ebd4 ldr r2, [r1, #4] ldr r1, [r2, #4] cmp r1, #3 bne _02140ae0 ldrsb r1, [r4, #0x8e] cmp r1, #0 bne _02140ab8 ldr r0, [r2, #0x1c] ldr r1, [r2, #0xc] add r2, sp, #0x32 add r0, r0, #4 blx func_ov00_02077634 ldr r1, _02140b9c ; =0x00000705 add r2, sp, #0x32 mov r0, r5 bl func_ov61_0216737c bl func_ov61_021403f8 cmp r0, #0 addne sp, sp, #0x48 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02140b98 ; =data_ov61_0217ebd4 mov r3, #4 ldr r1, [r0, #4] ldr r0, _02140ba0 ; =func_ov61_02140a08 mov r2, #0 str r3, [r1, #4] stmia sp, {r0, r2} ldr r1, [r4, #4] mov r0, r5 mov r3, r2 bl func_ov61_021672a0 bl func_ov61_021403f8 add sp, sp, #0x48 cmp r0, #0 ldmia sp!, {r3, r4, r5, pc} _02140ab8: bl func_ov61_021671a4 ldr r0, _02140ba4 ; =func_ov61_02140580 mov r1, #0 bl func_ov61_02140634 ldr r0, _02140b98 ; =data_ov61_0217ebd4 mov r1, #1 ldr r0, [r0, #4] add sp, sp, #0x48 str r1, [r0, #4] ldmia sp!, {r3, r4, r5, pc} _02140ae0: cmp r1, #4 addne sp, sp, #0x48 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [r2, #0x1c] ldr r1, [r2, #0xc] add r2, sp, #0x1d add r0, r0, #4 blx func_ov00_02077634 add r1, sp, #0x1d add r0, r4, #0x8e bl func_0204716c cmp r0, #0 bne _02140b6c ldr r0, _02140b98 ; =data_ov61_0217ebd4 add r2, sp, #8 ldr r0, [r0, #4] ldr r1, [r0, #0xc] add r0, r0, #0x3c blx func_ov00_02077634 ldr r0, _02140b98 ; =data_ov61_0217ebd4 ldr r2, [r4, #4] ldr r1, [r0, #4] ldr r0, [r1, #0x1c] add r1, r1, #0x3c blx func_ov00_02077894 mov r0, r5 bl func_ov61_021671a4 ldr r0, _02140b98 ; =data_ov61_0217ebd4 ldr r2, [r0] ldmib r0, {r1, r3} add r0, r1, #0x48 add r1, r1, #0x148 blx r3 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} _02140b6c: ldr r0, _02140ba0 ; =func_ov61_02140a08 mov r2, #0 stmia sp, {r0, r2} ldr r1, [r4, #4] mov r0, r5 mov r3, r2 bl func_ov61_021672a0 bl func_ov61_021403f8 cmp r0, #0 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02140a08 _02140b98: .word data_ov61_0217ebd4 _02140b9c: .word 0x00000705 _02140ba0: .word func_ov61_02140a08 _02140ba4: .word func_ov61_02140580 .global func_ov61_02140ba8 arm_func_start func_ov61_02140ba8 func_ov61_02140ba8: ; 0x02140ba8 ldr r0, _02140bd0 ; =data_ov61_0217ebd4 ldr r0, [r0, #4] cmp r0, #0 beq _02140bc8 ldr r0, [r0, #4] cmp r0, #5 moveq r0, #1 bxeq lr _02140bc8: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_02140ba8 _02140bd0: .word data_ov61_0217ebd4 .global func_ov61_02140bd4 arm_func_start func_ov61_02140bd4 func_ov61_02140bd4: ; 0x02140bd4 ldr ip, _02140be8 ; =func_ov61_02140bec mov r3, r1 mov r1, #0 mov r2, r1 bx ip .align 2, 0 arm_func_end func_ov61_02140bd4 _02140be8: .word func_ov61_02140bec .global func_ov61_02140bec arm_func_start func_ov61_02140bec func_ov61_02140bec: ; 0x02140bec stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x214 mov r6, r1 add r1, sp, #4 mov r4, r2 mov r5, r3 bl func_ov61_02141938 cmp r0, #0 beq _02140cdc ldr r0, [sp, #8] cmp r0, #6 bne _02140ca0 cmp r6, #0 beq _02140c5c ldr r0, _02140d00 ; =data_ov61_0217a6ac add r1, sp, #0 add r2, sp, #0xc mov r3, #0x2f bl func_ov61_0213e5f8 cmp r0, #0 movle r0, #0 strleb r0, [r6] ble _02140c5c add r0, sp, #0 mov r1, #0 mov r2, #0xa bl func_02048ecc strb r0, [r6] _02140c5c: cmp r4, #0 beq _02140cb8 ldr r0, _02140d04 ; =data_ov61_0217a6b0 add r1, sp, #0 add r2, sp, #0xc mov r3, #0x2f bl func_ov61_0213e5f8 cmp r0, #0 movle r0, #0 strleb r0, [r4] ble _02140cb8 add r0, sp, #0 mov r1, #0 mov r2, #0xa bl func_02048ecc strb r0, [r4] b _02140cb8 _02140ca0: cmp r6, #0 movne r0, #0 strneb r0, [r6] cmp r4, #0 movne r0, #0 strneb r0, [r4] _02140cb8: cmp r5, #0 beq _02140ccc add r1, sp, #0x10c mov r0, r5 bl func_02047024 _02140ccc: ldr r0, [sp, #8] add sp, sp, #0x214 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, r6, pc} _02140cdc: cmp r6, #0 movne r0, #0 strneb r0, [r6] cmp r4, #0 movne r0, #0 strneb r0, [r4] mov r0, #0 add sp, sp, #0x214 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02140bec _02140d00: .word data_ov61_0217a6ac _02140d04: .word data_ov61_0217a6b0 .global func_ov61_02140d08 arm_func_start func_ov61_02140d08 func_ov61_02140d08: ; 0x02140d08 ldr r2, _02140d30 ; =data_ov61_0217ebe0 ldr r3, [r2] cmp r3, #0 moveq r0, #0 bxeq lr str r0, [r3, #0x44] ldr r2, [r2] mov r0, #1 str r1, [r2, #0x48] bx lr .align 2, 0 arm_func_end func_ov61_02140d08 _02140d30: .word data_ov61_0217ebe0 .global func_ov61_02140d34 arm_func_start func_ov61_02140d34 func_ov61_02140d34: ; 0x02140d34 stmdb sp!, {r4, lr} ldr lr, _02140e10 ; =data_ov61_0217ebe0 mov ip, #0 str r0, [lr] str ip, [r0] ldr r4, [lr] ldr r0, [sp, #8] str r1, [r4, #4] ldr r1, [lr] str ip, [r1, #8] ldr r1, [lr] str ip, [r1, #0xc] str ip, [r1, #0x10] str r0, [r1, #0x14] ldr r0, [lr] str r3, [r0, #0x18] ldr r0, [lr] strb ip, [r0, #0x1c] ldr r0, [lr] strb ip, [r0, #0x1d] ldr r0, [lr] strb ip, [r0, #0x1e] ldr r0, [lr] strb ip, [r0, #0x1f] ldr r0, [lr] str ip, [r0, #0x20] ldr r0, [lr] str ip, [r0, #0x24] ldr r0, [lr] str r2, [r0, #0x28] ldr r0, [lr] str ip, [r0, #0x2c] ldr r0, [lr] str ip, [r0, #0x30] ldr r0, [lr] str ip, [r0, #0x34] ldr r0, [lr] str ip, [r0, #0x38] ldr r0, [lr] str ip, [r0, #0x3c] ldr r0, [lr] str ip, [r0, #0x40] ldr r0, [lr] str ip, [r0, #0x44] ldr r0, [lr] str ip, [r0, #0x48] ldr r0, [lr] str ip, [r0, #0x4c] ldr r0, [lr] str ip, [r0, #0x50] ldr r0, [lr] str ip, [r0, #0x54] ldr r0, [lr] str ip, [r0, #0x58] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02140d34 _02140e10: .word data_ov61_0217ebe0 .global func_ov61_02140e14 arm_func_start func_ov61_02140e14 func_ov61_02140e14: ; 0x02140e14 stmdb sp!, {r3, lr} ldr r0, _02140f18 ; =data_ov61_0217ebe0 ldr r0, [r0] cmp r0, #0 ldrne r0, [r0, #0x18] cmpne r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0213dfec cmp r0, #0 ldmneia sp!, {r3, pc} bl func_ov61_02141ff0 cmp r0, #0 bne _02140e54 bl func_ov61_02172150 cmp r0, #0 beq _02140e58 _02140e54: bl func_ov61_02172170 _02140e58: ldr r0, _02140f18 ; =data_ov61_0217ebe0 ldr r0, [r0] ldr r0, [r0, #4] cmp r0, #0 ldrne r0, [r0] cmpne r0, #0 beq _02140ef4 bl func_ov61_02141398 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02140f18 ; =data_ov61_0217ebe0 ldr r3, [r0] ldr r0, [r3] cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r0, [r3, #0x18] cmp r0, #0 ldrneb r2, [r3, #0x1e] cmpne r2, #3 beq _02140ef4 ldr r1, [r3, #8] cmp r1, #7 bls _02140ef4 cmp r2, #1 bhi _02140ec4 ldr r1, [r3, #0x14] bl func_ov61_02141454 _02140ec4: ldr r0, _02140f18 ; =data_ov61_0217ebe0 ldr r3, [r0] ldrb r2, [r3, #0x1c] ldr r1, [r3, #0x14] cmp r2, r1 blt _02140ef4 mov r1, #3 strb r1, [r3, #0x1e] ldr r1, [r0] ldrb r0, [r1, #0x1f] add r0, r0, #1 strb r0, [r1, #0x1f] _02140ef4: ldr r0, _02140f18 ; =data_ov61_0217ebe0 ldr r1, [r0] ldrb r0, [r1, #0x1f] cmp r0, #2 ldmloia sp!, {r3, pc} mov r0, #0 strb r0, [r1, #0x1f] bl func_ov61_021416c0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02140e14 _02140f18: .word data_ov61_0217ebe0 .global func_ov61_02140f1c arm_func_start func_ov61_02140f1c func_ov61_02140f1c: ; 0x02140f1c stmdb sp!, {r3, r4, r5, lr} ldr r0, _02140fc4 ; =data_ov61_0217ebe0 ldr r5, [sp, #0x10] ldr r1, [r0] ldr r4, [sp, #0x14] str r2, [r1, #0x2c] ldr r1, [r0] ldr lr, [sp, #0x18] str r3, [r1, #0x30] ldr r1, [r0] ldr ip, [sp, #0x1c] str r5, [r1, #0x34] ldr r1, [r0] mov r3, #0 str r4, [r1, #0x38] ldr r1, [r0] mov r2, #1 str lr, [r1, #0x3c] ldr r1, [r0] str ip, [r1, #0x40] ldr r1, [r0] strb r3, [r1, #0x1d] ldr r1, [r0] strb r3, [r1, #0x1e] ldr r1, [r0] strb r3, [r1, #0x1f] ldr r1, [r0] strb r3, [r1, #0x1c] ldr r1, [r0] str r2, [r1] ldr r1, [r0] ldr r0, [r1, #0x18] cmp r0, #0 ldreqb r0, [r1, #0x1f] addeq r0, r0, #1 streqb r0, [r1, #0x1f] ldr r0, _02140fc4 ; =data_ov61_0217ebe0 ldr r1, [r0] ldrb r0, [r1, #0x1f] add r0, r0, #1 strb r0, [r1, #0x1f] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02140f1c _02140fc4: .word data_ov61_0217ebe0 .global func_ov61_02140fc8 arm_func_start func_ov61_02140fc8 func_ov61_02140fc8: ; 0x02140fc8 stmdb sp!, {r4, lr} ldr r2, _0214101c ; =data_ov61_0217ebe0 mov r4, r0 ldr r2, [r2] cmp r2, #0 cmpne r4, #0 ldmeqia sp!, {r4, pc} bl func_ov61_0213e008 ldr r0, _0214101c ; =data_ov61_0217ebe0 ldr r3, [r0] ldr r0, [r3] cmp r0, #0 cmpne r0, #2 beq _02141014 ldrb r1, [r3, #0x1d] ldr r2, [r3, #0x30] ldr r3, [r3, #0x2c] mov r0, r4 blx r3 _02141014: bl func_ov61_02141424 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02140fc8 _0214101c: .word data_ov61_0217ebe0 .global func_ov61_02141020 arm_func_start func_ov61_02141020 func_ov61_02141020: ; 0x02141020 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r2, _02141064 ; =data_ov61_0217ebe0 ldr r2, [r2] ldr r2, [r2, #0x18] cmp r2, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, pc} ldr r3, _02141068 ; =func_ov61_02141ca4 mov r2, #0 str r3, [sp] str r2, [sp, #4] ldr r1, [r1] mov r3, r2 bl func_ov61_021672a0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02141020 _02141064: .word data_ov61_0217ebe0 _02141068: .word func_ov61_02141ca4 .global func_ov61_0214106c arm_func_start func_ov61_0214106c func_ov61_0214106c: ; 0x0214106c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r4, r1 mov r5, r0 ldr r0, [r4, #8] ldr r1, _021410c0 ; =data_ov61_0217a6b4 bl func_0204716c cmp r0, #0 addne sp, sp, #8 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _021410c4 ; =func_ov61_02141e54 mov r2, #0 stmia sp, {r0, r2} ldr r1, [r4] mov r0, r5 mov r3, r2 bl func_ov61_021672a0 mov r0, #1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214106c _021410c0: .word data_ov61_0217a6b4 _021410c4: .word func_ov61_02141e54 .global func_ov61_021410c8 arm_func_start func_ov61_021410c8 func_ov61_021410c8: ; 0x021410c8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x210 ldr r2, _02141148 ; =data_ov61_0217ebe0 mov r6, r0 ldr r0, [r2] mov r5, r1 ldr r0, [r0, #0x34] cmp r0, #0 addeq sp, sp, #0x210 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r5] bl func_ov61_021411b0 mov r4, r0 mvn r0, #0 cmp r4, r0 addeq sp, sp, #0x210 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, [r5, #8] add r2, sp, #0 mov r0, r6 bl func_ov61_02167680 ldr r0, _02141148 ; =data_ov61_0217ebe0 ldr r1, [sp, #4] ldr r0, [r0] add r2, sp, #0x108 ldr r3, [r0, #0x38] ldr ip, [r0, #0x34] mov r0, r4 and r1, r1, #0xff blx ip add sp, sp, #0x210 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021410c8 _02141148: .word data_ov61_0217ebe0 .global func_ov61_0214114c arm_func_start func_ov61_0214114c func_ov61_0214114c: ; 0x0214114c ldr r0, _02141164 ; =data_ov61_0217ebe0 ldr r0, [r0] cmp r0, #0 ldrne r0, [r0, #0x14] moveq r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_0214114c _02141164: .word data_ov61_0217ebe0 .global func_ov61_02141168 arm_func_start func_ov61_02141168 func_ov61_02141168: ; 0x02141168 stmdb sp!, {r3, r4, r5, lr} ldr r1, _021411ac ; =data_ov61_0217ebe0 mov r5, r0 ldr r0, [r1] ldr r4, [r0, #0x18] cmp r4, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} bl func_ov61_02140308 mov r1, #0xc mla r1, r5, r1, r4 blx func_ov00_02077948 cmp r0, #0 mvnne r1, #0 cmpne r0, r1 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02141168 _021411ac: .word data_ov61_0217ebe0 .global func_ov61_021411b0 arm_func_start func_ov61_021411b0 func_ov61_021411b0: ; 0x021411b0 stmdb sp!, {r4, r5, r6, lr} ldr r4, _02141210 ; =data_ov61_0217ebe0 mov r6, r0 ldr r0, [r4] cmp r0, #0 cmpne r6, #0 mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r0, #0x14] mov r5, #0 cmp r0, #0 ble _02141208 _021411e0: mov r0, r5 bl func_ov61_02141168 cmp r6, r0 moveq r0, r5 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r4] add r5, r5, #1 ldr r0, [r0, #0x14] cmp r5, r0 blt _021411e0 _02141208: mvn r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021411b0 _02141210: .word data_ov61_0217ebe0 .global func_ov61_02141214 arm_func_start func_ov61_02141214 func_ov61_02141214: ; 0x02141214 stmdb sp!, {r3, lr} ldr r0, _02141248 ; =data_ov61_0217ebe0 ldr r1, [r0] cmp r1, #0 ldmeqia sp!, {r3, pc} mov r0, #0 str r0, [r1, #8] bl func_0200e8f8 ldr r2, _02141248 ; =data_ov61_0217ebe0 ldr r2, [r2] str r0, [r2, #0xc] str r1, [r2, #0x10] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02141214 _02141248: .word data_ov61_0217ebe0 .global func_ov61_0214124c arm_func_start func_ov61_0214124c func_ov61_0214124c: ; 0x0214124c stmdb sp!, {r4, r5, r6, lr} ldr r3, _021412f8 ; =data_ov61_0217ebe0 mov r6, r0 ldr r0, [r3] mov r5, r1 mov r4, r2 cmp r0, #0 beq _02141278 bl func_ov61_02140ba8 cmp r0, #0 bne _02141280 _02141278: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02141280: mvn r0, #0 cmp r6, r0 bne _021412a0 ldr r0, _021412f8 ; =data_ov61_0217ebe0 ldr r0, [r0] ldr r0, [r0, #4] ldr r0, [r0] ldr r6, [r0, #0x214] _021412a0: cmp r5, #0 bne _021412bc ldr r0, _021412f8 ; =data_ov61_0217ebe0 ldr r0, [r0] ldr r0, [r0, #4] ldr r0, [r0] add r5, r0, #0x218 _021412bc: cmp r4, #0 bne _021412d8 ldr r0, _021412f8 ; =data_ov61_0217ebe0 ldr r0, [r0] ldr r0, [r0, #4] ldr r0, [r0] add r4, r0, #0x318 _021412d8: ldr r0, _021412f8 ; =data_ov61_0217ebe0 mov r1, r6 ldr r0, [r0] mov r2, r5 ldr r0, [r0, #4] mov r3, r4 bl func_ov61_021678d4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214124c _021412f8: .word data_ov61_0217ebe0 .global func_ov61_021412fc arm_func_start func_ov61_021412fc func_ov61_021412fc: ; 0x021412fc stmdb sp!, {r4, lr} sub sp, sp, #0x210 ldr r1, _02141380 ; =data_ov61_0217ebe0 mov r4, r0 ldr r3, [r1] ldr r2, [r3, #0x44] cmp r2, #0 ldrne r1, [r3] cmpne r1, #1 beq _0214132c ldr r1, [r3, #0x48] blx r2 _0214132c: ldr r0, _02141380 ; =data_ov61_0217ebe0 ldr r1, [r0] ldr r0, [r1, #0x34] cmp r0, #0 addeq sp, sp, #0x210 ldmeqia sp!, {r4, pc} ldr r1, [r1, #0x18] mov r0, #0xc mla r0, r4, r0, r1 add r1, sp, #0x108 bl func_ov61_02140bd4 ldr r2, _02141380 ; =data_ov61_0217ebe0 mov r1, r0 ldr r0, [r2] add r2, sp, #0x108 ldr r3, [r0, #0x38] ldr ip, [r0, #0x34] mov r0, r4 blx ip add sp, sp, #0x210 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021412fc _02141380: .word data_ov61_0217ebe0 .global func_ov61_02141384 arm_func_start func_ov61_02141384 func_ov61_02141384: ; 0x02141384 ldr r0, _02141394 ; =data_ov61_0217ebe0 mov r1, #0 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov61_02141384 _02141394: .word data_ov61_0217ebe0 .global func_ov61_02141398 arm_func_start func_ov61_02141398 func_ov61_02141398: ; 0x02141398 stmdb sp!, {r3, r4, r5, lr} ldr r0, _0214141c ; =data_ov61_0217ebe0 mov r4, #0 ldr r5, [r0] bl func_0200e8f8 ldr r3, [r5, #0xc] ldr r2, [r5, #0x10] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _02141420 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, r4 bl func_02002bac cmp r1, #0 cmpeq r0, #0x12c blo _02141414 ldr r1, [r5, #8] ldr r0, _0214141c ; =data_ov61_0217ebe0 add r1, r1, #1 str r1, [r5, #8] ldr r0, [r0] ldr r0, [r0, #4] bl func_ov61_0216701c mov r4, r0 bl func_0200e8f8 ldr r2, _0214141c ; =data_ov61_0217ebe0 ldr r2, [r2] str r0, [r2, #0xc] str r1, [r2, #0x10] _02141414: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02141398 _0214141c: .word data_ov61_0217ebe0 _02141420: .word 0x000082ea .global func_ov61_02141424 arm_func_start func_ov61_02141424 func_ov61_02141424: ; 0x02141424 ldr r0, _02141450 ; =data_ov61_0217ebe0 ldr r1, [r0] cmp r1, #0 bxeq lr mov r2, #0 str r2, [r1] ldr r1, [r0] strb r2, [r1, #0x1e] ldr r0, [r0] strb r2, [r0, #0x1f] bx lr .align 2, 0 arm_func_end func_ov61_02141424 _02141450: .word data_ov61_0217ebe0 .global func_ov61_02141454 arm_func_start func_ov61_02141454 func_ov61_02141454: ; 0x02141454 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x248 ldr r2, _021416b8 ; =data_ov61_0217ebe0 mov r7, r0 ldr r2, [r2] mov r6, r1 ldrb r0, [r2, #0x1e] cmp r0, #0 bne _02141584 ldr r0, [r2, #4] add r1, sp, #0x1c bl func_ov61_02167650 bl func_ov61_021419f4 ldr r0, [sp, #0x1c] mov r1, #0 str r1, [sp, #0x18] cmp r0, #0 ble _02141574 _0214149c: ldr r0, _021416b8 ; =data_ov61_0217ebe0 ldr r1, [sp, #0x18] ldr r0, [r0] add r2, sp, #0x38 ldr r0, [r0, #4] bl func_ov61_02167680 bl func_ov61_021419f4 cmp r6, #0 mov r4, #0 ble _02141524 _021414c4: mov r0, r4 bl func_ov61_02141168 ldr r1, [sp, #0x38] cmp r1, r0 bne _02141518 mov r0, #0xc mul r5, r4, r0 add r0, r7, r5 blx func_ov00_0207749c cmp r0, #0 bne _02141524 ldr r1, [sp, #0x38] add r0, r7, r5 blx func_ov00_02077a10 add r0, r7, r5 blx func_ov00_020774f8 ldr r0, _021416b8 ; =data_ov61_0217ebe0 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x1d] b _02141524 _02141518: add r4, r4, #1 cmp r4, r6 blt _021414c4 _02141524: cmp r4, r6 bne _0214155c ldr r0, _021416b8 ; =data_ov61_0217ebe0 ldr r1, [sp, #0x38] ldr r0, [r0] ldr r0, [r0, #4] bl func_ov61_0216787c bl func_ov61_021419f4 ldr r1, [sp, #0x1c] ldr r0, [sp, #0x18] sub r1, r1, #1 sub r0, r0, #1 str r1, [sp, #0x1c] str r0, [sp, #0x18] _0214155c: ldr r1, [sp, #0x18] ldr r0, [sp, #0x1c] add r1, r1, #1 str r1, [sp, #0x18] cmp r1, r0 blt _0214149c _02141574: ldr r0, _021416b8 ; =data_ov61_0217ebe0 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x1e] _02141584: ldr sl, _021416b8 ; =data_ov61_0217ebe0 ldr r0, [sl] ldrb r0, [r0, #0x1c] cmp r0, r6 addge sp, sp, #0x248 ldmgeia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add r4, sp, #0x18 mov r8, #0xc mvn sb, #0 _021415a8: bl func_ov61_02141168 movs r5, r0 beq _02141600 ldr r1, [sl] mov r0, r7 ldrb r1, [r1, #0x1c] mov r2, r5 bl func_ov61_02141750 cmp r0, #0 bne _02141690 ldr r0, [sl] mov r1, r5 ldr r0, [r0, #4] mov r2, r4 bl func_ov61_021677c0 bl func_ov61_021419f4 ldr r0, [sp, #0x18] cmp r0, sb bne _02141690 mov r0, r5 bl func_ov61_02141904 b _02141690 _02141600: bl func_ov61_02140308 ldr r1, [sl] ldrb r2, [r1, #0x1c] mla r1, r2, r8, r7 blx func_ov00_02077948 cmp r0, sb bne _02141690 bl func_ov61_02140308 ldr r2, _021416b8 ; =data_ov61_0217ebe0 mov r1, #0xc ldr r3, [r2] add r2, sp, #0x20 ldrb r3, [r3, #0x1c] mla r1, r3, r1, r7 blx func_ov00_02077a30 ldr r0, _021416b8 ; =data_ov61_0217ebe0 mov r1, #0 ldr r4, [r0] add r2, sp, #0x20 stmia sp, {r1, r2} str r1, [sp, #8] ldr r0, _021416bc ; =func_ov61_02141a68 str r1, [sp, #0xc] str r0, [sp, #0x10] ldrb r0, [r4, #0x1c] mov r2, r1 mov r3, r1 str r0, [sp, #0x14] ldr r0, [r4, #4] bl func_ov61_021671d8 ldr r0, _021416b8 ; =data_ov61_0217ebe0 mov r1, #2 ldr r0, [r0] add sp, sp, #0x248 strb r1, [r0, #0x1e] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02141690: ldr r1, [sl] ldrb r0, [r1, #0x1c] add r0, r0, #1 strb r0, [r1, #0x1c] ldr r0, [sl] ldrb r0, [r0, #0x1c] cmp r0, r6 blt _021415a8 add sp, sp, #0x248 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02141454 _021416b8: .word data_ov61_0217ebe0 _021416bc: .word func_ov61_02141a68 .global func_ov61_021416c0 arm_func_start func_ov61_021416c0 func_ov61_021416c0: ; 0x021416c0 stmdb sp!, {r3, lr} ldr r1, _021416f4 ; =data_ov61_0217ebe0 mov r0, #0 ldr r3, [r1] ldrb r1, [r3, #0x1d] ldr r2, [r3, #0x30] ldr r3, [r3, #0x2c] blx r3 ldr r0, _021416f4 ; =data_ov61_0217ebe0 mov r1, #2 ldr r0, [r0] str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021416c0 _021416f4: .word data_ov61_0217ebe0 .global func_ov61_021416f8 arm_func_start func_ov61_021416f8 func_ov61_021416f8: ; 0x021416f8 stmdb sp!, {r3, r4, r5, lr} ldr r3, _0214174c ; =data_ov61_0217ebe0 mov r5, r1 ldr r1, [r3] mov r4, r2 cmp r1, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r2, #0xc mla r0, r5, r2, r0 mov r1, #0 bl func_02007a44 ldr r0, _0214174c ; =data_ov61_0217ebe0 ldr r0, [r0] ldr r3, [r0, #0x3c] cmp r3, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, [r0, #0x40] mov r0, r5 mov r1, r4 blx r3 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021416f8 _0214174c: .word data_ov61_0217ebe0 .global func_ov61_02141750 arm_func_start func_ov61_02141750 func_ov61_02141750: ; 0x02141750 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r1 mov r7, r0 mov r5, r2 cmp r6, #0 mov r4, #0 ble _021417f0 _0214176c: mov r0, r4 bl func_ov61_02141168 cmp r0, #0 beq _021417e4 cmp r0, r5 bne _021417e4 mov r0, #0xc mla r0, r6, r0, r7 blx func_ov00_0207749c cmp r0, #0 beq _021417c0 mov r0, #0xc mla r0, r4, r0, r7 blx func_ov00_0207749c cmp r0, #0 bne _021417c0 mov r0, r7 mov r1, r4 mov r2, r6 bl func_ov61_021416f8 b _021417d0 _021417c0: mov r0, r7 mov r1, r6 mov r2, r4 bl func_ov61_021416f8 _021417d0: ldr r1, _021417f8 ; =data_ov61_0217ebe0 mov r0, #1 ldr r1, [r1] strb r0, [r1, #0x1d] ldmia sp!, {r3, r4, r5, r6, r7, pc} _021417e4: add r4, r4, #1 cmp r4, r6 blt _0214176c _021417f0: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02141750 _021417f8: .word data_ov61_0217ebe0 .global func_ov61_021417fc arm_func_start func_ov61_021417fc func_ov61_021417fc: ; 0x021417fc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r1 mov fp, r0 mvn r0, #0 str r2, [sp] cmp sl, #0 str r0, [sp, #4] mov r5, #0 ble _021418f4 mov r7, fp mov r8, fp _0214182c: mov r0, r5 bl func_ov61_02141168 movs r4, r0 beq _021418e0 ldr r0, [sp] add r6, r5, #1 cmp r4, r0 streq r5, [sp, #4] cmp r6, sl bge _021418e0 mov r0, #0xc mla sb, r6, r0, fp _0214185c: mov r0, r6 bl func_ov61_02141168 cmp r4, r0 bne _021418d0 mov r0, r7 blx func_ov00_020774c4 cmp r0, #2 bne _02141898 mov r0, sb blx func_ov00_020774c4 cmp r0, #3 bne _02141898 mov r0, r8 mov r1, r4 blx func_ov00_02077a10 _02141898: mov r0, sb blx func_ov00_0207749c cmp r0, #0 beq _021418b0 mov r0, r8 blx func_ov00_020774f8 _021418b0: mov r0, fp mov r1, r6 mov r2, r5 bl func_ov61_021416f8 ldr r0, _02141900 ; =data_ov61_0217ebe0 ldr r1, [r0] mov r0, #1 strb r0, [r1, #0x1d] _021418d0: add r6, r6, #1 cmp r6, sl add sb, sb, #0xc blt _0214185c _021418e0: add r5, r5, #1 cmp r5, sl add r7, r7, #0xc add r8, r8, #0xc blt _0214182c _021418f4: ldr r0, [sp, #4] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021417fc _02141900: .word data_ov61_0217ebe0 .global func_ov61_02141904 arm_func_start func_ov61_02141904 func_ov61_02141904: ; 0x02141904 stmdb sp!, {r4, lr} ldr r2, _02141930 ; =data_ov61_0217ebe0 mov r1, r0 ldr r0, [r2] ldr r2, _02141934 ; =data_ov61_0217a6ec ldr r0, [r0, #4] bl func_ov61_021673cc mov r4, r0 bl func_ov61_021419f4 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02141904 _02141930: .word data_ov61_0217ebe0 _02141934: .word data_ov61_0217a6ec .global func_ov61_02141938 arm_func_start func_ov61_02141938 func_ov61_02141938: ; 0x02141938 stmdb sp!, {r3, r4, r5, lr} ldr r2, _021419f0 ; =data_ov61_0217ebe0 mov r3, #0 ldr r2, [r2] mov r5, r0 mov r4, r1 str r3, [sp] cmp r2, #0 beq _02141968 bl func_ov61_02140ba8 cmp r0, #0 bne _02141970 _02141968: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02141970: bl func_ov61_02140308 mov r1, r5 blx func_ov00_02077948 mov r5, r0 cmp r5, #0 ble _021419ac ldr r0, _021419f0 ; =data_ov61_0217ebe0 add r2, sp, #0 ldr r0, [r0] mov r1, r5 ldr r0, [r0, #4] bl func_ov61_021677c0 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} _021419ac: cmp r5, #0 ble _021419c4 ldr r1, [sp] mvn r0, #0 cmp r1, r0 bne _021419cc _021419c4: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _021419cc: ldr r0, _021419f0 ; =data_ov61_0217ebe0 mov r2, r4 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov61_02167680 cmp r0, #0 movne r0, #0 moveq r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02141938 _021419f0: .word data_ov61_0217ebe0 .global func_ov61_021419f4 arm_func_start func_ov61_021419f4 func_ov61_021419f4: ; 0x021419f4 stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #4 addls pc, pc, r4, lsl #2 b _02141a50 _02141a10: ; jump table b _02141a50 ; case 0 b _02141a24 ; case 1 b _02141a30 ; case 2 b _02141a3c ; case 3 b _02141a48 ; case 4 _02141a24: mov r0, #9 sub r2, r0, #0xa b _02141a50 _02141a30: mov r0, #9 sub r2, r0, #0xb b _02141a50 _02141a3c: mov r0, #6 sub r2, r0, #0x10 b _02141a50 _02141a48: mov r0, #6 sub r2, r0, #0x1a _02141a50: ldr r1, _02141a64 ; =0xfffeeaa8 add r1, r2, r1 bl func_ov61_02140fc8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021419f4 _02141a64: .word 0xfffeeaa8 .global func_ov61_02141a68 arm_func_start func_ov61_02141a68 func_ov61_02141a68: ; 0x02141a68 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r1 ldr r1, [sb] mov sl, r0 mov r8, r2 cmp r1, #0 bne _02141c38 ldr r0, [sb, #4] cmp r0, #0 beq _02141c38 mov r0, #0xc ldr r1, _02141ca0 ; =data_ov61_0217ebe0 mul r6, r8, r0 ldr r0, [r1] ldr r0, [r0, #0x18] add r0, r0, r6 blx func_ov00_020774c4 cmp r0, #0 beq _02141c38 ldr r7, _02141ca0 ; =data_ov61_0217ebe0 ldr r0, [r7] ldr r0, [r0] cmp r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sb, #4] mov r4, #0 cmp r0, #0 ble _02141b3c mov r5, r4 _02141adc: ldr r0, [r7] ldr r1, [sb, #0xc] ldr r0, [r0, #0x18] ldr r2, [r1, r5] mov r1, r8 bl func_ov61_02141750 cmp r0, #0 beq _02141b28 ldr r0, _02141ca0 ; =data_ov61_0217ebe0 mov r2, #1 ldr r4, [r0] add r1, r2, #0x600 ldrb r3, [r4, #0x1c] add r3, r3, #1 strb r3, [r4, #0x1c] ldr r0, [r0] strb r2, [r0, #0x1e] str r1, [sb, #8] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02141b28: ldr r0, [sb, #4] add r4, r4, #1 cmp r4, r0 add r5, r5, #0xac blt _02141adc _02141b3c: cmp r0, #0 mov r7, #0 ble _02141c08 mov r5, r7 add fp, sp, #0 mvn r4, #0 _02141b54: ldr r1, [sb, #0xc] mov r0, sl ldr r1, [r1, r5] mov r2, fp bl func_ov61_021677c0 bl func_ov61_021419f4 ldr r0, [sp] cmp r0, r4 bne _02141b88 ldr r0, [sb, #0xc] ldr r0, [r0, r5] bl func_ov61_02141904 b _02141bf4 _02141b88: ldr r0, _02141ca0 ; =data_ov61_0217ebe0 ldr r1, [sb, #0xc] ldr r0, [r0] ldr r1, [r1] ldr r0, [r0, #0x18] add r0, r0, r6 blx func_ov00_02077a10 ldr r0, _02141ca0 ; =data_ov61_0217ebe0 ldr r0, [r0] ldr r0, [r0, #0x18] add r0, r0, r6 blx func_ov00_020774f8 mov r0, r8 bl func_ov61_021412fc ldr r0, _02141ca0 ; =data_ov61_0217ebe0 mov r3, #1 ldr r4, [r0] add r1, r3, #0x600 ldrb r2, [r4, #0x1c] add r2, r2, #1 strb r2, [r4, #0x1c] ldr r2, [r0] strb r3, [r2, #0x1e] str r1, [sb, #8] ldr r0, [r0] strb r3, [r0, #0x1d] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02141bf4: ldr r0, [sb, #4] add r7, r7, #1 cmp r7, r0 add r5, r5, #0xac blt _02141b54 _02141c08: ldr r0, [sb, #8] cmp r0, #0x600 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _02141ca0 ; =data_ov61_0217ebe0 mov r1, #1 ldr r3, [r0] ldrb r2, [r3, #0x1c] add r2, r2, #1 strb r2, [r3, #0x1c] ldr r0, [r0] strb r1, [r0, #0x1e] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02141c38: ldr r0, [sb] cmp r0, #0 beq _02141c50 bl func_ov61_021419f4 cmp r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02141c50: ldr r0, _02141ca0 ; =data_ov61_0217ebe0 ldr r1, [r0] ldr r0, [r1] cmp r0, #1 beq _02141c7c ldr r1, [r1, #0x18] mov r0, #0xc mla r0, r8, r0, r1 blx func_ov00_020774c4 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02141c7c: ldr r0, _02141ca0 ; =data_ov61_0217ebe0 mov r1, #1 ldr r3, [r0] ldrb r2, [r3, #0x1c] add r2, r2, #1 strb r2, [r3, #0x1c] ldr r0, [r0] strb r1, [r0, #0x1e] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02141a68 _02141ca0: .word data_ov61_0217ebe0 .global func_ov61_02141ca4 arm_func_start func_ov61_02141ca4 func_ov61_02141ca4: ; 0x02141ca4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x28 mov sb, r1 ldr r1, [sb] mov sl, r0 cmp r1, #0 mov r6, #0 addne sp, sp, #0x28 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r4, _02141e4c ; =data_ov61_0217ebe0 mov r5, r6 ldr r1, [r4] ldr r0, [r1, #0x14] cmp r0, #0 ble _02141e20 mov r7, r6 add fp, sp, #0x11 _02141ce8: ldr r0, [r1, #0x18] add r0, r0, r7 blx func_ov00_020774c4 cmp r0, #1 bne _02141d50 bl func_ov61_02140308 ldr r1, [r4] mov r2, fp ldr r1, [r1, #0x18] add r1, r1, r7 blx func_ov00_02077a30 mov r0, fp add r1, sb, #0x8e bl func_0204716c cmp r0, #0 bne _02141e08 ldr r1, [sb, #4] mov r0, sl bl func_ov61_02167540 ldr r0, [r4] ldr r1, [sb, #4] ldr r0, [r0, #0x18] add r0, r0, r7 blx func_ov00_02077a10 mov r6, #1 b _02141e08 _02141d50: ldr r0, [r4] ldr r0, [r0, #0x18] add r0, r0, r7 blx func_ov00_020774c4 cmp r0, #3 beq _02141d80 ldr r0, [r4] ldr r0, [r0, #0x18] add r0, r0, r7 blx func_ov00_020774c4 cmp r0, #2 bne _02141e08 _02141d80: bl func_ov61_02140308 ldr r1, [r0, #0x24] add r0, sp, #0xc mov r2, r1, lsr #0x10 and r2, r2, #0xff str r2, [sp] mov r2, r1, lsr #0x8 and r2, r2, #0xff str r2, [sp, #4] and r2, r1, #0xff str r2, [sp, #8] mov r1, r1, lsr #0x18 and r3, r1, #0xff ldr r2, _02141e50 ; =data_ov61_0217a6f0 mov r1, #5 bl func_0200c910 ldr r8, [sb, #4] bl func_ov61_02140308 ldr r1, [r4] ldr r1, [r1, #0x18] add r1, r1, r7 blx func_ov00_02077948 cmp r8, r0 bne _02141e08 add r0, sp, #0xc add r1, sb, #0x97 mov r2, #4 bl func_0204366c cmp r0, #0 bne _02141e08 mov r0, sl mov r1, r8 bl func_ov61_02167540 mov r6, #1 _02141e08: ldr r1, [r4] add r7, r7, #0xc add r5, r5, #1 ldr r0, [r1, #0x14] cmp r5, r0 blt _02141ce8 _02141e20: cmp r6, #0 beq _02141e38 ldr r0, [sb, #4] bl func_ov61_02141904 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02141e38: ldr r1, [sb, #4] mov r0, sl bl func_ov61_02167590 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02141ca4 _02141e4c: .word data_ov61_0217ebe0 _02141e50: .word data_ov61_0217a6f0 .global func_ov61_02141e54 arm_func_start func_ov61_02141e54 func_ov61_02141e54: ; 0x02141e54 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 mov sl, r1 ldr r0, [sl] mov r7, #0 cmp r0, #0 mov fp, #1 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r4, _02141fec ; =data_ov61_0217ebe0 mov r6, r7 ldr r0, [r4] ldr r1, [r0, #0x14] cmp r1, #0 ble _02141fb0 mov r8, r7 add r5, sp, #0 _02141e98: ldr r0, [r0, #0x18] add r0, r0, r8 blx func_ov00_020774c4 cmp r0, #1 bne _02141f04 bl func_ov61_02140308 ldr r1, [r4] mov r2, r5 ldr r1, [r1, #0x18] add r1, r1, r8 blx func_ov00_02077a30 mov r0, r5 add r1, sl, #0x8e bl func_0204716c cmp r0, #0 bne _02141f98 ldr r0, [r4] ldr r1, [sl, #4] ldr r0, [r0, #0x18] add r0, r0, r8 blx func_ov00_02077a10 ldr r0, [r4] ldr r0, [r0, #0x18] add r0, r0, r8 blx func_ov00_020774f8 mov r7, #1 b _02141f98 _02141f04: ldr r0, [r4] ldr r0, [r0, #0x18] add r0, r0, r8 blx func_ov00_020774c4 cmp r0, #3 beq _02141f34 ldr r0, [r4] ldr r0, [r0, #0x18] add r0, r0, r8 blx func_ov00_020774c4 cmp r0, #2 bne _02141f98 _02141f34: ldr r0, [r4] ldr r0, [r0, #0x18] add r0, r0, r8 blx func_ov00_0207749c cmp r0, #1 moveq fp, #0 beq _02141f98 ldr sb, [sl, #4] bl func_ov61_02140308 ldr r1, [r4] ldr r1, [r1, #0x18] add r1, r1, r8 blx func_ov00_02077948 cmp sb, r0 bne _02141f98 ldr r0, [r4] mov r1, sb ldr r0, [r0, #0x18] add r0, r0, r8 blx func_ov00_02077a10 ldr r0, [r4] ldr r0, [r0, #0x18] add r0, r0, r8 blx func_ov00_020774f8 mov r7, #1 _02141f98: ldr r0, [r4] add r6, r6, #1 ldr r1, [r0, #0x14] add r8, r8, #0xc cmp r6, r1 blt _02141e98 _02141fb0: cmp r7, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [r0, #0x18] ldr r2, [sl, #4] bl func_ov61_021417fc cmp fp, #0 beq _02141fd4 bl func_ov61_021412fc _02141fd4: ldr r0, _02141fec ; =data_ov61_0217ebe0 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x1d] add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02141e54 _02141fec: .word data_ov61_0217ebe0 .global func_ov61_02141ff0 arm_func_start func_ov61_02141ff0 func_ov61_02141ff0: ; 0x02141ff0 ldr r0, _02142000 ; =data_ov61_0217ebe0 ldr r0, [r0] ldr r0, [r0, #0x20] bx lr .align 2, 0 arm_func_end func_ov61_02141ff0 _02142000: .word data_ov61_0217ebe0 .global func_ov61_02142004 arm_func_start func_ov61_02142004 func_ov61_02142004: ; 0x02142004 stmdb sp!, {r3, lr} bl func_ov61_0214a214 cmp r0, #0 beq _02142030 bl func_ov61_0214a214 ldr r0, [r0, #0x200] cmp r0, #0 beq _02142030 bl func_ov61_0213dfec cmp r0, #0 beq _02142038 _02142030: mov r0, #0 ldmia sp!, {r3, pc} _02142038: bl func_ov61_0214a214 ldr r0, [r0, #0x200] bl func_ov61_021424f8 cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02142004 .global func_ov61_02142054 arm_func_start func_ov61_02142054 func_ov61_02142054: ; 0x02142054 stmdb sp!, {r3, lr} bl func_ov61_02142074 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_02147888 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02142054 .global func_ov61_02142074 arm_func_start func_ov61_02142074 func_ov61_02142074: ; 0x02142074 stmdb sp!, {r3, lr} bl func_ov61_0213dfec cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} bl func_ov61_0214a214 cmp r0, #0 beq _021420b0 bl func_ov61_0213f4e4 cmp r0, #5 bne _021420b0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a9] cmp r0, #0 beq _021420b8 _021420b0: mov r0, #0 ldmia sp!, {r3, pc} _021420b8: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02142074 .global func_ov61_021420c0 arm_func_start func_ov61_021420c0 func_ov61_021420c0: ; 0x021420c0 stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r6, r1 mov r5, r2 mov r7, r0 cmpne r5, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} cmp r7, #0x64 blo _02142124 sub r2, r7, #0x64 mov r0, #0xc mul r3, r2, r0 ldr r0, _021421d4 ; =data_ov61_0217ebf8 ldrb r0, [r0, r3] cmp r0, #0 beq _02142124 ldr r0, _021421d8 ; =data_ov61_0217ebfc ldr r0, [r0, r3] cmp r0, #0 beq _02142134 bl func_0204716c cmp r0, #0 beq _02142134 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02142124: bl func_ov61_02148778 movs r7, r0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _02142134: sub r1, r7, #0x64 mov r0, #0xc mul r4, r1, r0 ldr r1, _021421d4 ; =data_ov61_0217ebf8 ldr r0, _021421dc ; =data_ov61_0217ebf9 strb r7, [r1, r4] mov r2, #0 ldr r1, _021421e0 ; =data_ov61_0217ebfa strb r2, [r0, r4] ldr r0, _021421d8 ; =data_ov61_0217ebfc strh r2, [r1, r4] ldr r1, [r0, r4] cmp r1, #0 beq _02142174 mov r0, #4 bl func_ov61_0213e068 _02142174: mov r0, r6 ldr r8, _021421d8 ; =data_ov61_0217ebfc bl func_02047008 add r1, r0, #1 mov r0, #4 bl func_ov61_0213e034 str r0, [r8, r4] cmp r0, #0 bne _021421ac ldr r1, _021421e4 ; =0xfffec77f mov r0, #9 bl func_ov61_02143c14 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _021421ac: mov r1, r6 bl func_02047024 ldr r1, _021421e8 ; =data_ov61_0217ec00 mov r0, r8 str r5, [r1, r4] ldr r1, [r0, r4] mov r0, r7 bl func_ov61_02179288 mov r0, r7 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021420c0 _021421d4: .word data_ov61_0217ebf8 _021421d8: .word data_ov61_0217ebfc _021421dc: .word data_ov61_0217ebf9 _021421e0: .word data_ov61_0217ebfa _021421e4: .word 0xfffec77f _021421e8: .word data_ov61_0217ec00 .global func_ov61_021421ec arm_func_start func_ov61_021421ec func_ov61_021421ec: ; 0x021421ec stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r6, r1 mov r5, r2 mov r7, r0 cmpne r5, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} cmp r7, #0x64 blo _02142250 sub r2, r7, #0x64 mov r0, #0xc mul r3, r2, r0 ldr r0, _02142304 ; =data_ov61_0217ebf8 ldrb r0, [r0, r3] cmp r0, #0 beq _02142250 ldr r0, _02142308 ; =data_ov61_0217ebfc ldr r0, [r0, r3] cmp r0, #0 beq _02142260 bl func_0204716c cmp r0, #0 beq _02142260 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02142250: bl func_ov61_02148778 movs r7, r0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _02142260: sub r1, r7, #0x64 mov r0, #0xc mul r4, r1, r0 ldr r1, _02142304 ; =data_ov61_0217ebf8 ldr r0, _0214230c ; =data_ov61_0217ebf9 strb r7, [r1, r4] mov r2, #1 ldr r1, _02142310 ; =data_ov61_0217ebfa strb r2, [r0, r4] mov r2, #0 ldr r0, _02142308 ; =data_ov61_0217ebfc strh r2, [r1, r4] ldr r1, [r0, r4] cmp r1, #0 beq _021422a4 mov r0, #4 bl func_ov61_0213e068 _021422a4: mov r0, r6 ldr r8, _02142308 ; =data_ov61_0217ebfc bl func_02047008 add r1, r0, #1 mov r0, #4 bl func_ov61_0213e034 str r0, [r8, r4] cmp r0, #0 bne _021422dc ldr r1, _02142314 ; =0xfffec77f mov r0, #9 bl func_ov61_02143c14 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _021422dc: mov r1, r6 bl func_02047024 ldr r1, _02142318 ; =data_ov61_0217ec00 mov r0, r8 str r5, [r1, r4] ldr r1, [r0, r4] mov r0, r7 bl func_ov61_02179288 mov r0, r7 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021421ec _02142304: .word data_ov61_0217ebf8 _02142308: .word data_ov61_0217ebfc _0214230c: .word data_ov61_0217ebf9 _02142310: .word data_ov61_0217ebfa _02142314: .word 0xfffec77f _02142318: .word data_ov61_0217ec00 .global func_ov61_0214231c arm_func_start func_ov61_0214231c func_ov61_0214231c: ; 0x0214231c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov61_0214a214 cmp r0, #0 beq _02142344 bl func_ov61_0213dfec cmp r0, #0 beq _0214234c _02142344: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} _0214234c: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] mov r1, r6 bl func_ov61_02162e74 cmp r0, #0 beq _02142374 mov r1, r5 mov r2, r4 bl func_ov61_02162270 mov r4, r0 _02142374: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0214231c .global func_ov61_0214237c arm_func_start func_ov61_0214237c func_ov61_0214237c: ; 0x0214237c stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r2 mov r4, r3 bl func_ov61_0214a204 bl func_ov61_0214a214 str r6, [r0] bl func_ov61_0214a214 str r5, [r0, #4] bl func_ov61_0214a214 str r4, [r0, #8] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x10] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1c] bl func_ov61_0214a214 mov r1, #0 strh r1, [r0, #0x1a] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0xe4] mov r0, r1 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0xf] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x19] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1af] bl func_ov61_0214a214 mov r1, #0 add r0, r0, #0x100 strh r1, [r0, #0xb6] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1dc] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x200] bl func_ov61_0214a214 ldr r1, [sp, #0x10] str r1, [r0, #0x2f4] bl func_ov61_0214a214 ldr r1, [sp, #0x14] str r1, [r0, #0x2f8] bl func_ov61_0214a214 ldr r1, [sp, #0x18] str r1, [r0, #0x2fc] bl func_ov61_0214a214 ldr r1, [sp, #0x1c] str r1, [r0, #0x300] bl func_ov61_0214a214 add r0, r0, #0x304 mov r1, #0 mov r2, #0x40 bl func_02007a44 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x344] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x464] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x468] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x474] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x478] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x47c] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x480] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x174] str r1, [r0, #0x178] bl func_ov61_021487b8 ldr r1, _021424f4 ; =data_ov61_0217ebe8 mov r0, #0 strb r0, [r1, #8] strb r0, [r1, #9] strh r0, [r1, #0xa] bl func_ov61_0214454c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214237c _021424f4: .word data_ov61_0217ebe8 .global func_ov61_021424f8 arm_func_start func_ov61_021424f8 func_ov61_021424f8: ; 0x021424f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x28 mov r4, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x10] cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} bl func_ov61_0214a214 str r4, [r0, #0x200] ldr r4, _02142670 ; =func_ov61_021499d0 ldr fp, _02142674 ; =func_ov61_02149b18 mov sl, #0 mov r5, #1 _02142534: bl func_ov61_0214a214 mov sb, r0 bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_02174514 mov r8, r0 bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744fc mov r7, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldr r3, [r0, #0x2f8] mov r1, r8 stmia sp, {r3, r5} str r5, [sp, #8] str r4, [sp, #0xc] ldr r3, _02142678 ; =func_ov61_02149b1c str fp, [sp, #0x10] str r3, [sp, #0x14] ldr r3, _0214267c ; =func_ov61_02149b20 mov r2, r7 str r3, [sp, #0x18] ldr r3, _02142680 ; =func_ov61_02149bc4 add r0, sb, #0x10 str r3, [sp, #0x1c] ldr r3, _02142684 ; =func_ov61_02149bcc str r3, [sp, #0x20] mov r3, #0 str r3, [sp, #0x24] ldr r3, [r6, #0x2f4] bl func_ov61_02177b3c movs r6, r0 beq _02142610 bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f98 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x10] cmp r6, #3 bne _021425f0 cmp sl, #4 bne _02142604 _021425f0: mov r0, r6 bl func_ov61_02149060 add sp, sp, #0x28 mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02142604: add sl, sl, #1 cmp sl, #5 blt _02142534 _02142610: bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1c] bl func_ov61_0214a214 mov r1, #0 strh r1, [r0, #0x1a] bl func_ov61_0214a214 ldr r0, [r0, #0x10] ldr r1, _02142688 ; =func_ov61_02149bd8 bl func_ov61_02177d30 bl func_ov61_0214a214 ldr r0, [r0, #0x10] ldr r1, _0214268c ; =func_ov61_02149bf8 bl func_ov61_02177d00 bl func_ov61_0214a214 ldr r0, [r0, #0x10] ldr r1, _02142690 ; =func_ov61_02149cac bl func_ov61_02177d18 bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c mov r0, r6 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021424f8 _02142670: .word func_ov61_021499d0 _02142674: .word func_ov61_02149b18 _02142678: .word func_ov61_02149b1c _0214267c: .word func_ov61_02149b20 _02142680: .word func_ov61_02149bc4 _02142684: .word func_ov61_02149bcc _02142688: .word func_ov61_02149bd8 _0214268c: .word func_ov61_02149bf8 _02142690: .word func_ov61_02149cac .global func_ov61_02142694 arm_func_start func_ov61_02142694 func_ov61_02142694: ; 0x02142694 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x114 ldr r4, _0214286c ; =data_ov61_0217ebe8 mov r7, r1 ldr r1, [r4, #0xc] mov r8, r0 mov r6, r2 mov r5, r3 cmp r1, #0 beq _021426d4 mov r0, #4 mov r2, #0 bl func_ov61_0213e068 mov r0, r4 mov r1, #0 str r1, [r0, #0xc] _021426d4: cmp r7, #0 beq _02142754 add r0, sp, #0x14 mvn r1, #0 mov r2, #0x20 mov r3, #3 bl func_ov61_02144c0c mov r4, r0 ldr r0, _02142870 ; =data_ov61_0217a6fc bl func_02047008 rsb r1, r4, #0x100 sub r4, r1, r0 mov r1, r4 mov r0, #4 bl func_ov61_0213e034 movs r1, r0 ldr r0, _0214286c ; =data_ov61_0217ebe8 str r1, [r0, #0xc] bne _02142734 ldr r1, _02142874 ; =0xfffec77f mov r0, #9 bl func_ov61_02143c14 add sp, sp, #0x114 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02142734: mov r0, r7 mov r2, r4 bl func_02007ad8 ldr r0, _0214286c ; =data_ov61_0217ebe8 mov r1, #0 ldr r0, [r0, #0xc] add r0, r0, r4 strb r1, [r0, #-1] _02142754: mov r1, r8 mov r2, r6 mov r3, r5 mov r0, #0 bl func_ov61_021448e4 bl func_ov61_0214a214 ldr r1, [sp, #0x130] str r1, [r0, #0x474] bl func_ov61_0214a214 ldr r1, [sp, #0x134] str r1, [r0, #0x478] mov r0, #2 bl func_ov61_0214a224 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] cmp r0, #0 bne _021427f0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 mov r2, r0 mov r0, #0x14 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r3, #0 str r3, [sp, #8] ldr r0, _02142878 ; =func_ov61_02149298 str r0, [sp, #0xc] str r3, [sp, #0x10] ldr r0, [r5, #0x2f4] ldr r1, [r4, #0x2f4] ldr r2, [r2, #0x2f8] bl func_ov61_02162acc str r0, [r6, #0xe4] _021427f0: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] cmp r0, #0 bne _02142814 mov r0, #5 bl func_ov61_02148fcc cmp r0, #0 addne sp, sp, #0x114 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} _02142814: ldr r1, _0214287c ; =data_ov61_0217a704 mov r0, #3 mov r2, #0 bl func_ov61_0214124c bl func_ov61_0214a214 ldr r0, [r0, #0x200] bl func_ov61_02144a10 bl func_ov61_02148fcc cmp r0, #0 addne sp, sp, #0x114 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} bl func_ov61_0214a214 ldr r0, [r0, #0x10] cmp r0, #0 bne _0214285c bl func_ov61_0214a214 ldr r0, [r0, #0x200] bl func_ov61_021424f8 _0214285c: mov r0, #0 bl func_ov61_02148abc add sp, sp, #0x114 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02142694 _0214286c: .word data_ov61_0217ebe8 _02142870: .word data_ov61_0217a6fc _02142874: .word 0xfffec77f _02142878: .word func_ov61_02149298 _0214287c: .word data_ov61_0217a704 .global func_ov61_02142880 arm_func_start func_ov61_02142880 func_ov61_02142880: ; 0x02142880 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x40 mov r8, r2 mov r7, r3 mov r5, r0 mov r4, r1 ldr r2, [sp, #0x58] ldr r3, [sp, #0x5c] mov r1, r8 mov r0, #1 bl func_ov61_021448e4 cmp r7, #0 movne r6, #1 moveq r6, #0 bl func_ov61_0214a214 strb r6, [r0, #0x1a6] bl func_ov61_0214a214 ldr r1, [sp, #0x60] str r1, [r0, #0x474] bl func_ov61_0214a214 ldr r1, [sp, #0x64] str r1, [r0, #0x478] bl func_ov61_0214a214 mov r1, r0 mov r0, r5 add r1, r1, #0x304 mov r2, r4 bl func_02007ad8 bl func_ov61_0214a214 str r4, [r0, #0x344] cmp r4, #0 beq _02142938 cmp r4, r8 bge _0214294c cmp r7, #0 bne _0214294c ldr r0, _02142ac4 ; =data_ov61_0217ebe8 ldr r1, [r0] cmp r1, #0 ldrneb r0, [r1] cmpne r0, #0 beq _02142938 ldrb r0, [r1, #1] sub r0, r0, #1 cmp r4, r0 bge _0214294c _02142938: mov r0, #0xa mov r1, #0 bl func_ov61_02143c14 add sp, sp, #0x40 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0214294c: mov r0, #4 bl func_ov61_0214a224 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] cmp r0, #0 bne _021429bc bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 mov r2, r0 mov r0, #0x14 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r3, #0 str r3, [sp, #8] ldr r0, _02142ac8 ; =func_ov61_02149298 str r0, [sp, #0xc] str r3, [sp, #0x10] ldr r0, [r5, #0x2f4] ldr r1, [r4, #0x2f4] ldr r2, [r2, #0x2f8] bl func_ov61_02162acc str r0, [r6, #0xe4] _021429bc: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] cmp r0, #0 bne _021429e0 mov r0, #5 bl func_ov61_02148fcc cmp r0, #0 addne sp, sp, #0x40 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _021429e0: ldr r2, _02142acc ; =data_ov61_0217a708 add r0, sp, #0x34 mov r3, r8 mov r1, #0xc bl func_0200c910 ldr r0, _02142ad0 ; =data_ov61_0217a70c add r1, sp, #0x34 add r2, sp, #0x14 mov r3, #0x2f bl func_ov61_0213e580 cmp r7, #0 ldrne r1, _02142ad4 ; =data_ov61_0217a710 ldr r0, _02142ad8 ; =data_ov61_0217a718 ldreq r1, _02142adc ; =data_ov61_0217a714 add r2, sp, #0x14 mov r3, #0x2f bl func_ov61_0213e5b8 ldr r2, _02142acc ; =data_ov61_0217a708 add r0, sp, #0x34 mov r1, #0xc mov r3, #3 bl func_0200c910 ldr r0, _02142ae0 ; =data_ov61_0217a71c add r1, sp, #0x34 add r2, sp, #0x14 mov r3, #0x2f bl func_ov61_0213e5b8 add r1, sp, #0x14 mov r0, #4 mov r2, #0 bl func_ov61_0214124c bl func_ov61_02148f58 cmp r0, #0 addne sp, sp, #0x40 ldmneia sp!, {r4, r5, r6, r7, r8, pc} bl func_ov61_0214a214 ldr r0, [r0, #0x10] cmp r0, #0 bne _02142a94 bl func_ov61_0214a214 ldr r0, [r0, #0x200] bl func_ov61_021424f8 cmp r0, #0 addne sp, sp, #0x40 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _02142a94: mov r0, #0 mov r2, r0 mov r1, #1 bl func_ov61_021469ec bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0x40 ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #0 bl func_ov61_02148abc add sp, sp, #0x40 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02142880 _02142ac4: .word data_ov61_0217ebe8 _02142ac8: .word func_ov61_02149298 _02142acc: .word data_ov61_0217a708 _02142ad0: .word data_ov61_0217a70c _02142ad4: .word data_ov61_0217a710 _02142ad8: .word data_ov61_0217a718 _02142adc: .word data_ov61_0217a714 _02142ae0: .word data_ov61_0217a71c .global func_ov61_02142ae4 arm_func_start func_ov61_02142ae4 func_ov61_02142ae4: ; 0x02142ae4 stmdb sp!, {r4, lr} movs r4, r0 ldmeqia sp!, {r4, pc} bl func_ov61_02177d48 ldr r0, [r4, #0xb4] cmp r0, #0 ldmneia sp!, {r4, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 cmpne r0, #1 beq _02142b20 cmp r0, #2 beq _02142b74 ldmia sp!, {r4, pc} _02142b20: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _02142b34: ; jump table ldmia sp!, {r4, pc} ; case 0 b _02142b64 ; case 1 b _02142b64 ; case 2 b _02142b64 ; case 3 b _02142b64 ; case 4 ldmia sp!, {r4, pc} ; case 5 b _02142b64 ; case 6 ldmia sp!, {r4, pc} ; case 7 ldmia sp!, {r4, pc} ; case 8 ldmia sp!, {r4, pc} ; case 9 ldmia sp!, {r4, pc} ; case 10 b _02142b64 ; case 11 _02142b64: bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c ldmia sp!, {r4, pc} _02142b74: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb ldmneia sp!, {r4, pc} bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c ldmia sp!, {r4, pc} arm_func_end func_ov61_02142ae4 .global func_ov61_02142b94 arm_func_start func_ov61_02142b94 func_ov61_02142b94: ; 0x02142b94 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r4, r0 bl func_ov61_0214a214 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0213dfec cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} cmp r4, #0 bne _02142c10 bl func_ov61_0214a214 ldr r0, [r0, #0x10] cmp r0, #0 beq _02142be4 bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177d48 _02142be4: bl func_ov61_0214a214 ldr r0, [r0, #4] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_02174244 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02142c10: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xd addls pc, pc, r0, lsl #2 b _0214333c _02142c38: ; jump table b _0214333c ; case 0 b _02143244 ; case 1 b _02142dec ; case 2 b _02142dec ; case 3 b _02142c70 ; case 4 b _02142dec ; case 5 b _0214333c ; case 6 b _02142eac ; case 7 b _0214333c ; case 8 b _0214333c ; case 9 b _0214333c ; case 10 b _02143030 ; case 11 b _0214333c ; case 12 b _02143124 ; case 13 _02142c70: bl func_ov61_0214a214 ldr r0, [r0, #0x1c8] cmp r0, #0 beq _02142d5c bl func_0200e8f8 mov r6, r0 mov r7, r1 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 ldr r1, [r5, #0x1cc] ldr r0, [r5, #0x1d0] subs r2, r6, r1 sbc r0, r7, r0 mov r1, r0, lsl #0x6 orr r1, r1, r2, lsr #26 mov r0, r2, lsl #0x6 ldr r2, _02143588 ; =0x000082ea mov r3, #0 bl func_02002bac cmp r1, #0 ldr r1, [r4, #0x1c8] cmpeq r0, r1 bls _02142d5c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1c8] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _02142d48 bl func_ov61_0214a214 ldrb r1, [r0, #0x1aa] add r1, r1, #1 strb r1, [r0, #0x1aa] bl func_ov61_0214a214 ldrb r0, [r0, #0x1aa] cmp r0, #5 bls _02142d24 ldr r1, _0214358c ; =0xfffec5d2 mov r0, #6 bl func_ov61_02143c14 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02142d24: bl func_ov61_0214a214 ldr r0, [r0, #0xf4] mov r1, #0 bl func_ov61_0214683c bl func_ov61_02146810 cmp r0, #0 beq _02142d5c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02142d48: mov r0, #0 bl func_ov61_02146cb4 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02142d5c: bl func_ov61_0214a214 ldr r0, [r0, #0x1bc] cmp r0, #0 beq _0214333c bl func_ov61_0214a214 ldrb r1, [r0, #0xd] ldr r0, _02143590 ; =0x00000bb8 mul r0, r1, r0 add r0, r0, #0x3b8 add r5, r0, #0x800 bl func_0200e8f8 mov r4, r0 mov r6, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x1c0] ldr r0, [r0, #0x1c4] subs r2, r4, r1 sbc r0, r6, r0 mov r1, r0, lsl #0x6 orr r1, r1, r2, lsr #26 mov r0, r2, lsl #0x6 ldr r2, _02143588 ; =0x000082ea mov r3, #0 bl func_02002bac cmp r1, #0 cmpeq r0, r5 blo _0214333c bl func_ov61_0214a214 ldr r0, [r0, #0xf4] mov r1, #0 bl func_ov61_0214683c bl func_ov61_02146810 cmp r0, #0 beq _0214333c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02142dec: bl func_ov61_0214a214 ldr r0, [r0, #0xe8] cmp r0, #0 ble _0214333c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #3 bne _02142e28 bl func_ov61_0214a214 ldrb r1, [r0, #0xd] ldr r0, _02143590 ; =0x00000bb8 mul r0, r1, r0 add r0, r0, #0x3b8 add r5, r0, #0x800 b _02142e3c _02142e28: bl func_ov61_0214a214 ldr r0, [r0, #0xe8] cmp r0, #1 moveq r5, #0x3e8 ldrne r5, _02143590 ; =0x00000bb8 _02142e3c: bl func_0200e8f8 mov r4, r0 mov r6, r1 bl func_ov61_0214a214 ldr r1, [r0, #0xec] ldr r0, [r0, #0xf0] subs r3, r4, r1 sbc r0, r6, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac cmp r1, #0 cmpeq r0, r5 bls _0214333c bl func_ov61_0214a214 ldr r0, [r0, #0x204] bl func_ov61_02144a10 bl func_ov61_02148fcc cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0xe8] b _0214333c _02142eac: bl func_ov61_0214a214 ldr r1, [r0, #0x190] ldr r0, [r0, #0x18c] cmp r1, #0 cmpeq r0, #0 beq _02142f38 bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x18c] ldr r0, [r0, #0x190] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _02143594 ; =0x000061a8 cmp r1, #0 cmpeq r0, r2 bls _0214333c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x18c] str r1, [r0, #0x190] bl func_ov61_0214a214 ldr r0, [r0, #0xf4] bl func_ov61_02146ffc cmp r0, #0 bne _0214333c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02142f38: bl func_ov61_0214a214 ldrb r0, [r0, #0x3cc] cmp r0, #6 bne _0214333c bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x45c] ldr r0, [r0, #0x460] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _02143598 ; =0x00001770 cmp r1, #0 cmpeq r0, r2 bls _0214333c bl func_ov61_0214a214 ldrb r1, [r0, #0x3cd] add r1, r1, #1 strb r1, [r0, #0x3cd] bl func_ov61_0214a214 ldrb r0, [r0, #0x3cd] cmp r0, #5 bls _02142fd0 bl func_ov61_02143bf4 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] bl func_ov61_02146ffc cmp r0, #0 bne _0214333c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02142fd0: bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 add r1, r4, #0x3d4 str r1, [sp] add r3, r5, #0x300 ldr r1, [r0, #0x458] mov r0, #6 str r1, [sp, #4] ldr r1, [r7, #0x454] ldr r2, [r6, #0x3d0] ldrh r3, [r3, #0xce] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 beq _0214333c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02143030: bl func_ov61_0214a214 ldrb r0, [r0, #0x3cc] cmp r0, #2 bne _0214333c bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02143098 bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x45c] ldr r0, [r0, #0x460] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _02143598 ; =0x00001770 cmp r1, #0 cmpeq r0, r2 bhi _021430f0 _02143098: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _0214333c bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x45c] ldr r0, [r0, #0x460] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _0214359c ; =0x00004a38 cmp r1, #0 cmpeq r0, r2 bls _0214333c _021430f0: bl func_ov61_02143bf4 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r0, #1 add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] bl func_ov61_02146de0 cmp r0, #0 bne _0214333c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02143124: bl func_ov61_0214a214 ldrb r0, [r0, #0x3cc] cmp r0, #8 bne _0214333c bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x45c] ldr r0, [r0, #0x460] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _021435a0 ; =0x00007530 cmp r1, #0 cmpeq r0, r2 bls _0214333c bl func_ov61_0214a214 ldrb r1, [r0, #0x3cd] add r1, r1, #1 strb r1, [r0, #0x3cd] bl func_ov61_0214a214 ldrb r0, [r0, #0x3cd] cmp r0, #0 beq _021431e4 bl func_ov61_02143bf4 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 bne _021431dc bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] bl func_ov61_02146de0 cmp r0, #0 bne _0214333c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021431dc: bl func_ov61_02147ca4 b _0214333c _021431e4: bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 add r1, r4, #0x3d4 str r1, [sp] add r3, r5, #0x300 ldr r1, [r0, #0x458] mov r0, #8 str r1, [sp, #4] ldr r1, [r7, #0x454] ldr r2, [r6, #0x3d0] ldrh r3, [r3, #0xce] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 beq _0214333c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02143244: bl func_ov61_0213f4e4 cmp r0, #5 bne _0214333c bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x1f8] ldr r0, [r0, #0x1fc] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _021435a0 ; =0x00007530 cmp r1, #0 cmpeq r0, r2 bls _0214333c bl func_ov61_0214a214 ldrb r0, [r0, #0x1ad] cmp r0, #5 blo _021432c4 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] bl func_ov61_02146ffc cmp r0, #0 bne _0214333c add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021432c4: bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldrh r3, [r0, #0xa4] ldr r1, [r5, #0xf4] ldr r2, [r4, #0x24] mov r0, #0x40 bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 ldrb r1, [r0, #0x1ad] add r1, r1, #1 strb r1, [r0, #0x1ad] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 ldr r2, _021435a4 ; =0xff403b3a mvn r3, #0 adds r0, r0, r2 str r0, [r4, #0x1f8] adc r0, r1, r3 str r0, [r4, #0x1fc] _0214333c: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb beq _0214335c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #6 bne _021433d4 _0214335c: bl func_ov61_0214a214 ldr r1, [r0, #0x188] ldr r0, [r0, #0x184] cmp r1, #0 cmpeq r0, #0 beq _021433d4 bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x184] ldr r0, [r0, #0x188] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _021435a8 ; =0x00002710 cmp r1, #0 cmpeq r0, r2 bls _021433d4 bl func_ov61_0214a214 mov r1, #0 add r3, r0, #0x194 mov r2, r1 mov r0, #1 bl func_ov61_02149dbc _021433d4: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] cmp r0, #0 beq _0214344c bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162df4 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e40 cmp r0, #0 beq _0214344c bl func_ov61_0214a214 ldr r1, [r0, #0x178] ldr r0, [r0, #0x174] cmp r1, #0 cmpeq r0, #0 beq _0214344c bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x178] ldr r0, [r0, #0x174] cmp r5, r1 cmpeq r4, r0 bls _0214344c ldr r1, _021435ac ; =0xfffeb3ee mov r0, #6 bl func_ov61_02143c14 _0214344c: bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02142ae4 bl func_ov61_02177644 bl func_ov61_0214a214 ldr r0, [r0, #4] cmp r0, #0 beq _0214347c bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_02174244 _0214347c: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0x12 bne _021434e4 bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x1f0] ldr r0, [r0, #0x1f4] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02143588 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _02143590 ; =0x00000bb8 cmp r1, #0 cmpeq r0, r2 bls _021434e4 bl func_ov61_02147cd8 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _021434e4: bl func_ov61_02148064 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_02148578 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_02148b2c bl func_ov61_0214a214 ldrb r0, [r0, #0x1ae] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xa addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] strb r0, [r4, #0x16] bl func_ov61_021443ec bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ae] bl func_ov61_0214a214 ldr r0, [r0, #0x47c] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x480] ldr r1, [r4, #0x47c] blx r1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02142b94 _02143588: .word 0x000082ea _0214358c: .word 0xfffec5d2 _02143590: .word 0x00000bb8 _02143594: .word 0x000061a8 _02143598: .word 0x00001770 _0214359c: .word 0x00004a38 _021435a0: .word 0x00007530 _021435a4: .word 0xff403b3a _021435a8: .word 0x00002710 _021435ac: .word 0xfffeb3ee .global func_ov61_021435b0 arm_func_start func_ov61_021435b0 func_ov61_021435b0: ; 0x021435b0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 ldr r0, [sp, #0x18] mov r4, r3 cmp r0, #0 cmpne r4, #0 mov r5, r1 mov r6, r2 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r1, sp, #0 mov r0, #0 mov r2, #8 bl func_020078f4 mov r1, r6, asr #0x8 mov r0, r6, lsl #0x8 mov r2, #2 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 strb r2, [sp, #1] strh r0, [sp, #2] str r5, [sp, #4] ldrb r5, [r4] cmp r5, #0xfe ldreqb r0, [r4, #1] cmpeq r0, #0xfd beq _0214362c cmp r5, #0x5c bne _02143658 _0214362c: bl func_ov61_0214a214 ldr r0, [r0, #0x10] cmp r0, #0 beq _02143694 bl func_ov61_0214a214 ldr r0, [r0, #0x10] ldr r2, [sp, #0x18] add r3, sp, #0 mov r1, r4 bl func_ov61_02178d08 b _02143694 _02143658: ldr r1, _021436a0 ; =data_ov61_0217e158 mov r0, r4 mov r2, #6 bl func_0204366c cmp r0, #0 bne _02143684 ldr r1, [sp, #0x18] add r2, sp, #0 mov r0, r4 bl func_ov61_021779dc b _02143694 _02143684: add sp, sp, #8 cmp r5, #0xfe mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02143694: mov r0, #1 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021435b0 _021436a0: .word data_ov61_0217e158 .global func_ov61_021436a4 arm_func_start func_ov61_021436a4 func_ov61_021436a4: ; 0x021436a4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r1 mov r7, r2 mov r6, r3 bl func_ov61_0214a214 cmp r0, #0 beq _021436e0 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #7 bne _021436e0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a9] cmp r0, #0 beq _021436f4 _021436e0: ldr r1, _021438d4 ; =data_ov61_0217a720 mov r0, r8 mvn r2, #0 bl func_ov61_0217428c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021436f4: bl func_ov61_0213f64c mov r5, r0 mvn r2, #0 cmp r5, r2 bne _02143724 ldr r1, _021438d8 ; =data_ov61_0217a72c mov r0, r8 bl func_ov61_0217428c ldr r1, _021438dc ; =0xfffeabc4 mov r0, #6 bl func_ov61_02143c14 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02143724: bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r4, r0, lsl #2 ldr r0, [r0, #0x210] cmp r7, r0 bne _02143768 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r4, r0, lsl #1 add r0, r0, #0x200 ldrh r0, [r0, #0x90] cmp r6, r0 beq _021437f4 _02143768: ldr r0, [sp, #0x24] ldrb r1, [r0] cmp r1, #0 beq _021437e0 mov r1, #0 mov r2, #0xa bl func_02048ecc mov r4, r0 bl func_ov61_0214a214 mov sb, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, sb, r0, lsl #2 ldr r0, [r0, #0xf4] cmp r4, r0 bne _021437e0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r4, r0, lsl #2 str r7, [r0, #0x210] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r4, r0, lsl #1 add r0, r0, #0x200 strh r6, [r0, #0x90] b _021437f4 _021437e0: ldr r1, _021438e0 ; =data_ov61_0217a738 mov r0, r8 mvn r2, #0 bl func_ov61_0217428c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021437f4: bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x18c] str r1, [r0, #0x190] bl func_ov61_0214a214 ldr r1, [r0, #8] mov r0, r8 bl func_ov61_02174280 cmp r0, #0 bne _0214382c ldr r1, _021438e4 ; =0xfffec5e6 mov r0, #6 bl func_ov61_02143c14 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0214382c: bl func_ov61_02143bf4 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 bne _02143860 ldr r1, [sp, #0x20] ldr r0, _021438e8 ; =0x0000ffff mov r4, r1, asr #0x1 cmp r0, r1, asr #1 movle r4, r0 bl func_ov61_0214a214 add r0, r0, #0x100 strh r4, [r0, #0xb0] _02143860: mov r0, r5 bl func_ov61_0213f6a8 mov r4, r0 mov r0, r5 bl func_ov61_0213f720 str r8, [r4] mov r4, r0 bl func_ov61_0214a214 ldrb r1, [r0, #0xd] add r1, r1, #1 strb r1, [r0, #0xd] strb r5, [r4] bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldrb r1, [r0, #0xd] mov r0, r8 mov r2, #0 sub r1, r1, #1 add r1, r5, r1 ldrb r3, [r1, #0x2d0] mov r1, r4 strb r3, [r4, #1] strh r2, [r4, #2] str r2, [r4, #4] bl func_ov61_02174524 mov r0, #2 bl func_ov61_021471a0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_021436a4 _021438d4: .word data_ov61_0217a720 _021438d8: .word data_ov61_0217a72c _021438dc: .word 0xfffeabc4 _021438e0: .word data_ov61_0217a738 _021438e4: .word 0xfffec5e6 _021438e8: .word 0x0000ffff .global func_ov61_021438ec arm_func_start func_ov61_021438ec func_ov61_021438ec: ; 0x021438ec stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x1c mov r6, r0 mov r4, r1 bl func_ov61_0214a214 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #7 beq _02143930 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xc addne sp, sp, #0x1c ldmneia sp!, {r4, r5, r6, r7, pc} _02143930: cmp r4, #0 beq _02143aac cmp r4, #5 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} cmp r4, #6 bne _02143a80 bl func_ov61_0214a214 ldrb r1, [r0, #0xc] add r1, r1, #1 strb r1, [r0, #0xc] bl func_ov61_0214a214 ldrb r0, [r0, #0xc] cmp r0, #5 bls _0214399c bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0xc] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] bl func_ov61_02146de0 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _0214399c: bl func_ov61_0214a214 ldr r3, [r0, #0x200] ldr r2, _02143b64 ; =data_ov61_0217a708 add r0, sp, #0x10 mov r1, #0xc bl func_0200c910 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldrb r2, [r6, #0x14] ldrb r1, [r0, #0x14] add r0, r7, r2, lsl #2 add r1, r5, r1, lsl #1 add r1, r1, #0x200 ldrh r1, [r1, #0x90] ldr r0, [r0, #0x210] mov r2, #0 bl func_ov61_021769a4 mov r5, r0 bl func_ov61_0214a214 mvn r1, #0 str r1, [sp] ldr r3, _02143b68 ; =0x00001388 mov r1, #0 str r3, [sp, #4] ldr r0, [r0, #8] mov r2, r5 str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r4, #4] add r3, sp, #0x10 ldr r0, [r0] bl func_ov61_02174298 cmp r0, #1 bne _02143a4c bl func_ov61_021491f4 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _02143a4c: cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, pc} bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] bl func_ov61_02146de0 add sp, sp, #0x1c cmp r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _02143a80: bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r0, #1 add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] bl func_ov61_02146de0 add sp, sp, #0x1c cmp r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _02143aac: bl func_ov61_0213f64c mov r5, r0 mvn r1, #0 cmp r5, r1 bne _02143ad4 ldr r1, _02143b6c ; =0xfffeabc4 mov r0, #6 bl func_ov61_02143c14 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _02143ad4: bl func_ov61_0213f6a8 mov r4, r0 mov r0, r5 bl func_ov61_0213f720 str r6, [r4] mov r4, r0 bl func_ov61_0214a214 ldrb r2, [r0, #0xd] mov r1, #0 add r2, r2, #1 strb r2, [r0, #0xd] strb r5, [r4] strh r1, [r4, #2] str r1, [r4, #4] bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldrb r2, [r0, #0xd] mov r0, r6 mov r1, r4 add r2, r5, r2 ldrb r2, [r2, #0x2d0] strb r2, [r4, #1] bl func_ov61_02174524 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xc bne _02143b54 mov r0, #0 bl func_ov61_021471a0 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} _02143b54: mov r0, #1 bl func_ov61_021471a0 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021438ec _02143b64: .word data_ov61_0217a708 _02143b68: .word 0x00001388 _02143b6c: .word 0xfffeabc4 .global func_ov61_02143b70 arm_func_start func_ov61_02143b70 func_ov61_02143b70: ; 0x02143b70 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x218 mov sb, #0 mov fp, r1 mov sl, r2 add r8, sp, #8 mov r7, sb mov r6, #0xa add r5, sp, #0x18 mvn r4, #0 _02143b98: mov r0, r8 mov r2, sb add r1, sl, #1 bl func_ov61_02145384 cmp r0, r4 beq _02143bd0 mov r0, r8 mov r1, r7 mov r2, r6 bl func_02048ecc str r0, [r5, sb, lsl #2] add sb, sb, #1 cmp sb, #0x80 blt _02143b98 _02143bd0: add r0, sp, #0x18 stmia sp, {r0, sb} mov r2, #0 ldrb r0, [sl] mov r1, fp mov r3, r2 bl func_ov61_02145420 add sp, sp, #0x218 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_02143b70 .global func_ov61_02143bf4 arm_func_start func_ov61_02143bf4 func_ov61_02143bf4: ; 0x02143bf4 stmdb sp!, {r3, lr} bl func_ov61_0214a214 mov r1, #0xff strb r1, [r0, #0x3cc] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x3cd] ldmia sp!, {r3, pc} arm_func_end func_ov61_02143bf4 .global func_ov61_02143c14 arm_func_start func_ov61_02143c14 func_ov61_02143c14: ; 0x02143c14 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 cmp r0, #0 cmpne r4, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} bl func_ov61_02147e08 mov r0, r4 mov r1, r5 bl func_ov61_0213e008 ldr r1, _02143ccc ; =data_ov61_0217a704 mov r0, #1 mov r2, #0 bl func_ov61_0214124c bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 moveq r7, #1 movne r7, #0 bl func_ov61_0214a214 ldr r0, [r0, #0x20c] cmp r0, #0 moveq r8, #1 movne r8, #0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x20c] bl func_ov61_021411b0 mov r5, r0 bl func_ov61_0214a214 str r5, [sp] ldr r1, [r0, #0x468] mov r0, r4 str r1, [sp, #4] ldr r4, [r6, #0x464] mov r2, r8 mov r3, r7 mov r1, #0 blx r4 bl func_ov61_0214498c add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02143c14 _02143ccc: .word data_ov61_0217a704 .global func_ov61_02143cd0 arm_func_start func_ov61_02143cd0 func_ov61_02143cd0: ; 0x02143cd0 stmdb sp!, {r3, lr} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 ldmeqia sp!, {r3, pc} bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x14] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x16] bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c ldmia sp!, {r3, pc} arm_func_end func_ov61_02143cd0 .global func_ov61_02143d0c arm_func_start func_ov61_02143d0c func_ov61_02143d0c: ; 0x02143d0c stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r4, r2 cmp r1, #2 beq _02143d34 cmp r1, #3 beq _02143de0 cmp r1, #4 beq _02143ea8 ldmia sp!, {r4, r5, r6, pc} _02143d34: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 bne _02143dd0 ldrb r0, [r4] cmp r0, #1 bne _02143d5c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20c] _02143d5c: ldrb r6, [r4, #1] bl func_ov61_0214a214 ldrb r1, [r4, #2] add r0, r0, r6 strb r1, [r0, #0x2d0] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldr r1, [r0, #0x200] add r0, r4, r6, lsl #2 str r1, [r0, #0xf4] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _02143da8 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02143dbc _02143da8: bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] strb r0, [r4, #0x16] _02143dbc: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ad] mov r0, #9 bl func_ov61_0214a224 _02143dd0: mov r0, r5 mov r1, #3 bl func_ov61_02147f74 ldmia sp!, {r4, r5, r6, pc} _02143de0: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0x10 bne _02143e98 bl func_ov61_0214a214 ldr r2, [r0, #0x1d4] mov r1, #1 orr r1, r2, r1, lsl r5 str r1, [r0, #0x1d4] ldrb r1, [r4] ldrb r0, [r4, #1] orr r4, r1, r0, lsl #8 bl func_ov61_0214a214 add r0, r0, #0x100 ldrh r0, [r0, #0xb0] cmp r4, r0 ble _02143e30 bl func_ov61_0214a214 add r0, r0, #0x100 strh r4, [r0, #0xb0] _02143e30: mov r0, #0 bl func_ov61_02148a30 mov r4, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x1d4] cmp r4, r0 ldmneia sp!, {r4, r5, r6, pc} mov r5, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02143e8c mov r4, #4 _02143e64: bl func_ov61_0214a214 add r0, r0, r5 ldrb r0, [r0, #0x2d0] mov r1, r4 bl func_ov61_02147f74 add r5, r5, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r5, r0 ble _02143e64 _02143e8c: mov r0, #0x11 bl func_ov61_0214a224 ldmia sp!, {r4, r5, r6, pc} _02143e98: mov r0, r5 mov r1, #4 bl func_ov61_02147f74 ldmia sp!, {r4, r5, r6, pc} _02143ea8: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #9 ldmneia sp!, {r4, r5, r6, pc} mov r0, #4 bl func_ov61_021471a0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02143d0c .global func_ov61_02143ec4 arm_func_start func_ov61_02143ec4 func_ov61_02143ec4: ; 0x02143ec4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov61_0213f4e4 cmp r0, #5 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} cmp r5, #0 beq _02143f14 ldr r1, _02144038 ; =0xfffec780 mov r0, r5 add r1, r4, r1 bl func_ov61_02143c14 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02143f14: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x2d0] bl func_ov61_0214a214 ldrb r0, [r0, #0x1a9] cmp r0, #1 beq _02143f50 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a8] cmp r0, #1 beq _02143f50 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a8] cmp r0, #2 bne _02143f58 _02143f50: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02143f58: bl func_ov61_0214a214 ldr r0, [r0, #0x19c] cmp r0, #0 beq _02143f80 bl func_ov61_0214a214 ldr r0, [r0, #0x19c] bl func_ov61_0217741c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x19c] _02143f80: bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _02143fc0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a8] cmp r0, #0 bne _02144030 bl func_ov61_0214a214 mov r1, #3 strb r1, [r0, #0x1a8] bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744b8 b _02144030 _02143fc0: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _02143fe0 ldr r1, _0214403c ; =0xfffec5d2 mov r0, #6 bl func_ov61_02143c14 b _02144030 _02143fe0: bl func_ov61_0214a214 ldr r0, [r0, #0x208] cmp r0, #0 beq _02143ff8 bl func_ov61_02147cd8 b _02144030 _02143ff8: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 bne _02144028 mov r0, #0x12 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1f0] str r1, [r4, #0x1f4] b _02144030 _02144028: mov r0, #1 bl func_ov61_02147ba4 _02144030: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02143ec4 _02144038: .word 0xfffec780 _0214403c: .word 0xfffec5d2 .global func_ov61_02144040 arm_func_start func_ov61_02144040 func_ov61_02144040: ; 0x02144040 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a8] cmp r0, #2 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov61_02146de0 ldmia sp!, {r4, pc} arm_func_end func_ov61_02144040 .global func_ov61_02144064 arm_func_start func_ov61_02144064 func_ov61_02144064: ; 0x02144064 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 bl func_ov61_0214a214 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} cmp r5, #0 mov r4, #0 ble _021440c0 _0214408c: bl func_ov61_0214a214 add r0, r0, r4, lsl #2 ldr r0, [r0, #0xf4] cmp r6, r0 bne _021440b4 mov r0, r4 mov r1, r5 bl func_ov61_021440c8 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _021440b4: add r4, r4, #1 cmp r4, r5 blt _0214408c _021440c0: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02144064 .global func_ov61_021440c8 arm_func_start func_ov61_021440c8 func_ov61_021440c8: ; 0x021440c8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r0 mov r8, r1 bl func_ov61_0214a214 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} bl func_ov61_0214a214 add r0, r0, sb, lsl #2 ldr fp, [r0, #0xf4] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 add r0, r0, sb ldrb r0, [r0, #0x2d0] mov r1, #1 ldr r2, [r4, #0x2f0] mvn r0, r1, lsl r0 and r0, r2, r0 str r0, [r4, #0x2f0] bl func_ov61_021442c0 sub r0, r8, #1 cmp sb, r0 bge _02144208 sub r0, r8, sb sub r5, r0, #1 cmp r5, #0 mov r4, #0 ble _02144208 _0214413c: add r7, sb, r4 add r6, r7, #1 bl func_ov61_0214a214 mov sl, r0 bl func_ov61_0214a214 add r0, r0, r6, lsl #2 ldr r1, [r0, #0x24] add r0, sl, r7, lsl #2 str r1, [r0, #0x24] bl func_ov61_0214a214 mov sl, r0 bl func_ov61_0214a214 add r0, r0, r6, lsl #1 ldrh r1, [r0, #0xa4] add r0, sl, r7, lsl #1 strh r1, [r0, #0xa4] bl func_ov61_0214a214 mov sl, r0 bl func_ov61_0214a214 add r1, sl, r7, lsl #2 add r0, r0, r6, lsl #2 ldr r0, [r0, #0xf4] str r0, [r1, #0xf4] bl func_ov61_0214a214 mov sl, r0 bl func_ov61_0214a214 add r1, sl, r7, lsl #2 add r0, r0, r6, lsl #2 ldr r0, [r0, #0x210] str r0, [r1, #0x210] bl func_ov61_0214a214 mov sl, r0 bl func_ov61_0214a214 add r1, sl, r7, lsl #1 add r0, r0, r6, lsl #1 add r0, r0, #0x200 ldrh r2, [r0, #0x90] add r0, r1, #0x200 strh r2, [r0, #0x90] bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 add r0, sb, r0 add r0, r4, r0 ldrb r1, [r0, #0x2d1] add r0, sb, r6 add r0, r4, r0 strb r1, [r0, #0x2d0] add r4, r4, #1 cmp r4, r5 blt _0214413c _02144208: cmp r8, #0 ble _02144278 sub r4, r8, #1 bl func_ov61_0214a214 add r0, r0, r4, lsl #2 mov r1, #0 str r1, [r0, #0x24] bl func_ov61_0214a214 add r0, r0, r4, lsl #1 mov r1, #0 strh r1, [r0, #0xa4] bl func_ov61_0214a214 add r0, r0, r4, lsl #2 mov r1, #0 str r1, [r0, #0xf4] bl func_ov61_0214a214 add r0, r0, r4, lsl #2 mov r1, #0 str r1, [r0, #0x210] bl func_ov61_0214a214 add r0, r0, r4, lsl #1 add r0, r0, #0x200 mov r1, #0 strh r1, [r0, #0x90] bl func_ov61_0214a214 add r0, r0, r4 mov r1, #0 strb r1, [r0, #0x2d0] _02144278: mov r0, fp ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_021440c8 .global func_ov61_02144280 arm_func_start func_ov61_02144280 func_ov61_02144280: ; 0x02144280 stmdb sp!, {r3, lr} bl func_ov61_0214a214 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0xd] ldmia sp!, {r3, pc} arm_func_end func_ov61_02144280 .global func_ov61_021442a0 arm_func_start func_ov61_021442a0 func_ov61_021442a0: ; 0x021442a0 stmdb sp!, {r3, lr} bl func_ov61_0214a214 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0xe] ldmia sp!, {r3, pc} arm_func_end func_ov61_021442a0 .global func_ov61_021442c0 arm_func_start func_ov61_021442c0 func_ov61_021442c0: ; 0x021442c0 stmdb sp!, {r4, r5, r6, lr} mvn r5, #0 mov r6, #0 mov r4, #1 _021442d0: bl func_ov61_0214a214 ldr r0, [r0, #0x2f0] tst r0, r4, lsl r6 add r6, r6, #1 addne r5, r5, #1 cmp r6, #0x20 blt _021442d0 mvn r0, #0 cmp r5, r0 bne _02144308 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0xe] ldmia sp!, {r4, r5, r6, pc} _02144308: bl func_ov61_0214a214 strb r5, [r0, #0xe] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021442c0 .global func_ov61_02144314 arm_func_start func_ov61_02144314 func_ov61_02144314: ; 0x02144314 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0214a214 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} bl func_ov61_0214a214 add r0, r0, #0x2d0 str r0, [r4] bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov61_02144314 .global func_ov61_02144348 arm_func_start func_ov61_02144348 func_ov61_02144348: ; 0x02144348 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r0 bl func_ov61_0214a214 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _021443e8 ; =data_ov61_0217f330 mov r1, #0 mov r2, #0x20 bl func_02007a44 mov r5, #0 bl func_ov61_0214a214 ldrb r0, [r0, #0xe] cmp r0, #0 blt _021443d0 ldr r6, _021443e8 ; =data_ov61_0217f330 mov r4, #1 _0214438c: bl func_ov61_0214a214 mov r8, r0 bl func_ov61_0214a214 add r0, r0, r5 ldrb r0, [r0, #0x2d0] ldr r1, [r8, #0x2f0] tst r1, r4, lsl r0 beq _021443d0 bl func_ov61_0214a214 add r0, r0, r5 ldrb r0, [r0, #0x2d0] add r5, r5, #1 strb r0, [r6], #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xe] cmp r5, r0 ble _0214438c _021443d0: ldr r0, _021443e8 ; =data_ov61_0217f330 str r0, [r7] bl func_ov61_0214a214 ldrb r0, [r0, #0xe] add r0, r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02144348 _021443e8: .word data_ov61_0217f330 .global func_ov61_021443ec arm_func_start func_ov61_021443ec func_ov61_021443ec: ; 0x021443ec stmdb sp!, {lr} sub sp, sp, #0x2c bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 addne sp, sp, #0x2c movne r0, #0 ldmneia sp!, {pc} bl func_ov61_0214a214 ldrb r1, [r0, #0x16] ldr r2, _021444ac ; =data_ov61_0217a708 add r0, sp, #0x20 add r3, r1, #1 mov r1, #0xc bl func_0200c910 ldr r0, _021444b0 ; =data_ov61_0217a750 add r1, sp, #0x20 add r2, sp, #0 mov r3, #0x2f bl func_ov61_0213e580 bl func_ov61_0214a214 ldrb r2, [r0, #0xd] add r0, sp, #0x20 mov r1, #0xc add r3, r2, #1 ldr r2, _021444ac ; =data_ov61_0217a708 bl func_0200c910 ldr r0, _021444b4 ; =data_ov61_0217a754 add r1, sp, #0x20 add r2, sp, #0 mov r3, #0x2f bl func_ov61_0213e5b8 ldr r2, _021444ac ; =data_ov61_0217a708 add r0, sp, #0x20 mov r1, #0xc mov r3, #3 bl func_0200c910 ldr r0, _021444b8 ; =data_ov61_0217a71c add r1, sp, #0x20 add r2, sp, #0 mov r3, #0x2f bl func_ov61_0213e5b8 mov r0, #6 add r1, sp, #0 mov r2, #0 bl func_ov61_0214124c add sp, sp, #0x2c ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov61_021443ec _021444ac: .word data_ov61_0217a708 _021444b0: .word data_ov61_0217a750 _021444b4: .word data_ov61_0217a754 _021444b8: .word data_ov61_0217a71c .global func_ov61_021444bc arm_func_start func_ov61_021444bc func_ov61_021444bc: ; 0x021444bc stmdb sp!, {r3, lr} mov r0, #0 bl func_ov61_0214a204 ldr r0, _02144530 ; =data_ov61_0217ebe8 ldr r1, [r0, #0xc] cmp r1, #0 beq _021444f0 mov r0, #4 mov r2, #0 bl func_ov61_0213e068 ldr r0, _02144530 ; =data_ov61_0217ebe8 mov r1, #0 str r1, [r0, #0xc] _021444f0: bl func_ov61_021487b8 ldr r0, _02144530 ; =data_ov61_0217ebe8 ldr r1, [r0] cmp r1, #0 beq _0214451c mov r0, #4 mov r2, #0 bl func_ov61_0213e068 ldr r0, _02144530 ; =data_ov61_0217ebe8 mov r1, #0 str r1, [r0] _0214451c: ldr r0, _02144530 ; =data_ov61_0217ebe8 mov r1, #0 strb r1, [r0, #8] strb r1, [r0, #9] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021444bc _02144530: .word data_ov61_0217ebe8 .global func_ov61_02144534 arm_func_start func_ov61_02144534 func_ov61_02144534: ; 0x02144534 stmdb sp!, {r3, lr} bl func_ov61_0214a214 cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02144534 .global func_ov61_0214454c arm_func_start func_ov61_0214454c func_ov61_0214454c: ; 0x0214454c stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0xc] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17c] bl func_ov61_0214a214 mov r5, r0 mov r0, #0x10000 bl func_ov61_0213e6f4 add r1, r5, #0x100 strh r0, [r1, #0x7e] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x180] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x184] str r1, [r0, #0x188] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x18c] str r1, [r0, #0x190] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a4] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a9] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1aa] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ab] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ac] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a7] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a8] bl func_ov61_0214a214 mov r1, #0 add r0, r0, #0x100 strh r1, [r0, #0xb2] bl func_ov61_0214a214 mov r1, #0 add r0, r0, #0x100 strh r1, [r0, #0xb4] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1b8] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1e0] str r1, [r0, #0x1e4] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1f0] str r1, [r0, #0x1f4] bl func_ov61_0214a214 add r1, r0, #0x3cc mov r0, #0 mov r2, #0x98 bl func_020078f4 cmp r4, #2 bne _021446b8 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] strb r0, [r4, #0x14] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _0214469c mov r0, #1 bl func_ov61_0214a224 ldmia sp!, {r3, r4, r5, pc} _0214469c: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 ldmneia sp!, {r3, r4, r5, pc} mov r0, #0xa bl func_ov61_0214a224 ldmia sp!, {r3, r4, r5, pc} _021446b8: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0xd] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0xe] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x14] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0xe8] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a5] bl func_ov61_0214a214 mov r1, #0 add r0, r0, #0x100 strh r1, [r0, #0xb0] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1bc] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1c0] str r1, [r0, #0x1c4] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1c8] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1cc] str r1, [r0, #0x1d0] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1d4] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x204] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x208] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x2f0] bl func_ov61_0214a214 add r1, r0, #0x24 mov r0, #0 mov r2, #0x80 bl func_020078f4 bl func_ov61_0214a214 add r1, r0, #0xa4 mov r0, #0 mov r2, #0x40 bl func_020078c0 bl func_ov61_0214a214 add r1, r0, #0xf4 mov r0, #0 mov r2, #0x80 bl func_020078f4 bl func_ov61_0214a214 add r1, r0, #0x194 mov r0, #0 mov r2, #0xc bl func_020078f4 bl func_ov61_0214a214 add r1, r0, #0x210 mov r0, #0 mov r2, #0x80 bl func_020078f4 bl func_ov61_0214a214 add r1, r0, #0x290 mov r0, #0 mov r2, #0x40 bl func_020078c0 bl func_ov61_0214a214 add r0, r0, #0x2d0 mov r1, #0 mov r2, #0x20 bl func_02007a44 bl func_ov61_0214a214 add r1, r0, #0x348 mov r0, #0 mov r2, #0x84 bl func_020078f4 cmp r4, #1 bne _02144864 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02144848 mov r0, #3 bl func_ov61_0214a224 ldmia sp!, {r3, r4, r5, pc} _02144848: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 ldmneia sp!, {r3, r4, r5, pc} mov r0, #4 bl func_ov61_0214a224 ldmia sp!, {r3, r4, r5, pc} _02144864: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x15] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x16] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x18] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20c] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a6] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ae] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ad] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1f8] str r1, [r0, #0x1fc] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x46c] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x470] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214454c .global func_ov61_021448e4 arm_func_start func_ov61_021448e4 func_ov61_021448e4: ; 0x021448e4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r0, #0 mov r6, r1 mov r5, r2 mov r4, r3 bl func_ov61_0214454c bl func_ov61_0214a214 strb r7, [r0, #0x15] bl func_ov61_0214a214 strb r6, [r0, #0x16] bl func_ov61_0214a214 str r5, [r0, #0x464] bl func_ov61_0214a214 str r4, [r0, #0x468] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17d] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x2d0] mov r0, #0x32 ldr r1, _02144978 ; =data_ov61_0217a758 bl func_ov61_02179288 mov r0, #0x33 ldr r1, _0214497c ; =data_ov61_0217a760 bl func_ov61_02179288 mov r0, #0x34 ldr r1, _02144980 ; =data_ov61_0217a76c bl func_ov61_02179288 mov r0, #0x35 ldr r1, _02144984 ; =data_ov61_0217a778 bl func_ov61_02179288 mov r0, #0x36 ldr r1, _02144988 ; =data_ov61_0217a784 bl func_ov61_02179288 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021448e4 _02144978: .word data_ov61_0217a758 _0214497c: .word data_ov61_0217a760 _02144980: .word data_ov61_0217a76c _02144984: .word data_ov61_0217a778 _02144988: .word data_ov61_0217a784 .global func_ov61_0214498c arm_func_start func_ov61_0214498c func_ov61_0214498c: ; 0x0214498c stmdb sp!, {r3, lr} bl func_ov61_0214a214 cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0214a214 ldr r0, [r0, #0xe4] cmp r0, #0 beq _021449c4 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162ba0 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0xe4] _021449c4: bl func_ov61_02176dc0 mov r0, #0 bl func_ov61_0214a224 ldr r0, _02144a0c ; =data_ov61_0217ebe8 ldr r1, [r0, #0xc] cmp r1, #0 beq _021449f8 mov r0, #4 mov r2, #0 bl func_ov61_0213e068 ldr r0, _02144a0c ; =data_ov61_0217ebe8 mov r1, #0 str r1, [r0, #0xc] _021449f8: bl func_ov61_021487b8 bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x18] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214498c _02144a0c: .word data_ov61_0217ebe8 .global func_ov61_02144a10 arm_func_start func_ov61_02144a10 func_ov61_02144a10: ; 0x02144a10 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1b0 mov r7, #8 mov r6, #0xa mov r5, #0x32 mov r4, #0x33 mov r3, #0x34 mov r2, #0x35 mov r1, #0x36 strb r7, [sp, #0xc] strb r6, [sp, #0xd] strb r5, [sp, #0xe] strb r4, [sp, #0xf] strb r3, [sp, #0x10] strb r2, [sp, #0x11] strb r1, [sp, #0x12] mov r4, r0 mov r8, #7 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _02144a78 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02144aa4 _02144a78: ldr r2, _02144bf4 ; =data_ov61_0217ebf8 add r3, sp, #0x13 mov r1, #0 _02144a84: ldrb r0, [r2] add r1, r1, #1 add r2, r2, #0xc cmp r0, #0 strneb r0, [r3], #1 addne r8, r8, #1 cmp r1, #0x9a blt _02144a84 _02144aa4: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #5 addls pc, pc, r0, lsl #2 b _02144b5c _02144ab8: ; jump table b _02144b5c ; case 0 b _02144b5c ; case 1 b _02144b3c ; case 2 b _02144ad0 ; case 3 b _02144b3c ; case 4 b _02144b3c ; case 5 _02144ad0: bl func_ov61_0214a214 ldr r0, [r0, #0x208] cmp r0, #0 bne _02144b34 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldr r1, [r5, #0x200] ldrb r2, [r4, #0x16] ldrb r3, [r0, #0x15] add r0, sp, #0xad bl func_ov61_02144c0c ldr r0, _02144bf8 ; =data_ov61_0217ebe8 ldr r4, [r0, #0xc] cmp r4, #0 beq _02144b5c add r0, sp, #0xad ldr r2, _02144bfc ; =data_ov61_0217a790 mov r3, r0 mov r1, #0x100 str r4, [sp] bl func_0200c910 b _02144b5c _02144b34: bl func_ov61_0214a214 ldr r4, [r0, #0x208] _02144b3c: ldr r2, _02144c00 ; =data_ov61_0217a79c ldr r3, _02144c04 ; =data_ov61_0217a758 add r0, sp, #0xad mov r1, #0x100 str r4, [sp] bl func_0200c910 bl func_ov61_0214a214 str r4, [r0, #0x204] _02144b5c: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e28 mov sl, #0 add r7, sp, #0xad mov r6, #6 mov r5, #1 mov r4, sl add fp, sp, #0xc _02144b80: bl func_ov61_0214a214 str r8, [sp] str r7, [sp, #4] str r6, [sp, #8] ldr r0, [r0, #0xe4] mov r1, r5 mov r2, r4 mov r3, fp bl func_ov61_02162cf4 movs sb, r0 beq _02144bc0 cmp sb, #2 bne _02144bc0 add sl, sl, #1 cmp sl, #5 blt _02144b80 _02144bc0: cmp sb, #0 bne _02144be8 bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 ldr r2, _02144c08 ; =0x00efb5f7 adds r0, r0, r2 str r0, [r4, #0x174] adc r0, r1, #0 str r0, [r4, #0x178] _02144be8: mov r0, sb add sp, sp, #0x1b0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02144a10 _02144bf4: .word data_ov61_0217ebf8 _02144bf8: .word data_ov61_0217ebe8 _02144bfc: .word data_ov61_0217a790 _02144c00: .word data_ov61_0217a79c _02144c04: .word data_ov61_0217a758 _02144c08: .word 0x00efb5f7 .global func_ov61_02144c0c arm_func_start func_ov61_02144c0c func_ov61_02144c0c: ; 0x02144c0c stmdb sp!, {lr} sub sp, sp, #0x24 mov lr, #3 ldr ip, _02144c60 ; =data_ov61_0217a758 str lr, [sp] str ip, [sp, #4] str r1, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] ldr r2, _02144c64 ; =data_ov61_0217a760 ldr r1, _02144c68 ; =data_ov61_0217a76c str r2, [sp, #0x14] str r3, [sp, #0x18] str r1, [sp, #0x1c] ldr r2, _02144c6c ; =data_ov61_0217a7a4 ldr r3, _02144c70 ; =data_ov61_0217a778 mov r1, #0x100 str ip, [sp, #0x20] bl func_0200c910 add sp, sp, #0x24 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov61_02144c0c _02144c60: .word data_ov61_0217a758 _02144c64: .word data_ov61_0217a760 _02144c68: .word data_ov61_0217a76c _02144c6c: .word data_ov61_0217a7a4 _02144c70: .word data_ov61_0217a778 .global func_ov61_02144c74 arm_func_start func_ov61_02144c74 func_ov61_02144c74: ; 0x02144c74 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov r4, r0 mov r8, r1 mov r7, r2 bl func_ov61_0214a214 cmp r4, #0 ldrb r4, [r0, #0x14] mov r6, #0 bne _02144eb8 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 add r0, r0, #0x100 ldrh r2, [r0, #0x7e] ldr r1, [r5, #0x200] mov r0, r7 mov r1, r1, lsl #0x10 mov r2, r2, lsl #0x10 orr r8, r2, r1, lsr #16 bl func_ov61_02162368 cmp r0, #0 beq _02144d30 mov r0, r7 bl func_ov61_02162334 mov r5, r0 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162ea4 cmp r5, r0 movne r5, #1 bne _02144db8 bl func_ov61_0214a214 mov r5, r0 mov r0, r7 bl func_ov61_02162380 add r1, r5, r4, lsl #2 str r0, [r1, #0x210] bl func_ov61_0214a214 mov r5, r0 mov r0, r7 bl func_ov61_02162388 add r1, r5, r4, lsl #1 add r1, r1, #0x200 strh r0, [r1, #0x90] mov r5, r6 b _02144db8 _02144d30: bl func_ov61_02159200 mov r0, r0, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, r2, lsl #0x10 ldr r1, _02144f5c ; =0x0000a8c0 mov r0, r0, lsr #0x10 cmp r0, r1 beq _02144d78 and r1, r2, #0xff cmp r1, #0xac bne _02144d70 and r0, r2, #0xff00 cmp r0, #0x1000 blo _02144d70 cmp r0, #0x1f00 bls _02144d78 _02144d70: cmp r1, #0x10 bne _02144d80 _02144d78: mov r5, #1 b _02144db8 _02144d80: bl func_ov61_0214a214 mov r5, r0 mov r0, r7 bl func_ov61_02162334 add r1, r5, r4, lsl #2 str r0, [r1, #0x210] bl func_ov61_0214a214 mov r5, r0 mov r0, r7 bl func_ov61_0216233c add r1, r5, r4, lsl #1 add r1, r1, #0x200 strh r0, [r1, #0x90] mov r5, #0 _02144db8: cmp r5, #0 beq _02144de4 bl func_ov61_0214a214 mov r4, r0 mov r0, #0x10000 bl func_ov61_0213e6f4 add r1, r4, #0x100 strh r0, [r1, #0x7e] bl func_ov61_0214a214 str r8, [r0, #0x19c] b _02144e70 _02144de4: bl func_ov61_02159200 str r0, [sp, #8] bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744fc str r0, [sp, #0xc] bl func_ov61_0214a214 mov sb, r0 mov r0, r7 bl func_ov61_02162334 mov r8, r0 mov r0, r7 bl func_ov61_0216233c add r1, sb, r4, lsl #2 add r4, sp, #8 mov r3, r0 mov r0, #2 str r4, [sp] str r0, [sp, #4] ldr r1, [r1, #0xf4] mov r2, r8 mov r0, #6 bl func_ov61_0214501c mov r4, r0 bl func_ov61_0214a214 mov r1, #0 cmp r4, #0 strb r1, [r0, #0x3cd] addne sp, sp, #0x10 movne r0, #2 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x19c] _02144e70: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x194] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x195] bl func_ov61_0214a214 mov r4, r0 mov r0, r7 bl func_ov61_0216233c add r1, r4, #0x100 strh r0, [r1, #0x96] bl func_ov61_0214a214 mov r4, r0 mov r0, r7 bl func_ov61_02162334 str r0, [r4, #0x198] b _02144ef8 _02144eb8: bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x194] bl func_ov61_0214a214 mov r1, r6 strb r1, [r0, #0x195] bl func_ov61_0214a214 add r0, r0, #0x100 mov r1, r6 strh r1, [r0, #0x96] bl func_ov61_0214a214 mov r1, r6 str r1, [r0, #0x198] bl func_ov61_0214a214 str r8, [r0, #0x19c] mov r5, #1 _02144ef8: cmp r5, #0 beq _02144f14 bl func_ov61_0214a214 add r0, r0, #0x194 bl func_ov61_02144f60 mov r6, r0 b _02144f50 _02144f14: bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_02174514 mov r4, r0 bl func_ov61_0214a214 add r3, r0, #0x194 mov r0, #0 mov r1, r4 mov r2, r0 bl func_ov61_02149dbc bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x18c] str r1, [r0, #0x190] _02144f50: mov r0, r6 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02144c74 _02144f5c: .word 0x0000a8c0 .global func_ov61_02144f60 arm_func_start func_ov61_02144f60 func_ov61_02144f60: ; 0x02144f60 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r7, r0 ldrb r0, [r7] cmp r0, #0 bne _02144fb8 bl func_ov61_0214a214 mov r4, r0 mov r1, #0 ldr r0, [r7, #4] mov r2, r1 bl func_ov61_021769a4 mov r1, r0 ldrh r2, [r7, #2] ldr r0, [r4, #0xe4] ldr r3, [r7, #8] bl func_ov61_02162d80 bl func_ov61_02148fcc cmp r0, #0 addne sp, sp, #8 movne r0, #2 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _02144fb8: ldr r5, _02145014 ; =func_ov61_02149dbc ldr r4, _02145018 ; =func_ov61_02149db8 mov r6, #0 _02144fc4: bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_02174514 stmia sp, {r5, r7} ldrb r2, [r7] ldr r1, [r7, #8] mov r3, r4 bl func_ov61_02177354 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r0, #3 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r6, r6, #1 cmp r6, #5 blt _02144fc4 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02144f60 _02145014: .word func_ov61_02149dbc _02145018: .word func_ov61_02149db8 .global func_ov61_0214501c arm_func_start func_ov61_0214501c func_ov61_0214501c: ; 0x0214501c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x220 str r3, [sp, #0xc] mov sl, r0 str r1, [sp, #4] str r2, [sp, #8] ldr sb, [sp, #0x248] ldr r8, [sp, #0x24c] mov r6, #0 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _02145078 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 beq _02145070 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a6] cmp r0, #0 beq _02145098 _02145070: cmp sl, #6 bne _02145098 _02145078: ldr r2, [sp, #0xc] ldr r1, [sp, #8] mov r0, sl mov r3, sb str r8, [sp] bl func_ov61_021451d0 mov r4, r0 b _02145130 _02145098: cmp sb, #0 cmpne r8, #0 beq _02145108 ldr r3, [sb] ldr r2, _021451c8 ; =data_ov61_0217a708 add r0, sp, #0x20 mov r1, #0x200 bl func_0200c910 mov r6, r0 cmp r8, #1 mov r7, #1 ble _02145108 add r5, sp, #0x10 add fp, sp, #0x20 _021450d0: ldr r3, [sb, r7, lsl #2] ldr r2, _021451cc ; =data_ov61_0217a7fc mov r0, r5 mov r1, #0x10 bl func_0200c910 mov r4, r0 mov r0, r5 add r1, fp, r6 mov r2, r4 bl func_02007ad8 add r7, r7, #1 add r6, r6, r4 cmp r7, r8 blt _021450d0 _02145108: add r0, sp, #0x20 mov r1, #0 strb r1, [r0, r6] bl func_ov61_0214a214 ldr r0, [r0] ldr r2, [sp, #4] add r3, sp, #0x20 mov r1, sl bl func_ov61_021452e0 mov r4, r0 _02145130: cmp sl, #2 cmpne sl, #6 beq _0214514c add r0, sl, #0xf8 and r0, r0, #0xff cmp r0, #1 bhi _021451bc _0214514c: bl func_ov61_0214a214 strb sl, [r0, #0x3cc] bl func_ov61_0214a214 add r1, r0, #0x300 ldr r0, [sp, #0xc] strh r0, [r1, #0xce] bl func_ov61_0214a214 ldr r1, [sp, #8] str r1, [r0, #0x3d0] bl func_ov61_0214a214 ldr r1, [sp, #4] str r1, [r0, #0x454] bl func_ov61_0214a214 str r8, [r0, #0x458] bl func_ov61_0214a214 mov r5, r0 bl func_0200e8f8 str r0, [r5, #0x45c] cmp sb, #0 str r1, [r5, #0x460] cmpne r8, #0 beq _021451bc bl func_ov61_0214a214 mov r1, r0 mov r0, sb add r1, r1, #0x3d4 mov r2, r8, lsl #0x2 bl func_02007908 _021451bc: mov r0, r4 add sp, sp, #0x220 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0214501c _021451c8: .word data_ov61_0217a708 _021451cc: .word data_ov61_0217a7fc .global func_ov61_021451d0 arm_func_start func_ov61_021451d0 func_ov61_021451d0: ; 0x021451d0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x98 ldr r5, [sp, #0xb8] cmp r3, #0 cmpne r5, #0 mov r4, r0 mov r8, r1 mov r7, r2 moveq r5, #0 beq _02145208 add r1, sp, #0x18 mov r0, r3 mov r2, r5, lsl #0x2 bl func_02007908 _02145208: ldr r2, _021452dc ; =data_ov61_0217a800 mov r0, r5, lsl #0x2 ldrb r1, [r2, #4] ldrb r6, [r2] add sb, sp, #4 ldrb r5, [r2, #1] ldrb r3, [r2, #2] ldrb r2, [r2, #3] strb r1, [sb, #4] mov r1, #3 strb r6, [sb] strb r5, [sb, #1] strb r3, [sb, #2] strb r2, [sb, #3] str r1, [sp, #8] strb r4, [sp, #0xc] strb r0, [sp, #0xd] bl func_ov61_0214a214 ldrh r0, [r0, #0x1a] strh r0, [sp, #0xe] bl func_ov61_0214a214 ldr r0, [r0, #0x1c] str r0, [sp, #0x10] bl func_ov61_0214a214 ldr r0, [r0, #0x200] mov r6, #0 str r0, [sp, #0x14] mov r4, r6 _02145278: bl func_ov61_0214a214 mov r5, r0 mov r0, r8 mov r1, r4 mov r2, r4 bl func_ov61_021769a4 mov r1, r0 ldrb r0, [sp, #0xd] mov r2, r7 mov r3, sb add r0, r0, #0x14 str r0, [sp] ldr r0, [r5, #0xe4] bl func_ov61_02162d28 cmp r0, #0 addeq sp, sp, #0x98 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r0, #2 addne sp, sp, #0x98 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r6, r6, #1 cmp r6, #5 blt _02145278 add sp, sp, #0x98 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_021451d0 _021452dc: .word data_ov61_0217a800 .global func_ov61_021452e0 arm_func_start func_ov61_021452e0 func_ov61_021452e0: ; 0x021452e0 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x208 mov r7, r0 mov r5, r2 mov r4, r3 mov r0, #3 mov r6, r1 str r0, [sp] ldr ip, _02145378 ; =data_ov61_0217a818 ldr r2, _0214537c ; =data_ov61_0217a808 ldr r3, _02145380 ; =data_ov61_0217a810 add r0, sp, #8 mov r1, #0x200 str ip, [sp, #4] bl func_0200c910 add r1, sp, #8 add r2, sp, #9 strb r6, [r1, r0] mov r1, #0 strb r1, [r2, r0] cmp r4, #0 add r8, r2, r0 beq _02145360 mov r0, r4 bl func_02047008 mov r6, r0 mov r0, r4 mov r1, r8 mov r2, r6 bl func_02007ad8 mov r0, #0 strb r0, [r8, r6] _02145360: add r2, sp, #8 mov r0, r7 mov r1, r5 bl func_ov61_02167b00 add sp, sp, #0x208 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021452e0 _02145378: .word data_ov61_0217a818 _0214537c: .word data_ov61_0217a808 _02145380: .word data_ov61_0217a810 .global func_ov61_02145384 arm_func_start func_ov61_02145384 func_ov61_02145384: ; 0x02145384 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r1 mov r4, r0 mov r8, r2 mov r0, sb mov r1, #0 bl func_020472b4 mov r6, r0 cmp r8, #0 mov r7, #0 ble _021453dc mov r5, #0x2f _021453b4: mov r0, sb mov r1, r5 bl func_020472b4 cmp r0, #0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r7, r7, #1 cmp r7, r8 add sb, r0, #1 blt _021453b4 _021453dc: mov r0, sb mov r1, #0x2f bl func_020472b4 cmp r0, #0 moveq r0, r6 cmp sb, r0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} sub r5, r0, sb mov r0, sb mov r1, r4 mov r2, r5 bl func_02007ad8 mov r1, #0 mov r0, r5 strb r1, [r4, r5] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02145384 .global func_ov61_02145420 arm_func_start func_ov61_02145420 func_ov61_02145420: ; 0x02145420 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x118 mov sb, r0 mov r8, r1 mov r7, r2 mov sl, r3 ldr r6, [sp, #0x138] ldr r5, [sp, #0x13c] mov r4, #0 bl func_ov61_0214a214 cmp r0, #0 beq _02145460 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0 bne _0214546c _02145460: add sp, sp, #0x118 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214546c: bl func_ov61_0213f4e4 cmp r0, #5 bne _0214549c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 bne _0214549c bl func_ov61_0214a214 ldr r0, [r0, #0xf4] cmp r8, r0 bne _0214549c bl func_ov61_02148a94 _0214549c: cmp sb, #0x40 bgt _02145538 bge _0214627c cmp sb, #0x20 addls pc, pc, sb, lsl #2 b _021462f0 _021454b4: ; jump table b _021462f0 ; case 0 b _02145540 ; case 1 b _02145710 ; case 2 b _021458e4 ; case 3 b _02145944 ; case 4 b _02145a64 ; case 5 b _02145ae0 ; case 6 b _02145bf0 ; case 7 b _02145d08 ; case 8 b _02145e88 ; case 9 b _02145edc ; case 10 b _02145540 ; case 11 b _02145f84 ; case 12 b _02145ff8 ; case 13 b _02145ff8 ; case 14 b _02145ff8 ; case 15 b _0214601c ; case 16 b _0214606c ; case 17 b _0214610c ; case 18 b _02146168 ; case 19 b _021462f0 ; case 20 b _021462f0 ; case 21 b _021462f0 ; case 22 b _021462f0 ; case 23 b _021462f0 ; case 24 b _021462f0 ; case 25 b _021462f0 ; case 26 b _021462f0 ; case 27 b _021462f0 ; case 28 b _021462f0 ; case 29 b _021462f0 ; case 30 b _021462f0 ; case 31 b _02146180 ; case 32 _02145538: cmp sb, #0x41 b _021462f0 _02145540: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _02145560 ldr r0, [r6, #8] ldr r7, [r6, #4] mov r0, r0, lsl #0x10 mov sl, r0, lsr #0x10 _02145560: cmp sb, #0xb moveq r0, #1 movne r0, #0 str r0, [sp] ldr r3, [r6] mov r0, r8 mov r1, r7 mov r2, sl bl func_ov61_02146304 mov r5, r0 cmp r5, #2 bne _02145684 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1dc] mov r0, r8 mov r1, r7 mov r2, sl bl func_ov61_02146600 bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0x118 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 bne _02145608 bl func_ov61_0214a214 ldr r0, [r0, #0x46c] cmp r0, #0 beq _02145608 bl func_ov61_0214a214 mov r6, r0 mov r0, r8 bl func_ov61_021411b0 mov r4, r0 bl func_ov61_0214a214 ldr r1, [r0, #0x470] ldr r2, [r6, #0x46c] mov r0, r4 blx r2 _02145608: bl func_ov61_0214a214 ldrb r0, [r0, #0x14] mov r4, #1 str r0, [sp, #0x14] bl func_ov61_0214a214 ldrb r0, [r0, #0x14] cmp r0, #1 blt _02145650 add r6, sp, #0x14 _0214562c: bl func_ov61_0214a214 add r0, r0, r4, lsl #2 ldr r0, [r0, #0xf4] str r0, [r6, r4, lsl #2] add r4, r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] cmp r4, r0 ble _0214562c _02145650: bl func_ov61_0214a214 ldr r1, [r0, #0x1c] add r0, sp, #0x14 str r1, [r0, r4, lsl #2] bl func_ov61_0214a214 ldrh r2, [r0, #0x1a] add r3, r4, #1 add r1, sp, #0x14 mov r0, #0xb str r2, [r1, r3, lsl #2] add r4, r4, #2 bl func_ov61_0214a224 b _021456d0 _02145684: cmp r5, #3 bne _021456d0 bl func_ov61_0214a214 ldrb r0, [r0, #0x16] cmp r0, #0 beq _021456d0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r1, [r6, #0x14] ldrb r0, [r0, #0x16] cmp r1, r0 bne _021456d0 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 moveq r0, #0x10 streq r0, [sp, #0x14] moveq r4, #1 _021456d0: cmp r5, #0xff beq _021462f0 add r1, sp, #0x14 str r1, [sp] mov r0, r5 mov r1, r8 mov r2, r7 mov r3, sl str r4, [sp, #4] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 beq _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145710: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #4 bne _021462f0 bl func_ov61_0214a214 ldr r0, [r0, #0x204] cmp r8, r0 bne _021462f0 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x208] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a7] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1c8] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1bc] bl func_ov61_0214a214 ldr r1, [r6] add r1, r6, r1, lsl #2 ldr r1, [r1, #4] str r1, [r0, #0x24] bl func_ov61_0214a214 ldr r1, [r6] add r1, r6, r1, lsl #2 ldr r1, [r1, #8] strh r1, [r0, #0xa4] bl func_ov61_0214a214 ldr r1, [r6] add r1, r6, r1, lsl #2 ldr r1, [r1, #4] str r1, [r0, #0x1b8] bl func_ov61_0214a214 ldr r1, [r6] add r0, r0, #0x100 add r1, r6, r1, lsl #2 ldr r1, [r1, #8] strh r1, [r0, #0xb4] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02145838 ldr r1, [r6] add r0, r6, #4 bl func_ov61_02147800 cmp r0, #0 beq _021457f8 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _02145838 mov r0, r8 mov r1, r6 bl func_ov61_021467c0 b _02145838 _021457f8: mov r0, r8 bl func_ov61_02146d8c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0x118 mov r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} mov r1, r0 mov r2, r8 bl func_ov61_021469ec bl func_ov61_02146810 cmp r0, #0 beq _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145838: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _021458bc bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _0214587c mov r0, r8 mov r1, r6 bl func_ov61_021467c0 bl func_ov61_021470bc bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0x118 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214587c: mov r0, #6 bl func_ov61_0214a224 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] mov r1, #0 bl func_ov61_02162e74 mov r2, r0 mov r0, #0 mov r1, r0 bl func_ov61_02144c74 bl func_ov61_02149148 cmp r0, #0 beq _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _021458bc: mov r0, #5 bl func_ov61_0214a224 mov r0, r8 bl func_ov61_02144a10 bl func_ov61_02148fcc cmp r0, #0 beq _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _021458e4: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #4 bne _021462f0 bl func_ov61_0214a214 ldr r0, [r0, #0x204] cmp r8, r0 bne _021462f0 cmp r5, #0 ble _02145930 ldr r0, [r6] cmp r0, #0x10 bne _02145930 mov r0, #0xd mov r1, #0 bl func_ov61_02143c14 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145930: bl func_ov61_0214a214 ldr r0, [r0, #0x204] bl func_ov61_02146cb4 add sp, sp, #0x118 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145944: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #4 bne _021462f0 bl func_ov61_0214a214 ldr r0, [r0, #0x204] cmp r8, r0 bne _021462f0 bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1cc] str r1, [r4, #0x1d0] bl func_ov61_0214a214 ldr r0, [r0, #0x208] cmp r0, #0 beq _02145998 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a7] cmp r0, #0x10 blo _021459a8 _02145998: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _021459ec _021459a8: bl func_ov61_0214a214 mov r1, #1 str r1, [r0, #0x1bc] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1c0] str r1, [r4, #0x1c4] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 beq _021462f0 bl func_ov61_0214a214 ldrb r1, [r0, #0x1a7] add r1, r1, #1 strb r1, [r0, #0x1a7] b _021462f0 _021459ec: bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x208] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a7] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02145a40 mov r0, #3 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, #1 str r1, [r0, #0xe8] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0xec] str r1, [r4, #0xf0] b _021462f0 _02145a40: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _021462f0 mov r1, #0 mov r2, r1 mov r0, #1 bl func_ov61_021469ec b _021462f0 _02145a64: bl func_ov61_0214a214 ldrb r0, [r0, #0x17] cmp r0, #0 beq _021462f0 bl func_ov61_0214a214 ldr r0, [r0, #0x20] cmp r8, r0 bne _021462f0 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 bne _02145ac4 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 bne _02145ac4 bl func_ov61_0214a214 ldr r0, [r0, #0xf8] cmp r8, r0 bne _02145ac4 bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744b8 _02145ac4: mov r0, r8 bl func_ov61_02146de0 cmp r0, #0 bne _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145ae0: ldr r0, [r6, #4] ldr r5, [r6] mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 bne _02145b0c mov r0, #6 bl func_ov61_0214a224 b _02145b3c _02145b0c: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #6 beq _02145b2c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb bne _021462f0 _02145b2c: bl func_ov61_0214a214 ldr r0, [r0, #0x20] cmp r8, r0 bne _021462f0 _02145b3c: bl func_ov61_0214a214 mov r1, #0xff strb r1, [r0, #0x3cc] bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r0, #1 add r0, r6, r0, lsl #2 ldr r0, [r0, #0xf4] cmp r8, r0 beq _02145b88 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r0, #1 add r0, r6, r0, lsl #2 str r8, [r0, #0xf4] _02145b88: mov r1, r4, asr #0x8 mov r0, r4, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 str r5, [sp, #0xc] strh r0, [sp, #0xa] bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x194] bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_02174514 mov r4, r0 bl func_ov61_0214a214 add r3, r0, #0x194 mov r1, r4 mov r0, #0 add r2, sp, #8 bl func_ov61_02149dbc bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x18c] str r1, [r0, #0x190] b _021462f0 _02145bf0: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 bne _021462f0 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] cmp r8, r0 bne _021462f0 ldr r0, [r6] str r0, [sp, #0x10] ldr r0, [r6, #4] and r4, r0, #0xff bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02145c84 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a6] cmp r0, #0 bne _02145c84 ldr r0, [sp, #0x10] bl func_ov61_02148880 str r0, [sp, #0x14] add r0, sp, #0x14 str r0, [sp] mov r5, #1 mov r1, r8 mov r2, r7 mov r3, sl mov r0, #0x20 str r5, [sp, #4] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0x118 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145c84: bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] ldr r1, [sp, #0x10] add r0, r0, #1 add r0, r5, r0, lsl #2 str r1, [r0, #0xf4] bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] add r0, r0, #1 add r0, r5, r0 strb r4, [r0, #0x2d0] bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c bl func_ov61_0214a214 ldr r0, [r0, #0x46c] cmp r0, #0 beq _021462f0 bl func_ov61_0214a214 mov r5, r0 ldr r0, [sp, #0x10] bl func_ov61_021411b0 mov r4, r0 bl func_ov61_0214a214 ldr r1, [r0, #0x470] ldr r2, [r5, #0x46c] mov r0, r4 blx r2 b _021462f0 _02145d08: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 bne _021462f0 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] cmp r8, r0 bne _021462f0 ldr r0, [r6] str r0, [sp, #0x10] cmp r0, #0 bne _02145d70 ldr r5, [r6, #4] ldr r4, [r6, #8] bl func_ov61_0214a214 add r0, r5, r0 strb r4, [r0, #0x2d0] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldr r2, [r0, #0x200] add r1, r4, r5, lsl #2 mov r0, #3 str r2, [r1, #0xf4] bl func_ov61_021471a0 b _021462f0 _02145d70: ldr r0, [r6, #8] ldr r5, [r6, #4] and r4, r0, #0xff bl func_ov61_0214a214 add r0, r0, r5, lsl #2 ldr r1, [sp, #0x10] ldr r0, [r0, #0xf4] cmp r1, r0 bne _02145df0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] sub r0, r0, #1 cmp r5, r0 bne _02145df0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 add r1, sp, #0x10 str r1, [sp] mov r1, #1 str r1, [sp, #4] ldrh r3, [r0, #0xa4] ldr r2, [r4, #0x24] mov r1, r8 mov r0, #9 bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 beq _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145df0: bl func_ov61_0214a214 ldr r1, [sp, #0x10] add r0, r0, r5, lsl #2 str r1, [r0, #0xf4] bl func_ov61_0214a214 add r0, r5, r0 strb r4, [r0, #0x2d0] bl func_ov61_0214a214 ldr r1, [r6, #0xc] add r0, r0, r5, lsl #2 str r1, [r0, #0x24] bl func_ov61_0214a214 ldr r1, [r6, #0x10] add r0, r0, r5, lsl #1 strh r1, [r0, #0xa4] bl func_ov61_0214a214 ldr r1, [r6, #0xc] str r1, [r0, #0x1b8] bl func_ov61_0214a214 add r1, r0, #0x100 ldr r2, [r6, #0x10] mov r0, #5 strh r2, [r1, #0xb4] bl func_ov61_0214a224 ldr r0, [sp, #0x10] bl func_ov61_02144a10 bl func_ov61_02148fcc cmp r0, #0 addne sp, sp, #0x118 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1c8] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1bc] b _021462f0 _02145e88: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xd bne _021462f0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a4] ldr r1, [r6] add r0, r0, #1 add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] cmp r1, r0 bne _021462f0 bl func_ov61_0214a214 ldrb r1, [r0, #0x1a4] add r1, r1, #1 strb r1, [r0, #0x1a4] mov r0, #0 bl func_ov61_021471a0 b _021462f0 _02145edc: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 beq _02145efc bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0x12 bne _021462f0 _02145efc: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _02145f20 ldr r1, [r6] add r0, r6, #4 bl func_ov61_02147800 cmp r0, #0 beq _02145f3c _02145f20: bl func_ov61_0214a214 ldr r1, [r6, #4] str r1, [r0, #0x208] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a7] b _02145f48 _02145f3c: bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x208] _02145f48: bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _02145f6c bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744b8 b _021462f0 _02145f6c: bl func_ov61_02147cd8 cmp r0, #0 beq _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145f84: bl func_ov61_0214a214 ldr r0, [r0, #0xf4] cmp r8, r0 bne _021462f0 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _02145fb4 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02145fd0 _02145fb4: mov r0, r8 bl func_ov61_02146ffc cmp r0, #0 bne _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02145fd0: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _021462f0 bl func_ov61_0214a214 str r8, [r0, #0x20c] bl func_ov61_02147e08 mov r0, #0 bl func_ov61_02147ba4 b _021462f0 _02145ff8: ldr r2, [r6] mov r0, r8 mov r1, sb bl func_ov61_02148354 cmp r0, #0 bne _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214601c: bl func_ov61_0214a214 ldr r0, [r0, #0xf4] cmp r8, r0 addne sp, sp, #0x118 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} cmp r5, #0 mov r7, #0 ble _021462f0 mov r4, r7 _02146044: ldr r0, [r6, r7, lsl #2] mov r1, r4 bl func_ov61_021489cc cmp r0, #0xff beq _0214605c bl func_ov61_0213f35c _0214605c: add r7, r7, #1 cmp r7, r5 blt _02146044 b _021462f0 _0214606c: ldr r0, _021462fc ; =data_ov61_0217ebe8 ldr r4, [r0] cmp r4, #0 ldrneb r0, [r4] cmpne r0, #0 beq _021460c8 bl func_0200e8f8 ldr r3, [r4, #0x10] ldr r2, [r4, #0x14] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _02146300 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, [r4, #4] cmp r1, #0 cmpeq r0, r2 movhs r0, #1 strhs r0, [sp, #0x14] bhs _021460d0 _021460c8: mov r0, #0 str r0, [sp, #0x14] _021460d0: add r0, sp, #0x14 str r0, [sp] mov r4, #1 mov r1, r8 mov r2, r7 mov r3, sl mov r0, #0x12 str r4, [sp, #4] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 beq _021462f0 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214610c: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0x13 bne _021462f0 mov r0, r8 mov r1, #0 bl func_ov61_021489cc cmp r0, #0xff beq _021462f0 ldr r1, _021462fc ; =data_ov61_0217ebe8 mov r4, #1 ldr r3, [r1] ldr r2, [r3, #8] orr r2, r2, r4, lsl r0 str r2, [r3, #8] ldr r2, [r6] cmp r2, #0 beq _021462f0 ldr r2, [r1] ldr r1, [r2, #0xc] orr r0, r1, r4, lsl r0 str r0, [r2, #0xc] b _021462f0 _02146168: mov r0, #0xc mov r1, #0 bl func_ov61_02143c14 add sp, sp, #0x118 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02146180: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _021462f0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a6] cmp r0, #0 bne _021462f0 mov r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _021462f0 _021461b4: bl func_ov61_0214a214 add r0, r0, r4, lsl #2 ldr r0, [r0, #0xf4] cmp r8, r0 bne _02146264 ldr r0, [r6] cmp r0, #0 bne _0214623c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb beq _021461f4 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xc bne _0214620c _021461f4: bl func_ov61_02147ad0 bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0x118 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214620c: bl func_ov61_0214a214 ldr r0, [r0, #0x19c] cmp r0, #0 beq _02146234 bl func_ov61_0214a214 ldr r0, [r0, #0x19c] bl func_ov61_0217741c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x19c] _02146234: bl func_ov61_02147ca4 b _021462f0 _0214623c: bl func_ov61_0214a214 mov r4, r0 mov r0, r8 mov r1, #0 bl func_ov61_021489cc ldr r2, [r4, #0x1dc] mov r1, #1 orr r0, r2, r1, lsl r0 str r0, [r4, #0x1dc] b _021462f0 _02146264: add r4, r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r4, r0 ble _021461b4 b _021462f0 _0214627c: mov r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _021462f0 _02146290: bl func_ov61_0214a214 add r0, r0, r4, lsl #2 ldr r0, [r0, #0xf4] cmp r8, r0 bne _021462dc mov r4, #0 str r4, [sp] mov r1, r8 mov r2, r7 mov r3, sl mov r0, #0x41 str r4, [sp, #4] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 beq _021462f0 add sp, sp, #0x118 mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _021462dc: add r4, r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r4, r0 ble _02146290 _021462f0: mov r0, #1 add sp, sp, #0x118 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02145420 _021462fc: .word data_ov61_0217ebe8 _02146300: .word 0x000082ea .global func_ov61_02146304 arm_func_start func_ov61_02146304 func_ov61_02146304: ; 0x02146304 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r0 mov r6, r1 mov r5, r2 mov r8, r3 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _0214636c cmp r0, #1 beq _0214633c cmp r0, #2 beq _02146548 b _021465f4 _0214633c: bl func_ov61_0214a214 ldr r0, [r0] mov r1, r7 bl func_ov61_02167830 cmp r0, #0 moveq r4, #0xff beq _021465f4 mov r0, r7 bl func_ov61_02148880 cmp r0, #0 moveq r4, #3 beq _021465f4 _0214636c: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r8, r0 bne _021463d4 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a9] cmp r0, #0 bne _021463d4 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r1, [r4, #0x14] ldrb r0, [r0, #0x16] cmp r1, r0 beq _021463d4 bl func_ov61_0214a214 ldrb r0, [r0, #0x17] cmp r0, #0 beq _02146438 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldr r1, [r4, #0x20] ldr r0, [r0, #0x200] cmp r1, r0 bne _02146438 _021463d4: mov r4, #3 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _021465f4 bl func_ov61_0214a214 ldr r0, [r0, #0x10] ldr r0, [r0, #0xb4] cmp r0, #0 bne _021465f4 bl func_ov61_0214a214 ldrb r0, [r0, #0x17] cmp r0, #0 beq _021465f4 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldr r1, [r5, #0x20] ldr r0, [r0, #0x200] cmp r1, r0 bne _021465f4 bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c b _021465f4 _02146438: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #3 beq _02146458 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #4 bne _02146484 _02146458: bl func_ov61_0214a214 ldr r0, [r0, #0x1c] cmp r0, #0 bne _02146478 bl func_ov61_0214a214 ldrh r0, [r0, #0x1a] cmp r0, #0 beq _02146484 _02146478: cmp r6, #0 cmpeq r5, #0 bne _0214648c _02146484: mov r4, #4 b _021465f4 _0214648c: bl func_ov61_0214a214 ldr r0, [r0, #0x204] cmp r0, #0 beq _02146540 bl func_ov61_0214a214 ldr r0, [r0, #0x204] cmp r7, r0 bne _021464e8 ldr r0, [sp, #0x18] cmp r0, #0 bne _021464d8 bl func_ov61_0214a214 ldr r0, [r0, #0x200] cmp r0, r7 bge _021464e0 bl func_ov61_0214a214 ldr r0, [r0, #0x208] cmp r7, r0 beq _021464e0 _021464d8: mov r4, #2 b _021465f4 _021464e0: mov r4, #0xff b _021465f4 _021464e8: ldr r0, [sp, #0x18] cmp r0, #0 bne _02146514 bl func_ov61_0214a214 ldr r0, [r0, #0x200] cmp r0, r7 bge _02146538 bl func_ov61_0214a214 ldr r0, [r0, #0x208] cmp r0, #0 bne _02146538 _02146514: bl func_ov61_0214a214 ldr r0, [r0, #0x204] bl func_ov61_02146d8c bl func_ov61_02146810 cmp r0, #0 movne r0, #0xff ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r4, #2 b _021465f4 _02146538: mov r4, #3 b _021465f4 _02146540: mov r4, #2 b _021465f4 _02146548: bl func_ov61_0214a214 ldr r0, [r0] mov r1, r7 bl func_ov61_02167830 cmp r0, #0 moveq r4, #0xff beq _021465f4 cmp r8, #3 bne _02146588 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r1, [r4, #0x14] ldrb r0, [r0, #0x16] cmp r1, r0 bne _02146590 _02146588: mov r4, #3 b _021465f4 _02146590: ldr r0, _021465fc ; =data_ov61_0217ebe8 ldrb r1, [r0, #8] cmp r1, #1 ldreqb r0, [r0, #9] cmpeq r0, #1 moveq r4, #0x13 beq _021465f4 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xa bne _021465e8 bl func_ov61_0214a214 ldr r0, [r0, #0x1c] cmp r0, #0 bne _021465dc bl func_ov61_0214a214 ldrh r0, [r0, #0x1a] cmp r0, #0 beq _021465e8 _021465dc: cmp r6, #0 cmpeq r5, #0 bne _021465f0 _021465e8: mov r4, #4 b _021465f4 _021465f0: mov r4, #2 _021465f4: mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02146304 _021465fc: .word data_ov61_0217ebe8 .global func_ov61_02146600 arm_func_start func_ov61_02146600 func_ov61_02146600: ; 0x02146600 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov61_0214a214 ldrb r0, [r0, #0x17] cmp r0, #0 beq _0214663c bl func_ov61_0214a214 ldr r0, [r0, #0x20] cmp r6, r0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0214663c: bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x17] bl func_ov61_0214a214 str r6, [r0, #0x20] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1bc] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1c8] bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x204] bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] add r0, r0, #1 add r0, r7, r0, lsl #2 str r6, [r0, #0xf4] bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] add r0, r0, #1 add r0, r7, r0, lsl #2 str r5, [r0, #0x24] bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] add r0, r0, #1 add r0, r7, r0, lsl #1 strh r4, [r0, #0xa4] bl func_ov61_0214a214 str r5, [r0, #0x1b8] bl func_ov61_0214a214 add r0, r0, #0x100 strh r4, [r0, #0xb4] bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_02148810 ldrb r1, [r4, #0x14] add r1, r1, #1 add r1, r5, r1 strb r0, [r1, #0x2d0] str r6, [sp, #8] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] mov r7, #1 add r0, r0, #1 add r0, r4, r0 ldrb r0, [r0, #0x2d0] str r0, [sp, #0xc] bl func_ov61_0214a214 ldrb r0, [r0, #0x14] cmp r0, #1 blt _021467ac add r6, sp, #8 mov r5, #2 mov r4, #7 _02146750: bl func_ov61_0214a214 mov sb, r0 bl func_ov61_0214a214 mov r8, r0 bl func_ov61_0214a214 str r6, [sp] str r5, [sp, #4] add r0, r0, r7, lsl #1 add r1, sb, r7, lsl #2 add r2, r8, r7, lsl #2 ldrh r3, [r0, #0xa4] ldr r1, [r1, #0xf4] ldr r2, [r2, #0x24] mov r0, r4 bl func_ov61_0214501c cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r7, r7, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] cmp r7, r0 ble _02146750 _021467ac: mov r0, #1 bl func_ov61_02148abc mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02146600 .global func_ov61_021467c0 arm_func_start func_ov61_021467c0 func_ov61_021467c0: ; 0x021467c0 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 ldr r1, [r5] mov r6, r0 add r4, r1, #2 cmp r4, #2 bls _021467f8 bl func_ov61_0214a214 mov r1, r0 sub r2, r4, #2 add r0, r5, #4 add r1, r1, #0x350 mov r2, r2, lsl #0x2 bl func_02007908 _021467f8: bl func_ov61_0214a214 sub r1, r4, #1 str r1, [r0, #0x348] bl func_ov61_0214a214 str r6, [r0, #0x34c] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021467c0 .global func_ov61_02146810 arm_func_start func_ov61_02146810 func_ov61_02146810: ; 0x02146810 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 mov r0, r4 bne _02146834 bl func_ov61_02148fcc ldmia sp!, {r4, pc} _02146834: bl func_ov61_02148f58 ldmia sp!, {r4, pc} arm_func_end func_ov61_02146810 .global func_ov61_0214683c arm_func_start func_ov61_0214683c func_ov61_0214683c: ; 0x0214683c stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 mov r5, r0 cmp r1, #0 bne _02146870 bl func_ov61_0214a214 ldr r0, [r0, #0x1c] cmp r0, #0 bne _021468a4 bl func_ov61_0214a214 ldrh r0, [r0, #0x1a] cmp r0, #0 bne _021468a4 _02146870: bl func_ov61_0214a214 mov r1, #1 str r1, [r0, #0x1bc] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1c0] str r1, [r4, #0x1c4] bl func_ov61_0214a214 str r5, [r0, #0xf4] add sp, sp, #0x14 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _021468a4: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02146928 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] mov r1, #0 bl func_ov61_02162e74 mov r6, r0 bl func_ov61_0214a214 mov r4, r0 ldr r1, _021469e4 ; =data_ov61_0217a758 mov r0, r6 mov r2, #0 bl func_ov61_02162270 str r0, [r4, #0xf4] bl func_ov61_0214a214 mov r4, r0 mov r0, r6 bl func_ov61_02162334 str r0, [r4, #0x24] bl func_ov61_0214a214 mov r4, r0 mov r0, r6 bl func_ov61_0216233c strh r0, [r4, #0xa4] bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] mov r4, #1 str r0, [r6, #0x204] b _02146964 _02146928: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02146940 bl func_ov61_0214a214 str r5, [r0, #0xf4] _02146940: bl func_ov61_0214a214 str r5, [r0, #0x204] bl func_ov61_0214a214 ldr r0, [r0, #0x1c] str r0, [sp, #0xc] bl func_ov61_0214a214 ldrh r0, [r0, #0x1a] mov r4, #3 str r0, [sp, #0x10] _02146964: bl func_ov61_0214a214 ldr r1, _021469e8 ; =0x00001770 str r1, [r0, #0x1c8] bl func_ov61_0214a214 mov r6, r0 bl func_0200e8f8 str r0, [r6, #0x1cc] str r1, [r6, #0x1d0] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1bc] bl func_ov61_0214a214 ldr r0, [r0, #0x208] cmp r0, #0 movne r7, #0xb moveq r7, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] str r0, [sp, #8] bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 add r2, sp, #8 stmia sp, {r2, r4} mov r3, r0 ldrh r3, [r3, #0xa4] ldr r2, [r6, #0x24] mov r1, r5 mov r0, r7 bl func_ov61_0214501c add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0214683c _021469e4: .word data_ov61_0217a758 _021469e8: .word 0x00001770 .global func_ov61_021469ec arm_func_start func_ov61_021469ec func_ov61_021469ec: ; 0x021469ec stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x228 movs r4, r1 mov r8, r0 mov fp, r2 beq _02146a10 bl func_ov61_0214a214 ldrb r6, [r0, #0x1a5] b _02146a40 _02146a10: bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x344] ldrb r1, [r5, #0x1a5] sub r0, r0, #1 cmp r1, r0 movge r6, #0 bge _02146a40 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a5] add r6, r0, #1 _02146a40: cmp r4, #0 mov r5, #0 moveq r7, #1 movne r7, r5 _02146a50: cmp r7, #0 cmpeq r5, #0 beq _02146a94 bl func_ov61_0214a214 ldrb r1, [r0, #0x1a5] add r1, r1, #1 strb r1, [r0, #0x1a5] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r1, [r4, #0x1a5] ldr r0, [r0, #0x344] cmp r1, r0 blt _02146a94 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a5] _02146a94: cmp r5, #0 beq _02146ae4 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a5] cmp r6, r0 bne _02146ae4 bl func_ov61_0214a214 ldr r1, _02146ca4 ; =0x00000bb8 str r1, [r0, #0x1c8] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1cc] str r1, [r4, #0x1d0] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1bc] add sp, sp, #0x228 mov r0, r1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02146ae4: mov r5, #1 bl func_ov61_02140308 mov sl, r0 bl func_ov61_0214a214 mov sb, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 mov r1, r0 ldrb r2, [r1, #0x1a5] ldr r3, [sb, #0x2fc] mov r1, #0xc add r2, r4, r2 ldrb r2, [r2, #0x304] mov r0, sl mla r1, r2, r1, r3 blx func_ov00_02077948 movs r4, r0 mvnne r0, #0 cmpne r4, r0 beq _02146a50 bl func_ov61_0214a214 mov sl, r0 bl func_ov61_0214a214 mov sb, r0 bl func_ov61_0214a214 ldrb r1, [r0, #0x1a5] ldr r2, [sl, #0x2fc] mov r0, #0xc add r1, sb, r1 ldrb r1, [r1, #0x304] mla r0, r1, r0, r2 blx func_ov00_020777e4 cmp r0, #0 beq _02146a50 mov sb, r5 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02146bac _02146b84: bl func_ov61_0214a214 add r0, r0, sb, lsl #2 ldr r0, [r0, #0xf4] cmp r4, r0 beq _02146bac add sb, sb, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp sb, r0 ble _02146b84 _02146bac: bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp sb, r0 ble _02146a50 bl func_ov61_0214a214 ldr r0, [r0] add r2, sp, #4 mov r1, r4 bl func_ov61_021677c0 mov sb, r0 bl func_ov61_0214a214 ldr r0, [r0] ldr r1, [sp, #4] add r2, sp, #0x18 bl func_ov61_02167680 orrs r0, sb, r0 ldreq r0, [sp, #0x1c] cmpeq r0, #4 bne _02146a50 ldr r0, _02146ca8 ; =data_ov61_0217a71c add r1, sp, #0xc add r2, sp, #0x20 mov r3, #0x2f bl func_ov61_0213e5f8 mov sl, r0 ldr r0, _02146cac ; =data_ov61_0217a70c add r1, sp, #8 add r2, sp, #0x20 mov r3, #0x2f bl func_ov61_0213e5f8 mov sb, r0 ldr r0, _02146cb0 ; =data_ov61_0217a718 add r1, sp, #0 add r2, sp, #0x20 mov r3, #0x2f bl func_ov61_0213e5f8 cmp sl, #0 cmpgt sb, #0 cmpgt r0, #0 ble _02146a50 add r0, sp, #0xc mov r1, #0 mov r2, #0xa bl func_02048ecc cmp r0, #3 bne _02146a50 add r0, sp, #8 mov r1, #0 mov r2, #0xa bl func_02048ecc mov sb, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x16] cmp sb, r0 bne _02146a50 cmp r4, fp moveq r8, #1 mov r0, r4 mov r1, r8 bl func_ov61_0214683c add sp, sp, #0x228 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021469ec _02146ca4: .word 0x00000bb8 _02146ca8: .word data_ov61_0217a71c _02146cac: .word data_ov61_0217a70c _02146cb0: .word data_ov61_0217a718 .global func_ov61_02146cb4 arm_func_start func_ov61_02146cb4 func_ov61_02146cb4: ; 0x02146cb4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x208] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x204] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a7] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1cc] str r1, [r4, #0x1d0] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02146d28 mov r0, #3 bl func_ov61_0214a224 mov r0, #0 bl func_ov61_02144a10 bl func_ov61_02148fcc cmp r0, #0 beq _02146d80 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02146d28: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02146d5c mov r0, #0 mov r1, r0 mov r2, r5 bl func_ov61_021469ec bl func_ov61_02146810 cmp r0, #0 beq _02146d80 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02146d5c: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _02146d80 ldr r1, _02146d88 ; =0xfffec5e6 mov r0, #6 bl func_ov61_02143c14 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02146d80: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02146cb4 _02146d88: .word 0xfffec5e6 .global func_ov61_02146d8c arm_func_start func_ov61_02146d8c func_ov61_02146d8c: ; 0x02146d8c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldrh r3, [r0, #0xa4] ldr r2, [r4, #0x24] mov r1, r5 mov r0, #5 bl func_ov61_0214501c mov r4, r0 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x204] mov r0, r4 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02146d8c .global func_ov61_02146de0 arm_func_start func_ov61_02146de0 func_ov61_02146de0: ; 0x02146de0 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x17] cmp r0, #0 beq _02146e18 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldr r1, [r4, #0x20] ldr r0, [r0, #0x200] cmp r1, r0 moveq r4, #0 beq _02146e1c _02146e18: mov r4, #1 _02146e1c: cmp r4, #0 beq _02146e48 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20] bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c _02146e48: bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0x1f bhs _02146e78 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] mov r1, #0 add r0, r0, #1 add r0, r6, r0, lsl #2 str r1, [r0, #0xf4] _02146e78: bl func_ov61_0214a214 mov r1, #0xff strb r1, [r0, #0x3cc] bl func_ov61_0214a214 ldr r0, [r0, #0x19c] cmp r0, #0 beq _02146eac bl func_ov61_0214a214 ldr r0, [r0, #0x19c] bl func_ov61_0217741c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x19c] _02146eac: bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] strb r0, [r6, #0x14] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x204] cmp r4, #0 bne _02146eec bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 beq _02146ff4 bl func_ov61_02147ca4 b _02146ff4 _02146eec: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02146f28 mov r0, #3 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, #2 str r1, [r0, #0xe8] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0xec] str r1, [r4, #0xf0] b _02146ff4 _02146f28: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02146f54 mov r0, #4 bl func_ov61_0214a224 mov r1, #0 mov r2, r1 mov r0, #1 bl func_ov61_021469ec b _02146ff4 _02146f54: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 bne _02146ff4 mov r0, #0xe bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1d8] bl func_ov61_0214a214 add r1, r0, #0x100 mov r2, #0 mov r0, r5 strh r2, [r1, #0xb2] bl func_ov61_02147d98 mov r5, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02146fdc mov r4, #0xd _02146fa8: bl func_ov61_0214a214 add r0, r0, r5, lsl #2 ldr r0, [r0, #0xf4] mov r1, r4 bl func_ov61_021482d4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r5, r5, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r5, r0 ble _02146fa8 _02146fdc: bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 bne _02146ff4 mov r0, #2 bl func_ov61_02147ba4 _02146ff4: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02146de0 .global func_ov61_02146ffc arm_func_start func_ov61_02146ffc func_ov61_02146ffc: ; 0x02146ffc stmdb sp!, {r3, r4, r5, lr} mov r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _0214703c bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _02147028 bl func_ov61_02147e08 _02147028: ldr r1, _021470b8 ; =0xfffec5d2 mov r0, #6 bl func_ov61_02143c14 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0214703c: bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] strb r0, [r5, #0x14] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x208] bl func_ov61_0214a214 ldr r0, [r0, #0x19c] cmp r0, #0 beq _02147084 bl func_ov61_0214a214 ldr r0, [r0, #0x19c] bl func_ov61_0217741c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x19c] _02147084: bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _0214709c bl func_ov61_02147ca4 b _021470b0 _0214709c: mov r0, #4 bl func_ov61_0214a224 mov r0, #0 bl func_ov61_02146cb4 mov r4, r0 _021470b0: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02146ffc _021470b8: .word 0xfffec5d2 .global func_ov61_021470bc arm_func_start func_ov61_021470bc func_ov61_021470bc: ; 0x021470bc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 mov r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02147154 mov r5, #0xa _021470dc: bl func_ov61_0214a214 mov sb, r0 bl func_ov61_0214a214 mov r8, r0 bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 add r1, r6, #0x348 str r1, [sp] ldr ip, [r0, #0x348] add r3, r7, r4, lsl #1 add ip, ip, #1 str ip, [sp, #4] add r1, sb, r4, lsl #2 add r2, r8, r4, lsl #2 ldrh r3, [r3, #0xa4] ldr r1, [r1, #0xf4] ldr r2, [r2, #0x24] mov r0, r5 bl func_ov61_0214501c cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r4, r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r4, r0 ble _021470dc _02147154: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20] bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x1a8] bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744b8 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a8] mov r0, r1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_021470bc .global func_ov61_021471a0 arm_func_start func_ov61_021471a0 func_ov61_021471a0: ; 0x021471a0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x1c cmp r0, #4 mov r4, #3 mov r5, #0 addls pc, pc, r0, lsl #2 b _021477c4 _021471bc: ; jump table b _021471d0 ; case 0 b _02147570 ; case 1 b _021475b4 ; case 2 b _02147678 ; case 3 b _02147698 ; case 4 _021471d0: bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] ldrb r1, [r6, #0x1a4] sub r0, r0, #1 cmp r1, r0 bge _02147290 mov r0, #0xd bl func_ov61_0214a224 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a4] add r0, r0, #1 add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] str r0, [sp, #8] bl func_ov61_0214a214 ldrb r0, [r0, #0x1a4] add r0, r0, #1 str r0, [sp, #0xc] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a4] add r0, r0, #1 add r0, r4, r0 ldrb r0, [r0, #0x2d0] str r0, [sp, #0x10] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a4] add r0, r0, #1 add r0, r4, r0, lsl #2 ldr r0, [r0, #0x24] str r0, [sp, #0x14] bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a4] mov r4, #5 add r0, r0, #1 add r0, r6, r0, lsl #1 ldrh r0, [r0, #0xa4] str r0, [sp, #0x18] b _021474dc _02147290: bl func_ov61_0214a214 mov r1, r5 strb r1, [r0, #0x17] bl func_ov61_0214a214 mov r1, r5 str r1, [r0, #0x20] bl func_ov61_0214a214 ldr r0, [r0, #0x10] bl func_ov61_02177f3c bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _021472d0 mov r0, r4 bl func_ov61_0214a224 b _021472f4 _021472d0: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _021472ec mov r0, #4 bl func_ov61_0214a224 b _021472f4 _021472ec: mov r0, #0xa bl func_ov61_0214a224 _021472f4: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a4] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 beq _0214732c bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r1, [r6, #0xd] ldrb r0, [r0, #0x16] cmp r1, r0 bne _021473dc _0214732c: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 bne _02147364 bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r6, r0, lsl #2 ldr r0, [r0, #0xf4] str r0, [r7, #0x20c] b _02147384 _02147364: bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20c] bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x200] str r0, [r6, #0xf4] _02147384: mov r0, #0x10 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x1d4] mov r7, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _021474cc mov r6, #2 _021473b0: bl func_ov61_0214a214 add r0, r0, r7 ldrb r0, [r0, #0x2d0] mov r1, r6 bl func_ov61_02147f74 add r7, r7, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r7, r0 ble _021473b0 b _021474cc _021473dc: mov r0, #0 str r0, [sp, #8] bl func_ov61_0214a214 ldrb r0, [r0, #0xd] str r0, [sp, #0xc] bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r6, r0 ldrb r0, [r0, #0x2d0] str r0, [sp, #0x10] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02147440 bl func_ov61_0214a214 mov r1, #2 str r1, [r0, #0xe8] bl func_ov61_0214a214 mov r6, r0 bl func_0200e8f8 str r0, [r6, #0xec] str r1, [r6, #0xf0] b _021474cc _02147440: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _021474cc mov r1, #0 mov r2, r1 mov r0, #1 bl func_ov61_021469ec bl func_ov61_0214a214 ldrb r0, [r0, #0x1a6] cmp r0, #0 bne _021474cc bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #2 blo _021474cc bl func_ov61_0214a214 mov r8, r0 mov r0, #0 bl func_ov61_02148a30 mov r6, r0 bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] mov r1, #1 ldr r2, [r8, #0x1dc] add r0, r7, r0 ldrb r0, [r0, #0x2d0] mvn r0, r1, lsl r0 and r0, r6, r0 cmp r2, r0 beq _021474cc bl func_ov61_02147ca4 b _021477c4 _021474cc: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 movne r5, #1 _021474dc: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0x10 beq _021477c4 bl func_ov61_0214a214 mov sl, r0 bl func_ov61_0214a214 mov sb, r0 bl func_ov61_0214a214 mov r8, r0 bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 add r1, sp, #8 stmia sp, {r1, r4} mov ip, r0 ldrb r3, [sb, #0xd] ldrb r2, [r7, #0xd] ldrb r1, [ip, #0xd] add r4, sl, r3, lsl #2 add r2, r8, r2, lsl #2 add r3, r6, r1, lsl #1 ldrh r3, [r3, #0xa4] ldr r1, [r4, #0xf4] ldr r2, [r2, #0x24] mov r0, #8 bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x3cd] b _021477c4 _02147570: mov r0, #1 bl func_ov61_0214a224 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _021475ac bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] str r0, [r5, #0x20c] _021475ac: mov r5, #1 b _021477c4 _021475b4: mov r0, #1 bl func_ov61_0214a224 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _021475dc bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _021475fc _021475dc: bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x17] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x200] str r0, [r4, #0x20] _021475fc: bl func_ov61_02148a94 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 bls _021477c4 bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 mov r8, r0 bl func_ov61_0214a214 add r3, r8, #0xf4 ldrb r2, [r0, #0xd] mov r1, #1 mov r0, #9 sub r2, r2, #1 add r2, r3, r2, lsl #2 str r2, [sp] str r1, [sp, #4] ldr r1, [r7, #0xf4] ldr r2, [r6, #0x24] ldrh r3, [r4, #0xa4] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 beq _021477c4 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _02147678: mov r0, #1 bl func_ov61_0214a224 bl func_ov61_02148a94 bl func_ov61_0214a214 mov r1, r5 str r1, [r0, #0x20c] mov r5, #1 b _021477c4 _02147698: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 beq _021476b8 ldr r1, _021477f8 ; =data_ov61_0217a704 mov r0, #2 mov r2, r5 bl func_ov61_0214124c _021476b8: bl func_ov61_0214a214 ldr r0, [r0, #0x20c] cmp r0, #0 moveq r7, #1 movne r7, #0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x20c] bl func_ov61_021411b0 mov r4, r0 bl func_ov61_0214a214 str r4, [sp] ldr r1, [r0, #0x468] mov r0, #0 str r1, [sp, #4] ldr r4, [r6, #0x464] mov r2, r7 mov r1, r0 mov r3, r0 blx r4 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _0214772c bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02147734 _0214772c: bl func_ov61_0214498c b _021477b8 _02147734: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] cmp r0, #0 beq _0214775c bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162ba0 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0xe4] _0214775c: bl func_ov61_02176dc0 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 bne _021477a4 bl func_ov61_021443ec bl func_ov61_02148f58 cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} ldr r0, _021477fc ; =data_ov61_0217ebe8 ldrb r1, [r0, #8] cmp r1, #1 moveq r1, #1 streqb r1, [r0, #9] mov r0, #0xa bl func_ov61_0214a224 b _021477ac _021477a4: mov r0, #1 bl func_ov61_0214a224 _021477ac: bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20c] _021477b8: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a9] _021477c4: cmp r5, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e28 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_021471a0 _021477f8: .word data_ov61_0217a704 _021477fc: .word data_ov61_0217ebe8 .global func_ov61_02147800 arm_func_start func_ov61_02147800 func_ov61_02147800: ; 0x02147800 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 bl func_ov61_0214a214 ldrb r0, [r0, #0x1a6] cmp r0, #0 beq _02147830 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #4 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} _02147830: cmp r5, #0 mov r4, #0 bls _02147880 _0214783c: ldr r0, [r6, r4, lsl #2] bl func_ov61_02148880 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x1a6] cmp r0, #0 beq _02147874 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} _02147874: add r4, r4, #1 cmp r4, r5 blo _0214783c _02147880: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02147800 .global func_ov61_02147888 arm_func_start func_ov61_02147888 func_ov61_02147888: ; 0x02147888 stmdb sp!, {r3, lr} bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20c] bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #2 bne _021478b0 bl func_ov61_02147a10 ldmia sp!, {r3, pc} _021478b0: bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x1a9] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _0214791c bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x1a9] bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _021478fc bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744b8 b _02147914 _021478fc: bl func_ov61_0214a214 ldr r0, [r0, #0xf4] bl func_ov61_02146d8c bl func_ov61_02146810 cmp r0, #0 ldmneia sp!, {r3, pc} _02147914: bl func_ov61_02147a10 ldmia sp!, {r3, pc} _0214791c: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #4 beq _0214797c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #5 beq _0214797c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #6 beq _0214797c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #7 beq _0214797c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb beq _0214797c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xc bne _021479b4 _0214797c: bl func_ov61_0214a214 ldr r0, [r0, #0x204] cmp r0, #0 beq _021479a4 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] bl func_ov61_02146d8c bl func_ov61_02146810 cmp r0, #0 ldmneia sp!, {r3, pc} _021479a4: bl func_ov61_02147ad0 bl func_ov61_02146810 cmp r0, #0 ldmneia sp!, {r3, pc} _021479b4: bl func_ov61_0214a214 ldr r0, [r0, #0x19c] cmp r0, #0 beq _021479dc bl func_ov61_0214a214 ldr r0, [r0, #0x19c] bl func_ov61_0217741c bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x19c] _021479dc: bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _02147a08 bl func_ov61_0214a214 mov r1, #1 strb r1, [r0, #0x1a9] bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744b8 _02147a08: bl func_ov61_02147a10 ldmia sp!, {r3, pc} arm_func_end func_ov61_02147888 .global func_ov61_02147a10 arm_func_start func_ov61_02147a10 func_ov61_02147a10: ; 0x02147a10 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 ldr r1, _02147acc ; =data_ov61_0217a704 mov r0, #1 mov r2, #0 bl func_ov61_0214124c bl func_ov61_02148f58 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214498c bl func_ov61_0214a214 ldr r0, [r0, #0x20c] cmp r0, #0 movne r6, #1 bne _02147a64 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 moveq r6, #1 movne r6, #0 _02147a64: bl func_ov61_0214a214 ldr r0, [r0, #0x20c] cmp r0, #0 moveq r7, #1 movne r7, #0 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x20c] bl func_ov61_021411b0 mov r4, r0 bl func_ov61_0214a214 str r4, [sp] ldr r1, [r0, #0x468] mov r2, r7 str r1, [sp, #4] ldr ip, [r5, #0x464] mov r3, r6 mov r0, #0 mov r1, #1 blx ip bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a9] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02147a10 _02147acc: .word data_ov61_0217a704 .global func_ov61_02147ad0 arm_func_start func_ov61_02147ad0 func_ov61_02147ad0: ; 0x02147ad0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r4, #0 str r4, [sp, #8] bl func_ov61_0214a214 ldrb r0, [r0, #0x17] cmp r0, #0 beq _02147b98 bl func_ov61_0214a214 ldr r0, [r0, #0x20] cmp r0, #0 beq _02147b98 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldr r1, [r5, #0x20] ldr r0, [r0, #0x200] cmp r1, r0 beq _02147b98 bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 add r2, sp, #8 mov r1, #1 str r2, [sp] str r1, [sp, #4] ldrb r3, [r0, #0xd] ldrb r2, [r6, #0xd] ldr r1, [r7, #0x20] add r3, r3, #1 add r2, r2, #1 add r3, r4, r3, lsl #1 add r2, r5, r2, lsl #2 ldrh r3, [r3, #0xa4] ldr r2, [r2, #0x24] mov r0, #0xc bl func_ov61_0214501c mov r4, r0 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20] _02147b98: mov r0, r4 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end func_ov61_02147ad0 .global func_ov61_02147ba4 arm_func_start func_ov61_02147ba4 func_ov61_02147ba4: ; 0x02147ba4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 movs r4, r0 bne _02147bc0 bl func_ov61_02147a10 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _02147bc0: bl func_ov61_0214454c bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 beq _02147be4 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 bne _02147c40 _02147be4: bl func_ov61_0214a214 ldr r0, [r0, #0x20c] cmp r0, #0 moveq r6, #1 movne r6, #0 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x20c] bl func_ov61_021411b0 mov r4, r0 bl func_ov61_0214a214 str r4, [sp] ldr r1, [r0, #0x468] mov r0, #0 str r1, [sp, #4] ldr ip, [r5, #0x464] mov r2, r6 mov r1, #1 mov r3, r0 blx ip add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} _02147c40: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02147c74 cmp r4, #1 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, pc} mov r0, #0 bl func_ov61_02144a10 bl func_ov61_02148fcc add sp, sp, #8 cmp r0, #0 ldmia sp!, {r4, r5, r6, pc} _02147c74: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 cmpeq r4, #1 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, pc} mov r0, #0 mov r1, r0 mov r2, r0 bl func_ov61_021469ec add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02147ba4 .global func_ov61_02147ca4 arm_func_start func_ov61_02147ca4 func_ov61_02147ca4: ; 0x02147ca4 stmdb sp!, {r3, lr} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 ldmeqia sp!, {r3, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 ldmeqia sp!, {r3, pc} bl func_ov61_02147e08 mov r0, #1 bl func_ov61_02147ba4 ldmia sp!, {r3, pc} arm_func_end func_ov61_02147ca4 .global func_ov61_02147cd8 arm_func_start func_ov61_02147cd8 func_ov61_02147cd8: ; 0x02147cd8 stmdb sp!, {r4, lr} bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x20] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a8] bl func_ov61_0214a214 ldr r0, [r0, #0x208] cmp r0, #0 beq _02147d88 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02147d48 mov r0, #3 bl func_ov61_0214a224 mov r0, #0 bl func_ov61_02144a10 mov r4, r0 bl func_ov61_02148fcc cmp r0, #0 beq _02147d90 mov r0, r4 ldmia sp!, {r4, pc} _02147d48: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02147d90 mov r0, #4 bl func_ov61_0214a224 bl func_ov61_0214a214 ldr r0, [r0, #0x208] mov r1, #0 bl func_ov61_0214683c mov r4, r0 bl func_ov61_02146810 cmp r0, #0 beq _02147d90 mov r0, r4 ldmia sp!, {r4, pc} _02147d88: mov r0, #1 bl func_ov61_02147ba4 _02147d90: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_02147cd8 .global func_ov61_02147d98 arm_func_start func_ov61_02147d98 func_ov61_02147d98: ; 0x02147d98 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov61_0214a214 str r5, [r0, #0x20c] bl func_ov61_0214a214 ldrb r1, [r0, #0xd] mov r0, r5 add r1, r1, #1 bl func_ov61_0213f6b8 movs r4, r0 beq _02147dec bl func_ov61_0214a214 mov r1, #2 strb r1, [r0, #0x1a8] ldr r0, [r4] bl func_ov61_02174498 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a8] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02147dec: bl func_ov61_0214a214 ldrb r1, [r0, #0xd] mov r0, r5 add r1, r1, #1 bl func_ov61_02144064 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02147d98 .global func_ov61_02147e08 arm_func_start func_ov61_02147e08 func_ov61_02147e08: ; 0x02147e08 stmdb sp!, {r3, lr} bl func_ov61_0214a214 mov r1, #2 strb r1, [r0, #0x1a8] bl func_ov61_0214a214 ldr r0, [r0, #4] ldr r0, [r0] bl func_ov61_021744b8 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a8] ldmia sp!, {r3, pc} arm_func_end func_ov61_02147e08 .global func_ov61_02147e38 arm_func_start func_ov61_02147e38 func_ov61_02147e38: ; 0x02147e38 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x108 mov r7, #0 mov sl, r0 mov r8, r7 mov sb, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02147ec0 add r4, sp, #0x88 add r5, sp, #8 mov r6, sb _02147e6c: bl func_ov61_0214a214 add r0, r0, sb ldrb r0, [r0, #0x2d0] tst sl, r6, lsl r0 beq _02147e98 bl func_ov61_0214a214 add r0, r0, sb, lsl #2 ldr r0, [r0, #0xf4] str r0, [r5, r8, lsl #2] add r8, r8, #1 b _02147eac _02147e98: bl func_ov61_0214a214 add r0, r0, sb, lsl #2 ldr r0, [r0, #0xf4] str r0, [r4, r7, lsl #2] add r7, r7, #1 _02147eac: add sb, sb, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp sb, r0 ble _02147e6c _02147ec0: cmp r8, #0 mov sl, #0 ble _02147f18 add sb, sp, #0x88 mov r6, #0x10 add r5, sp, #8 mov r4, sl _02147edc: ldr r1, [r5, sl, lsl #2] str sb, [sp] mov r0, r6 mov r2, r4 mov r3, r4 str r7, [sp, #4] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0x108 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add sl, sl, #1 cmp sl, r8 blt _02147edc _02147f18: bl func_ov61_0214a214 mov r1, #2 strb r1, [r0, #0x1a8] cmp r7, #0 mov r6, #0 ble _02147f5c add r5, sp, #0x88 mov r4, r6 _02147f38: ldr r0, [r5, r6, lsl #2] mov r1, r4 bl func_ov61_021489cc cmp r0, #0xff beq _02147f50 bl func_ov61_0213f35c _02147f50: add r6, r6, #1 cmp r6, r7 blt _02147f38 _02147f5c: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1a8] mov r0, #1 add sp, sp, #0x108 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov61_02147e38 .global func_ov61_02147f74 arm_func_start func_ov61_02147f74 func_ov61_02147f74: ; 0x02147f74 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r4, r1 mov r5, r0 cmp r4, #2 beq _02147f98 cmp r4, #3 beq _02148010 b _02148034 _02147f98: bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r6, r0 ldrb r0, [r0, #0x2d0] mov r6, #1 cmp r5, r0 moveq r0, #1 streqb r0, [sp] movne r0, #0 strneb r0, [sp] bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blo _02148034 _02147fd8: bl func_ov61_0214a214 add r0, r0, r6 ldrb r0, [r0, #0x2d0] cmp r5, r0 streqb r6, [sp, #1] streqb r5, [sp, #2] beq _02148034 add r0, r6, #1 and r6, r0, #0xff bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r6, r0 bls _02147fd8 b _02148034 _02148010: bl func_ov61_0214a214 add r0, r0, #0x100 ldrh r0, [r0, #0xb0] strb r0, [sp] bl func_ov61_0214a214 add r0, r0, #0x100 ldrh r0, [r0, #0xb0] mov r0, r0, asr #0x8 strb r0, [sp, #1] _02148034: add r2, sp, #0 mov r0, r4 mov r1, r5 mov r3, #4 bl func_ov61_0214a2e8 bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1e0] str r1, [r4, #0x1e4] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02147f74 .global func_ov61_02148064 arm_func_start func_ov61_02148064 func_ov61_02148064: ; 0x02148064 stmdb sp!, {r3, r4, r5, r6, r7, lr} bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #9 beq _02148098 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0x10 beq _02148098 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0x11 bne _021480dc _02148098: bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x1e0] ldr r0, [r0, #0x1e4] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _021482cc ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac mov r4, r0 mov r5, r1 b _021480e4 _021480dc: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021480e4: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #9 beq _02148108 cmp r0, #0x10 beq _02148174 cmp r0, #0x11 beq _021482a4 b _021482c4 _02148108: ldr r0, _021482d0 ; =0x00001770 cmp r5, #0 cmpeq r4, r0 bls _021482c4 bl func_ov61_0213f4e4 cmp r0, #5 bne _02148150 bl func_ov61_0214a214 ldrb r0, [r0, #0x1ad] cmp r0, #5 blo _02148150 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] bl func_ov61_02146ffc cmp r0, #0 bne _021482c4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02148150: bl func_ov61_0214a214 ldrb r1, [r0, #0x1ad] add r1, r1, #1 strb r1, [r0, #0x1ad] bl func_ov61_0214a214 ldrb r0, [r0, #0x2d0] mov r1, #3 bl func_ov61_02147f74 b _021482c4 _02148174: ldr r0, _021482d0 ; =0x00001770 cmp r5, #0 cmpeq r4, r0 bls _021482c4 bl func_ov61_0214a214 ldrb r1, [r0, #0x1ab] add r1, r1, #1 strb r1, [r0, #0x1ab] bl func_ov61_0214a214 ldrb r0, [r0, #0x1ab] cmp r0, #5 bls _0214823c bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 beq _021481c4 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _021481d4 _021481c4: bl func_ov61_02147e08 mov r0, #1 bl func_ov61_02147ba4 b _021482c4 _021481d4: bl func_ov61_0214a214 ldr r0, [r0, #0x1d4] bl func_ov61_02147e38 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _02148220 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ab] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1e0] str r1, [r4, #0x1e4] b _021482c4 _02148220: bl func_ov61_0214a214 ldr r0, [r0, #0x20c] bl func_ov61_02146de0 cmp r0, #0 bne _021482c4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0214823c: mov r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _021482c4 mov r5, #2 mov r6, r4 _02148258: bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 add r0, r0, r4 ldrb r0, [r0, #0x2d0] ldr r1, [r7, #0x1d4] tst r1, r6, lsl r0 bne _0214828c bl func_ov61_0214a214 add r0, r0, r4 ldrb r0, [r0, #0x2d0] mov r1, r5 bl func_ov61_02147f74 _0214828c: add r4, r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r4, r0 ble _02148258 b _021482c4 _021482a4: bl func_ov61_0214a214 add r0, r0, #0x100 ldrh r0, [r0, #0xb0] cmp r5, r0, asr #31 cmpeq r4, r0 bls _021482c4 mov r0, #4 bl func_ov61_021471a0 _021482c4: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02148064 _021482cc: .word 0x000082ea _021482d0: .word 0x00001770 .global func_ov61_021482d4 arm_func_start func_ov61_021482d4 func_ov61_021482d4: ; 0x021482d4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r5, r1 cmp r5, #0xd mov r6, r0 movne r4, #0 bne _02148300 bl func_ov61_0214a214 ldr r0, [r0, #0x20c] mov r4, #1 str r0, [sp, #8] _02148300: add r0, sp, #8 str r0, [sp] mov r2, #0 mov r0, r5 mov r1, r6 mov r3, r2 str r4, [sp, #4] bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #0xc movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, pc} bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1e8] str r1, [r4, #0x1ec] mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_021482d4 .global func_ov61_02148354 arm_func_start func_ov61_02148354 func_ov61_02148354: ; 0x02148354 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov61_0213f4e4 cmp r0, #6 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} cmp r5, #0xd beq _02148390 cmp r5, #0xe beq _021483cc cmp r5, #0xf beq _02148554 b _0214856c _02148390: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #8 beq _021483b0 mov r0, #8 bl func_ov61_0214a224 mov r0, r4 bl func_ov61_02147d98 _021483b0: mov r0, r6 mov r1, #0xe bl func_ov61_021482d4 cmp r0, #0 bne _0214856c mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _021483cc: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xe bne _02148538 bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x1e8] ldr r0, [r0, #0x1ec] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02148574 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac mov r2, r0, lsr #0x1 mov r0, r1, lsr #0x1 cmp r0, #0 orr r2, r2, r1, lsl #31 cmpeq r2, #0x12c bls _02148498 bl func_ov61_0214a214 ldr r1, [r0, #0x1e8] ldr r0, [r0, #0x1ec] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02148574 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac mov r3, r0, lsr #0x1 mov r0, #0x12c orr r3, r3, r1, lsl #31 rsb r0, r0, #0 mvn r2, #0 adds r5, r3, r0 adc r4, r2, r1, lsr #1 bl func_ov61_0214a214 add r0, r0, #0x100 ldrh r0, [r0, #0xb2] cmp r4, r0, asr #31 cmpeq r5, r0 bls _02148498 bl func_ov61_0214a214 add r0, r0, #0x100 strh r5, [r0, #0xb2] _02148498: mov r0, r6 mov r1, #0 bl func_ov61_021489cc mov r4, r0 cmp r4, #0xff beq _021484c4 bl func_ov61_0214a214 ldr r2, [r0, #0x1d8] mov r1, #1 orr r1, r2, r1, lsl r4 str r1, [r0, #0x1d8] _021484c4: mov r0, #1 bl func_ov61_02148a30 mov r4, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x1d8] cmp r4, r0 bne _0214856c mov r5, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _0214852c mov r4, #0xf _021484f8: bl func_ov61_0214a214 add r0, r0, r5, lsl #2 ldr r0, [r0, #0xf4] mov r1, r4 bl func_ov61_021482d4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r5, r5, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r5, r0 ble _021484f8 _0214852c: mov r0, #0xf bl func_ov61_0214a224 b _0214856c _02148538: mov r0, r6 mov r1, #0xf bl func_ov61_021482d4 cmp r0, #0 bne _0214856c mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _02148554: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #8 bne _0214856c mov r0, #2 bl func_ov61_02147ba4 _0214856c: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02148354 _02148574: .word 0x000082ea .global func_ov61_02148578 arm_func_start func_ov61_02148578 func_ov61_02148578: ; 0x02148578 stmdb sp!, {r3, r4, r5, r6, r7, lr} bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #8 beq _021485ac bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xe beq _021485ac bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xf bne _021485f0 _021485ac: bl func_0200e8f8 mov r4, r0 mov r5, r1 bl func_ov61_0214a214 ldr r1, [r0, #0x1e8] ldr r0, [r0, #0x1ec] subs r3, r4, r1 sbc r0, r5, r0 mov r1, r0, lsl #0x6 ldr r2, _02148770 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac mov r4, r0 mov r5, r1 b _021485f8 _021485f0: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021485f8: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #8 beq _0214861c cmp r0, #0xe beq _0214864c cmp r0, #0xf beq _02148748 b _02148768 _0214861c: ldr r0, _02148774 ; =0x00001770 cmp r5, #0 cmpeq r4, r0 bls _02148768 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] mov r1, #0xe bl func_ov61_021482d4 cmp r0, #0 bne _02148768 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0214864c: ldr r0, _02148774 ; =0x00001770 cmp r5, #0 cmpeq r4, r0 bls _02148768 bl func_ov61_0214a214 ldrb r1, [r0, #0x1ac] add r1, r1, #1 strb r1, [r0, #0x1ac] bl func_ov61_0214a214 ldrb r0, [r0, #0x1ac] cmp r0, #5 bls _021486d4 bl func_ov61_0214a214 ldr r0, [r0, #0x1d8] bl func_ov61_02147e38 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _021486c8 bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ac] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1e8] str r1, [r4, #0x1ec] b _02148768 _021486c8: mov r0, #2 bl func_ov61_02147ba4 b _02148768 _021486d4: mov r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02148768 mov r5, #0xd mov r6, r4 _021486f0: bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 add r0, r0, r4 ldrb r0, [r0, #0x2d0] ldr r1, [r7, #0x1d8] tst r1, r6, lsl r0 bne _02148730 bl func_ov61_0214a214 add r0, r0, r4, lsl #2 ldr r0, [r0, #0xf4] mov r1, r5 bl func_ov61_021482d4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02148730: add r4, r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r4, r0 ble _021486f0 b _02148768 _02148748: bl func_ov61_0214a214 add r0, r0, #0x100 ldrh r0, [r0, #0xb2] cmp r5, r0, asr #31 cmpeq r4, r0 bls _02148768 mov r0, #2 bl func_ov61_02147ba4 _02148768: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02148578 _02148770: .word 0x000082ea _02148774: .word 0x00001770 .global func_ov61_02148778 arm_func_start func_ov61_02148778 func_ov61_02148778: ; 0x02148778 ldr r2, _021487b4 ; =data_ov61_0217ebf8 mov r3, #0 mov r0, #0xc _02148784: mul r1, r3, r0 ldrb r1, [r2, r1] cmp r1, #0 addeq r0, r3, #0x64 andeq r0, r0, #0xff bxeq lr add r1, r3, #1 and r3, r1, #0xff cmp r3, #0x9a blo _02148784 mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_02148778 _021487b4: .word data_ov61_0217ebf8 .global func_ov61_021487b8 arm_func_start func_ov61_021487b8 func_ov61_021487b8: ; 0x021487b8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, #0 ldr r7, _02148808 ; =data_ov61_0217ebf8 mov r5, #4 mov r4, r6 _021487cc: ldr r1, [r7, #4] cmp r1, #0 beq _021487e4 mov r0, r5 mov r2, r4 bl func_ov61_0213e068 _021487e4: add r6, r6, #1 cmp r6, #0x9a add r7, r7, #0xc blt _021487cc ldr r1, _02148808 ; =data_ov61_0217ebf8 ldr r2, _0214880c ; =0x00000738 mov r0, #0 bl func_020078f4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021487b8 _02148808: .word data_ov61_0217ebf8 _0214880c: .word 0x00000738 .global func_ov61_02148810 arm_func_start func_ov61_02148810 func_ov61_02148810: ; 0x02148810 stmdb sp!, {r4, r5, r6, lr} mov r5, #0 mov r4, r5 _0214881c: mov r6, r4 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] cmp r0, #0 blt _02148858 _02148830: bl func_ov61_0214a214 add r0, r0, r6 ldrb r0, [r0, #0x2d0] cmp r5, r0 beq _02148858 add r6, r6, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0x14] cmp r6, r0 ble _02148830 _02148858: bl func_ov61_0214a214 ldrb r0, [r0, #0x14] cmp r6, r0 bgt _02148878 add r0, r5, #1 and r5, r0, #0xff cmp r5, #0x20 blo _0214881c _02148878: mov r0, r5 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02148810 .global func_ov61_02148880 arm_func_start func_ov61_02148880 func_ov61_02148880: ; 0x02148880 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x2fc] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r4, #0 bl func_ov61_0214a214 ldr r0, [r0, #0x344] cmp r0, #0 ble _021488e8 _021488b0: bl func_ov61_0214a214 add r0, r0, r4 ldrb r0, [r0, #0x304] bl func_ov61_02141168 cmp r0, #0 ble _021488d4 cmp r0, r5 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} _021488d4: add r4, r4, #1 bl func_ov61_0214a214 ldr r0, [r0, #0x344] cmp r4, r0 blt _021488b0 _021488e8: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02148880 .global func_ov61_021488f0 arm_func_start func_ov61_021488f0 func_ov61_021488f0: ; 0x021488f0 stmdb sp!, {r4, lr} ldr r1, _021489b4 ; =data_ov61_0217a81c mvn r2, #0 mov r4, r0 bl func_ov61_02162270 mvn r2, #0 cmp r0, r2 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, _021489b8 ; =data_ov61_0217a828 mov r0, r4 bl func_ov61_02162270 mvn r2, #0 cmp r0, r2 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, _021489bc ; =data_ov61_0217a760 mov r0, r4 bl func_ov61_02162270 mvn r2, #0 cmp r0, r2 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, _021489c0 ; =data_ov61_0217a76c mov r0, r4 bl func_ov61_02162270 mvn r1, #0 cmp r0, r1 bne _02148980 ldr r1, _021489c0 ; =data_ov61_0217a76c mov r0, r4 mov r2, #0 bl func_ov61_02162270 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _02148980: ldr r1, _021489c4 ; =data_ov61_0217a778 mov r0, r4 mvn r2, #0 bl func_ov61_02162270 mvn r1, #0 cmp r0, r1 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r1, _021489c8 ; =data_ov61_0217a758 mov r0, r4 mov r2, #0 bl func_ov61_02162270 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021488f0 _021489b4: .word data_ov61_0217a81c _021489b8: .word data_ov61_0217a828 _021489bc: .word data_ov61_0217a760 _021489c0: .word data_ov61_0217a76c _021489c4: .word data_ov61_0217a778 _021489c8: .word data_ov61_0217a758 .global func_ov61_021489cc arm_func_start func_ov61_021489cc func_ov61_021489cc: ; 0x021489cc stmdb sp!, {r3, r4, r5, lr} cmp r1, #0 moveq r4, #1 mov r5, r0 movne r4, #0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r4, r0 bgt _02148a28 _021489f0: bl func_ov61_0214a214 add r0, r0, r4, lsl #2 ldr r0, [r0, #0xf4] cmp r5, r0 bne _02148a14 bl func_ov61_0214a214 add r0, r0, r4 ldrb r0, [r0, #0x2d0] ldmia sp!, {r3, r4, r5, pc} _02148a14: add r4, r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r4, r0 ble _021489f0 _02148a28: mov r0, #0xff ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_021489cc .global func_ov61_02148a30 arm_func_start func_ov61_02148a30 func_ov61_02148a30: ; 0x02148a30 stmdb sp!, {r4, r5, r6, lr} cmp r0, #0 mov r5, #0 beq _02148a50 bl func_ov61_0214a214 ldr r0, [r0, #0x2f0] bic r0, r0, #1 ldmia sp!, {r4, r5, r6, pc} _02148a50: mov r6, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02148a8c mov r4, r6 _02148a68: bl func_ov61_0214a214 add r0, r0, r6 ldrb r0, [r0, #0x2d0] add r6, r6, #1 orr r5, r5, r4, lsl r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r6, r0 ble _02148a68 _02148a8c: mov r0, r5 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02148a30 .global func_ov61_02148a94 arm_func_start func_ov61_02148a94 func_ov61_02148a94: ; 0x02148a94 stmdb sp!, {r4, lr} bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x1ad] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x1f8] str r1, [r4, #0x1fc] ldmia sp!, {r4, pc} arm_func_end func_ov61_02148a94 .global func_ov61_02148abc arm_func_start func_ov61_02148abc func_ov61_02148abc: ; 0x02148abc stmdb sp!, {r4, lr} ldr r1, _02148b28 ; =data_ov61_0217ebe8 mov r4, r0 ldr r3, [r1] cmp r3, #0 ldrneb r0, [r3] cmpne r0, #0 ldmeqia sp!, {r4, pc} mov r2, #0 str r2, [r3, #8] ldr r0, [r1] str r2, [r0, #0xc] ldr r0, [r1] strb r2, [r0, #2] bl func_0200e8f8 ldr r2, _02148b28 ; =data_ov61_0217ebe8 cmp r4, #0 ldr r2, [r2] str r0, [r2, #0x18] str r1, [r2, #0x1c] ldmneia sp!, {r4, pc} bl func_0200e8f8 ldr r2, _02148b28 ; =data_ov61_0217ebe8 ldr r2, [r2] str r0, [r2, #0x10] str r1, [r2, #0x14] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02148abc _02148b28: .word data_ov61_0217ebe8 .global func_ov61_02148b2c arm_func_start func_ov61_02148b2c func_ov61_02148b2c: ; 0x02148b2c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 ldr r0, _02148f4c ; =data_ov61_0217ebe8 ldr r0, [r0] cmp r0, #0 ldrneb r0, [r0] cmpne r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0x13 bne _02148d88 mov r0, #0 bl func_ov61_02148a30 ldr r1, _02148f4c ; =data_ov61_0217ebe8 ldr r5, [r1] ldr r1, [r5, #8] cmp r1, r0 bne _02148c60 ldr r1, [r5, #0xc] cmp r1, r0 bne _02148bec bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] strb r0, [r4, #0x16] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r1, [r0, #0xd] mov r0, #0 sub r1, r1, #1 strb r1, [r4, #0x1a4] bl func_ov61_021471a0 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148bec: bl func_0200e8f8 str r0, [r5, #0x18] str r1, [r5, #0x1c] mov r0, #0 str r0, [r5, #8] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02148c40 mov r0, #3 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, #2 str r1, [r0, #0xe8] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0xec] add sp, sp, #8 str r1, [r4, #0xf0] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148c40: mov r0, #4 bl func_ov61_0214a224 mov r1, #0 mov r2, r1 mov r0, #1 bl func_ov61_021469ec add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148c60: ldrb r4, [r5, #2] bl func_0200e8f8 ldr r3, [r5, #0x18] ldr r2, [r5, #0x1c] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _02148f50 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, _02148f54 ; =0x00001770 mul r2, r4, r2 cmp r1, r2, asr #31 cmpeq r0, r2 addlo sp, sp, #8 ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} cmp r4, #5 bls _02148ccc mov r0, #1 bl func_ov61_02148abc bl func_ov61_02147e08 mov r0, #1 bl func_ov61_02147ba4 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148ccc: mov r7, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02148d6c ldr r8, _02148f4c ; =data_ov61_0217ebe8 mov r5, #0 mov r4, #0x11 mov r6, r7 _02148cf0: bl func_ov61_0214a214 add r0, r0, r7 ldr r1, [r8] ldrb r0, [r0, #0x2d0] ldr r1, [r1, #8] tst r1, r6, lsl r0 bne _02148d58 bl func_ov61_0214a214 mov sl, r0 bl func_ov61_0214a214 mov sb, r0 bl func_ov61_0214a214 str r5, [sp] str r5, [sp, #4] add r0, r0, r7, lsl #1 add r1, sl, r7, lsl #2 add r2, sb, r7, lsl #2 ldrh r3, [r0, #0xa4] ldr r1, [r1, #0xf4] ldr r2, [r2, #0x24] mov r0, r4 bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148d58: add r7, r7, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r7, r0 ble _02148cf0 _02148d6c: ldr r0, _02148f4c ; =data_ov61_0217ebe8 add sp, sp, #8 ldr r1, [r0] ldrb r0, [r1, #2] add r0, r0, #1 strb r0, [r1, #2] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148d88: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #4 beq _02148dac bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #3 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148dac: ldr r0, _02148f4c ; =data_ov61_0217ebe8 ldr r4, [r0] bl func_ov61_0214a214 ldrb r1, [r4, #1] ldrb r2, [r0, #0xd] sub r0, r1, #1 cmp r2, r0 addlt sp, sp, #8 ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrb r0, [r4, #2] cmp r0, #0 bne _02148e20 ldr r0, _02148f4c ; =data_ov61_0217ebe8 ldr r4, [r0] bl func_0200e8f8 ldr r3, [r4, #0x10] ldr r2, [r4, #0x14] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _02148f50 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, [r4, #4] cmp r1, #0 cmpeq r0, r2 bhs _02148e78 _02148e20: ldrb r0, [r4, #2] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r0, _02148f4c ; =data_ov61_0217ebe8 ldr r4, [r0] bl func_0200e8f8 ldr r3, [r4, #0x18] ldr r2, [r4, #0x1c] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _02148f50 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac ldr r2, [r4, #4] cmp r1, #0 cmpeq r0, r2, lsr #2 addlo sp, sp, #8 ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148e78: bl func_ov61_0214a214 ldr r0, [r0, #0x204] cmp r0, #0 beq _02148ea4 bl func_ov61_0214a214 ldr r0, [r0, #0x204] bl func_ov61_02146d8c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02148ea4: mov r0, #0x13 bl func_ov61_0214a224 mov r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02148f28 mov r6, #0 mov r5, #0x11 _02148ec8: bl func_ov61_0214a214 mov r8, r0 bl func_ov61_0214a214 mov r7, r0 bl func_ov61_0214a214 str r6, [sp] str r6, [sp, #4] add r0, r0, r4, lsl #1 add r1, r8, r4, lsl #2 add r2, r7, r4, lsl #2 ldrh r3, [r0, #0xa4] ldr r1, [r1, #0xf4] ldr r2, [r2, #0x24] mov r0, r5 bl func_ov61_0214501c bl func_ov61_02146810 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add r4, r4, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r4, r0 ble _02148ec8 _02148f28: ldr r0, _02148f4c ; =data_ov61_0217ebe8 ldr r4, [r0] bl func_0200e8f8 str r0, [r4, #0x18] str r1, [r4, #0x1c] mov r0, #1 strb r0, [r4, #2] add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02148b2c _02148f4c: .word data_ov61_0217ebe8 _02148f50: .word 0x000082ea _02148f54: .word 0x00001770 .global func_ov61_02148f58 arm_func_start func_ov61_02148f58 func_ov61_02148f58: ; 0x02148f58 stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #4 addls pc, pc, r4, lsl #2 b _02148fb4 _02148f74: ; jump table b _02148fb4 ; case 0 b _02148f88 ; case 1 b _02148f94 ; case 2 b _02148fa0 ; case 3 b _02148fac ; case 4 _02148f88: mov r0, #9 sub r2, r0, #0xa b _02148fb4 _02148f94: mov r0, #9 sub r2, r0, #0xb b _02148fb4 _02148fa0: mov r0, #6 sub r2, r0, #0x10 b _02148fb4 _02148fac: mov r0, #6 sub r2, r0, #0x1a _02148fb4: ldr r1, _02148fc8 ; =0xfffec398 add r1, r2, r1 bl func_ov61_02143c14 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02148f58 _02148fc8: .word 0xfffec398 .global func_ov61_02148fcc arm_func_start func_ov61_02148fcc func_ov61_02148fcc: ; 0x02148fcc stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #6 addls pc, pc, r4, lsl #2 b _02149048 _02148fe8: ; jump table b _02149048 ; case 0 b _02149004 ; case 1 b _02149010 ; case 2 b _0214901c ; case 3 b _02149028 ; case 4 b _02149034 ; case 5 b _02149040 ; case 6 _02149004: mov r0, #6 sub r2, r0, #0x38 b _02149048 _02149010: mov r0, #6 sub r2, r0, #0x24 b _02149048 _0214901c: mov r0, #6 sub r2, r0, #0x1a b _02149048 _02149028: mov r0, #6 sub r2, r0, #0x2e b _02149048 _02149034: mov r0, #9 sub r2, r0, #0xa b _02149048 _02149040: mov r0, #9 sub r2, r0, #0xb _02149048: ldr r1, _0214905c ; =0xfffeb3f8 add r1, r2, r1 bl func_ov61_02143c14 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02148fcc _0214905c: .word 0xfffeb3f8 .global func_ov61_02149060 arm_func_start func_ov61_02149060 func_ov61_02149060: ; 0x02149060 stmdb sp!, {r4, r5, r6, lr} movs r6, r0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} cmp r6, #5 addls pc, pc, r6, lsl #2 b _021490cc _0214907c: ; jump table b _021490cc ; case 0 b _02149094 ; case 1 b _021490a0 ; case 2 b _021490ac ; case 3 b _021490b8 ; case 4 b _021490c4 ; case 5 _02149094: mov r5, #6 sub r4, r5, #0x38 b _021490cc _021490a0: mov r5, #6 sub r4, r5, #0x42 b _021490cc _021490ac: mov r5, #6 sub r4, r5, #0x24 b _021490cc _021490b8: mov r5, #6 sub r4, r5, #0x56 b _021490cc _021490c4: mov r5, #6 sub r4, r5, #0x1a _021490cc: bl func_ov61_0213f4e4 cmp r0, #2 beq _021490ec cmp r0, #4 beq _021490fc cmp r0, #5 beq _02149110 b _02149124 _021490ec: mov r0, r5 sub r1, r4, #0xfa00 bl func_ov61_02140324 b _02149134 _021490fc: ldr r1, _0214913c ; =0xfffedef0 mov r0, r5 add r1, r4, r1 bl func_ov61_02140fc8 b _02149134 _02149110: ldr r1, _02149140 ; =0xfffeb7e0 mov r0, r5 add r1, r4, r1 bl func_ov61_02143c14 b _02149134 _02149124: ldr r1, _02149144 ; =0xfffe90d0 mov r0, r5 add r1, r4, r1 bl func_ov61_0213e008 _02149134: mov r0, r6 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02149060 _0214913c: .word 0xfffedef0 _02149140: .word 0xfffeb7e0 _02149144: .word 0xfffe90d0 .global func_ov61_02149148 arm_func_start func_ov61_02149148 func_ov61_02149148: ; 0x02149148 stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #1 beq _02149178 cmp r4, #2 beq _02149184 cmp r4, #3 moveq r0, #6 subeq r2, r0, #0x24 b _0214918c _02149178: mov r0, #9 sub r2, r0, #0xa b _0214918c _02149184: mov r0, #6 sub r2, r0, #0x38 _0214918c: ldr r1, _021491a0 ; =0xfffeb010 add r1, r2, r1 bl func_ov61_02143c14 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02149148 _021491a0: .word 0xfffeb010 .global func_ov61_021491a4 arm_func_start func_ov61_021491a4 func_ov61_021491a4: ; 0x021491a4 stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #1 beq _021491c8 cmp r4, #2 beq _021491d0 b _021491d8 _021491c8: mov r0, #1 ldmia sp!, {r4, pc} _021491d0: mov r0, #2 ldmia sp!, {r4, pc} _021491d8: movs r0, #6 beq _021491e8 ldr r1, _021491f0 ; =0xfffeb007 bl func_ov61_02143c14 _021491e8: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021491a4 _021491f0: .word 0xfffeb007 .global func_ov61_021491f4 arm_func_start func_ov61_021491f4 func_ov61_021491f4: ; 0x021491f4 stmdb sp!, {r4, lr} movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} cmp r4, #7 addls pc, pc, r4, lsl #2 b _02149278 _02149210: ; jump table b _02149278 ; case 0 b _02149230 ; case 1 b _0214923c ; case 2 b _0214924c ; case 3 b _02149258 ; case 4 b _0214923c ; case 5 b _02149264 ; case 6 b _02149270 ; case 7 _02149230: mov r0, #9 sub r2, r0, #0xa b _02149278 _0214923c: mov r0, #0 mov r2, r0 mov r4, r0 b _02149278 _0214924c: mov r0, #6 sub r2, r0, #0x10 b _02149278 _02149258: mov r0, #6 sub r2, r0, #0x24 b _02149278 _02149264: mov r0, #6 sub r2, r0, #0x4c b _02149278 _02149270: mov r0, #6 sub r2, r0, #0x56 _02149278: cmp r0, #0 beq _0214928c ldr r1, _02149294 ; =0xfffeac28 add r1, r2, r1 bl func_ov61_02143c14 _0214928c: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021491f4 _02149294: .word 0xfffeac28 .global func_ov61_02149298 arm_func_start func_ov61_02149298 func_ov61_02149298: ; 0x02149298 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 cmp r1, #0 beq _021492b8 cmp r1, #4 beq _021492e4 cmp r1, #5 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021492b8: mov r0, r2 bl func_ov61_02149684 bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 ldr r2, _0214967c ; =0x00efb5f7 adds r0, r0, r2 str r0, [r4, #0x174] adc r0, r1, #0 str r0, [r4, #0x178] ldmia sp!, {r3, r4, r5, r6, r7, pc} _021492e4: bl func_ov61_0214a214 mov r5, #0 str r5, [r0, #0x174] str r5, [r0, #0x178] mov r0, r6 bl func_ov61_02162e84 cmp r0, #0 ble _02149344 _02149304: mov r0, r6 mov r1, r5 bl func_ov61_02162e74 mov r4, r0 bl func_ov61_021488f0 cmp r0, #0 bne _02149330 mov r0, r6 mov r1, r4 bl func_ov61_02162dc8 sub r5, r5, #1 _02149330: mov r0, r6 add r5, r5, #1 bl func_ov61_02162e84 cmp r5, r0 blt _02149304 _02149344: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #2 beq _02149368 cmp r0, #3 beq _02149458 cmp r0, #5 beq _021494c8 b _02149658 _02149368: mov r0, r6 mov r5, #0 bl func_ov61_02162e84 cmp r0, #0 ble _021493f8 _0214937c: mov r0, r6 mov r1, r5 bl func_ov61_02162e74 mov r4, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x1c] cmp r0, #0 beq _021493e4 bl func_ov61_0214a214 mov r7, r0 mov r0, r4 bl func_ov61_02162334 ldr r1, [r7, #0x1c] cmp r1, r0 bne _021493e4 bl func_ov61_0214a214 ldrh r0, [r0, #0x1a] cmp r0, #0 beq _021493e4 bl func_ov61_0214a214 mov r7, r0 mov r0, r4 bl func_ov61_0216233c ldrh r1, [r7, #0x1a] cmp r1, r0 beq _021493f8 _021493e4: mov r0, r6 add r5, r5, #1 bl func_ov61_02162e84 cmp r5, r0 blt _0214937c _021493f8: mov r0, r6 bl func_ov61_02162e84 cmp r5, r0 bge _02149434 mov r0, #3 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x204] bl func_ov61_0214a214 ldr r0, [r0, #0x204] bl func_ov61_02144a10 bl func_ov61_02148fcc cmp r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02149434: bl func_ov61_0214a214 mov r1, #2 str r1, [r0, #0xe8] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0xec] str r1, [r4, #0xf0] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02149458: mov r0, #1 bl func_ov61_02149688 bl func_ov61_02149860 mov r0, r6 bl func_ov61_02162e84 cmp r0, #0 beq _021494a4 mov r0, #0 mov r1, r0 bl func_ov61_0214683c bl func_ov61_02146810 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #4 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0xe8] ldmia sp!, {r3, r4, r5, r6, r7, pc} _021494a4: bl func_ov61_0214a214 mov r1, #2 str r1, [r0, #0xe8] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0xec] str r1, [r4, #0xf0] ldmia sp!, {r3, r4, r5, r6, r7, pc} _021494c8: mov r0, r6 bl func_ov61_02162e84 cmp r0, #0 beq _02149540 mov r4, #0 _021494dc: mov r0, r6 mov r1, r4 bl func_ov61_02162e74 mov r5, r0 bl func_ov61_02162334 mov r7, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x1b8] cmp r7, r0 bne _02149524 mov r0, r5 bl func_ov61_0216233c mov r7, r0 bl func_ov61_0214a214 add r0, r0, #0x100 ldrh r0, [r0, #0xb4] cmp r7, r0 beq _02149540 _02149524: mov r0, r6 mov r1, r5 bl func_ov61_02162dc8 mov r0, r6 bl func_ov61_02162e84 cmp r0, #0 bne _021494dc _02149540: mov r0, r6 bl func_ov61_02162e84 cmp r0, #0 beq _02149634 mov r0, r6 mov r1, #0 bl func_ov61_02162e74 ldr r1, _02149680 ; =data_ov61_0217a758 mov r2, #0 bl func_ov61_02162270 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #1 bne _02149604 bl func_ov61_0214a214 ldr r0, [r0, #0xf4] cmp r4, r0 bne _02149604 mov r0, #0 bl func_ov61_02149688 cmp r0, #0 beq _021495c0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #0 beq _02149604 bl func_ov61_021470bc bl func_ov61_02146810 cmp r0, #0 beq _02149604 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021495c0: bl func_ov61_0214a214 ldr r0, [r0, #0xf4] bl func_ov61_02146d8c bl func_ov61_02146810 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #4 bl func_ov61_0214a224 bl func_ov61_0214a214 mov r1, r0 mov r0, #0 ldr r2, [r1, #0xf4] mov r1, r0 bl func_ov61_021469ec bl func_ov61_02146810 cmp r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02149604: mov r0, #6 bl func_ov61_0214a224 mov r0, r6 mov r1, #0 bl func_ov61_02162e74 mov r2, r0 mov r0, #0 mov r1, r0 bl func_ov61_02144c74 bl func_ov61_02149148 cmp r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02149634: bl func_ov61_0214a214 mov r1, #2 str r1, [r0, #0xe8] bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0xec] str r1, [r4, #0xf0] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02149658: bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 ldr r2, _0214967c ; =0x00efb5f7 adds r0, r0, r2 str r0, [r4, #0x174] adc r0, r1, #0 str r0, [r4, #0x178] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02149298 _0214967c: .word 0x00efb5f7 _02149680: .word data_ov61_0217a758 .global func_ov61_02149684 arm_func_start func_ov61_02149684 func_ov61_02149684: ; 0x02149684 bx lr arm_func_end func_ov61_02149684 .global func_ov61_02149688 arm_func_start func_ov61_02149688 func_ov61_02149688: ; 0x02149688 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r4, #0 mov sl, r0 mov r7, r4 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp r0, #0 ble _021497f8 _021496ac: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] mov r1, r7 bl func_ov61_02162e74 mov sb, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #0 bne _02149748 ldr r1, _02149854 ; =data_ov61_0217a758 mov r0, sb mov r2, #0 bl func_ov61_02162270 mov r6, r0 mov r5, #0 mov r8, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r0, #1 blt _02149740 _021496fc: bl func_ov61_0214a214 add r0, r0, r8, lsl #2 ldr r0, [r0, #0xf4] cmp r6, r0 bne _0214972c bl func_ov61_0214a214 ldr r0, [r0, #0xe4] mov r1, sb bl func_ov61_02162dc8 sub r7, r7, #1 mov r5, #1 b _02149740 _0214972c: add r8, r8, #1 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] cmp r8, r0 ble _021496fc _02149740: cmp r5, #0 bne _021497e0 _02149748: bl func_ov61_0214a214 ldr r0, [r0, #0x474] cmp r0, #0 beq _021497c8 bl func_ov61_0214a214 mov r5, r0 bl func_ov61_0214a214 ldr r1, [r0, #0x478] ldr r2, [r5, #0x474] mov r0, r7 blx r2 mov r5, r0 cmp r5, #0 ble _021497ac ldr r0, _02149858 ; =0x007fffff cmp r5, r0 movgt r5, r0 mov r0, #0x100 bl func_ov61_0213e6f4 mov r2, r0 ldr r1, _0214985c ; =data_ov61_0217a784 mov r0, sb orr r2, r2, r5, lsl #8 bl func_ov61_021621cc b _021497e0 _021497ac: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] mov r1, sb bl func_ov61_02162dc8 sub r7, r7, #1 mov r4, #1 b _021497e0 _021497c8: mov r0, #0x80 bl func_ov61_0213e6f4 mov r2, r0 ldr r1, _0214985c ; =data_ov61_0217a784 mov r0, sb bl func_ov61_021621cc _021497e0: add r7, r7, #1 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp r7, r0 blt _021496ac _021497f8: cmp sl, #0 beq _0214982c bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp r0, #0 beq _0214982c bl func_ov61_0214a214 mov r1, #0 ldr r0, [r0, #0xe4] ldr r2, _0214985c ; =data_ov61_0217a784 mov r3, r1 bl func_ov61_02162e94 _0214982c: cmp r4, #0 beq _0214984c bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214984c: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02149688 _02149854: .word data_ov61_0217a758 _02149858: .word 0x007fffff _0214985c: .word data_ov61_0217a784 .global func_ov61_02149860 arm_func_start func_ov61_02149860 func_ov61_02149860: ; 0x02149860 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 mov r7, #0 mov r8, r7 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp r0, #1 addle sp, sp, #0x18 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov sb, r7 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp r0, #0 ble _021498f0 ldr r4, _021499c8 ; =data_ov61_0217a210 ldr r6, _021499cc ; =data_ov61_0217a784 mvn r5, #0 _021498ac: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] mov r1, sb bl func_ov61_02162e74 mov r1, r6 mov r2, r5 bl func_ov61_02162270 cmp r0, r7 movgt r7, r0 ldr r0, [r4, sb, lsl #2] add sb, sb, #1 add r8, r8, r0 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp sb, r0 blt _021498ac _021498f0: mov r0, #0x64 bl func_ov61_0213e6f4 mov r6, r0 mov sb, #0 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp r0, #0 ble _02149980 ldr r4, _021499c8 ; =data_ov61_0217a210 add r5, sp, #0 mov fp, #0x64 _02149920: bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 sub r0, r0, #1 cmp sb, r0 beq _02149980 ldr r2, [r4, sb, lsl #2] cmp sb, #0 addgt r0, r5, sb, lsl #2 ldrgt sl, [r0, #-4] mul r0, r2, fp movle sl, #0 mov r1, r8 bl func_02002c14 add r0, r0, sl str r0, [r5, sb, lsl #2] cmp r6, r0 blo _02149980 add sb, sb, #1 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] bl func_ov61_02162e84 cmp sb, r0 blt _02149920 _02149980: mvn r0, #0x80000000 cmp r7, r0 addlt r7, r7, #1 bl func_ov61_0214a214 ldr r0, [r0, #0xe4] mov r1, sb bl func_ov61_02162e74 ldr r1, _021499cc ; =data_ov61_0217a784 mov r2, r7 bl func_ov61_021621cc bl func_ov61_0214a214 mov r1, #0 ldr r0, [r0, #0xe4] ldr r2, _021499cc ; =data_ov61_0217a784 mov r3, r1 bl func_ov61_02162e94 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02149860 _021499c8: .word data_ov61_0217a210 _021499cc: .word data_ov61_0217a784 .global func_ov61_021499d0 arm_func_start func_ov61_021499d0 func_ov61_021499d0: ; 0x021499d0 stmdb sp!, {r4, lr} mov r4, r1 cmp r0, #0x32 bgt _02149a04 bge _02149a4c cmp r0, #0xa bgt _02149aa8 cmp r0, #8 blt _02149aa8 beq _02149a24 cmp r0, #0xa beq _02149a38 b _02149aa8 _02149a04: sub r1, r0, #0x33 cmp r1, #3 addls pc, pc, r1, lsl #2 b _02149aa8 _02149a14: ; jump table b _02149a60 ; case 0 b _02149a74 ; case 1 b _02149a88 ; case 2 b _02149a98 ; case 3 _02149a24: bl func_ov61_0214a214 ldrb r1, [r0, #0x14] mov r0, r4 bl func_ov61_02178048 ldmia sp!, {r4, pc} _02149a38: bl func_ov61_0214a214 ldrb r1, [r0, #0x16] mov r0, r4 bl func_ov61_02178048 ldmia sp!, {r4, pc} _02149a4c: bl func_ov61_0214a214 ldr r1, [r0, #0x200] mov r0, r4 bl func_ov61_02178048 ldmia sp!, {r4, pc} _02149a60: bl func_ov61_0214a214 ldrb r1, [r0, #0x15] mov r0, r4 bl func_ov61_02178048 ldmia sp!, {r4, pc} _02149a74: bl func_ov61_0214a214 ldr r1, [r0, #0x20] mov r0, r4 bl func_ov61_02178048 ldmia sp!, {r4, pc} _02149a88: mov r0, r4 mov r1, #3 bl func_ov61_02178048 ldmia sp!, {r4, pc} _02149a98: mov r0, r4 mov r1, #1 bl func_ov61_02178048 ldmia sp!, {r4, pc} _02149aa8: subs r1, r0, #0x64 ldmmiia sp!, {r4, pc} cmp r1, #0x9a ldmgeia sp!, {r4, pc} mov r0, #0xc mul r2, r1, r0 ldr r0, _02149b0c ; =data_ov61_0217ebf8 ldrb r0, [r0, r2] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _02149b10 ; =data_ov61_0217ebf9 ldrb r0, [r0, r2] cmp r0, #0 beq _02149af4 ldr r1, _02149b14 ; =data_ov61_0217ec00 mov r0, r4 ldr r1, [r1, r2] bl func_ov61_0217807c ldmia sp!, {r4, pc} _02149af4: ldr r1, _02149b14 ; =data_ov61_0217ec00 mov r0, r4 ldr r1, [r1, r2] ldr r1, [r1] bl func_ov61_02178048 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021499d0 _02149b0c: .word data_ov61_0217ebf8 _02149b10: .word data_ov61_0217ebf9 _02149b14: .word data_ov61_0217ec00 .global func_ov61_02149b18 arm_func_start func_ov61_02149b18 func_ov61_02149b18: ; 0x02149b18 bx lr arm_func_end func_ov61_02149b18 .global func_ov61_02149b1c arm_func_start func_ov61_02149b1c func_ov61_02149b1c: ; 0x02149b1c bx lr arm_func_end func_ov61_02149b1c .global func_ov61_02149b20 arm_func_start func_ov61_02149b20 func_ov61_02149b20: ; 0x02149b20 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 cmp r0, #0 beq _02149b3c cmp r0, #1 cmpne r0, #2 ldmia sp!, {r4, r5, r6, pc} _02149b3c: mov r0, r6 mov r1, #8 bl func_ov61_0217801c mov r0, r6 mov r1, #0xa bl func_ov61_0217801c mov r0, r6 mov r1, #0x32 bl func_ov61_0217801c mov r0, r6 mov r1, #0x33 bl func_ov61_0217801c mov r0, r6 mov r1, #0x34 bl func_ov61_0217801c mov r0, r6 mov r1, #0x35 bl func_ov61_0217801c mov r0, r6 mov r1, #0x36 bl func_ov61_0217801c ldr r5, _02149bc0 ; =data_ov61_0217ebf8 mov r4, #0 _02149b98: ldrb r1, [r5] cmp r1, #0 beq _02149bac mov r0, r6 bl func_ov61_0217801c _02149bac: add r4, r4, #1 cmp r4, #0x9a add r5, r5, #0xc blt _02149b98 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02149b20 _02149bc0: .word data_ov61_0217ebf8 .global func_ov61_02149bc4 arm_func_start func_ov61_02149bc4 func_ov61_02149bc4: ; 0x02149bc4 mov r0, #0 bx lr arm_func_end func_ov61_02149bc4 .global func_ov61_02149bcc arm_func_start func_ov61_02149bcc func_ov61_02149bcc: ; 0x02149bcc ldr ip, _02149bd4 ; =func_ov61_02149060 bx ip .align 2, 0 arm_func_end func_ov61_02149bcc _02149bd4: .word func_ov61_02149060 .global func_ov61_02149bd8 arm_func_start func_ov61_02149bd8 func_ov61_02149bd8: ; 0x02149bd8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov61_0214a214 str r5, [r0, #0x1c] bl func_ov61_0214a214 strh r4, [r0, #0x1a] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02149bd8 .global func_ov61_02149bf8 arm_func_start func_ov61_02149bf8 func_ov61_02149bf8: ; 0x02149bf8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #1 bne _02149c1c mov r0, #6 bl func_ov61_0214a224 b _02149c3c _02149c1c: bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #6 beq _02149c3c bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb ldmneia sp!, {r4, pc} _02149c3c: bl func_ov61_0214a214 ldr r0, [r0, #0x180] cmp r4, r0 bne _02149c60 bl func_ov61_0214a214 ldrb r1, [r0, #0x17c] add r1, r1, #1 strb r1, [r0, #0x17c] b _02149c74 _02149c60: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17c] bl func_ov61_0214a214 str r4, [r0, #0x180] _02149c74: bl func_ov61_0214a214 mov r2, #0 str r2, [r0, #0x184] str r2, [r0, #0x188] mov r1, r4 mov r0, #1 bl func_ov61_02144c74 bl func_ov61_02149148 cmp r0, #0 ldmneia sp!, {r4, pc} bl func_ov61_0214a214 mov r1, #0xff strb r1, [r0, #0x3cc] ldmia sp!, {r4, pc} arm_func_end func_ov61_02149bf8 .global func_ov61_02149cac arm_func_start func_ov61_02149cac func_ov61_02149cac: ; 0x02149cac stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x9c mov sl, r0 mov sb, r1 mov r8, #0 bl func_ov61_0213f4e4 cmp r0, #5 beq _02149d00 bl func_ov61_0213f4e4 cmp r0, #6 addne sp, sp, #0x9c ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 beq _02149d00 bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 addne sp, sp, #0x9c ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02149d00: cmp sb, #0x14 addlo sp, sp, #0x9c ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r5, _02149db4 ; =data_ov61_0217a800 add r4, sp, #0x1c add r7, sp, #8 mov r6, #0x14 mov fp, #4 _02149d20: mov r0, sl mov r1, r7 mov r2, r6 bl func_02007ad8 mov r0, r7 mov r1, r5 mov r2, fp bl func_02047280 cmp r0, #0 ldreq r0, [sp, #0xc] cmpeq r0, #3 addne sp, sp, #0x9c ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r2, [sp, #0x11] mov r1, r4 add r0, sl, #0x14 bl func_02007ad8 str r4, [sp] ldrb r0, [sp, #0x11] mov r0, r0, asr #0x2 str r0, [sp, #4] ldrb r0, [sp, #0x10] ldrh r3, [sp, #0x12] ldr r1, [sp, #0x18] ldr r2, [sp, #0x14] bl func_ov61_02145420 cmp r0, #0 addeq sp, sp, #0x9c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r0, [sp, #0x11] add r0, r0, #0x14 add r8, r8, r0 add r0, r8, #0x14 cmp r0, sb bls _02149d20 add sp, sp, #0x9c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02149cac _02149db4: .word data_ov61_0217a800 .global func_ov61_02149db8 arm_func_start func_ov61_02149db8 func_ov61_02149db8: ; 0x02149db8 bx lr arm_func_end func_ov61_02149db8 .global func_ov61_02149dbc arm_func_start func_ov61_02149dbc func_ov61_02149dbc: ; 0x02149dbc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c mov r5, r0 mov r6, r2 mov r4, r3 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #6 beq _02149df4 bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, pc} _02149df4: cmp r4, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, pc} cmp r5, #0 bne _02149ff0 mov r0, #0 str r0, [r4, #8] bl func_ov61_0214a214 ldrb r1, [r0, #0x14] add r1, r1, #1 strb r1, [r0, #0x14] bl func_ov61_0214a214 ldrb r1, [r4] ldrb r5, [r0, #0x14] cmp r1, #0 beq _02149f88 bl func_ov61_0214a214 ldr r1, [r6, #4] add r0, r0, r5, lsl #2 str r1, [r0, #0x210] ldrh r4, [r6, #2] bl func_ov61_0214a214 mov r2, r4, asr #0x8 mov r1, r4, lsl #0x8 add r0, r0, r5, lsl #1 and r2, r2, #0xff and r1, r1, #0xff00 orr r1, r2, r1 add r0, r0, #0x200 strh r1, [r0, #0x90] bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17c] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x180] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x184] str r1, [r0, #0x188] bl func_ov61_0214a214 ldr r0, [r0, #0x1a0] cmp r0, #0xb bne _02149eb0 mov r0, #0xc bl func_ov61_0214a224 b _02149eb8 _02149eb0: mov r0, #7 bl func_ov61_0214a224 _02149eb8: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0xc] bl func_ov61_0214a214 ldr r3, [r0, #0x200] ldr r2, _0214a18c ; =data_ov61_0217a708 add r0, sp, #0x10 mov r1, #0xc bl func_0200c910 bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 mov r6, r0 bl func_ov61_0214a214 add r1, r6, r5, lsl #2 mov r2, r0 ldr r0, [r1, #0x210] add r1, r2, r5, lsl #1 add r1, r1, #0x200 ldrh r1, [r1, #0x90] mov r2, #0 bl func_ov61_021769a4 mov r6, r0 bl func_ov61_0214a214 mvn r1, #0 str r1, [sp] ldr r3, _0214a190 ; =0x00001388 mov r1, #0 str r3, [sp, #4] ldr r0, [r0, #8] mov r2, r6 str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r4, #4] add r3, sp, #0x10 ldr r0, [r0] bl func_ov61_02174298 cmp r0, #1 bne _02149f60 bl func_ov61_021491f4 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} _02149f60: cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, pc} bl func_ov61_0214a214 add r0, r0, r5, lsl #2 ldr r0, [r0, #0xf4] bl func_ov61_02146de0 add sp, sp, #0x1c cmp r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _02149f88: cmp r6, #0 beq _02149fcc sub r5, r5, #1 bl func_ov61_0214a214 ldr r1, [r6, #4] add r0, r0, r5, lsl #2 str r1, [r0, #0x210] ldrh r4, [r6, #2] bl func_ov61_0214a214 mov r2, r4, asr #0x8 mov r1, r4, lsl #0x8 add r0, r0, r5, lsl #1 and r2, r2, #0xff and r1, r1, #0xff00 orr r1, r2, r1 add r0, r0, #0x200 strh r1, [r0, #0x90] _02149fcc: bl func_ov61_0214a214 mov r4, r0 bl func_0200e8f8 str r0, [r4, #0x18c] mov r0, #7 str r1, [r4, #0x190] bl func_ov61_0214a224 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} _02149ff0: ldr r0, [r4, #8] cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r5 bl func_ov61_021491a4 mov r6, r0 cmp r6, #2 cmpne r6, #1 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, pc} ldrb r0, [r4] cmp r0, #0 bne _0214a0a8 cmp r6, #1 beq _0214a044 cmp r6, #2 bne _0214a084 ldrb r0, [r4, #1] cmp r0, #1 blo _0214a084 _0214a044: mov r0, #0 str r0, [r4, #8] bl func_ov61_0214a194 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, pc} bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] bl func_ov61_02146ffc add sp, sp, #0x1c cmp r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _0214a084: ldrb r1, [r4, #1] mov r0, r4 add r1, r1, #1 strb r1, [r4, #1] bl func_ov61_02144f60 bl func_ov61_02149148 add sp, sp, #0x1c cmp r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _0214a0a8: bl func_ov61_0214a214 mov r5, r0 bl func_0200e8f8 str r0, [r5, #0x184] str r1, [r5, #0x188] cmp r6, #1 beq _0214a0e4 cmp r6, #2 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x17c] cmp r0, #1 addlo sp, sp, #0x1c ldmloia sp!, {r3, r4, r5, r6, pc} _0214a0e4: mov r0, #0 str r0, [r4, #8] bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 beq _0214a10c bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #2 bne _0214a124 _0214a10c: mov r0, #1 bl func_ov61_0214a194 cmp r0, #0 bne _0214a138 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} _0214a124: mov r0, #0 bl func_ov61_0214a194 cmp r0, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, r5, r6, pc} _0214a138: bl func_ov61_0214a214 mov r1, #0 strb r1, [r0, #0x17c] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x180] bl func_ov61_0214a214 mov r1, #0 str r1, [r0, #0x184] str r1, [r0, #0x188] bl func_ov61_0214a214 mov r4, r0 bl func_ov61_0214a214 ldrb r0, [r0, #0xd] add r0, r0, #1 add r0, r4, r0, lsl #2 ldr r0, [r0, #0xf4] bl func_ov61_02146de0 cmp r0, #0 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02149dbc _0214a18c: .word data_ov61_0217a708 _0214a190: .word 0x00001388 .global func_ov61_0214a194 arm_func_start func_ov61_0214a194 func_ov61_0214a194: ; 0x0214a194 stmdb sp!, {r3, lr} cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 beq _0214a1c4 bl func_ov61_0214a214 ldrb r1, [r0, #0x17d] add r1, r1, #1 strb r1, [r0, #0x17d] _0214a1c4: bl func_ov61_0214a214 ldrb r0, [r0, #0x15] cmp r0, #3 beq _0214a1e4 bl func_ov61_0214a214 ldrb r0, [r0, #0x17d] cmp r0, #5 blo _0214a1f8 _0214a1e4: ldr r1, _0214a200 ; =0xfffeae6c mov r0, #6 bl func_ov61_02143c14 mov r0, #0 ldmia sp!, {r3, pc} _0214a1f8: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214a194 _0214a200: .word 0xfffeae6c .global func_ov61_0214a204 arm_func_start func_ov61_0214a204 func_ov61_0214a204: ; 0x0214a204 ldr r1, _0214a210 ; =data_ov61_0217ebe8 str r0, [r1, #4] bx lr .align 2, 0 arm_func_end func_ov61_0214a204 _0214a210: .word data_ov61_0217ebe8 .global func_ov61_0214a214 arm_func_start func_ov61_0214a214 func_ov61_0214a214: ; 0x0214a214 ldr r0, _0214a220 ; =data_ov61_0217ebe8 ldr r0, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov61_0214a214 _0214a220: .word data_ov61_0217ebe8 .global func_ov61_0214a224 arm_func_start func_ov61_0214a224 func_ov61_0214a224: ; 0x0214a224 ldr r1, _0214a234 ; =data_ov61_0217ebe8 ldr r1, [r1, #4] str r0, [r1, #0x1a0] bx lr .align 2, 0 arm_func_end func_ov61_0214a224 _0214a234: .word data_ov61_0217ebe8 .global func_ov61_0214a238 arm_func_start func_ov61_0214a238 func_ov61_0214a238: ; 0x0214a238 ldr ip, _0214a244 ; =func_ov61_0214a248 mov r1, #1 bx ip .align 2, 0 arm_func_end func_ov61_0214a238 _0214a244: .word func_ov61_0214a248 .global func_ov61_0214a248 arm_func_start func_ov61_0214a248 func_ov61_0214a248: ; 0x0214a248 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 bl func_ov61_0213dfec cmp r0, #0 bne _0214a288 cmp r5, #1 bne _0214a278 mov r0, r4 bl func_ov61_0213f4ac cmp r0, #0 beq _0214a288 _0214a278: mov r0, r4 bl func_ov61_0213f730 cmp r0, #0 bne _0214a290 _0214a288: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0214a290: mov r0, r4 bl func_ov61_0214aa1c cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r4 bl func_ov61_0214adf4 mov r4, r0 mov r0, r5 bl func_ov61_0214a6b0 cmp r4, r0 movge r0, #1 movlt r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214a248 .global func_ov61_0214a2c8 arm_func_start func_ov61_0214a2c8 func_ov61_0214a2c8: ; 0x0214a2c8 stmdb sp!, {r3, lr} mov ip, r1 mov r3, r2 mov r1, r0 mov r2, ip mov r0, #1 bl func_ov61_0214a2e8 ldmia sp!, {r3, pc} arm_func_end func_ov61_0214a2c8 .global func_ov61_0214a2e8 arm_func_start func_ov61_0214a2e8 func_ov61_0214a2e8: ; 0x0214a2e8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 mov r7, r1 mov r8, r0 mov r0, r7 mov r6, r2 mov r5, r3 bl func_ov61_0214aa04 mov r4, r0 mov r0, r7 mov r1, r8 bl func_ov61_0214a248 cmp r0, #0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, #1 strb r0, [r4, #0x1c] str r6, [r4] mov r0, #0 str r0, [r4, #0xc] add r0, sp, #0 mov r1, r8 mov r2, r5 str r5, [r4, #0x14] bl func_ov61_0214a644 add r1, sp, #0 mov r0, r7 mov r2, #8 mov r3, #1 bl func_ov61_0214aa54 ldr r0, _0214a404 ; =data_ov61_0217f350 ldr r0, [r0] add r0, r0, #0x600 ldrh sb, [r0, #0x10] mov r0, r7 cmp r5, sb movle sb, r5 bl func_ov61_0214adf4 cmp sb, r0 addgt sp, sp, #8 movgt r0, #1 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r7 mov r1, r6 mov r2, sb mov r3, #1 bl func_ov61_0214aa54 ldr r0, [r4, #0xc] add r1, r0, sb str r1, [r4, #0xc] ldr r0, [r4, #0x14] cmp r1, r0 bne _0214a3f8 mov r2, #0 strb r2, [r4, #0x1c] str r2, [r4] str r2, [r4, #0xc] ldr r1, _0214a404 ; =data_ov61_0217f350 str r2, [r4, #0x14] ldr r1, [r1] ldr r2, [r1, #0x600] cmp r2, #0 beq _0214a3f8 cmp r8, #1 bne _0214a3f8 mov r1, r7 blx r2 _0214a3f8: mov r0, #1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0214a2e8 _0214a404: .word data_ov61_0217f350 .global func_ov61_0214a408 arm_func_start func_ov61_0214a408 func_ov61_0214a408: ; 0x0214a408 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r7, #1 mov r6, r0 mov r5, r1 mov r4, r2 mov sb, #0 mov r8, r7 _0214a424: cmp sb, #0 movne sl, r8, lsl sb moveq sl, r7 tst r6, sl beq _0214a460 bl func_ov61_0213f40c cmp sb, r0 beq _0214a460 mov r0, sb mov r1, r5 mov r2, r4 bl func_ov61_0214a2c8 cmp r0, #0 mvneq r0, sl andeq r6, r6, r0 _0214a460: add r0, sb, #1 and sb, r0, #0xff cmp sb, #0x20 blo _0214a424 mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov61_0214a408 .global func_ov61_0214a478 arm_func_start func_ov61_0214a478 func_ov61_0214a478: ; 0x0214a478 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r6, r1 mov r4, r2 bl func_ov61_0213dfec cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r0, r5 bl func_ov61_0213f4ac cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0214a504 ; =data_ov61_0217f350 ldr r0, [r0] add r0, r0, #0x600 ldrh r0, [r0, #0x10] cmp r4, r0 movgt r0, #0 ldmgtia sp!, {r4, r5, r6, pc} mov r0, r5 mov r1, r6 mov r2, r4 mov r3, #0 bl func_ov61_0214aa54 ldr r0, _0214a504 ; =data_ov61_0217f350 ldr r0, [r0] ldr r2, [r0, #0x600] cmp r2, #0 beq _0214a4fc mov r0, r4 mov r1, r5 blx r2 _0214a4fc: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214a478 _0214a504: .word data_ov61_0217f350 .global func_ov61_0214a508 arm_func_start func_ov61_0214a508 func_ov61_0214a508: ; 0x0214a508 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r7, #1 mov r6, r0 mov r5, r1 mov r4, r2 mov sb, #0 mov r8, r7 _0214a524: cmp sb, #0 movne sl, r8, lsl sb moveq sl, r7 tst r6, sl beq _0214a560 bl func_ov61_0213f40c cmp sb, r0 beq _0214a560 mov r0, sb mov r1, r5 mov r2, r4 bl func_ov61_0214a478 cmp r0, #0 mvneq r0, sl andeq r6, r6, r0 _0214a560: add r0, sb, #1 and sb, r0, #0xff cmp sb, #0x20 blo _0214a524 mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov61_0214a508 .global func_ov61_0214a578 arm_func_start func_ov61_0214a578 func_ov61_0214a578: ; 0x0214a578 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl func_ov61_0214aa04 mov r4, r0 mov r0, r7 bl func_ov61_0214aa38 cmp r0, #2 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} str r6, [r4, #4] str r5, [r4, #8] mov r0, #1 strb r0, [r4, #0x1d] mov r1, #0 str r1, [r4, #0x10] str r1, [r4, #0x18] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0214a578 .global func_ov61_0214a5c4 arm_func_start func_ov61_0214a5c4 func_ov61_0214a5c4: ; 0x0214a5c4 ldr r1, _0214a5e0 ; =data_ov61_0217f350 ldr r1, [r1] cmp r1, #0 moveq r0, #0 strne r0, [r1, #0x600] movne r0, #1 bx lr .align 2, 0 arm_func_end func_ov61_0214a5c4 _0214a5e0: .word data_ov61_0217f350 .global func_ov61_0214a5e4 arm_func_start func_ov61_0214a5e4 func_ov61_0214a5e4: ; 0x0214a5e4 ldr r1, _0214a600 ; =data_ov61_0217f350 ldr r1, [r1] cmp r1, #0 moveq r0, #0 strne r0, [r1, #0x604] movne r0, #1 bx lr .align 2, 0 arm_func_end func_ov61_0214a5e4 _0214a600: .word data_ov61_0217f350 .global func_ov61_0214a604 arm_func_start func_ov61_0214a604 func_ov61_0214a604: ; 0x0214a604 ldr r1, _0214a620 ; =data_ov61_0217f350 ldr r1, [r1] cmp r1, #0 moveq r0, #0 strne r0, [r1, #0x608] movne r0, #1 bx lr .align 2, 0 arm_func_end func_ov61_0214a604 _0214a620: .word data_ov61_0217f350 .global func_ov61_0214a624 arm_func_start func_ov61_0214a624 func_ov61_0214a624: ; 0x0214a624 ldr r1, _0214a640 ; =data_ov61_0217f350 ldr r1, [r1] cmp r1, #0 moveq r0, #0 strne r0, [r1, #0x60c] movne r0, #1 bx lr .align 2, 0 arm_func_end func_ov61_0214a624 _0214a640: .word data_ov61_0217f350 .global func_ov61_0214a644 arm_func_start func_ov61_0214a644 func_ov61_0214a644: ; 0x0214a644 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 ldr r1, _0214a670 ; =data_ov61_0217a834 add r0, r6, #6 mov r2, #2 bl func_020470ec strh r5, [r6, #4] str r4, [r6] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214a644 _0214a670: .word data_ov61_0217a834 .global func_ov61_0214a674 arm_func_start func_ov61_0214a674 func_ov61_0214a674: ; 0x0214a674 stmdb sp!, {r3, lr} sub sp, sp, #8 add r1, sp, #0 mov r2, #8 bl func_02007ad8 ldr r1, _0214a6ac ; =data_ov61_0217a834 add r0, sp, #6 mov r2, #2 bl func_0204366c cmp r0, #0 ldreqh r0, [sp, #4] movne r0, #0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214a674 _0214a6ac: .word data_ov61_0217a834 .global func_ov61_0214a6b0 arm_func_start func_ov61_0214a6b0 func_ov61_0214a6b0: ; 0x0214a6b0 cmp r0, #2 cmpne r0, #3 cmpne r0, #4 bne _0214a6c8 mov r0, #0xc bx lr _0214a6c8: mov r0, #8 bx lr arm_func_end func_ov61_0214a6b0 .global func_ov61_0214a6d0 arm_func_start func_ov61_0214a6d0 func_ov61_0214a6d0: ; 0x0214a6d0 stmdb sp!, {r4, lr} ldr r2, _0214a718 ; =data_ov61_0217f350 ldr r3, [r2] cmp r3, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r2, #0x30 mul r4, r0, r2 add r0, r3, r4 str r1, [r0, #0x2c] bl func_0200e8f8 ldr r2, _0214a718 ; =data_ov61_0217f350 ldr r2, [r2] add r2, r2, r4 str r0, [r2, #0x24] str r1, [r2, #0x28] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214a6d0 _0214a718: .word data_ov61_0217f350 .global func_ov61_0214a71c arm_func_start func_ov61_0214a71c func_ov61_0214a71c: ; 0x0214a71c stmdb sp!, {r3, lr} ldr r3, _0214a74c ; =data_ov61_0217f350 ldr r2, _0214a750 ; =0x00000614 mov r1, #0 str r0, [r3] bl func_02007a44 ldr r0, _0214a74c ; =data_ov61_0217f350 ldr r1, _0214a754 ; =0x000005b9 ldr r0, [r0] add r0, r0, #0x600 strh r1, [r0, #0x10] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214a71c _0214a74c: .word data_ov61_0217f350 _0214a750: .word 0x00000614 _0214a754: .word 0x000005b9 .global func_ov61_0214a758 arm_func_start func_ov61_0214a758 func_ov61_0214a758: ; 0x0214a758 stmdb sp!, {r3, lr} ldr ip, _0214a790 ; =data_ov61_0217f350 ldr ip, [ip] cmp ip, #0 ldmeqia sp!, {r3, pc} cmp r1, #0 cmpne r2, #0 ldmeqia sp!, {r3, pc} cmp r3, #0 beq _0214a788 bl func_ov61_0214aa7c ldmia sp!, {r3, pc} _0214a788: bl func_ov61_0214ab70 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214a758 _0214a790: .word data_ov61_0217f350 .global func_ov61_0214a794 arm_func_start func_ov61_0214a794 func_ov61_0214a794: ; 0x0214a794 stmdb sp!, {r4, lr} ldr r2, _0214a7d0 ; =data_ov61_0217f350 mov r4, r1 ldr r1, [r2] ldr r1, [r1, #0x60c] cmp r1, #0 ldmeqia sp!, {r4, pc} bl func_ov61_0213f62c ldr r2, _0214a7d0 ; =data_ov61_0217f350 mov r1, r0 ldr r2, [r2] mov r0, r4 ldr r2, [r2, #0x60c] blx r2 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214a794 _0214a7d0: .word data_ov61_0217f350 .global func_ov61_0214a7d4 arm_func_start func_ov61_0214a7d4 func_ov61_0214a7d4: ; 0x0214a7d4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r0, _0214a960 ; =data_ov61_0217f350 ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, sp, #0 bl func_ov61_0213f428 mov r7, r0 mov r8, #0 cmp r7, #0 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r4, _0214a960 ; =data_ov61_0217f350 mov fp, r8 _0214a808: ldr r0, [sp] ldrb sb, [r0, r8] mov r0, sb bl func_ov61_0213f4ac cmp r0, #0 beq _0214a89c mov r0, sb bl func_ov61_0214aa04 ldr r1, [r4] mov r6, r0 ldr r0, [r1, #0x608] cmp r0, #0 ldrne r0, [r6, #0x2c] cmpne r0, #0 beq _0214a89c bl func_0200e8f8 mov sl, r1 ldr r2, [r6, #0x24] mov r5, r0 subs r2, r5, r2 ldr r1, [r6, #0x28] mov r0, r2, lsl #0x6 sbc r1, sl, r1 mov r1, r1, lsl #0x6 orr r1, r1, r2, lsr #26 ldr r2, _0214a964 ; =0x000082ea mov r3, #0 bl func_02002bac ldr r1, [r6, #0x2c] cmp r0, r1 bls _0214a89c ldr r1, [r4] mov r0, sb ldr r1, [r1, #0x608] blx r1 str r5, [r6, #0x24] str sl, [r6, #0x28] _0214a89c: bl func_ov61_0213f40c cmp sb, r0 beq _0214a950 mov r0, sb bl func_ov61_0214aa1c cmp r0, #1 bne _0214a950 mov r0, sb bl func_ov61_0214aa04 mov r5, r0 ldr r0, [r4] ldr r2, [r5, #0x14] add r0, r0, #0x600 ldr r1, [r5, #0xc] ldrh r6, [r0, #0x10] sub r0, r2, r1 cmp r0, r6 movle r6, r0 mov r0, sb bl func_ov61_0214adf4 cmp r0, r6 blt _0214a950 ldr r3, [r5] ldr r1, [r5, #0xc] mov r0, sb add r1, r3, r1 mov r2, r6 mov r3, #1 bl func_ov61_0214aa54 ldr r0, [r5, #0xc] add r1, r0, r6 str r1, [r5, #0xc] ldr r0, [r5, #0x14] cmp r1, r0 bne _0214a950 strb fp, [r5, #0x1c] str fp, [r5] str fp, [r5, #0xc] str fp, [r5, #0x14] ldr r1, [r4] ldr r2, [r1, #0x600] cmp r2, #0 beq _0214a950 mov r1, sb blx r2 _0214a950: add r8, r8, #1 cmp r8, r7 blt _0214a808 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0214a7d4 _0214a960: .word data_ov61_0217f350 _0214a964: .word 0x000082ea .global func_ov61_0214a968 arm_func_start func_ov61_0214a968 func_ov61_0214a968: ; 0x0214a968 ldr r2, _0214a9ec ; =data_ov61_0217f350 ldr r3, [r2] cmp r3, #0 bxeq lr mov r1, #0x30 mul r1, r0, r1 add r0, r3, r1 mov r3, #0 str r3, [r0, #0xc] ldr r0, [r2] add r0, r0, r1 str r3, [r0, #0x10] ldr r0, [r2] add r0, r0, r1 str r3, [r0, #0x14] ldr r0, [r2] add r0, r0, r1 str r3, [r0, #0x18] ldr r0, [r2] add r0, r0, r1 strb r3, [r0, #0x1c] ldr r0, [r2] add r2, r0, #0x1d ldrb r0, [r2, r1] cmp r0, #0 movne r0, #1 strneb r0, [r2, r1] ldr r0, _0214a9ec ; =data_ov61_0217f350 mov r2, #0 ldr r0, [r0] add r0, r0, r1 strh r2, [r0, #0x22] bx lr .align 2, 0 arm_func_end func_ov61_0214a968 _0214a9ec: .word data_ov61_0217f350 .global func_ov61_0214a9f0 arm_func_start func_ov61_0214a9f0 func_ov61_0214a9f0: ; 0x0214a9f0 ldr r0, _0214aa00 ; =data_ov61_0217f350 mov r1, #0 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov61_0214a9f0 _0214aa00: .word data_ov61_0217f350 .global func_ov61_0214aa04 arm_func_start func_ov61_0214aa04 func_ov61_0214aa04: ; 0x0214aa04 ldr r2, _0214aa18 ; =data_ov61_0217f350 mov r1, #0x30 ldr r2, [r2] mla r0, r1, r0, r2 bx lr .align 2, 0 arm_func_end func_ov61_0214aa04 _0214aa18: .word data_ov61_0217f350 .global func_ov61_0214aa1c arm_func_start func_ov61_0214aa1c func_ov61_0214aa1c: ; 0x0214aa1c ldr r2, _0214aa34 ; =data_ov61_0217f350 mov r1, #0x30 ldr r2, [r2] mla r1, r0, r1, r2 ldrb r0, [r1, #0x1c] bx lr .align 2, 0 arm_func_end func_ov61_0214aa1c _0214aa34: .word data_ov61_0217f350 .global func_ov61_0214aa38 arm_func_start func_ov61_0214aa38 func_ov61_0214aa38: ; 0x0214aa38 ldr r2, _0214aa50 ; =data_ov61_0217f350 mov r1, #0x30 ldr r2, [r2] mla r1, r0, r1, r2 ldrb r0, [r1, #0x1d] bx lr .align 2, 0 arm_func_end func_ov61_0214aa38 _0214aa50: .word data_ov61_0217f350 .global func_ov61_0214aa54 arm_func_start func_ov61_0214aa54 func_ov61_0214aa54: ; 0x0214aa54 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r2 mov r4, r3 bl func_ov61_0213f5c8 mov r1, r6 mov r2, r5 mov r3, r4 bl func_ov61_02174414 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0214aa54 .global func_ov61_0214aa7c arm_func_start func_ov61_0214aa7c func_ov61_0214aa7c: ; 0x0214aa7c stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r2 bl func_ov61_0213f62c mov r4, r0 bl func_ov61_0214aa38 cmp r0, #4 addls pc, pc, r0, lsl #2 b _0214ab58 _0214aaa0: ; jump table b _0214aab4 ; case 0 b _0214aae0 ; case 1 b _0214aaf4 ; case 2 b _0214ab08 ; case 3 b _0214ab1c ; case 4 _0214aab4: mov r0, r6 bl func_ov61_0214a674 cmp r0, #2 ldmloia sp!, {r4, r5, r6, pc} cmp r0, #4 ldmhiia sp!, {r4, r5, r6, pc} mov r0, r4 mov r1, r6 mov r2, r5 bl func_ov61_0214ac0c ldmia sp!, {r4, r5, r6, pc} _0214aae0: mov r0, r4 mov r1, r6 mov r2, r5 bl func_ov61_0214ac0c ldmia sp!, {r4, r5, r6, pc} _0214aaf4: mov r0, r4 mov r1, r6 mov r2, r5 bl func_ov61_0214acd4 ldmia sp!, {r4, r5, r6, pc} _0214ab08: mov r0, r4 mov r1, r6 mov r2, r5 bl func_ov61_0214adb8 ldmia sp!, {r4, r5, r6, pc} _0214ab1c: mov r0, #0x30 mul ip, r4, r0 ldr r0, _0214ab68 ; =data_ov61_0217f350 mov r3, #1 ldr r1, [r0] mov r2, #0 add r1, r1, ip strb r3, [r1, #0x1d] ldr r1, [r0] add r1, r1, ip str r2, [r1, #0x10] ldr r0, [r0] add r0, r0, ip str r2, [r0, #0x18] ldmia sp!, {r4, r5, r6, pc} _0214ab58: ldr r1, _0214ab6c ; =0xfffe82b6 mov r0, #6 bl func_ov61_0213e008 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214aa7c _0214ab68: .word data_ov61_0217f350 _0214ab6c: .word 0xfffe82b6 .global func_ov61_0214ab70 arm_func_start func_ov61_0214ab70 func_ov61_0214ab70: ; 0x0214ab70 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r1 mov r6, r2 bl func_ov61_0213f62c ldr r1, _0214ac08 ; =data_ov61_0217f350 mov r4, r0 ldr r1, [r1] mov r0, #0x30 mla r5, r4, r0, r1 ldr r1, [r5, #4] cmp r1, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r5, #8] cmp r0, r6 ldmltia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r7 mov r2, r6 bl func_02007ad8 ldr r0, _0214ac08 ; =data_ov61_0217f350 ldr r0, [r0] ldr r3, [r0, #0x604] cmp r3, #0 beq _0214abdc ldr r1, [r5, #4] mov r0, r4 mov r2, r6 blx r3 _0214abdc: ldr r0, _0214ac08 ; =data_ov61_0217f350 ldr r0, [r0] ldr r0, [r0, #0x608] cmp r0, #0 ldrne r0, [r5, #0x2c] cmpne r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_0200e8f8 str r0, [r5, #0x24] str r1, [r5, #0x28] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0214ab70 _0214ac08: .word data_ov61_0217f350 .global func_ov61_0214ac0c arm_func_start func_ov61_0214ac0c func_ov61_0214ac0c: ; 0x0214ac0c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 ldr r4, _0214acd0 ; =data_ov61_0217f350 mov r3, #0x30 ldr r4, [r4] mov r7, r1 mla r4, r0, r3, r4 mov r6, r2 bl func_ov61_0214aa38 strb r0, [r4, #0x1e] mov r0, r7 bl func_ov61_0214a674 mov r5, r0 cmp r5, #4 addls pc, pc, r5, lsl #2 b _0214acc4 _0214ac4c: ; jump table b _0214acc4 ; case 0 b _0214ac60 ; case 1 b _0214acbc ; case 2 b _0214acbc ; case 3 b _0214acbc ; case 4 _0214ac60: cmp r6, #8 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r1, sp, #0 mov r0, r7 mov r2, #8 bl func_02007ad8 ldr r1, [sp] mov r0, #0 str r1, [r4, #0x18] str r0, [r4, #0x10] ldr r0, [r4, #4] cmp r0, #0 beq _0214acb0 ldr r1, [r4, #8] ldr r0, [r4, #0x18] cmp r1, r0 movge r0, #2 strgeb r0, [r4, #0x1d] bge _0214acc4 _0214acb0: mov r0, #4 strb r0, [r4, #0x1d] b _0214acc4 _0214acbc: mov r0, #3 strb r0, [r4, #0x1d] _0214acc4: strh r5, [r4, #0x22] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0214ac0c _0214acd0: .word data_ov61_0217f350 .global func_ov61_0214acd4 arm_func_start func_ov61_0214acd4 func_ov61_0214acd4: ; 0x0214acd4 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _0214adb0 ; =data_ov61_0217f350 mov r7, r0 ldr r4, [r3] mov r3, #0x30 mla r4, r7, r3, r4 mov r6, r1 mov r5, r2 bl func_ov61_0214aa38 cmp r0, #2 bne _0214ad38 ldr r3, [r4, #0x10] ldr r0, [r4, #8] add r1, r3, r5 cmp r1, r0 ble _0214ad24 ldr r1, _0214adb4 ; =0xfffe82ac mov r0, #6 bl func_ov61_0213e008 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0214ad24: ldr r1, [r4, #4] mov r0, r6 mov r2, r5 add r1, r1, r3 bl func_02007ad8 _0214ad38: ldr r0, [r4, #0x10] add r0, r0, r5 str r0, [r4, #0x10] ldr r2, [r4, #0x18] cmp r0, r2 bne _0214ad84 mov r0, #1 strb r0, [r4, #0x1d] mov r1, #0 str r1, [r4, #0x10] ldr r0, _0214adb0 ; =data_ov61_0217f350 str r1, [r4, #0x18] ldr r0, [r0] ldr r3, [r0, #0x604] cmp r3, #0 beq _0214ad84 ldr r1, [r4, #4] mov r0, r7 blx r3 _0214ad84: ldr r0, _0214adb0 ; =data_ov61_0217f350 ldr r0, [r0] ldr r0, [r0, #0x608] cmp r0, #0 ldrne r0, [r4, #0x2c] cmpne r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_0200e8f8 str r0, [r4, #0x24] str r1, [r4, #0x28] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0214acd4 _0214adb0: .word data_ov61_0217f350 _0214adb4: .word 0xfffe82ac .global func_ov61_0214adb8 arm_func_start func_ov61_0214adb8 func_ov61_0214adb8: ; 0x0214adb8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov61_0214aa04 ldrb r1, [r0, #0x1e] strb r1, [r0, #0x1d] ldrh r1, [r0, #0x22] cmp r1, #2 cmpne r1, #3 cmpne r1, #4 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 mov r2, r4 bl func_ov61_02143d0c ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214adb8 .global func_ov61_0214adf4 arm_func_start func_ov61_0214adf4 func_ov61_0214adf4: ; 0x0214adf4 stmdb sp!, {r3, lr} bl func_ov61_0213f5c8 bl func_ov61_02174504 ldr r1, _0214ae14 ; =0xfffffdf9 add r0, r0, r1 cmp r0, #0 movle r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214adf4 _0214ae14: .word 0xfffffdf9 .global func_ov61_0214ae18 arm_func_start func_ov61_0214ae18 func_ov61_0214ae18: ; 0x0214ae18 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4] mov r0, #1 mov r1, #0x18 blx r2 mov r1, r0 ldr r3, _0214afb8 ; =data_ov61_0217f354 mov r0, #0 mov r2, #0x18 str r1, [r3, #0x10] bl func_020078f4 ldr r0, _0214afb8 ; =data_ov61_0217f354 ldr r1, [r4] ldr r3, [r0, #0x10] mov r2, #1 str r1, [r3] ldr r0, [r4, #4] ldr r1, _0214afbc ; =0x00000d18 str r0, [r3, #4] strb r2, [r3, #9] strb r2, [r3, #0x16] mov r0, #0x10 strb r2, [r3, #8] bl func_ov61_0214b1a8 ldr r2, _0214afb8 ; =data_ov61_0217f354 mov r1, #0x2300 str r0, [r2] mov r0, #2 bl func_ov61_0214b1a8 ldr r2, _0214afb8 ; =data_ov61_0217f354 mov r1, #0x58 str r0, [r2, #4] mov r0, #4 bl func_ov61_0214b1a8 ldr r2, _0214afb8 ; =data_ov61_0217f354 mov r1, #0xc str r0, [r2, #8] mov r0, #8 bl func_ov61_0214b1a8 ldr r1, _0214afb8 ; =data_ov61_0217f354 ldr r2, _0214afbc ; =0x00000d18 str r0, [r1, #0xc] ldr r1, [r1] mov r0, #0 bl func_020078f4 mov r0, #0 ldr r1, _0214afb8 ; =data_ov61_0217f354 mov r2, #0x2300 ldr r1, [r1, #4] bl func_020078f4 mov r0, #0 ldr r1, _0214afb8 ; =data_ov61_0217f354 mov r2, #0x58 ldr r1, [r1, #8] bl func_020078f4 mov r0, #0 ldr r1, _0214afb8 ; =data_ov61_0217f354 mov r2, #0xc ldr r1, [r1, #0xc] bl func_020078f4 ldr r1, _0214afb8 ; =data_ov61_0217f354 ldrb r2, [r4, #8] ldr r0, [r1] strb r2, [r0, #0xd0a] ldrb r3, [r0, #0xd0b] ldrb r2, [r4, #9] bic r3, r3, #3 and r2, r2, #3 orr r2, r3, r2 strb r2, [r0, #0xd0b] ldr r3, [r1, #0xc] ldr r2, [r4] mov r1, #0 str r2, [r3] ldr r2, [r4, #4] str r2, [r3, #4] str r1, [r3, #8] ldrb r2, [r0, #0xd0c] ldrb r1, [r4, #0xa] bic r2, r2, #0xf and r1, r1, #0xf orr r2, r2, r1 strb r2, [r0, #0xd0c] ldrb r1, [r4, #0xb] and r2, r2, #0xff bic r2, r2, #0x30 mov r1, r1, lsl #0x1e orr r1, r2, r1, lsr #26 strb r1, [r0, #0xd0c] blx func_ov00_02077ad8 ldr r0, _0214afb8 ; =data_ov61_0217f354 mov r1, #0x2300 ldr r0, [r0, #4] bl func_ov61_0215e998 cmp r0, #1 beq _0214afa4 cmp r0, #4 blt _0214afb0 _0214afa4: bl func_ov61_0214b230 mov r0, #0 ldmia sp!, {r4, pc} _0214afb0: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214ae18 _0214afb8: .word data_ov61_0217f354 _0214afbc: .word 0x00000d18 .global func_ov61_0214afc0 arm_func_start func_ov61_0214afc0 func_ov61_0214afc0: ; 0x0214afc0 stmdb sp!, {r3, r4, r5, lr} bl func_ov61_0214b3f8 mov r5, r0 cmp r5, #1 bne _0214afe0 bl func_ov61_0214d0bc mov r5, r0 b _0214b054 _0214afe0: cmp r5, #7 bhs _0214b008 bl func_0200ee4c mov r4, r0 bl func_ov61_0214c8ec mov r5, r0 bl func_ov61_0214b398 mov r0, r4 bl func_0200ee60 b _0214b054 _0214b008: cmp r5, #9 bhs _0214b01c bl func_ov61_0214bb50 mov r5, r0 b _0214b054 _0214b01c: cmp r5, #0xa bhs _0214b030 bl func_ov61_0214c810 mov r5, r0 b _0214b054 _0214b030: cmp r5, #0x10 bhs _0214b044 bl func_ov61_0214d144 mov r5, r0 b _0214b054 _0214b044: cmp r5, #0x11 bne _0214b054 bl func_ov61_0214c1d8 mov r5, r0 _0214b054: mov r0, r5 bl func_ov61_0214b398 cmp r5, #0x10 bne _0214b078 bl func_ov61_0214b4a8 mov r4, r0 bl func_ov61_0214b470 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} _0214b078: cmp r5, #0x12 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} bl func_ov61_0214b470 mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214afc0 .global func_ov61_0214b090 arm_func_start func_ov61_0214b090 func_ov61_0214b090: ; 0x0214b090 stmdb sp!, {r3, lr} bl func_ov61_0214b3f8 cmp r0, #1 movls r0, #0 ldmlsia sp!, {r3, pc} cmp r0, #7 movlo r0, #1 ldmloia sp!, {r3, pc} cmp r0, #9 moveq r0, #4 ldmeqia sp!, {r3, pc} cmp r0, #0xa movlo r0, #2 ldmloia sp!, {r3, pc} cmp r0, #0xb moveq r0, #4 ldmeqia sp!, {r3, pc} cmp r0, #0x10 movlo r0, #3 ldmloia sp!, {r3, pc} moveq r0, #5 ldmeqia sp!, {r3, pc} cmp r0, #0x11 moveq r0, #4 ldmeqia sp!, {r3, pc} bl func_ov61_0214c1fc ldmia sp!, {r3, pc} arm_func_end func_ov61_0214b090 .global func_ov61_0214b0fc arm_func_start func_ov61_0214b0fc func_ov61_0214b0fc: ; 0x0214b0fc stmdb sp!, {r4, lr} ldr r0, _0214b13c ; =data_ov61_0217f354 mov r4, #0xff ldr r0, [r0, #0x10] cmp r0, #0 moveq r0, r4 ldmeqia sp!, {r4, pc} bl func_ov61_0214b3f8 cmp r0, #0xa blo _0214b134 cmp r0, #0x10 ldrls r0, _0214b13c ; =data_ov61_0217f354 ldrls r0, [r0, #0x10] ldrlsb r4, [r0, #0x17] _0214b134: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214b0fc _0214b13c: .word data_ov61_0217f354 .global func_ov61_0214b140 arm_func_start func_ov61_0214b140 func_ov61_0214b140: ; 0x0214b140 stmdb sp!, {r3, lr} bl func_ov61_0214b3f8 strb r0, [sp] ands r0, r0, #0xff cmpne r0, #0x12 bne _0214b164 bl func_ov61_0214b230 mov r0, #1 ldmia sp!, {r3, pc} _0214b164: add r0, sp, #0 bl func_ov61_0214c090 ldrb r0, [sp] bl func_ov61_0214b398 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_0214b140 .global func_ov61_0214b17c arm_func_start func_ov61_0214b17c func_ov61_0214b17c: ; 0x0214b17c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0x10 mov r4, r1 bl func_ov61_0214b340 mov r1, r0 mov r0, r4 add r1, r1, r5, lsl #8 mov r2, #0xf0 bl func_02007908 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214b17c .global func_ov61_0214b1a8 arm_func_start func_ov61_0214b1a8 func_ov61_0214b1a8: ; 0x0214b1a8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #1 mov r4, r1 bl func_ov61_0214b340 ldrb r1, [r0, #8] tst r1, r5 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} orr r1, r1, r5 strb r1, [r0, #8] ldr r2, [r0] mov r0, r5 mov r1, r4 blx r2 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214b1a8 .global func_ov61_0214b1e8 arm_func_start func_ov61_0214b1e8 func_ov61_0214b1e8: ; 0x0214b1e8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #1 mov r5, r1 mov r4, r2 bl func_ov61_0214b340 ldrb r2, [r0, #8] tst r2, r6 ldmeqia sp!, {r4, r5, r6, pc} mvn r1, r6 and r1, r2, r1 strb r1, [r0, #8] ldr r3, [r0, #4] mov r0, r6 mov r1, r5 mov r2, r4 blx r3 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0214b1e8 .global func_ov61_0214b230 arm_func_start func_ov61_0214b230 func_ov61_0214b230: ; 0x0214b230 stmdb sp!, {r4, lr} mov r0, #1 bl func_ov61_0214b340 mov r4, r0 ldrb r0, [r4, #8] tst r0, #0x10 beq _0214b274 mov r0, #0x10 bl func_ov61_0214b340 ldrb r3, [r4, #8] mov r1, r0 ldr r2, _0214b33c ; =0x00000d18 bic r0, r3, #0x10 strb r0, [r4, #8] ldr r3, [r4, #4] mov r0, #0x10 blx r3 _0214b274: ldrb r0, [r4, #8] tst r0, #8 beq _0214b2a8 mov r0, #8 bl func_ov61_0214b340 ldrb r2, [r4, #8] mov r1, r0 mov r0, #8 bic r2, r2, #8 strb r2, [r4, #8] ldr r3, [r4, #4] mov r2, #0xc blx r3 _0214b2a8: ldrb r0, [r4, #8] tst r0, #4 beq _0214b2dc mov r0, #4 bl func_ov61_0214b340 ldrb r2, [r4, #8] mov r1, r0 mov r0, #4 bic r2, r2, #4 strb r2, [r4, #8] ldr r3, [r4, #4] mov r2, #0x58 blx r3 _0214b2dc: ldrb r0, [r4, #8] tst r0, #2 beq _0214b310 mov r0, #2 bl func_ov61_0214b340 ldrb r2, [r4, #8] mov r1, r0 mov r0, #2 bic r2, r2, #2 strb r2, [r4, #8] ldr r3, [r4, #4] mov r2, #0x2300 blx r3 _0214b310: ldrb r0, [r4, #8] tst r0, #1 ldmeqia sp!, {r4, pc} bic r0, r0, #1 strb r0, [r4, #8] ldr r3, [r4, #4] mov r1, r4 mov r0, #1 mov r2, #0x18 blx r3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214b230 _0214b33c: .word 0x00000d18 .global func_ov61_0214b340 arm_func_start func_ov61_0214b340 func_ov61_0214b340: ; 0x0214b340 tst r0, #1 ldrne r0, _0214b394 ; =data_ov61_0217f354 ldrne r0, [r0, #0x10] bxne lr tst r0, #2 ldrne r0, _0214b394 ; =data_ov61_0217f354 ldrne r0, [r0, #4] bxne lr tst r0, #4 ldrne r0, _0214b394 ; =data_ov61_0217f354 ldrne r0, [r0, #8] bxne lr tst r0, #8 ldrne r0, _0214b394 ; =data_ov61_0217f354 ldrne r0, [r0, #0xc] bxne lr tst r0, #0x10 ldrne r0, _0214b394 ; =data_ov61_0217f354 ldrne r0, [r0] moveq r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_0214b340 _0214b394: .word data_ov61_0217f354 .global func_ov61_0214b398 arm_func_start func_ov61_0214b398 func_ov61_0214b398: ; 0x0214b398 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #1 bl func_ov61_0214b340 mov r5, r0 mov r0, #0x10 bl func_ov61_0214b340 mov r4, r0 strb r6, [r5, #9] cmp r6, #0x10 ldmhsia sp!, {r4, r5, r6, pc} ldrb r0, [r5, #0x16] cmp r6, r0 strhib r6, [r5, #0x16] cmphi r6, #7 ldmlsia sp!, {r4, r5, r6, pc} ldrb r0, [r4, #0xd0d] bl func_ov61_0214b460 strb r0, [r5, #0x15] ldrb r0, [r4, #0xd13] add r0, r4, r0, lsl #2 ldrb r0, [r0, #0x444] strb r0, [r5, #0x14] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0214b398 .global func_ov61_0214b3f8 arm_func_start func_ov61_0214b3f8 func_ov61_0214b3f8: ; 0x0214b3f8 ldr r0, _0214b408 ; =data_ov61_0217f354 ldr r0, [r0, #0x10] ldrb r0, [r0, #9] bx lr .align 2, 0 arm_func_end func_ov61_0214b3f8 _0214b408: .word data_ov61_0217f354 .global func_ov61_0214b40c arm_func_start func_ov61_0214b40c func_ov61_0214b40c: ; 0x0214b40c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #1 bl func_ov61_0214b340 mov r4, r0 str r5, [r4, #0xc] bl func_ov61_0214b3f8 strb r0, [r4, #0xa] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214b40c .global func_ov61_0214b430 arm_func_start func_ov61_0214b430 func_ov61_0214b430: ; 0x0214b430 ldr r0, _0214b440 ; =data_ov61_0217f354 ldr r0, [r0, #0x10] ldr r0, [r0, #0xc] bx lr .align 2, 0 arm_func_end func_ov61_0214b430 _0214b440: .word data_ov61_0217f354 .global func_ov61_0214b444 arm_func_start func_ov61_0214b444 func_ov61_0214b444: ; 0x0214b444 stmdb sp!, {r3, lr} bl func_ov61_0214b460 ldr r1, _0214b45c ; =data_ov61_0217f354 ldr r1, [r1, #0x10] strb r0, [r1, #0x17] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214b444 _0214b45c: .word data_ov61_0217f354 .global func_ov61_0214b460 arm_func_start func_ov61_0214b460 func_ov61_0214b460: ; 0x0214b460 cmp r0, #2 subhi r0, r0, #3 andhi r0, r0, #0xff bx lr arm_func_end func_ov61_0214b460 .global func_ov61_0214b470 arm_func_start func_ov61_0214b470 func_ov61_0214b470: ; 0x0214b470 stmdb sp!, {r3, lr} ldr r1, _0214b4a0 ; =data_ov61_0217f354 mov r0, #8 ldr r1, [r1, #0xc] mov r2, #0xc bl func_ov61_0214b1e8 ldr r0, _0214b4a0 ; =data_ov61_0217f354 ldr r2, _0214b4a4 ; =0x00000d18 ldr r1, [r0] mov r0, #0x10 bl func_ov61_0214b1e8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214b470 _0214b4a0: .word data_ov61_0217f354 _0214b4a4: .word 0x00000d18 .global func_ov61_0214b4a8 arm_func_start func_ov61_0214b4a8 func_ov61_0214b4a8: ; 0x0214b4a8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r0, _0214b544 ; =data_ov61_0217f354 mov r1, #0xc0 ldr r8, [r0] ldrb r7, [r8, #0xd13] ldrb r2, [r8, #0xd0d] add r0, r8, #0x74 smulbb r4, r7, r1 add r5, r0, #0x400 cmp r2, #6 movhs r0, #1 ldmhsia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrb sb, [r8, #0xd12] mov r6, #0 cmp sb, #0 bls _0214b53c mov sl, r1 _0214b4ec: cmp r6, r7 beq _0214b52c add r0, r8, r6, lsl #2 ldrb r0, [r0, #0x445] cmp r0, #6 bhs _0214b52c mul r1, r6, sl add r0, r8, r1 add r0, r0, #0x400 ldrh r2, [r0, #0x7a] add r0, r5, r4 add r1, r5, r1 bl func_02047280 cmp r0, #0 moveq r0, #2 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214b52c: add r0, r6, #1 and r6, r0, #0xff cmp r6, sb blo _0214b4ec _0214b53c: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_0214b4a8 _0214b544: .word data_ov61_0217f354 .global func_ov61_0214b548 arm_func_start func_ov61_0214b548 func_ov61_0214b548: ; 0x0214b548 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r0, #0x10 mvn r4, #0 bl func_ov61_0214b340 mov r6, r0 mov r0, #1 bl func_ov61_0214b340 mov r1, #1 strb r1, [r0, #0xb] bl func_ov61_0214b3f8 cmp r0, #3 beq _0214b590 cmp r0, #4 beq _0214b5f8 cmp r0, #5 beq _0214b644 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0214b590: ldrh r1, [r7, #0xa] ldrb r5, [r6, #0xd11] cmp r1, #0 ldrneb r0, [r7, #0xc] cmpne r0, #0 bne _0214b5b4 ldrh r0, [r7, #0x36] bl func_ov61_0214c9b0 b _0214b68c _0214b5b4: cmp r1, #1 cmpne r0, #0x20 bne _0214b5e0 ldrh r0, [r7, #0x36] bl func_ov61_0214c9b0 ldrb r1, [r6, #0xd10] mov r0, r7 add r2, r6, #0x300 bl func_ov61_0214b748 mov r4, r0 b _0214b68c _0214b5e0: ldrb r1, [r6, #0xd10] mov r0, r7 add r2, r6, #0x300 bl func_ov61_0214b748 mov r4, r0 b _0214b68c _0214b5f8: ldrb r2, [r6, #0xd0f] mov r1, #0xc0 mov r0, r7 mla r1, r2, r1, r6 add r1, r1, #0x400 ldrh r2, [r1, #0xa6] mov r1, r6 sub r2, r2, #1 and r5, r2, #0xff bl func_ov61_0214b7c4 movs r4, r0 bmi _0214b68c ldrb r1, [r6, #0xd0f] add r0, r6, #0x47 add r2, r0, #0x400 ldrb r0, [r2, r1, lsl #2] orr r0, r0, #0x80 strb r0, [r2, r1, lsl #2] b _0214b68c _0214b644: ldrb r1, [r6, #0xd0f] add r2, r6, #0x300 mov r0, #0x24 mla r2, r1, r0, r2 mov r0, r7 mov r1, #1 ldrb r5, [r6, #0xd11] bl func_ov61_0214b748 movs r4, r0 bmi _0214b68c ldrb r1, [r6, #0xd0f] mov r0, #0x24 add r2, r6, #0x300 smulbb r1, r1, r0 ldrb r0, [r2, r1] bic r0, r0, #0xf orr r0, r0, #1 strb r0, [r2, r1] _0214b68c: cmp r4, #0 ldmltia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r4 mov r1, r7 mov r2, r5 mov r3, r6 bl func_ov61_0214b854 mov r1, r6 bl func_ov61_0214b9d4 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0214b548 .global func_ov61_0214b6b4 arm_func_start func_ov61_0214b6b4 func_ov61_0214b6b4: ; 0x0214b6b4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0x10 bl func_ov61_0214b340 mov r4, r0 ldrb r0, [r4, #0xd0c] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1c cmpne r0, #4 bne _0214b704 ldrh r0, [r5, #0x2c] mov r0, r0, asr #0x4 and r0, r0, #1 cmp r0, #1 bne _0214b704 add r0, r5, #0xc bl func_ov61_0214d6ac cmp r0, #1 moveq r0, #6 ldmeqia sp!, {r3, r4, r5, pc} _0214b704: ldrb r0, [r4, #0xd0c] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1c cmpne r0, #5 bne _0214b740 ldrh r0, [r5, #0x2c] mov r0, r0, asr #0x4 and r0, r0, #1 cmp r0, #1 bne _0214b740 add r0, r5, #0xc bl func_ov61_0214d600 cmp r0, #1 moveq r0, #7 ldmeqia sp!, {r3, r4, r5, pc} _0214b740: mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214b6b4 .global func_ov61_0214b748 arm_func_start func_ov61_0214b748 func_ov61_0214b748: ; 0x0214b748 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r0 ldrh r3, [r6, #0xa] mov r5, r1 mov r4, r2 cmp r3, #0x20 bne _0214b770 bl func_ov61_0214b6b4 cmp r0, #0 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0214b770: cmp r5, #0 mov r8, #0 ble _0214b7bc ldrh sb, [r6, #0xa] and r7, sb, #0xff _0214b784: ldrb r0, [r4, #3] cmp r7, r0 bne _0214b7ac mov r2, sb add r0, r6, #0xc add r1, r4, #4 bl func_02047280 cmp r0, #0 ldreqb r0, [r4, #1] ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0214b7ac: add r8, r8, #1 cmp r8, r5 add r4, r4, #0x24 blt _0214b784 _0214b7bc: mvn r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_0214b748 .global func_ov61_0214b7c4 arm_func_start func_ov61_0214b7c4 func_ov61_0214b7c4: ; 0x0214b7c4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sl, r0 ldrh r2, [sl, #0xa] mov sb, r1 cmp r2, #0x20 bne _0214b7e8 bl func_ov61_0214b6b4 cmp r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214b7e8: ldrb r8, [sb, #0xd12] mov r4, #0 cmp r8, #0 ble _0214b84c ldrh r7, [sl, #0xa] add r0, sb, #0x7c mov r5, sb add r6, r0, #0x400 _0214b808: add r0, r5, #0x400 ldrh r0, [r0, #0x7a] cmp r7, r0 bne _0214b838 mov r1, r6 mov r2, r7 add r0, sl, #0xc bl func_02047280 cmp r0, #0 addeq r0, sb, r4, lsl #2 ldreqb r0, [r0, #0x445] ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0214b838: add r4, r4, #1 cmp r4, r8 add r5, r5, #0xc0 add r6, r6, #0xc0 blt _0214b808 _0214b84c: mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov61_0214b7c4 .global func_ov61_0214b854 arm_func_start func_ov61_0214b854 func_ov61_0214b854: ; 0x0214b854 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r3 ldrb r5, [r6, #0xd12] mvn r4, #0 mov r3, #0 cmp r5, #0 ble _0214b8d8 ldrb lr, [r1, #4] add ip, r6, #0x74 add ip, ip, #0x400 _0214b87c: ldrb r7, [ip] cmp lr, r7 ldreqb r8, [r1, #5] ldreqb r7, [ip, #1] cmpeq r8, r7 ldreqb r8, [r1, #6] ldreqb r7, [ip, #2] cmpeq r8, r7 ldreqb r8, [r1, #7] ldreqb r7, [ip, #3] cmpeq r8, r7 ldreqb r8, [r1, #8] ldreqb r7, [ip, #4] cmpeq r8, r7 ldreqb r8, [r1, #9] ldreqb r7, [ip, #5] cmpeq r8, r7 moveq r4, r3 beq _0214b8d8 add r3, r3, #1 cmp r3, r5 add ip, ip, #0xc0 blt _0214b87c _0214b8d8: mvn r3, #0 cmp r4, r3 bne _0214b908 mov r3, r6 and r0, r0, #0xff bl func_ov61_0214b91c ldrb r0, [r6, #0xd12] mov r4, #0xa cmp r0, #0xa addlo r0, r0, #1 strlob r0, [r6, #0xd12] b _0214b914 _0214b908: mov r0, r4 mov r3, r6 bl func_ov61_0214b968 _0214b914: mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_0214b854 .global func_ov61_0214b91c arm_func_start func_ov61_0214b91c func_ov61_0214b91c: ; 0x0214b91c stmdb sp!, {r3, lr} add ip, r3, #0x6c strb r0, [ip, #0x401] ldrh r0, [r1, #2] and r2, r2, #0x7f tst r0, #2 mov r0, r0, asr #0x2 addeq r0, r0, #0x19 and r0, r0, #0xff strb r0, [ip, #0x402] ldrb lr, [ip, #0x403] mov r0, r1 bic r1, lr, #0x7f orr lr, r1, r2 add r1, r3, #0xbf0 mov r2, #0xc0 strb lr, [ip, #0x403] bl func_02007908 ldmia sp!, {r3, pc} arm_func_end func_ov61_0214b91c .global func_ov61_0214b968 arm_func_start func_ov61_0214b968 func_ov61_0214b968: ; 0x0214b968 stmdb sp!, {r3, r4, r5, lr} ldrh r4, [r1, #2] add ip, r3, #0x44 mov lr, #0xc0 add r5, ip, #0x400 mul ip, r0, lr tst r4, #2 add r0, r5, r0, lsl #2 mov r4, r4, asr #0x2 addeq r4, r4, #0x19 and r4, r4, #0xff ldrb lr, [r0, #2] and r4, r4, #0xff add r3, r3, #0x470 cmp r4, lr bls _0214b9c0 strb r4, [r0, #2] ldrb lr, [r0, #3] and r2, r2, #0x7f bic lr, lr, #0x7f orr r2, lr, r2 strb r2, [r0, #3] _0214b9c0: mov r0, r1 add r1, r3, ip mov r2, #0xc0 bl func_02007908 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214b968 .global func_ov61_0214b9d4 arm_func_start func_ov61_0214b9d4 func_ov61_0214b9d4: ; 0x0214b9d4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc4 mov r4, r0 add r0, r1, #0x44 add r7, r0, #0x400 add r8, r1, #0x470 subs r6, r4, #1 bmi _0214ba9c mov r0, #0xc0 mla sl, r6, r0, r8 add sb, r7, r6, lsl #2 add fp, sp, #0 _0214ba04: add r0, r7, r4, lsl #2 ldrb r1, [r0, #2] add r0, r7, r6, lsl #2 ldrb r0, [r0, #2] cmp r1, r0 blo _0214ba9c mov r0, sb mov r1, fp mov r2, #4 bl func_02007908 add r5, r7, r4, lsl #2 mov r0, r5 mov r1, sb mov r2, #4 bl func_02007908 mov r1, r5 mov r0, fp mov r2, #4 bl func_02007908 mov r0, sl add r1, sp, #4 mov r2, #0xc0 bl func_02007908 mov r0, #0xc0 mul r5, r4, r0 add r0, r8, r5 mov r1, sl mov r2, #0xc0 bl func_02007908 add r1, r8, r5 add r0, sp, #4 mov r2, #0xc0 bl func_02007908 mov r4, r6 sub sb, sb, #4 sub sl, sl, #0xc0 subs r6, r6, #1 bpl _0214ba04 _0214ba9c: add r1, r7, #0x28 mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r8, #0x780 mov r0, #0 mov r2, #0xc0 bl func_020078f4 add sp, sp, #0xc4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0214b9d4 .global func_ov61_0214bac4 arm_func_start func_ov61_0214bac4 func_ov61_0214bac4: ; 0x0214bac4 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x10 bl func_ov61_0214b340 ldrsh r1, [r4] cmp r1, #5 bne _0214bb3c ldrsh r1, [r4, #2] cmp r1, #0 ldmeqia sp!, {r4, pc} ldr r1, [r4, #8] cmp r1, #0xd beq _0214bb0c cmp r1, #0xf beq _0214bb18 cmp r1, #0x11 beq _0214bb24 b _0214bb30 _0214bb0c: mov r1, #1 strb r1, [r0, #0xd14] ldmia sp!, {r4, pc} _0214bb18: mov r1, #2 strb r1, [r0, #0xd14] ldmia sp!, {r4, pc} _0214bb24: mov r1, #3 strb r1, [r0, #0xd14] ldmia sp!, {r4, pc} _0214bb30: mov r1, #4 strb r1, [r0, #0xd14] ldmia sp!, {r4, pc} _0214bb3c: cmp r1, #7 ldmneia sp!, {r4, pc} ldr r0, [r4, #4] bl func_ov61_0214b548 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214bac4 .global func_ov61_0214bb50 arm_func_start func_ov61_0214bb50 func_ov61_0214bb50: ; 0x0214bb50 stmdb sp!, {r4, lr} bl func_ov61_0214b3f8 mov r4, r0 mov r0, #0x10 bl func_ov61_0214b340 cmp r4, #7 beq _0214bb78 cmp r4, #8 beq _0214bb84 b _0214bb8c _0214bb78: bl func_ov61_0214bb94 mov r4, r0 b _0214bb8c _0214bb84: bl func_ov61_0214bc8c mov r4, r0 _0214bb8c: mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214bb50 .global func_ov61_0214bb94 arm_func_start func_ov61_0214bb94 func_ov61_0214bb94: ; 0x0214bb94 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r2, [r5, #0xd13] add r3, r5, #0x470 mov r1, #0xc0 mla r4, r2, r1, r3 bl func_ov61_0214bdc8 add r1, r5, #0xb8 strb r0, [r5, #0xd0d] add r0, r1, #0xc00 mov r1, #0 mov r2, #0x52 bl func_02007a44 add r2, r5, #0xb8 ldrb r1, [r5, #0xd0d] mov r0, r5 add r2, r2, #0xc00 bl func_ov61_0214bf9c cmp r0, #0 ldrb r0, [r5, #0xd0b] bic r0, r0, #0xc beq _0214bc48 orr r0, r0, #4 strb r0, [r5, #0xd0b] ldrh r0, [r4, #0x2c] mov r0, r0, asr #0x4 tst r0, #1 bne _0214bc1c ldrb r1, [r5, #0xd13] mov r2, #3 mov r0, #9 add r1, r5, r1, lsl #2 strb r2, [r1, #0x444] ldmia sp!, {r3, r4, r5, pc} _0214bc1c: ldrb r0, [r5, #0xd0d] cmp r0, #6 ldreqb r0, [r4, #0x15] cmpeq r0, #0 bne _0214bc78 ldrb r1, [r5, #0xd13] mov r2, #3 mov r0, #9 add r1, r5, r1, lsl #2 strb r2, [r1, #0x444] ldmia sp!, {r3, r4, r5, pc} _0214bc48: strb r0, [r5, #0xd0b] ldrh r0, [r4, #0x2c] mov r0, r0, asr #0x4 and r0, r0, #1 cmp r0, #1 bne _0214bc78 ldrb r1, [r5, #0xd13] mov r2, #3 mov r0, #9 add r1, r5, r1, lsl #2 strb r2, [r1, #0x444] ldmia sp!, {r3, r4, r5, pc} _0214bc78: mov r0, #0 strb r0, [r5, #0xd15] strb r0, [r5, #0xd14] mov r0, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214bb94 .global func_ov61_0214bc8c arm_func_start func_ov61_0214bc8c func_ov61_0214bc8c: ; 0x0214bc8c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 bl func_ov61_0215f568 ldrb r2, [r7, #0xd13] mov r1, #0xc0 cmp r0, #3 add r5, r7, #0x470 smulbb r4, r2, r1 bne _0214bd9c mov r0, r7 bl func_ov61_0214bf64 ldrb r1, [r7, #0xd15] mov r6, r0 add r0, r1, #1 and r1, r0, #0xff strb r0, [r7, #0xd15] cmp r1, #3 bls _0214bcf4 mov r0, #0 strb r0, [r7, #0xd15] ldrb r1, [r7, #0xd13] mov r2, #1 mov r0, #9 add r1, r7, r1, lsl #2 strb r2, [r1, #0x444] ldmia sp!, {r3, r4, r5, r6, r7, pc} _0214bcf4: cmp r1, #1 beq _0214bd78 ldrb r0, [r7, #0xd14] cmp r0, #1 bne _0214bd18 ldrb r0, [r7, #0xd0b] bic r0, r0, #0xc strb r0, [r7, #0xd0b] b _0214bd78 _0214bd18: cmp r0, #2 bne _0214bd40 mov r0, #0 strb r0, [r7, #0xd15] ldrb r1, [r7, #0xd13] mov r2, #3 mov r0, #9 add r1, r7, r1, lsl #2 strb r2, [r1, #0x444] ldmia sp!, {r3, r4, r5, r6, r7, pc} _0214bd40: cmp r0, #3 bne _0214bd68 mov r0, #0 strb r0, [r7, #0xd15] ldrb r1, [r7, #0xd13] mov r2, #4 mov r0, #9 add r1, r7, r1, lsl #2 strb r2, [r1, #0x444] ldmia sp!, {r3, r4, r5, r6, r7, pc} _0214bd68: cmp r1, #3 ldreqb r0, [r7, #0xd0b] biceq r0, r0, #0xc streqb r0, [r7, #0xd0b] _0214bd78: mov r0, r7 bl func_ov61_0214bf80 mov r2, r0 add r1, r7, #0xb8 add r0, r5, r4 add r1, r1, #0xc00 orr r2, r6, r2 bl func_ov61_0215f038 b _0214bdc0 _0214bd9c: cmp r0, #9 bne _0214bdc0 mov r0, #0 strb r0, [r7, #0xd15] bl func_0200e8f8 str r0, [r7, #0xcb0] str r1, [r7, #0xcb4] mov r0, #0xa ldmia sp!, {r3, r4, r5, r6, r7, pc} _0214bdc0: mov r0, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0214bc8c .global func_ov61_0214bdc8 arm_func_start func_ov61_0214bdc8 func_ov61_0214bdc8: ; 0x0214bdc8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldrb r2, [sl, #0xd13] ldrb r1, [sl, #0xd0c] add r3, sl, #0x470 mov r0, #0xc0 mla r4, r2, r0, r3 mov r0, r1, lsl #0x18 movs r0, r0, lsr #0x1e mov r0, #0 str r0, [sp] bne _0214bee4 ldrh r0, [r4, #0xa] ldr r6, [sp] cmp r0, #0x20 bne _0214be28 mov r0, r4 bl func_ov61_0214b6b4 cmp r0, #0 str r0, [sp] movle r0, #0 addgt r6, r6, #1 strle r0, [sp] b _0214be4c _0214be28: cmp r0, #8 bne _0214be4c mov r0, r4 bl func_ov61_0214c49c cmp r0, #0 str r0, [sp] moveq r0, #0 addne r6, r6, #1 streq r0, [sp] _0214be4c: ldrb r0, [sl, #0xd10] mov r5, #0 cmp r0, #0 ble _0214bf58 mov r7, sl add r8, sl, #0x304 add sb, sl, #0x300 add fp, sl, #0x10c _0214be6c: ldrh r2, [r4, #0xa] ldrb r0, [r7, #0x303] cmp r2, r0 bne _0214bec4 mov r1, r8 add r0, r4, #0xc bl func_02047280 cmp r0, #0 bne _0214bec4 cmp r6, #0 ldreqb r0, [r7, #0x301] streq r0, [sp] beq _0214bec0 ldrb r0, [sb] bic r0, r0, #0xf0 orr r0, r0, #0x10 strb r0, [sb] ldrb r0, [fp, #0xc00] bic r0, r0, #0xc0 orr r0, r0, #0x40 strb r0, [fp, #0xc00] _0214bec0: add r6, r6, #1 _0214bec4: ldrb r0, [sl, #0xd10] add r5, r5, #1 add r7, r7, #0x24 cmp r5, r0 add r8, r8, #0x24 add sb, sb, #0x24 blt _0214be6c b _0214bf58 _0214bee4: ldrb r0, [sl, #0xd10] ldr r5, [sp] mov r4, r5 cmp r0, #0 ble _0214bf48 mov r3, sl add r2, sl, #0x300 _0214bf00: ldrb r0, [r2] mov r1, r0, lsl #0x18 mov r1, r1, lsr #0x1c cmp r1, #1 bne _0214bf30 cmp r4, #0 bne _0214bf2c bic r0, r0, #0xf0 strb r0, [r2] ldrb r0, [r3, #0x301] str r0, [sp] _0214bf2c: add r4, r4, #1 _0214bf30: ldrb r0, [sl, #0xd10] add r5, r5, #1 add r2, r2, #0x24 cmp r5, r0 add r3, r3, #0x24 blt _0214bf00 _0214bf48: cmp r4, #1 ldreqb r0, [sl, #0xd0c] biceq r0, r0, #0xc0 streqb r0, [sl, #0xd0c] _0214bf58: ldr r0, [sp] and r0, r0, #0xff ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0214bdc8 .global func_ov61_0214bf64 arm_func_start func_ov61_0214bf64 func_ov61_0214bf64: ; 0x0214bf64 ldrb r0, [r0, #0xd0b] mov r0, r0, lsl #0x1e mov r0, r0, lsr #0x1e cmp r0, #1 moveq r0, #0x30000 movne r0, #0x20000 bx lr arm_func_end func_ov61_0214bf64 .global func_ov61_0214bf80 arm_func_start func_ov61_0214bf80 func_ov61_0214bf80: ; 0x0214bf80 ldrb r0, [r0, #0xd0b] mov r0, r0, lsl #0x1c mov r0, r0, lsr #0x1e cmp r0, #1 moveq r0, #0xc0000 movne r0, #0x80000 bx lr arm_func_end func_ov61_0214bf80 .global func_ov61_0214bf9c arm_func_start func_ov61_0214bf9c func_ov61_0214bf9c: ; 0x0214bf9c stmdb sp!, {r4, lr} mov r4, r2 cmp r1, #9 addls pc, pc, r1, lsl #2 b _0214c07c _0214bfb0: ; jump table b _0214bfe0 ; case 0 b _0214bfdc ; case 1 b _0214bfd8 ; case 2 b _0214c00c ; case 3 b _0214c008 ; case 4 b _0214c004 ; case 5 b _0214c030 ; case 6 b _0214c058 ; case 7 b _0214c07c ; case 8 b _0214c07c ; case 9 _0214bfd8: add r0, r0, #0x100 _0214bfdc: add r0, r0, #0x100 _0214bfe0: ldrb r2, [r0, #0xe6] add r0, r0, #0x80 add r1, r4, #2 mov r2, r2, lsl #0x1e mov r3, r2, lsr #0x1e mov r2, #0x50 strb r3, [r4] bl func_02007ad8 b _0214c07c _0214c004: add r0, r0, #0x100 _0214c008: add r0, r0, #0x100 _0214c00c: mov r3, #1 add r0, r0, #0xd1 add r1, r4, #2 mov r2, #0x14 strb r3, [r4] bl func_02007ad8 mov r0, #0 strb r0, [r4, #0x16] b _0214c07c _0214c030: mov r1, #2 strb r1, [r4] ldrb r1, [r0, #0xd13] add r0, r0, #0x7c add r2, r0, #0x400 mov r0, #0xc0 mla r0, r1, r0, r2 add r1, r4, #2 bl func_ov61_0214d6d0 b _0214c07c _0214c058: mov r1, #2 strb r1, [r4] ldrb r1, [r0, #0xd13] add r0, r0, #0x7c add r2, r0, #0x400 mov r0, #0xc0 mla r0, r1, r0, r2 add r1, r4, #2 bl func_ov61_0214d638 _0214c07c: ldrb r0, [r4] cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214bf9c .global func_ov61_0214c090 arm_func_start func_ov61_0214c090 func_ov61_0214c090: ; 0x0214c090 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4] cmp r0, #0xa bhi _0214c0dc bl func_ov61_0214c118 cmp r0, #1 bne _0214c0c0 mov r0, #0 strb r0, [r4] mov r0, #1 ldmia sp!, {r4, pc} _0214c0c0: mvn r1, #0 cmp r0, r1 bne _0214c110 mov r0, #0x12 strb r0, [r4] mov r0, #1 ldmia sp!, {r4, pc} _0214c0dc: cmp r0, #0xe bne _0214c0f8 bl func_ov61_02150574 bl func_ov61_0215047c mov r0, #0xc strb r0, [r4] b _0214c110 _0214c0f8: cmp r0, #0x12 bhs _0214c110 bl func_ov61_0214c1a8 cmp r0, #1 moveq r0, #0xa streqb r0, [r4] _0214c110: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214c090 .global func_ov61_0214c118 arm_func_start func_ov61_0214c118 func_ov61_0214c118: ; 0x0214c118 stmdb sp!, {r3, lr} bl func_ov61_0215f568 cmp r0, #0xc addls pc, pc, r0, lsl #2 b _0214c1a0 _0214c12c: ; jump table b _0214c160 ; case 0 b _0214c168 ; case 1 b _0214c1a0 ; case 2 b _0214c170 ; case 3 b _0214c1a0 ; case 4 b _0214c1a0 ; case 5 b _0214c178 ; case 6 b _0214c1a0 ; case 7 b _0214c1a0 ; case 8 b _0214c180 ; case 9 b _0214c1a0 ; case 10 b _0214c190 ; case 11 b _0214c188 ; case 12 _0214c160: mov r0, #1 ldmia sp!, {r3, pc} _0214c168: bl func_ov61_0215eab0 b _0214c1a0 _0214c170: bl func_ov61_0215ed0c b _0214c1a0 _0214c178: bl func_ov61_0215ef94 b _0214c1a0 _0214c180: bl func_ov61_0215f23c b _0214c1a0 _0214c188: bl func_ov61_0215f358 b _0214c1a0 _0214c190: mov r0, #0 bl func_ov61_0214b40c mvn r0, #0 ldmia sp!, {r3, pc} _0214c1a0: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_0214c118 .global func_ov61_0214c1a8 arm_func_start func_ov61_0214c1a8 func_ov61_0214c1a8: ; 0x0214c1a8 stmdb sp!, {r3, lr} bl func_ov61_02158a3c cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} bl func_ov61_02159548 cmp r0, #0 mvnne r1, #0x26 cmpne r0, r1 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_0214c1a8 .global func_ov61_0214c1d8 arm_func_start func_ov61_0214c1d8 func_ov61_0214c1d8: ; 0x0214c1d8 stmdb sp!, {r3, lr} mov r0, #1 bl func_ov61_0214b340 add r0, r0, #0xa bl func_ov61_0214c090 cmp r0, #1 moveq r0, #0x12 movne r0, #0x11 ldmia sp!, {r3, pc} arm_func_end func_ov61_0214c1d8 .global func_ov61_0214c1fc arm_func_start func_ov61_0214c1fc func_ov61_0214c1fc: ; 0x0214c1fc stmdb sp!, {r4, lr} mov r0, #1 bl func_ov61_0214b340 mov r4, r0 bl func_ov61_0214b430 cmp r0, #4 bge _0214c220 bl func_ov61_0214c24c ldmia sp!, {r4, pc} _0214c220: cmp r0, #5 bge _0214c230 bl func_ov61_0214c290 ldmia sp!, {r4, pc} _0214c230: cmp r0, #5 mov r0, r4 bne _0214c244 bl func_ov61_0214c298 ldmia sp!, {r4, pc} _0214c244: bl func_ov61_0214c2b4 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214c1fc .global func_ov61_0214c24c arm_func_start func_ov61_0214c24c func_ov61_0214c24c: ; 0x0214c24c cmp r0, #3 addls pc, pc, r0, lsl #2 b _0214c288 _0214c258: ; jump table b _0214c270 ; case 0 b _0214c268 ; case 1 b _0214c278 ; case 2 b _0214c280 ; case 3 _0214c268: mvn r0, #8 bx lr _0214c270: mvn r0, #9 bx lr _0214c278: mvn r0, #7 bx lr _0214c280: mvn r0, #6 bx lr _0214c288: mov r0, #0 bx lr arm_func_end func_ov61_0214c24c .global func_ov61_0214c290 arm_func_start func_ov61_0214c290 func_ov61_0214c290: ; 0x0214c290 mvn r0, #5 bx lr arm_func_end func_ov61_0214c290 .global func_ov61_0214c298 arm_func_start func_ov61_0214c298 func_ov61_0214c298: ; 0x0214c298 ldrb r0, [r0, #0xb] cmp r0, #0 ldreq r0, _0214c2ac ; =0xffff3c4d ldrne r0, _0214c2b0 ; =0xffff3865 bx lr .align 2, 0 arm_func_end func_ov61_0214c298 _0214c2ac: .word 0xffff3c4d _0214c2b0: .word 0xffff3865 .global func_ov61_0214c2b4 arm_func_start func_ov61_0214c2b4 func_ov61_0214c2b4: ; 0x0214c2b4 ldrb r1, [r0, #0x16] cmp r1, #0xa bhs _0214c300 ldrb r1, [r0, #0x14] cmp r1, #3 bne _0214c2dc ldrb r1, [r0, #0x15] ldr r0, _0214c3e0 ; =0xffff3864 sub r3, r0, r1 b _0214c3d8 _0214c2dc: cmp r1, #4 ldrb r1, [r0, #0x15] ldrne r0, _0214c3e4 ; =0xffff379c subne r3, r0, r1 bne _0214c3d8 mov r0, #0xc800 rsb r0, r0, #0 sub r3, r0, r1 b _0214c3d8 _0214c300: cmp r1, #0xd bhs _0214c318 ldrb r1, [r0, #0x15] ldr r0, _0214c3e8 ; =0xffff34e0 sub r3, r0, r1 b _0214c3d8 _0214c318: ldr r3, [r0, #0x10] cmp r3, #0 bne _0214c334 ldrb r1, [r0, #0x15] ldr r0, _0214c3ec ; =0xffff3cb0 sub r3, r0, r1 b _0214c3d8 _0214c334: mvn r2, #0 cmp r3, r2 bne _0214c350 ldrb r1, [r0, #0x15] ldr r0, _0214c3f0 ; =0xffff347c sub r3, r0, r1 b _0214c3d8 _0214c350: sub r1, r2, #1 cmp r3, r1 bne _0214c36c ldrb r1, [r0, #0x15] ldr r0, _0214c3f4 ; =0xffff3418 sub r3, r0, r1 b _0214c3d8 _0214c36c: sub r1, r2, #2 cmp r3, r1 bne _0214c388 ldrb r1, [r0, #0x15] ldr r0, _0214c3f8 ; =0xffff33b4 sub r3, r0, r1 b _0214c3d8 _0214c388: sub r1, r2, #3 cmp r3, r1 bne _0214c3a4 ldrb r1, [r0, #0x15] ldr r0, _0214c3fc ; =0xffff30f8 sub r3, r0, r1 b _0214c3d8 _0214c3a4: sub r1, r2, #4 cmp r3, r1 bne _0214c3c0 ldrb r1, [r0, #0x15] ldr r0, _0214c400 ; =0xffff3094 sub r3, r0, r1 b _0214c3d8 _0214c3c0: sub r1, r2, #5 cmp r3, r1 bne _0214c3d8 ldrb r1, [r0, #0x15] ldr r0, _0214c404 ; =0xffff3030 sub r3, r0, r1 _0214c3d8: mov r0, r3 bx lr .align 2, 0 arm_func_end func_ov61_0214c2b4 _0214c3e0: .word 0xffff3864 _0214c3e4: .word 0xffff379c _0214c3e8: .word 0xffff34e0 _0214c3ec: .word 0xffff3cb0 _0214c3f0: .word 0xffff347c _0214c3f4: .word 0xffff3418 _0214c3f8: .word 0xffff33b4 _0214c3fc: .word 0xffff30f8 _0214c400: .word 0xffff3094 _0214c404: .word 0xffff3030 .global func_ov61_0214c408 arm_func_start func_ov61_0214c408 func_ov61_0214c408: ; 0x0214c408 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0x10 bl func_ov61_0214b340 mov r4, r0 cmp r5, #0 beq _0214c438 cmp r5, #1 beq _0214c458 cmp r5, #2 beq _0214c470 b _0214c494 _0214c438: add r1, r4, #0x300 mov r0, #0 mov r2, #0x144 bl func_020078f4 mov r0, r4 bl func_ov61_0214c4e8 strb r0, [r4, #0xd10] b _0214c494 _0214c458: bl func_ov61_0214c73c strb r0, [r4, #0xd10] mov r0, r4 bl func_ov61_0214c7cc strb r0, [r4, #0xd0f] b _0214c494 _0214c470: add r1, r4, #0x300 mov r0, #0 mov r2, #0x144 bl func_020078f4 mov r1, #0 mov r0, r4 strb r1, [r4, #0xd0f] bl func_ov61_0214c548 strb r0, [r4, #0xd10] _0214c494: ldrb r0, [r4, #0xd10] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214c408 .global func_ov61_0214c49c arm_func_start func_ov61_0214c49c func_ov61_0214c49c: ; 0x0214c49c stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x10 bl func_ov61_0214b340 ldrb r0, [r0, #0xd0c] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1c cmpne r0, #6 bne _0214c4dc ldr r1, _0214c4e4 ; =data_ov61_0217a230 add r0, r4, #0xc mov r2, #8 bl func_02047280 cmp r0, #0 moveq r0, #8 ldmeqia sp!, {r4, pc} _0214c4dc: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214c49c _0214c4e4: .word data_ov61_0217a230 .global func_ov61_0214c4e8 arm_func_start func_ov61_0214c4e8 func_ov61_0214c4e8: ; 0x0214c4e8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 add r4, r5, #0x300 bl func_ov61_0214c634 ldrb r1, [r5, #0xd0c] mov r5, r0 mov r0, #0x24 mla r4, r5, r0, r4 mov r1, r1, lsl #0x1c movs r0, r1, lsr #0x1c cmpne r0, #6 bne _0214c53c ldr r0, _0214c544 ; =data_ov61_0217a230 add r1, r4, #4 mov r2, #8 bl func_02007ad8 mov r1, #8 strb r1, [r4, #3] add r0, r5, #1 strb r1, [r4, #1] and r5, r0, #0xff _0214c53c: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214c4e8 _0214c544: .word data_ov61_0217a230 .global func_ov61_0214c548 arm_func_start func_ov61_0214c548 func_ov61_0214c548: ; 0x0214c548 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 add r5, r6, #0x300 bl func_ov61_0214c634 ldrb r1, [r6, #0xd0c] mov r4, r0 mov r0, #0x24 mla r5, r4, r0, r5 mov r1, r1, lsl #0x1c movs r0, r1, lsr #0x1c cmpne r0, #4 bne _0214c5a4 ldr r0, _0214c628 ; =data_ov61_0217a838 add r1, r5, #4 mov r2, #8 bl func_02007ad8 mov r1, #8 add r0, r4, #1 strb r1, [r5, #3] mov r1, #6 strb r1, [r5, #1] and r4, r0, #0xff add r5, r5, #0x24 _0214c5a4: ldrb r0, [r6, #0xd0c] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1c cmpne r0, #7 bne _0214c5e4 ldr r0, _0214c62c ; =data_ov61_0217a228 add r1, r5, #4 mov r2, #8 bl func_02007ad8 mov r1, #8 add r0, r4, #1 strb r1, [r5, #3] mov r1, #9 strb r1, [r5, #1] and r4, r0, #0xff add r5, r5, #0x24 _0214c5e4: ldrb r0, [r6, #0xd0c] mov r0, r0, lsl #0x1c movs r0, r0, lsr #0x1c cmpne r0, #8 bne _0214c620 ldr r0, _0214c630 ; =data_ov61_0217a238 add r1, r5, #4 mov r2, #0xb bl func_02007ad8 mov r1, #0xb add r0, r4, #1 strb r1, [r5, #3] mov r1, #0xa strb r1, [r5, #1] and r4, r0, #0xff _0214c620: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214c548 _0214c628: .word data_ov61_0217a838 _0214c62c: .word data_ov61_0217a228 _0214c630: .word data_ov61_0217a238 .global func_ov61_0214c634 arm_func_start func_ov61_0214c634 func_ov61_0214c634: ; 0x0214c634 stmdb sp!, {r4, r5, r6, lr} mov r2, #0 mov r3, r0 mov r1, r2 add ip, r0, #0x300 _0214c648: ldrb r4, [r0, #0xd0c] mov r4, r4, lsl #0x1c movs r5, r4, lsr #0x1c addne r4, r1, #1 cmpne r5, r4 bne _0214c724 ldrb r4, [r3, #0xe7] cmp r4, #0xff beq _0214c724 mov r6, #0 _0214c670: add r4, r3, r6 ldrb lr, [r4, #0x40] cmp lr, #0 beq _0214c698 add r4, r6, #1 add r5, ip, r6 and r6, r4, #0xff strb lr, [r5, #4] cmp r6, #0x20 blo _0214c670 _0214c698: cmp r6, #0 moveq r4, #0 beq _0214c6b0 strb r6, [ip, #3] strb r1, [ip, #1] mov r4, #1 _0214c6b0: cmp r4, #0 ldrb r4, [r3, #0xe7] addne r2, r2, #1 andne r2, r2, #0xff addne ip, ip, #0x24 cmp r4, #1 bne _0214c724 mov r6, #0 _0214c6d0: add r4, r3, r6 ldrb r5, [r4, #0x60] cmp r5, #0 beq _0214c6f8 add lr, r6, #1 add r4, ip, r6 and r6, lr, #0xff strb r5, [r4, #4] cmp r6, #0x20 blo _0214c6d0 _0214c6f8: cmp r6, #0 moveq r4, #0 beq _0214c714 strb r6, [ip, #3] add lr, r1, #3 strb lr, [ip, #1] mov r4, #1 _0214c714: cmp r4, #0 addne r2, r2, #1 andne r2, r2, #0xff addne ip, ip, #0x24 _0214c724: add r1, r1, #1 cmp r1, #3 add r3, r3, #0x100 blt _0214c648 mov r0, r2 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0214c634 .global func_ov61_0214c73c arm_func_start func_ov61_0214c73c func_ov61_0214c73c: ; 0x0214c73c stmdb sp!, {r3, r4, r5, lr} ldrb r3, [r0, #0xd12] mov r2, #0 mov r1, r2 cmp r3, #0 ble _0214c7c4 add r3, r0, #0x47 mov ip, r0 add r3, r3, #0x400 _0214c760: add r4, r0, r1, lsl #2 ldrb r4, [r4, #0x444] cmp r4, #0 bne _0214c7a0 add lr, ip, #0x400 ldrh r4, [lr, #0xa6] ldrb lr, [r3] sub r5, r4, #1 mov r4, lr, lsl #0x19 cmp r5, r4, lsr #25 beq _0214c7a0 bic lr, lr, #0x80 add r2, r2, #1 strb lr, [r3] and r2, r2, #0xff b _0214c7ac _0214c7a0: ldrb lr, [r3] orr lr, lr, #0x80 strb lr, [r3] _0214c7ac: ldrb lr, [r0, #0xd12] add r1, r1, #1 add r3, r3, #4 cmp r1, lr add ip, ip, #0xc0 blt _0214c760 _0214c7c4: mov r0, r2 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214c73c .global func_ov61_0214c7cc arm_func_start func_ov61_0214c7cc func_ov61_0214c7cc: ; 0x0214c7cc ldrb ip, [r0, #0xd12] mov r3, #0 mov r2, r3 cmp ip, #0 bls _0214c808 _0214c7e0: add r1, r0, r2, lsl #2 ldrb r1, [r1, #0x447] mov r1, r1, lsl #0x18 movs r1, r1, lsr #0x1f moveq r3, r2 beq _0214c808 add r1, r2, #1 and r2, r1, #0xff cmp r2, ip blo _0214c7e0 _0214c808: mov r0, r3 bx lr arm_func_end func_ov61_0214c7cc .global func_ov61_0214c810 arm_func_start func_ov61_0214c810 func_ov61_0214c810: ; 0x0214c810 stmdb sp!, {r3, r4, r5, lr} mov r0, #0x10 bl func_ov61_0214b340 mov r4, r0 mov r5, #9 bl func_ov61_0215f568 cmp r0, #0xc addls pc, pc, r0, lsl #2 b _0214c8e4 _0214c834: ; jump table b _0214c8e4 ; case 0 b _0214c8e4 ; case 1 b _0214c8e4 ; case 2 b _0214c868 ; case 3 b _0214c8e4 ; case 4 b _0214c8e4 ; case 5 b _0214c8b4 ; case 6 b _0214c8e4 ; case 7 b _0214c8e4 ; case 8 b _0214c8bc ; case 9 b _0214c8e4 ; case 10 b _0214c8d8 ; case 11 b _0214c8c4 ; case 12 _0214c868: ldrb r0, [r4, #0xd0c] ldrb r5, [r4, #0xd0e] mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x1e cmp r0, #1 bne _0214c898 ldrb r0, [r4, #0xd13] mov r1, #0 mov r5, #7 add r0, r4, r0, lsl #2 strb r1, [r0, #0x444] b _0214c8e4 _0214c898: cmp r5, #3 blo _0214c8e4 cmp r5, #5 bhi _0214c8e4 mov r0, r5 bl func_ov61_0214ca4c b _0214c8e4 _0214c8b4: bl func_ov61_0215ef94 b _0214c8e4 _0214c8bc: bl func_ov61_0215f23c b _0214c8e4 _0214c8c4: bl func_ov61_0215f358 mov r0, #4 bl func_ov61_0214b40c mov r5, #0x11 b _0214c8e4 _0214c8d8: mov r0, #0 bl func_ov61_0214b40c mov r5, #0x11 _0214c8e4: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214c810 .global func_ov61_0214c8ec arm_func_start func_ov61_0214c8ec func_ov61_0214c8ec: ; 0x0214c8ec stmdb sp!, {r3, r4, r5, lr} mov r0, #0x10 bl func_ov61_0214b340 mov r4, r0 bl func_ov61_0214b3f8 mov r5, r0 bl func_ov61_0215f568 cmp r5, #2 cmpeq r0, #3 bne _0214c924 mov r0, r4 bl func_ov61_0214cb2c mov r5, r0 b _0214c9a8 _0214c924: cmp r5, #6 bne _0214c940 mov r0, r4 mov r1, r5 bl func_ov61_0214cf74 mov r5, r0 b _0214c9a8 _0214c940: cmp r0, #3 cmpne r0, #6 bne _0214c9a8 mov r0, r4 mov r1, r5 bl func_ov61_0214cf74 mov r5, r0 cmp r5, #7 beq _0214c9a8 cmp r5, #3 bne _0214c97c mov r0, r4 bl func_ov61_0214cb7c mov r5, r0 b _0214c9a8 _0214c97c: cmp r5, #4 bne _0214c994 mov r0, r4 bl func_ov61_0214cc68 mov r5, r0 b _0214c9a8 _0214c994: cmp r5, #5 bne _0214c9a8 mov r0, r4 bl func_ov61_0214cd90 mov r5, r0 _0214c9a8: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214c8ec .global func_ov61_0214c9b0 arm_func_start func_ov61_0214c9b0 func_ov61_0214c9b0: ; 0x0214c9b0 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x10 bl func_ov61_0214b340 add r0, r0, #0xd00 cmp r4, #0xd movhi r4, #0xd ldrh r3, [r0, #0x16] sub r1, r4, #1 mov r2, #1 orr r1, r3, r2, lsl r1 strh r1, [r0, #0x16] ldmia sp!, {r4, pc} arm_func_end func_ov61_0214c9b0 .global func_ov61_0214c9e4 arm_func_start func_ov61_0214c9e4 func_ov61_0214c9e4: ; 0x0214c9e4 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0x10 bl func_ov61_0214b340 add r0, r0, #0xd00 ldrh ip, [r0, #0x16] cmp ip, #0 mvneq r0, #0 ldmeqia sp!, {r4, pc} mov r2, #0 mov r3, r2 mov r1, #1 _0214ca14: tst ip, r1, lsl r2 beq _0214ca34 cmp r3, r4 moveq r0, r2, lsl #0x18 moveq r0, r0, asr #0x18 ldmeqia sp!, {r4, pc} add r0, r3, #1 and r3, r0, #0xff _0214ca34: add r0, r2, #1 and r2, r0, #0xff cmp r2, #0xd blo _0214ca14 mvn r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214c9e4 .global func_ov61_0214ca4c arm_func_start func_ov61_0214ca4c func_ov61_0214ca4c: ; 0x0214ca4c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, #0x10 bl func_ov61_0214b340 mov r4, r0 cmp r5, #3 beq _0214ca7c cmp r5, #4 beq _0214caa4 cmp r5, #5 beq _0214caf0 ldmia sp!, {r3, r4, r5, pc} _0214ca7c: bl func_0200e8f8 str r0, [r4, #0xcb0] str r1, [r4, #0xcb4] add r0, r4, #0xd00 ldrsb r2, [r0, #0x11] ldr r0, _0214cb24 ; =data_ov61_0217a30c ldr r1, _0214cb28 ; =data_ov61_0217a314 mov r3, #0x200000 bl func_ov61_0214d098 ldmia sp!, {r3, r4, r5, pc} _0214caa4: bl func_0200e8f8 str r0, [r4, #0xcb0] str r1, [r4, #0xcb4] ldrb r2, [r4, #0xd0f] mov r0, #0xc0 add r1, r4, #0x74 smulbb ip, r2, r0 add r0, r4, ip add r0, r0, #0x400 ldrh r2, [r0, #0xa6] add r0, r4, #0x7c add r3, r1, #0x400 add r1, r0, #0x400 add r0, r3, ip add r1, r1, ip sub r2, r2, #1 mov r3, #0x300000 bl func_ov61_0214d098 ldmia sp!, {r3, r4, r5, pc} _0214caf0: bl func_0200e8f8 str r0, [r4, #0xcb0] str r1, [r4, #0xcb4] ldrb r3, [r4, #0xd0f] add r1, r4, #0x304 mov r0, #0x24 add r2, r4, #0xd00 mla r1, r3, r0, r1 ldrsb r2, [r2, #0x11] ldr r0, _0214cb24 ; =data_ov61_0217a30c mov r3, #0x300000 bl func_ov61_0214d098 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214ca4c _0214cb24: .word data_ov61_0217a30c _0214cb28: .word data_ov61_0217a314 .global func_ov61_0214cb2c arm_func_start func_ov61_0214cb2c func_ov61_0214cb2c: ; 0x0214cb2c stmdb sp!, {r4, lr} mov r4, r0 bl func_0200e8f8 str r0, [r4, #0xcb0] str r1, [r4, #0xcb4] mov r0, #0 strb r0, [r4, #0xd11] bl func_0200e8f8 str r0, [r4, #0xcb0] str r1, [r4, #0xcb4] add r0, r4, #0xd00 ldrsb r2, [r0, #0x11] ldr r0, _0214cb74 ; =data_ov61_0217a30c ldr r1, _0214cb78 ; =data_ov61_0217a314 mov r3, #0x200000 bl func_ov61_0214d098 mov r0, #3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214cb2c _0214cb74: .word data_ov61_0217a30c _0214cb78: .word data_ov61_0217a314 .global func_ov61_0214cb7c arm_func_start func_ov61_0214cb7c func_ov61_0214cb7c: ; 0x0214cb7c stmdb sp!, {r4, lr} mov r4, r0 bl func_0200e8f8 ldr r3, [r4, #0xcb0] ldr r2, [r4, #0xcb4] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _0214cc14 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac cmp r1, #0 cmpeq r0, #0x12c blo _0214cc0c add r0, r4, #0xd00 ldrsb r1, [r0, #0x11] add r1, r1, #2 strb r1, [r4, #0xd11] ldrsb r0, [r0, #0x11] cmp r0, #0xd blt _0214cbe8 mov r0, r4 mov r1, #3 bl func_ov61_0214ceb0 ldmia sp!, {r4, pc} _0214cbe8: bl func_0200e8f8 str r0, [r4, #0xcb0] str r1, [r4, #0xcb4] add r0, r4, #0xd00 ldrsb r2, [r0, #0x11] ldr r0, _0214cc18 ; =data_ov61_0217a30c ldr r1, _0214cc1c ; =data_ov61_0217a314 mov r3, #0x200000 bl func_ov61_0214d098 _0214cc0c: mov r0, #3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214cb7c _0214cc14: .word 0x000082ea _0214cc18: .word data_ov61_0217a30c _0214cc1c: .word data_ov61_0217a314 .global func_ov61_0214cc20 arm_func_start func_ov61_0214cc20 func_ov61_0214cc20: ; 0x0214cc20 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 strb r0, [r4, #0xd15] ldrb r2, [r4, #0xd0b] mov r1, r2, lsl #0x18 mov r1, r1, lsr #0x1c add r1, r1, #1 and r1, r1, #0xff bic r2, r2, #0xf0 mov r1, r1, lsl #0x1c orr r1, r2, r1, lsr #24 strb r1, [r4, #0xd0b] bl func_ov61_0214c408 mov r0, #1 strb r0, [r4, #0xd11] mov r0, #3 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214cc20 .global func_ov61_0214cc68 arm_func_start func_ov61_0214cc68 func_ov61_0214cc68: ; 0x0214cc68 stmdb sp!, {r4, lr} mov r4, r0 bl func_0200e8f8 ldr r3, [r4, #0xcb0] ldr r2, [r4, #0xcb4] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _0214cd8c ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac cmp r1, #0 cmpeq r0, #0x96 bhs _0214ccc4 ldrb r0, [r4, #0xd0f] add r0, r4, r0, lsl #2 ldrb r0, [r0, #0x447] mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x1f cmp r0, #1 bne _0214cd84 _0214ccc4: ldrb r1, [r4, #0xd0f] add r0, r4, #0x47 add r2, r0, #0x400 ldrb r0, [r2, r1, lsl #2] orr r0, r0, #0x80 strb r0, [r2, r1, lsl #2] ldrb r2, [r4, #0xd12] ldrb r1, [r4, #0xd0f] cmp r1, r2 bhs _0214cd1c _0214ccec: add r0, r4, r1, lsl #2 ldrb r0, [r0, #0x447] mov r0, r0, lsl #0x18 movs r0, r0, lsr #0x1f beq _0214cd1c ldrb r0, [r4, #0xd0f] add r0, r0, #1 strb r0, [r4, #0xd0f] ldrb r2, [r4, #0xd12] and r1, r0, #0xff cmp r1, r2 blo _0214ccec _0214cd1c: cmp r2, r1 bhi _0214cd3c mov r2, #0 mov r0, r4 mov r1, #4 strb r2, [r4, #0xd0f] bl func_ov61_0214ceb0 ldmia sp!, {r4, pc} _0214cd3c: bl func_0200e8f8 str r0, [r4, #0xcb0] str r1, [r4, #0xcb4] ldrb r2, [r4, #0xd0f] mov r0, #0xc0 add r1, r4, #0x74 smulbb ip, r2, r0 add r0, r4, ip add r0, r0, #0x400 ldrh r2, [r0, #0xa6] add r0, r4, #0x7c add r3, r1, #0x400 add r1, r0, #0x400 add r0, r3, ip add r1, r1, ip sub r2, r2, #1 mov r3, #0x300000 bl func_ov61_0214d098 _0214cd84: mov r0, #4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214cc68 _0214cd8c: .word 0x000082ea .global func_ov61_0214cd90 arm_func_start func_ov61_0214cd90 func_ov61_0214cd90: ; 0x0214cd90 stmdb sp!, {r4, lr} mov r4, r0 bl func_0200e8f8 ldr r3, [r4, #0xcb0] ldr r2, [r4, #0xcb4] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _0214cea8 ; =0x000082ea orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac cmp r1, #0 cmpeq r0, #0x96 bhs _0214cdf0 ldrb r1, [r4, #0xd0f] mov r0, #0x24 mla r0, r1, r0, r4 ldrb r0, [r0, #0x300] mov r0, r0, lsl #0x1c mov r0, r0, lsr #0x1c cmp r0, #1 bne _0214cea0 _0214cdf0: ldrb r1, [r4, #0xd0f] mov r0, #0x24 add r2, r4, #0x300 smulbb r1, r1, r0 ldrb r0, [r2, r1] bic r0, r0, #0xf strb r0, [r2, r1] ldrb r0, [r4, #0xd0f] add r0, r0, #1 strb r0, [r4, #0xd0f] ldrb r1, [r4, #0xd10] and r0, r0, #0xff cmp r1, r0 bhi _0214ce48 ldrb r1, [r4, #0xd15] mov r0, #0 add r1, r1, #1 strb r1, [r4, #0xd15] strb r0, [r4, #0xd0f] ldrb r0, [r4, #0xd15] bl func_ov61_0214c9e4 strb r0, [r4, #0xd11] _0214ce48: add r0, r4, #0xd00 ldrsb r0, [r0, #0x11] cmp r0, #0 bge _0214ce70 mov r2, #0 mov r0, r4 mov r1, #5 strb r2, [r4, #0xd15] bl func_ov61_0214ceb0 ldmia sp!, {r4, pc} _0214ce70: bl func_0200e8f8 str r0, [r4, #0xcb0] str r1, [r4, #0xcb4] ldrb r3, [r4, #0xd0f] add r1, r4, #0x304 mov r0, #0x24 add r2, r4, #0xd00 mla r1, r3, r0, r1 ldrsb r2, [r2, #0x11] ldr r0, _0214ceac ; =data_ov61_0217a30c mov r3, #0x300000 bl func_ov61_0214d098 _0214cea0: mov r0, #5 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214cd90 _0214cea8: .word 0x000082ea _0214ceac: .word data_ov61_0217a30c .global func_ov61_0214ceb0 arm_func_start func_ov61_0214ceb0 func_ov61_0214ceb0: ; 0x0214ceb0 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 cmp r4, #3 beq _0214ced8 cmp r4, #4 beq _0214cf38 cmp r4, #5 beq _0214cf44 b _0214cf64 _0214ced8: ldrb r1, [r5, #0xd12] cmp r1, #0 addeq r1, r5, #0xd00 ldreqh r1, [r1, #0x16] cmpeq r1, #0 beq _0214cf14 mov r0, #1 bl func_ov61_0214c408 cmp r0, #0 movne r4, #4 bne _0214cf64 mov r0, r5 bl func_ov61_0214d038 mov r4, r0 b _0214cf64 _0214cf14: ldrb r1, [r5, #0xd0b] mov r1, r1, lsl #0x18 mov r1, r1, lsr #0x1c cmp r1, #1 movhs r4, #6 bhs _0214cf64 bl func_ov61_0214cc20 mov r4, r0 b _0214cf64 _0214cf38: bl func_ov61_0214d038 mov r4, r0 b _0214cf64 _0214cf44: ldrb r1, [r5, #0xd0b] mov r1, r1, lsl #0x18 mov r1, r1, lsr #0x1c cmp r1, #1 movhs r4, #6 bhs _0214cf64 bl func_ov61_0214cc20 mov r4, r0 _0214cf64: mov r0, r4 bl func_ov61_0214ca4c mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214ceb0 .global func_ov61_0214cf74 arm_func_start func_ov61_0214cf74 func_ov61_0214cf74: ; 0x0214cf74 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 cmp r4, #0x11 moveq r0, r4 ldmeqia sp!, {r3, r4, r5, pc} ldrb r2, [r5, #0xd12] mov r1, #0 cmp r2, #0 bls _0214cfbc _0214cf9c: add r0, r5, r1, lsl #2 ldrb r0, [r0, #0x444] cmp r0, #0 beq _0214cfbc add r0, r1, #1 and r1, r0, #0xff cmp r1, r2 blo _0214cf9c _0214cfbc: cmp r4, #6 bne _0214cff0 cmp r2, r1 bne _0214d01c cmp r1, #0 bne _0214cfe0 mov r0, #5 bl func_ov61_0214b40c b _0214cfe8 _0214cfe0: mov r0, #6 bl func_ov61_0214b40c _0214cfe8: mov r0, #0x11 ldmia sp!, {r3, r4, r5, pc} _0214cff0: cmp r2, #0 moveq r0, r4 ldmeqia sp!, {r3, r4, r5, pc} cmp r2, r1 moveq r0, r4 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, r1, lsl #2 ldrb r0, [r0, #0x446] cmp r0, #0x14 movlo r0, r4 ldmloia sp!, {r3, r4, r5, pc} _0214d01c: strb r1, [r5, #0xd13] bl func_ov61_0215ef94 cmp r0, #1 strneb r4, [r5, #0xd0e] movne r4, #7 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214cf74 .global func_ov61_0214d038 arm_func_start func_ov61_0214d038 func_ov61_0214d038: ; 0x0214d038 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0xd00 ldrh r0, [r0, #0x16] cmp r0, #0 beq _0214d074 mov r0, #2 bl func_ov61_0214c408 cmp r0, #0 beq _0214d074 mov r0, #0 bl func_ov61_0214c9e4 strb r0, [r4, #0xd11] mov r0, #5 ldmia sp!, {r4, pc} _0214d074: ldrb r0, [r4, #0xd0b] mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x1c cmp r0, #1 movhs r0, #6 ldmhsia sp!, {r4, pc} mov r0, r4 bl func_ov61_0214cc20 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214d038 .global func_ov61_0214d098 arm_func_start func_ov61_0214d098 func_ov61_0214d098: ; 0x0214d098 stmdb sp!, {r3, lr} ldr ip, _0214d0b8 ; =data_ov61_0217a244 cmp r2, #0xc movgt r2, #0xc ldr r2, [ip, r2, lsl #2] orr r2, r3, r2 bl func_ov61_0215edfc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214d098 _0214d0b8: .word data_ov61_0217a244 .global func_ov61_0214d0bc arm_func_start func_ov61_0214d0bc func_ov61_0214d0bc: ; 0x0214d0bc stmdb sp!, {r4, lr} sub sp, sp, #0x10 bl func_ov61_0215f568 mov r4, r0 mov r0, #0x10 bl func_ov61_0214b340 cmp r4, #1 bne _0214d128 ldrb r1, [r0, #0xd0a] mov r0, #0 str r1, [sp] str r0, [sp, #4] str r0, [sp, #8] str r0, [sp, #0xc] bl func_ov61_0214c408 ldr r1, _0214d140 ; =func_ov61_0214bac4 add r0, sp, #0 bl func_ov61_0215eb08 cmp r0, #1 beq _0214d114 cmp r0, #4 blt _0214d134 _0214d114: mov r0, #1 bl func_ov61_0214b40c add sp, sp, #0x10 mov r0, #0x11 ldmia sp!, {r4, pc} _0214d128: add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r4, pc} _0214d134: mov r0, #2 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214d0bc _0214d140: .word func_ov61_0214bac4 .global func_ov61_0214d144 arm_func_start func_ov61_0214d144 func_ov61_0214d144: ; 0x0214d144 stmdb sp!, {r3, r4, r5, lr} bl func_ov61_0214b3f8 mov r4, r0 mov r0, #0x10 bl func_ov61_0214b340 mov r5, r0 bl func_ov61_0215f568 cmp r0, #9 bne _0214d1e8 sub r0, r4, #0xa cmp r0, #5 addls pc, pc, r0, lsl #2 b _0214d238 _0214d178: ; jump table b _0214d190 ; case 0 b _0214d1dc ; case 1 b _0214d1a0 ; case 2 b _0214d1b0 ; case 3 b _0214d1bc ; case 4 b _0214d1cc ; case 5 _0214d190: mov r0, r5 bl func_ov61_0214d240 mov r4, r0 b _0214d238 _0214d1a0: mov r0, r5 bl func_ov61_0214d2a4 mov r4, r0 b _0214d238 _0214d1b0: bl func_ov61_0214d334 mov r4, r0 b _0214d238 _0214d1bc: mov r0, r5 bl func_ov61_0214d360 mov r4, r0 b _0214d238 _0214d1cc: mov r0, r5 bl func_ov61_0214d3cc mov r4, r0 b _0214d238 _0214d1dc: bl func_ov61_0214d3e0 mov r4, r0 b _0214d238 _0214d1e8: cmp r4, #0xb beq _0214d210 cmp r4, #0xe beq _0214d21c cmp r4, #0xf bne _0214d224 mov r0, r5 bl func_ov61_0214d3cc mov r4, r0 b _0214d238 _0214d210: bl func_ov61_0214d3e0 mov r4, r0 b _0214d238 _0214d21c: bl func_ov61_02150574 bl func_ov61_0215047c _0214d224: ldrb r0, [r5, #0xd13] mov r1, #2 mov r4, #0xb add r0, r5, r0, lsl #2 strb r1, [r0, #0x444] _0214d238: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0214d144 .global func_ov61_0214d240 arm_func_start func_ov61_0214d240 func_ov61_0214d240: ; 0x0214d240 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #1 bl func_ov61_0214b340 mov r5, r0 mov r0, #4 bl func_ov61_0214b340 mov r4, r0 mov r0, r5 mov r1, r6 mov r2, r4 bl func_ov61_0214d410 ldr r1, _0214d2a0 ; =data_ov61_02180c40 mov r2, #4 mov r0, r4 str r2, [r1] bl func_ov61_021593d4 cmp r0, #0 moveq r0, #0xc ldmeqia sp!, {r4, r5, r6, pc} mov r0, #2 bl func_ov61_0214b40c mov r0, #0x11 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214d240 _0214d2a0: .word data_ov61_02180c40 .global func_ov61_0214d2a4 arm_func_start func_ov61_0214d2a4 func_ov61_0214d2a4: ; 0x0214d2a4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02159200 cmp r0, #0 beq _0214d2dc mov r0, r4 bl func_ov61_0214d578 ldrb r0, [r4, #0xd0c] mov r0, r0, lsl #0x1a mov r0, r0, lsr #0x1e cmp r0, #1 moveq r0, #0xf movne r0, #0xd ldmia sp!, {r4, pc} _0214d2dc: bl func_0200e8f8 ldr r3, [r4, #0xcb0] ldr r2, [r4, #0xcb4] subs r3, r0, r3 sbc r0, r1, r2 mov r1, r0, lsl #0x6 ldr r2, _0214d330 ; =0x01ff6210 orr r1, r1, r3, lsr #26 mov r0, r3, lsl #0x6 mov r3, #0 bl func_02002bac cmp r1, #0 cmpeq r0, #0xa movlo r0, #0xc ldmloia sp!, {r4, pc} ldrb r1, [r4, #0xd13] mov r2, #1 mov r0, #0xb add r1, r4, r1, lsl #2 strb r2, [r1, #0x444] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214d2a4 _0214d330: .word 0x01ff6210 .global func_ov61_0214d334 arm_func_start func_ov61_0214d334 func_ov61_0214d334: ; 0x0214d334 stmdb sp!, {r3, lr} mov r0, #8 bl func_ov61_0214b340 bl func_ov61_0215039c cmp r0, #0 moveq r0, #0xe ldmeqia sp!, {r3, pc} mov r0, #3 bl func_ov61_0214b40c mov r0, #0x11 ldmia sp!, {r3, pc} arm_func_end func_ov61_0214d334 .global func_ov61_0214d360 arm_func_start func_ov61_0214d360 func_ov61_0214d360: ; 0x0214d360 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #1 bl func_ov61_0214b340 mov r4, r0 bl func_ov61_021505dc movs r5, r0 beq _0214d3c4 ldrb r0, [r6, #0xd0d] bl func_ov61_0214b460 ldrb r1, [r4, #0x15] cmp r1, r0 bne _0214d39c bl func_ov61_0215061c str r0, [r4, #0x10] _0214d39c: bl func_ov61_0215047c cmp r5, #0xb moveq r0, #0xf ldmeqia sp!, {r4, r5, r6, pc} ldrb r1, [r6, #0xd13] mov r2, #1 mov r0, #0xb add r1, r6, r1, lsl #2 strb r2, [r1, #0x444] ldmia sp!, {r4, r5, r6, pc} _0214d3c4: mov r0, #0xe ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0214d360 .global func_ov61_0214d3cc arm_func_start func_ov61_0214d3cc func_ov61_0214d3cc: ; 0x0214d3cc stmdb sp!, {r3, lr} ldrb r0, [r0, #0xd0d] bl func_ov61_0214b444 mov r0, #0x10 ldmia sp!, {r3, pc} arm_func_end func_ov61_0214d3cc .global func_ov61_0214d3e0 arm_func_start func_ov61_0214d3e0 func_ov61_0214d3e0: ; 0x0214d3e0 stmdb sp!, {r3, lr} bl func_ov61_02158a3c cmp r0, #0 movne r0, #0xb ldmneia sp!, {r3, pc} bl func_ov61_02159548 cmp r0, #0 mvnne r1, #0x26 cmpne r0, r1 moveq r0, #9 movne r0, #0xb ldmia sp!, {r3, pc} arm_func_end func_ov61_0214d3e0 .global func_ov61_0214d410 arm_func_start func_ov61_0214d410 func_ov61_0214d410: ; 0x0214d410 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r4, r2 mov r5, r1 ldr r0, _0214d4cc ; =data_ov61_0217a278 mov r1, r4 mov r2, #0x58 bl func_02007ad8 ldr r0, [r6] str r0, [r4, #4] ldr r0, [r6, #4] str r0, [r4, #8] ldrb r0, [r5, #0xd0d] cmp r0, #6 ldmhsia sp!, {r4, r5, r6, pc} bl func_ov61_0214b460 add r5, r5, r0, lsl #8 ldrb r0, [r5, #0xc0] cmp r0, #0 beq _0214d4a8 mov r0, #0 str r0, [r4, #0xc] add r0, r5, #0xc0 bl func_ov61_0214d4d0 str r0, [r4, #0x10] ldrb r0, [r5, #0xd0] bl func_ov61_0214d524 str r0, [r4, #0x14] add r0, r5, #0xc4 bl func_ov61_0214d4d0 str r0, [r4, #0x18] add r0, r5, #0xc8 bl func_ov61_0214d4d0 str r0, [r4, #0x1c] add r0, r5, #0xcc bl func_ov61_0214d4d0 str r0, [r4, #0x20] ldmia sp!, {r4, r5, r6, pc} _0214d4a8: mov r0, #1 str r0, [r4, #0xc] mov r0, #0 str r0, [r4, #0x10] str r0, [r4, #0x14] str r0, [r4, #0x18] str r0, [r4, #0x1c] str r0, [r4, #0x20] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214d410 _0214d4cc: .word data_ov61_0217a278 .global func_ov61_0214d4d0 arm_func_start func_ov61_0214d4d0 func_ov61_0214d4d0: ; 0x0214d4d0 ldrb r1, [r0] ldrb r2, [r0, #1] mov r3, #0 orr r3, r3, r1, lsl #24 ldrb r1, [r0, #2] orr r2, r3, r2, lsl #16 ldrb r0, [r0, #3] orr r1, r2, r1, lsl #8 orr r3, r1, r0 mov r1, r3, lsr #0x18 mov r0, r3, lsr #0x8 mov r2, r3, lsl #0x8 mov r3, r3, lsl #0x18 and r1, r1, #0xff and r0, r0, #0xff00 and r2, r2, #0xff0000 orr r0, r1, r0 and r1, r3, #0xff000000 orr r0, r2, r0 orr r0, r1, r0 bx lr arm_func_end func_ov61_0214d4d0 .global func_ov61_0214d524 arm_func_start func_ov61_0214d524 func_ov61_0214d524: ; 0x0214d524 rsb r1, r0, #0x20 cmp r1, #0 mvn r3, #0 mov r0, #0 ble _0214d548 _0214d538: add r0, r0, #1 cmp r0, r1 mov r3, r3, lsl #0x1 blt _0214d538 _0214d548: mov r1, r3, lsr #0x18 mov r0, r3, lsr #0x8 mov r2, r3, lsl #0x8 mov r3, r3, lsl #0x18 and r1, r1, #0xff and r0, r0, #0xff00 and r2, r2, #0xff0000 orr r0, r1, r0 and r1, r3, #0xff000000 orr r0, r2, r0 orr r0, r1, r0 bx lr arm_func_end func_ov61_0214d524 .global func_ov61_0214d578 arm_func_start func_ov61_0214d578 func_ov61_0214d578: ; 0x0214d578 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldrb r0, [r4, #0xd0d] cmp r0, #6 addhs sp, sp, #8 ldmhsia sp!, {r4, pc} bl func_ov61_0214b460 add r4, r4, r0, lsl #8 ldrb r0, [r4, #0xc0] ldrb r2, [r4, #0xc8] ldrb r1, [r4, #0xc9] cmp r0, #0 ldrb r3, [r4, #0xca] add r1, r2, r1 ldrb r2, [r4, #0xcb] add r1, r3, r1 addne sp, sp, #8 add r0, r2, r1 ldmneia sp!, {r4, pc} cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} add r0, r4, #0xc8 bl func_ov61_0214d4d0 str r0, [sp, #4] add r0, r4, #0xcc bl func_ov61_0214d4d0 str r0, [sp] add r0, sp, #4 add r1, sp, #0 bl func_ov61_02159238 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214d578 .global func_ov61_0214d600 arm_func_start func_ov61_0214d600 func_ov61_0214d600: ; 0x0214d600 stmdb sp!, {r3, lr} sub sp, sp, #0x18 add r1, sp, #0 bl func_ov61_0214d6e0 ldr r1, _0214d634 ; =data_ov61_0217a8b8 add r0, sp, #0 mov r2, #8 bl func_0204366c cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214d600 _0214d634: .word data_ov61_0217a8b8 .global func_ov61_0214d638 arm_func_start func_ov61_0214d638 func_ov61_0214d638: ; 0x0214d638 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r1 add r1, sp, #0 bl func_ov61_0214d6e0 add r0, sp, #0 mov r1, r4 bl func_ov61_0214d7e4 add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214d638 .global func_ov61_0214d660 arm_func_start func_ov61_0214d660 func_ov61_0214d660: ; 0x0214d660 stmdb sp!, {r4, lr} sub sp, sp, #0x18 mov r4, r1 add r1, sp, #0 bl func_ov61_0214d6e0 ldr r1, _0214d6a8 ; =data_ov61_0217a8b8 add r0, sp, #0 mov r2, #8 bl func_0204366c cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} add r0, sp, #8 mov r1, r4 mov r2, #0xa bl func_02007ad8 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214d660 _0214d6a8: .word data_ov61_0217a8b8 .global func_ov61_0214d6ac arm_func_start func_ov61_0214d6ac func_ov61_0214d6ac: ; 0x0214d6ac stmdb sp!, {r3, lr} ldr r1, _0214d6cc ; =data_ov61_0217a8c4 mov r2, #8 bl func_0204366c cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214d6ac _0214d6cc: .word data_ov61_0217a8c4 .global func_ov61_0214d6d0 arm_func_start func_ov61_0214d6d0 func_ov61_0214d6d0: ; 0x0214d6d0 ldr ip, _0214d6dc ; =func_ov61_0214d830 add r0, r0, #0xc bx ip .align 2, 0 arm_func_end func_ov61_0214d6d0 _0214d6dc: .word func_ov61_0214d830 .global func_ov61_0214d6e0 arm_func_start func_ov61_0214d6e0 func_ov61_0214d6e0: ; 0x0214d6e0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 ldr lr, _0214d7dc ; =data_ov61_0217a2d3 add ip, sp, #0 mov r4, r1 mov r3, #0xc _0214d6f8: ldrb r2, [lr] ldrb r1, [lr, #1] add lr, lr, #2 strb r2, [ip] strb r1, [ip, #1] add ip, ip, #2 subs r3, r3, #1 bne _0214d6f8 mov r1, r4 mov r2, #0x20 mov r3, #0x18 bl func_ov61_0214da4c ldr r0, _0214d7e0 ; =data_ov61_0217a850 mov r3, #0 _0214d730: ldr r1, [r0, #8] ldrb r2, [r4, r3] ldrsb r1, [r1, r3] eor r1, r2, r1 strb r1, [r4, r3] add r3, r3, #1 cmp r3, #0x18 blt _0214d730 mov r7, #0 add ip, sp, #0 mov r1, #0xff _0214d75c: and lr, r7, #0xff ldrb r0, [ip, lr] mov r5, lr ldrb r6, [r4, r7] cmp r0, #0xff beq _0214d7a0 _0214d774: add r3, ip, r5 ldrb r5, [ip, r5] ldrb r0, [ip, lr] ldrb r2, [r4, r5] mov lr, r5 strb r6, [r4, r0] strb r1, [r3] ldrb r0, [ip, r5] mov r6, r2 cmp r0, #0xff bne _0214d774 _0214d7a0: add r7, r7, #1 cmp r7, #0x18 blt _0214d75c ldr r0, _0214d7e0 ; =data_ov61_0217a850 mov r3, #0 _0214d7b4: ldr r1, [r0] ldrb r2, [r4, r3] ldrsb r1, [r1, r3] eor r1, r2, r1 strb r1, [r4, r3] add r3, r3, #1 cmp r3, #0x18 blt _0214d7b4 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0214d6e0 _0214d7dc: .word data_ov61_0217a2d3 _0214d7e0: .word data_ov61_0217a850 .global func_ov61_0214d7e4 arm_func_start func_ov61_0214d7e4 func_ov61_0214d7e4: ; 0x0214d7e4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x6c mov r5, r0 add r0, sp, #0x14 mov r4, r1 blx func_02050218 add r0, sp, #0x14 mov r1, r5 mov r2, #0x18 blx func_02050240 add r0, sp, #0 add r1, sp, #0x14 blx func_020502d4 add r0, sp, #3 mov r1, r4 mov r2, #0xd bl func_02007ad8 add sp, sp, #0x6c ldmia sp!, {r4, r5, pc} arm_func_end func_ov61_0214d7e4 .global func_ov61_0214d830 arm_func_start func_ov61_0214d830 func_ov61_0214d830: ; 0x0214d830 stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldr lr, _0214d9cc ; =0x92492493 mov r4, r1 mov r1, #0 mov ip, #7 _0214d848: smull r2, r3, lr, r1 add r3, r1, r3 mov r2, r1, lsr #0x1f add r3, r2, r3, asr #2 smull r2, r3, ip, r3 sub r3, r1, r2 add r2, r0, r3 ldrb r3, [r0, r1] ldrb r2, [r2, #0xd] eor r2, r3, r2 strb r2, [r4, r1] add r1, r1, #1 cmp r1, #0xd blt _0214d848 mov ip, #0 _0214d884: add r3, r4, ip add r1, r0, ip ldrb r2, [r3, #3] ldrb r1, [r1, #0xd] add ip, ip, #1 cmp ip, #7 eor r1, r2, r1 strb r1, [r3, #3] blt _0214d884 ldr r0, _0214d9d0 ; =data_ov61_0217a850 mov r3, #0 _0214d8b0: ldr r1, [r0, #4] ldrb r2, [r4, r3] ldrsb r1, [r1, r3] eor r1, r2, r1 strb r1, [r4, r3] add r3, r3, #1 cmp r3, #0xd blt _0214d8b0 add r1, sp, #0 mov r0, r4 mov r2, #0xd bl func_02007ad8 ldr r3, _0214d9d4 ; =data_ov61_0217a2ec add r2, sp, #0 mov ip, #0 _0214d8ec: ldrb r1, [r2], #1 ldrb r0, [r3], #1 add ip, ip, #1 cmp ip, #0xd strb r1, [r4, r0] blt _0214d8ec ldr r0, _0214d9d0 ; =data_ov61_0217a850 mov r3, #0 _0214d90c: ldr r1, [r0, #0xc] ldrb r2, [r4, r3] ldrsb r1, [r1, r3] eor r1, r2, r1 strb r1, [r4, r3] add r3, r3, #1 cmp r3, #0xd blt _0214d90c ldr r2, _0214d9d8 ; =data_ov61_0217a2fc mov ip, #0 _0214d934: ldrb r3, [r4, ip] mov r0, r3, asr #0x4 and r1, r0, #0xf and r0, r3, #0xf ldrb r1, [r2, r1] ldrb r0, [r2, r0] orr r0, r0, r1, lsl #4 strb r0, [r4, ip] add ip, ip, #1 cmp ip, #0xd blt _0214d934 mov r1, #0 _0214d964: add r0, r4, r1 ldrb r3, [r4, r1] ldrb r2, [r0, #6] eor r2, r3, r2 strb r2, [r4, r1] ldrb r3, [r0, #3] ldrb r2, [r0, #9] eor r2, r3, r2 strb r2, [r0, #3] ldrb r3, [r0, #6] and r2, r2, #0xff eor r2, r3, r2 strb r2, [r0, #6] ldrb r3, [r0, #9] ldrb r2, [r4, r1] eor r2, r3, r2 strb r2, [r0, #9] ldrb r0, [r4, r1] ldrb r2, [r4, #0xc] add r1, r1, #1 cmp r1, #3 eor r0, r2, r0 strb r0, [r4, #0xc] blt _0214d964 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214d830 _0214d9cc: .word 0x92492493 _0214d9d0: .word data_ov61_0217a850 _0214d9d4: .word data_ov61_0217a2ec _0214d9d8: .word data_ov61_0217a2fc .global func_ov61_0214d9dc arm_func_start func_ov61_0214d9dc func_ov61_0214d9dc: ; 0x0214d9dc cmp r0, #0x41 blo _0214d9f0 cmp r0, #0x5a subls r0, r0, #0x41 bxls lr _0214d9f0: cmp r0, #0x61 blo _0214da08 cmp r0, #0x7a subls r0, r0, #0x61 addls r0, r0, #0x1a bxls lr _0214da08: cmp r0, #0x30 blo _0214da20 cmp r0, #0x39 subls r0, r0, #0x30 addls r0, r0, #0x34 bxls lr _0214da20: cmp r0, #0x2b moveq r0, #0x3e bxeq lr cmp r0, #0x2f moveq r0, #0x3f bxeq lr cmp r0, #0x3d movne r0, #1 moveq r0, #0 rsb r0, r0, #0 bx lr arm_func_end func_ov61_0214d9dc .global func_ov61_0214da4c arm_func_start func_ov61_0214da4c func_ov61_0214da4c: ; 0x0214da4c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 add r4, r2, r2, lsl #1 str r0, [sp] mov r0, r4, lsr #0x2 str r1, [sp, #4] cmp r3, r4, lsr #2 str r0, [sp, #8] blo _0214da80 and fp, r2, #3 sub r0, r2, fp str r0, [sp, #0xc] b _0214da8c _0214da80: add sp, sp, #0x18 mvn r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214da8c: cmp r0, #0 mov r7, #0 ble _0214db14 mov sb, r7 add r5, sp, #0x14 mov r4, #6 _0214daa4: ldr r0, [sp] mov r6, #0 mov r8, r6 add sl, r0, r7 _0214dab4: ldrb r0, [sl], #1 bl func_ov61_0214d9dc rsb r1, r8, #3 mul r2, r1, r4 orr r6, r6, r0, lsl r2 add r8, r8, #1 cmp r8, #4 blt _0214dab4 ldr r0, [sp, #4] add r1, sb, sb, lsl #1 mov r2, #0 str r6, [sp, #0x14] add r1, r0, r1 _0214dae8: rsb r0, r2, #2 ldrb r0, [r5, r0] add r2, r2, #1 cmp r2, #3 strb r0, [r1], #1 blt _0214dae8 ldr r0, [sp, #0xc] add r7, r7, #4 cmp r7, r0 add sb, sb, #1 blt _0214daa4 _0214db14: cmp fp, #0 beq _0214dba8 mov r5, #0 mov r6, r5 str r5, [sp, #0x10] ble _0214db68 ldr r1, [sp] ldr r0, [sp, #0xc] mov r8, r5 add r4, r1, r0 mov r7, #6 _0214db40: ldrb r0, [r4], #1 bl func_ov61_0214d9dc rsb r1, r6, #3 mul r2, r1, r7 orr r5, r5, r0, lsl r2 add r6, r6, #1 cmp r6, fp orr r8, r8, r5 blt _0214db40 str r8, [sp, #0x10] _0214db68: cmp fp, #0 mov r3, #0 ble _0214dba8 ldr r0, [sp, #0xc] add r1, r0, r0, lsl #1 mov r0, r1, asr #0x1 add r1, r1, r0, lsr #30 ldr r0, [sp, #4] add r2, r0, r1, asr #2 add r1, sp, #0x10 _0214db90: rsb r0, r3, #2 ldrb r0, [r1, r0] add r3, r3, #1 cmp r3, fp strb r0, [r2], #1 blt _0214db90 _0214dba8: ldr r0, [sp, #8] add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0214da4c .global func_ov61_0214dbb4 arm_func_start func_ov61_0214dbb4 func_ov61_0214dbb4: ; 0x0214dbb4 ldr r1, _0214dbc0 ; =data_ov61_0217a8d0 str r0, [r1] bx lr .align 2, 0 arm_func_end func_ov61_0214dbb4 _0214dbc0: .word data_ov61_0217a8d0 .global func_ov61_0214dbc4 arm_func_start func_ov61_0214dbc4 func_ov61_0214dbc4: ; 0x0214dbc4 stmdb sp!, {r3, r4, r5, lr} ldr r2, _0214dcd8 ; =data_ov61_0217f368 mov r5, r0 ldr r0, [r2, #8] mov r4, r1 cmp r0, #0 ldr r2, [r5, #0x40] movne r0, #2 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _0214dcdc ; =data_ov61_0217a914 ldr r1, _0214dce0 ; =0x000013f4 blx r2 ldr r1, _0214dcd8 ; =data_ov61_0217f368 cmp r0, #0 str r0, [r1, #8] moveq r0, #2 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, _0214dce0 ; =0x000013f4 mov r1, #0 bl func_02007a44 ldr r3, _0214dcd8 ; =data_ov61_0217f368 mov r1, #0 ldr r0, [r3, #8] mov r2, #0x1c4 add r0, r0, #0x1000 str r4, [r0, #0x314] str r1, [r3] ldr r0, [r3, #8] add r0, r0, #8 add r0, r0, #0x1000 bl func_02007a44 ldr r1, _0214dcd8 ; =data_ov61_0217f368 ldr r2, _0214dce4 ; =0x00004e84 ldr r0, [r1, #8] mov r4, #4 add r0, r0, #0x1000 str r2, [r0, #8] ldr lr, [r1, #8] add r0, lr, #0x1cc add ip, r0, #0x1000 _0214dc64: ldmia r5!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} subs r4, r4, #1 bne _0214dc64 ldmia r5, {r0, r1} stmia ip, {r0, r1} add r0, lr, #0x1100 mov r2, #0 strh r2, [r0, #0xfe] ldr r1, _0214dcd8 ; =data_ov61_0217f368 mov r0, #1 ldr r1, [r1, #8] add r1, r1, #0x1000 strb r2, [r1, #0x20b] bl func_ov61_0214df8c ldr r2, _0214dcd8 ; =data_ov61_0217f368 ldr r1, [r2, #8] add r1, r1, #0x1000 str r0, [r1, #4] ldr r0, [r2, #8] add r0, r0, #0x1000 ldr r0, [r0, #4] cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, #0 str r0, [r2, #4] bl func_ov61_0214dce8 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214dbc4 _0214dcd8: .word data_ov61_0217f368 _0214dcdc: .word data_ov61_0217a914 _0214dce0: .word 0x000013f4 _0214dce4: .word 0x00004e84 .global func_ov61_0214dce8 arm_func_start func_ov61_0214dce8 func_ov61_0214dce8: ; 0x0214dce8 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r0, _0214dd90 ; =data_ov61_0217f368 ldr r0, [r0, #8] add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e02c ldr r1, _0214dd90 ; =data_ov61_0217f368 mov r2, #0 ldr r0, [r1, #8] add r0, r0, #0x1000 str r2, [r0, #0x3f0] ldr r1, [r1, #8] add r0, r1, #0x1000 ldr r0, [r0, #0x384] cmp r0, #0 beq _0214dd44 add r0, r1, #0x318 add r0, r0, #0x1000 bl func_0200d86c cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, pc} _0214dd44: ldr r0, _0214dd90 ; =data_ov61_0217f368 mov r3, #0x1000 ldr lr, [r0, #8] ldr r1, _0214dd94 ; =func_ov61_0214e09c add r0, lr, #0x318 ldr r2, _0214dd98 ; =data_ov61_0217f370 str r3, [sp] mov ip, #0x10 add r0, r0, #0x1000 add r3, lr, #0x1000 str ip, [sp, #4] blx func_0200d5e4 ldr r0, _0214dd90 ; =data_ov61_0217f368 ldr r0, [r0, #8] add r0, r0, #0x318 add r0, r0, #0x1000 bl func_0200d938 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214dce8 _0214dd90: .word data_ov61_0217f368 _0214dd94: .word func_ov61_0214e09c _0214dd98: .word data_ov61_0217f370 .global func_ov61_0214dd9c arm_func_start func_ov61_0214dd9c func_ov61_0214dd9c: ; 0x0214dd9c stmdb sp!, {r3, lr} ldr r0, _0214de24 ; =data_ov61_0217f368 ldr r0, [r0, #8] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e044 ldr r1, _0214de24 ; =data_ov61_0217f368 mov r2, #1 ldr r0, [r1, #8] add r0, r0, #0x1000 str r2, [r0, #0x3f0] ldr r0, [r1, #8] add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e0c8 ldr r0, _0214de24 ; =data_ov61_0217f368 ldr r0, [r0, #8] add r0, r0, #0x1000 ldr r0, [r0, #0x314] cmp r0, #0 beq _0214ddfc bl func_ov61_0214f26c _0214ddfc: ldr r0, _0214de24 ; =data_ov61_0217f368 ldr r1, [r0, #8] add r0, r1, #0x1000 ldr r0, [r0, #0x384] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r1, #0x318 add r0, r0, #0x1000 bl func_0200d83c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214dd9c _0214de24: .word data_ov61_0217f368 .global func_ov61_0214de28 arm_func_start func_ov61_0214de28 func_ov61_0214de28: ; 0x0214de28 stmdb sp!, {r4, lr} ldr r0, _0214de78 ; =data_ov61_0217f368 ldr r0, [r0, #8] cmp r0, #0 ldmeqia sp!, {r4, pc} add r1, r0, #0x1000 ldr r0, [r1, #0x314] ldr r4, [r1, #0x210] cmp r0, #0 beq _0214de54 bl func_ov61_0214f7b0 _0214de54: ldr r1, _0214de78 ; =data_ov61_0217f368 ldr r0, _0214de7c ; =data_ov61_0217a924 ldr r1, [r1, #8] mov r2, #0 blx r4 ldr r0, _0214de78 ; =data_ov61_0217f368 mov r1, #0 str r1, [r0, #8] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214de28 _0214de78: .word data_ov61_0217f368 _0214de7c: .word data_ov61_0217a924 .global func_ov61_0214de80 arm_func_start func_ov61_0214de80 func_ov61_0214de80: ; 0x0214de80 stmdb sp!, {r3, lr} ldr r0, _0214deac ; =data_ov61_0217f368 ldr r1, [r0, #8] add r0, r1, #0x1000 ldr r0, [r0, #0x384] cmp r0, #0 ldmeqia sp!, {r3, pc} add r0, r1, #0x318 add r0, r0, #0x1000 bl func_0200d83c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0214de80 _0214deac: .word data_ov61_0217f368 .global func_ov61_0214deb0 arm_func_start func_ov61_0214deb0 func_ov61_0214deb0: ; 0x0214deb0 stmdb sp!, {r4, lr} ldr r0, _0214def8 ; =data_ov61_0217f368 ldr r0, [r0, #8] cmp r0, #0 moveq r0, #0x16 ldmeqia sp!, {r4, pc} add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e044 ldr r0, _0214def8 ; =data_ov61_0217f368 ldr r1, [r0, #8] add r0, r1, #0x3d8 add r1, r1, #0x1000 add r0, r0, #0x1000 ldr r4, [r1, #4] bl func_0200e0c8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214deb0 _0214def8: .word data_ov61_0217f368 .global func_ov61_0214defc arm_func_start func_ov61_0214defc func_ov61_0214defc: ; 0x0214defc stmdb sp!, {r4, lr} ldr r1, _0214df78 ; =data_ov61_0217f368 mov r4, r0 ldr r1, [r1, #8] cmp r1, #0 bne _0214df20 mov r1, #0 mov r2, #0x1c4 bl func_02007a44 _0214df20: ldr r0, _0214df78 ; =data_ov61_0217f368 mov r1, r4 ldr r0, [r0, #8] mov r2, #0x1c4 add r0, r0, #8 add r0, r0, #0x1000 bl func_02007ad8 ldr r1, [r4] ldr r0, _0214df7c ; =0x00004e20 cmp r1, r0 blt _0214df58 ldr r0, _0214df80 ; =0x00007530 cmp r1, r0 blt _0214df60 _0214df58: ldr r0, _0214df84 ; =0x00005206 str r0, [r4] _0214df60: ldr r1, [r4] ldr r0, _0214df88 ; =0x00004e84 cmp r1, r0 rsbge r0, r1, #0 strge r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214defc _0214df78: .word data_ov61_0217f368 _0214df7c: .word 0x00004e20 _0214df80: .word 0x00007530 _0214df84: .word 0x00005206 _0214df88: .word 0x00004e84 .global func_ov61_0214df8c arm_func_start func_ov61_0214df8c func_ov61_0214df8c: ; 0x0214df8c stmdb sp!, {r4, lr} ldr r1, _0214e084 ; =data_ov61_0217a8d0 mov r4, r0 ldr r0, [r1] ldr r1, _0214e088 ; =data_ov61_0217a934 bl func_0204716c cmp r0, #0 ldrne r0, _0214e084 ; =data_ov61_0217a8d0 movne r1, #1 strne r1, [r0, #0x14] ldr r0, _0214e08c ; =data_ov61_0217f368 ldr r2, _0214e084 ; =data_ov61_0217a8d0 ldr r0, [r0, #8] ldr r1, _0214e090 ; =data_ov61_0217a8d0 add r0, r0, #0x1000 ldr r3, [r0, #0x20c] str r3, [r2, #0xc] ldr r3, [r0, #0x210] str r3, [r2, #0x10] ldr r0, [r0, #0x314] bl func_ov61_0214effc cmp r0, #0 movne r0, #4 ldmneia sp!, {r4, pc} cmp r4, #1 bne _0214dffc ldr r0, _0214e094 ; =data_ov61_0217f374 blx func_ov00_02077af8 _0214dffc: ldr r0, _0214e08c ; =data_ov61_0217f368 ldr r1, [r0, #8] add r0, r1, #0x1000 add r2, r1, #0x1cc ldr r0, [r0, #0x314] add r1, r1, #0x1200 add r2, r2, #0x1000 bl func_ov61_0214e7f0 ldr r2, _0214e08c ; =data_ov61_0217f368 ldr r1, [r2, #8] add r1, r1, #0x1000 str r0, [r1, #4] ldr r0, [r2, #8] add r0, r0, #0x1000 ldr r1, [r0, #4] cmp r1, #0 movne r0, #4 ldmneia sp!, {r4, pc} ldr r0, [r0, #0x314] bl func_ov61_0214f118 cmp r0, #0 movne r0, #4 ldmneia sp!, {r4, pc} ldr r0, _0214e098 ; =data_027e02a0 ldr r0, [r0, #4] bl func_0200db20 ldr r1, _0214e08c ; =data_ov61_0217f368 ldr r2, [r1, #8] sub r1, r0, #1 add r0, r2, #0x1000 ldr r0, [r0, #0x314] bl func_ov61_0214f1b0 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214df8c _0214e084: .word data_ov61_0217a8d0 _0214e088: .word data_ov61_0217a934 _0214e08c: .word data_ov61_0217f368 _0214e090: .word data_ov61_0217a8d0 _0214e094: .word data_ov61_0217f374 _0214e098: .word data_027e02a0 .global func_ov61_0214e09c arm_func_start func_ov61_0214e09c func_ov61_0214e09c: ; 0x0214e09c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r8, #0 _0214e0a4: ldr r0, _0214e340 ; =data_ov61_0217f368 ldr r0, [r0, #8] add r0, r0, #0x1000 ldr r1, [r0, #0x314] add r0, r1, #0x1000 ldr r0, [r0, #0xba4] cmp r0, #0 beq _0214e0d0 add r0, r1, #0x338 add r0, r0, #0x1800 bl func_0200d83c _0214e0d0: ldr r2, _0214e340 ; =data_ov61_0217f368 ldr r0, [r2, #8] add r0, r0, #0x1000 ldr r1, [r0, #0x314] add r1, r1, #0x1000 ldr r1, [r1, #0x20] cmp r1, #8 beq _0214e16c ldr r1, _0214e344 ; =0x00004e84 str r1, [r0, #8] ldr r0, [r2, #8] add r0, r0, #0x1000 ldr r0, [r0, #0x314] add r0, r0, #0x1000 ldr r0, [r0, #0x20] cmp r0, #7 bne _0214e120 mov r0, #0x14 bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e120: cmp r8, #2 ble _0214e15c cmp r0, #2 bne _0214e13c mov r0, #9 bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e13c: cmp r0, #3 bne _0214e150 mov r0, #0xb bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e150: mov r0, #0xd bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e15c: mov r0, #1 add r8, r8, #1 str r0, [sp] b _0214e1dc _0214e16c: bl func_ov61_0214e350 cmp r0, #0x10 beq _0214e194 cmp r0, #0x11 beq _0214e1b8 cmp r0, #0x15 bne _0214e1c0 mov r0, #0x15 bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e194: cmp r8, #2 ble _0214e1a8 mov r0, #0x10 bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e1a8: mov r0, #0 add r8, r8, #1 str r0, [sp] b _0214e1dc _0214e1b8: bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e1c0: cmp r8, #2 blt _0214e1d0 bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e1d0: mov r0, #1 add r8, r8, #1 str r0, [sp] _0214e1dc: bl func_0200e8f8 mov sb, r0 mov sl, r1 bl func_0200e8f8 subs r2, r0, sb sbc r0, r1, sl mov r1, r0, lsl #0x6 orr r1, r1, r2, lsr #26 mov r0, r2, lsl #0x6 ldr r2, _0214e348 ; =0x000082ea mov r3, #0 bl func_02002bac cmp r1, #0 ldr r7, _0214e34c ; =0x00001388 cmpeq r0, r7 bhs _0214e2bc mov fp, #0 ldr r6, _0214e348 ; =0x000082ea ldr r5, _0214e340 ; =data_ov61_0217f368 mov r4, fp _0214e22c: ldr r0, [r5, #8] add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e044 ldr r2, [r5, #8] add r0, r2, #0x1000 ldr r1, [r0, #0x3f0] cmp r1, #1 bne _0214e278 ldr r2, _0214e344 ; =0x00004e84 ldr r1, _0214e340 ; =data_ov61_0217f368 str r2, [r0, #8] ldr r0, [r1, #8] add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e0c8 mov r0, #0x14 bl func_ov61_0214e994 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e278: add r0, r2, #0x3d8 add r0, r0, #0x1000 bl func_0200e0c8 mov r0, r7 bl func_0200db28 bl func_0200e8f8 subs r2, r0, sb sbc r0, r1, sl mov r1, r0, lsl #0x6 orr r1, r1, r2, lsr #26 mov r0, r2, lsl #0x6 mov r2, r6 mov r3, fp bl func_02002bac cmp r1, r4 cmpeq r0, r7 blo _0214e22c _0214e2bc: ldr r0, _0214e340 ; =data_ov61_0217f368 ldr r0, [r0, #8] add r0, r0, #0x1000 ldr r0, [r0, #0x314] bl func_ov61_0214f7b0 ldr r0, _0214e340 ; =data_ov61_0217f368 ldr r0, [r0, #8] add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e044 ldr r0, [sp] bl func_ov61_0214df8c ldr r2, _0214e340 ; =data_ov61_0217f368 ldr r1, [r2, #8] add r1, r1, #0x1000 str r0, [r1, #4] ldr r3, [r2, #8] add r0, r3, #0x1000 ldr r1, [r0, #4] cmp r1, #0 beq _0214e32c ldr r1, _0214e344 ; =0x00004e84 str r1, [r0, #8] ldr r0, [r2, #8] add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e0c8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214e32c: add r0, r3, #0x3d8 add r0, r0, #0x1000 bl func_0200e0c8 b _0214e0a4 _0214e33c: ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0214e09c _0214e340: .word data_ov61_0217f368 _0214e344: .word 0x00004e84 _0214e348: .word 0x000082ea _0214e34c: .word 0x00001388 .global func_ov61_0214e350 arm_func_start func_ov61_0214e350 func_ov61_0214e350: ; 0x0214e350 stmdb sp!, {r3, r4, r5, lr} ldr r0, _0214e508 ; =data_ov61_0217f368 mov r1, #0 ldr r0, [r0, #8] add r2, r0, #0x1000 ldr r0, [r2, #0x314] ldr r4, [r2, #0x20c] ldr r5, [r2, #0x210] bl func_ov61_0214ff88 cmp r0, #1 beq _0214e398 ldr r0, _0214e508 ; =data_ov61_0217f368 ldr r2, _0214e50c ; =0x00004e84 ldr r1, [r0, #8] mov r0, #0xe add r1, r1, #0x1000 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} _0214e398: bl func_ov61_0214e528 cmp r0, #0 movne r0, #0xe ldmneia sp!, {r3, r4, r5, pc} ldr r0, _0214e508 ; =data_ov61_0217f368 ldr r1, _0214e50c ; =0x00004e84 ldr r0, [r0, #8] add r0, r0, #0x1000 ldr r2, [r0, #8] cmp r2, r1 bge _0214e458 sub r0, r1, #0x62 cmp r2, r0 bne _0214e450 ldr r0, _0214e510 ; =data_ov61_0217a954 ldr r1, _0214e514 ; =0x0000071f blx r4 movs r4, r0 bne _0214e400 ldr r0, _0214e508 ; =data_ov61_0217f368 ldr r2, _0214e50c ; =0x00004e84 ldr r1, [r0, #8] mov r0, #2 add r1, r1, #0x1000 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} _0214e400: add r1, r4, #0x1f ldr r0, _0214e518 ; =data_ov61_0217f374 bic r1, r1, #0x1f blx func_ov00_02078934 cmp r0, #1 mov r2, #0 beq _0214e444 ldr r0, _0214e51c ; =data_ov61_0217a964 mov r1, r4 blx r5 ldr r0, _0214e508 ; =data_ov61_0217f368 ldr r2, _0214e50c ; =0x00004e84 ldr r1, [r0, #8] mov r0, #0xf add r1, r1, #0x1000 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} _0214e444: ldr r0, _0214e51c ; =data_ov61_0217a964 mov r1, r4 blx r5 _0214e450: mov r0, #0x15 ldmia sp!, {r3, r4, r5, pc} _0214e458: add r0, r1, #4 cmp r2, r0 beq _0214e474 add r0, r1, #8 cmp r2, r0 beq _0214e498 b _0214e500 _0214e474: ldr r0, _0214e518 ; =data_ov61_0217f374 blx func_ov00_0207896c ldr r0, _0214e508 ; =data_ov61_0217f368 ldr r2, _0214e520 ; =0x00004e88 ldr r1, [r0, #8] mov r0, #0x10 add r1, r1, #0x1000 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} _0214e498: ldr r0, _0214e510 ; =data_ov61_0217a954 mov r1, #0x700 blx r4 movs r4, r0 bne _0214e4c8 ldr r0, _0214e508 ; =data_ov61_0217f368 ldr r2, _0214e524 ; =0x00004e8c ldr r1, [r0, #8] mov r0, #0x11 add r1, r1, #0x1000 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} _0214e4c8: add r0, r4, #0x1f bic r0, r0, #0x1f blx func_ov00_02078904 ldr r0, _0214e51c ; =data_ov61_0217a964 mov r1, r4 mov r2, #0 blx r5 ldr r0, _0214e508 ; =data_ov61_0217f368 ldr r2, _0214e524 ; =0x00004e8c ldr r1, [r0, #8] mov r0, #0x11 add r1, r1, #0x1000 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} _0214e500: mov r0, #0x12 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214e350 _0214e508: .word data_ov61_0217f368 _0214e50c: .word 0x00004e84 _0214e510: .word data_ov61_0217a954 _0214e514: .word 0x0000071f _0214e518: .word data_ov61_0217f374 _0214e51c: .word data_ov61_0217a964 _0214e520: .word 0x00004e88 _0214e524: .word 0x00004e8c .global func_ov61_0214e528 arm_func_start func_ov61_0214e528 func_ov61_0214e528: ; 0x0214e528 stmdb sp!, {r3, r4, r5, lr} ldr r0, _0214e7c0 ; =data_ov61_0217f368 mov r1, #0 ldr r0, [r0, #8] str r1, [sp] add r0, r0, #0x1000 ldr r0, [r0, #0x314] ldr r1, _0214e7c4 ; =data_ov61_0217a970 bl func_ov61_02150228 str r0, [sp] cmp r0, #0 beq _0214e55c bl func_ov61_021515ec _0214e55c: ldr r0, _0214e7c0 ; =data_ov61_0217f368 mov r2, #0 ldr r1, [r0, #8] ldr r0, _0214e7c8 ; =data_02076d88 str r2, [sp] str r2, [r0] add r0, r1, #0x1000 ldr r0, [r0, #0x314] ldr r1, _0214e7cc ; =data_ov61_0217a978 bl func_ov61_02150228 bl func_0204902c ldr r1, _0214e7c8 ; =data_02076d88 ldr r1, [r1] cmp r1, #0x22 bne _0214e5b4 ldr r0, _0214e7c0 ; =data_ov61_0217f368 ldr r2, _0214e7d0 ; =0x00004e85 ldr r1, [r0, #8] mov r0, #0xc add r1, r1, #0x1000 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} _0214e5b4: cmp r0, #0xc8 beq _0214e5dc ldr r1, _0214e7c0 ; =data_ov61_0217f368 add r0, r0, #0x1d8 ldr r1, [r1, #8] add r2, r0, #0x5800 add r0, r1, #0x1000 str r2, [r0, #8] mov r0, #0x12 ldmia sp!, {r3, r4, r5, pc} _0214e5dc: ldr r0, _0214e7c0 ; =data_ov61_0217f368 ldr r1, _0214e7d4 ; =data_ov61_0217a984 ldr r2, [r0, #8] mov r3, #4 add r0, r2, #0x1000 add r2, r2, #0xc ldr r0, [r0, #0x314] add r2, r2, #0x1000 bl func_ov61_02150280 cmp r0, #0 bgt _0214e624 ldr r0, _0214e7c0 ; =data_ov61_0217f368 ldr r2, _0214e7d0 ; =0x00004e85 ldr r1, [r0, #8] mov r0, #0xe add r1, r1, #0x1000 str r2, [r1, #8] ldmia sp!, {r3, r4, r5, pc} _0214e624: ldr r0, _0214e7c0 ; =data_ov61_0217f368 add r1, sp, #0 ldr r0, [r0, #8] mov r2, #0xa add r0, r0, #0xc add r0, r0, #0x1000 bl func_02048f64 ldr r1, _0214e7c0 ; =data_ov61_0217f368 mov r4, r0 ldr r5, [r1, #8] add r0, r5, #0xc add r0, r0, #0x1000 bl func_02047008 add r1, r5, #0xc add r1, r1, #0x1000 ldr r2, [sp] add r0, r1, r0 cmp r2, r0 beq _0214e684 ldr r1, _0214e7d0 ; =0x00004e85 add r0, r5, #0x1000 str r1, [r0, #8] mov r0, #0xc ldmia sp!, {r3, r4, r5, pc} _0214e684: add r0, r4, #0xe20 add r1, r0, #0x4000 add r0, r5, #0x1000 str r1, [r0, #8] cmp r4, #0x64 bge _0214e7b8 ldr r5, _0214e7c0 ; =data_ov61_0217f368 mov r0, #0 ldr r2, [r5, #8] ldr r1, _0214e7d8 ; =data_ov61_0217a990 add r2, r2, #0x1000 strb r0, [r2, #0x52] ldr r2, [r5, #8] ldr r3, _0214e7dc ; =0x0000012d add r2, r2, #0x1000 strb r0, [r2, #0x1f] ldr r2, [r5, #8] add r2, r2, #0x1000 strb r0, [r2, #0x17f] ldr r2, [r5, #8] add r2, r2, #0x1000 strb r0, [r2, #0x10] ldr r2, [r5, #8] add r2, r2, #0x1000 strb r0, [r2, #0x188] ldr r2, [r5, #8] add r0, r2, #0x1000 add r2, r2, #0x52 ldr r0, [r0, #0x314] add r2, r2, #0x1000 bl func_ov61_02150280 mov r0, r5 ldr r2, [r0, #8] ldr r1, _0214e7e0 ; =data_ov61_0217a998 add r0, r2, #0x1000 add r2, r2, #0x1f ldr r0, [r0, #0x314] mov r3, #0x33 add r2, r2, #0x1000 bl func_ov61_02150280 mov r0, r5 ldr r2, [r0, #8] ldr r1, _0214e7e4 ; =data_ov61_0217a9a0 add r0, r2, #0x1000 add r2, r2, #0x7f ldr r0, [r0, #0x314] mov r3, #9 add r2, r2, #0x1100 bl func_ov61_02150280 mov r0, r5 ldr r2, [r0, #8] ldr r1, _0214e7e8 ; =data_ov61_0217a9ac add r0, r2, #0x1000 add r2, r2, #0x10 ldr r0, [r0, #0x314] mov r3, #0xf add r2, r2, #0x1000 bl func_ov61_02150280 mov r0, r5 ldr r2, [r0, #8] ldr r1, _0214e7ec ; =data_ov61_0217a9b8 add r0, r2, #0x1000 add r2, r2, #0x188 ldr r0, [r0, #0x314] mov r3, #0x41 add r2, r2, #0x1000 bl func_ov61_021502d4 mov r1, r5 ldr r0, [r1, #8] mov r2, #0 add r0, r0, #0x1000 cmp r4, #0x28 strb r2, [r0, #0x1b3] movne r0, #1 strne r0, [r1] moveq r0, #2 streq r0, [r1] _0214e7b8: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214e528 _0214e7c0: .word data_ov61_0217f368 _0214e7c4: .word data_ov61_0217a970 _0214e7c8: .word data_02076d88 _0214e7cc: .word data_ov61_0217a978 _0214e7d0: .word 0x00004e85 _0214e7d4: .word data_ov61_0217a984 _0214e7d8: .word data_ov61_0217a990 _0214e7dc: .word 0x0000012d _0214e7e0: .word data_ov61_0217a998 _0214e7e4: .word data_ov61_0217a9a0 _0214e7e8: .word data_ov61_0217a9ac _0214e7ec: .word data_ov61_0217a9b8 .global func_ov61_0214e7f0 arm_func_start func_ov61_0214e7f0 func_ov61_0214e7f0: ; 0x0214e7f0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x94 ldr r3, _0214e96c ; =data_ov61_0217f368 mov r4, r0 ldr r0, [r3, #0x10] ldr r3, [r3, #0xc] cmp r0, #0 mov r6, r1 mov r5, r2 cmpeq r3, #0 bne _0214e84c ldr r0, _0214e970 ; =data_ov61_0217a9c4 bl func_02047008 mov r3, r0 ldr r1, _0214e974 ; =data_ov61_0217a9d0 ldr r2, _0214e970 ; =data_ov61_0217a9c4 mov r0, r4 bl func_ov61_0214fa00 cmp r0, #0 beq _0214e8a4 add sp, sp, #0x94 mov r0, #8 ldmia sp!, {r3, r4, r5, r6, pc} _0214e84c: ldr r0, _0214e978 ; =data_ov61_0217a9d8 bl func_02047008 mov r3, r0 ldr r1, _0214e974 ; =data_ov61_0217a9d0 ldr r2, _0214e978 ; =data_ov61_0217a9d8 mov r0, r4 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x94 movne r0, #8 ldmneia sp!, {r3, r4, r5, r6, pc} mov r0, r6 bl func_02047008 mov r3, r0 ldr r1, _0214e97c ; =data_ov61_0217a9e0 mov r0, r4 mov r2, r6 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x94 movne r0, #8 ldmneia sp!, {r3, r4, r5, r6, pc} _0214e8a4: ldr r1, _0214e980 ; =data_ov61_0217f374 add r0, sp, #0 bl func_ov61_0214ea00 cmp r0, #0 addeq sp, sp, #0x94 moveq r0, #5 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _0214e984 ; =data_ov61_0217f390 add r1, sp, #0 ldr r2, [r0] mov r0, r4 bl func_ov61_0214ecb0 cmp r0, #0 addeq sp, sp, #0x94 moveq r0, #8 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _0214e96c ; =data_ov61_0217f368 ldr r0, [r0, #4] cmp r0, #1 bne _0214e920 ldr r0, _0214e988 ; =data_ov61_0217a9e8 bl func_02047008 mov r3, r0 ldr r1, _0214e98c ; =data_ov61_0217a9ec ldr r2, _0214e988 ; =data_ov61_0217a9e8 mov r0, r4 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x94 movne r0, #8 ldmneia sp!, {r3, r4, r5, r6, pc} _0214e920: mov r0, r5 bl func_0204b068 cmp r0, #0 beq _0214e960 mov r0, r5 bl func_0204b068 mov r3, r0 ldr r1, _0214e990 ; =data_ov61_0217a9f4 mov r0, r4 mov r2, r5 mov r3, r3, lsl #0x1 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x94 movne r0, #8 ldmneia sp!, {r3, r4, r5, r6, pc} _0214e960: mov r0, #0 add sp, sp, #0x94 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214e7f0 _0214e96c: .word data_ov61_0217f368 _0214e970: .word data_ov61_0217a9c4 _0214e974: .word data_ov61_0217a9d0 _0214e978: .word data_ov61_0217a9d8 _0214e97c: .word data_ov61_0217a9e0 _0214e980: .word data_ov61_0217f374 _0214e984: .word data_ov61_0217f390 _0214e988: .word data_ov61_0217a9e8 _0214e98c: .word data_ov61_0217a9ec _0214e990: .word data_ov61_0217a9f4 .global func_ov61_0214e994 arm_func_start func_ov61_0214e994 func_ov61_0214e994: ; 0x0214e994 stmdb sp!, {r4, lr} ldr r1, _0214e9d4 ; =data_ov61_0217f368 mov r4, r0 ldr r0, [r1, #8] add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e044 ldr r1, _0214e9d4 ; =data_ov61_0217f368 ldr r0, [r1, #8] add r0, r0, #0x1000 str r4, [r0, #4] ldr r0, [r1, #8] add r0, r0, #0x3d8 add r0, r0, #0x1000 bl func_0200e0c8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214e994 _0214e9d4: .word data_ov61_0217f368 .global func_ov61_0214e9d8 arm_func_start func_ov61_0214e9d8 func_ov61_0214e9d8: ; 0x0214e9d8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 add r0, sp, #0 blx func_ov00_02077af8 add r1, sp, #0 mov r0, r4 bl func_ov61_0214ea00 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_0214e9d8 .global func_ov61_0214ea00 arm_func_start func_ov61_0214ea00 func_ov61_0214ea00: ; 0x0214ea00 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x8c mov r6, r1 mov r1, #0 mov r2, #0x94 mov r4, r0 bl func_02007a44 ldmia r6, {r3, r5} cmp r5, #0 cmpeq r3, #0 mov r1, #0xe beq _0214ea44 ldr r2, _0214ec90 ; =data_ov61_0217aa00 mov r0, r4 str r5, [sp] bl func_0200c910 b _0214ea5c _0214ea44: ldr r3, [r6, #8] ldr r5, [r6, #0xc] ldr r2, _0214ec90 ; =data_ov61_0217aa00 mov r0, r4 str r5, [sp] bl func_0200c910 _0214ea5c: ldrh r3, [r6, #0x10] ldr r2, _0214ec94 ; =data_ov61_0217aa08 add r0, r4, #0xe mov r1, #7 bl func_0200c910 ldr r0, _0214ec98 ; =0x027ffe0c ldrb r0, [r0] cmp r0, #0 bne _0214ea84 bl func_0200f248 _0214ea84: ldr r0, _0214ec98 ; =0x027ffe0c add r1, r4, #0x15 mov r2, #4 bl func_02007ad8 ldr r0, _0214ec9c ; =0x027ffe10 ldrb r0, [r0] cmp r0, #0 bne _0214eaa8 bl func_0200f248 _0214eaa8: ldr r0, _0214ec9c ; =0x027ffe10 add r1, r4, #0x1a mov r2, #2 bl func_02007ad8 mov r1, #0x30 add r0, sp, #0x16 strb r1, [r4, #0x1d] bl func_0200f014 ldr r5, _0214eca0 ; =data_ov61_0217aa10 add r7, sp, #0x16 add r8, r4, #0x1f mov r6, #0 _0214ead8: ldrb r2, [r7], #1 mov r0, r8 mov r1, r5 bl func_0200c8d0 add r6, r6, #1 cmp r6, #6 add r8, r8, #2 blt _0214ead8 add r0, sp, #0x38 bl func_0200f030 ldrb r0, [sp, #0x38] ldr r2, _0214eca0 ; =data_ov61_0217aa10 mov r1, #3 cmp r0, #6 movhi r0, #1 strhib r0, [sp, #0x38] ldrb r3, [sp, #0x38] add r0, r4, #0x2c bl func_0200c910 add r0, sp, #0x3c add r1, r4, #0x7e mov r2, #0x14 bl func_02007ad8 ldrb r1, [sp, #0x3b] ldr r2, _0214eca4 ; =data_ov61_0217aa18 add r0, r4, #0x2f str r1, [sp] ldrb r3, [sp, #0x3a] mov r1, #5 bl func_0200c910 add r0, sp, #0x28 blx func_02042668 cmp r0, #0 bne _0214eb70 add r0, sp, #0x1c blx func_020426d4 cmp r0, #0 beq _0214eb7c _0214eb70: add sp, sp, #0x8c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _0214eb7c: ldr r0, [sp, #0x2c] ldr r2, _0214eca8 ; =data_ov61_0217aa24 str r0, [sp] ldr r1, [sp, #0x30] add r0, r4, #0x34 str r1, [sp, #4] ldr r3, [sp, #0x1c] mov r1, #0xd str r3, [sp, #8] ldr r3, [sp, #0x20] str r3, [sp, #0xc] ldr r3, [sp, #0x24] str r3, [sp, #0x10] ldr r3, [sp, #0x28] bl func_0200c910 bl func_0200ee4c mov r6, r0 bl func_ov61_02161060 mov r7, r0 mov r1, #6 bl func_0200e288 cmp r7, #0 bne _0214ebec mov r0, r6 bl func_0200ee60 add sp, sp, #0x8c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _0214ebec: ldr r5, _0214eca0 ; =data_ov61_0217aa10 add r8, r4, #0x41 mov sb, #0 _0214ebf8: ldrb r2, [r7, sb] mov r0, r8 mov r1, r5 bl func_0200c8d0 add sb, sb, #1 cmp sb, #6 add r8, r8, #2 blt _0214ebf8 bl func_ov61_0214b0fc mov r3, r0 ldr r2, _0214ecac ; =data_ov61_0217aa40 add r0, r4, #0x6f mov r1, #0xe bl func_0200c910 add r0, sp, #0x14 bl func_ov61_021610a4 mov r5, r0 mov r1, #0x20 bl func_0200e288 cmp r5, #0 bne _0214ec60 mov r0, r6 bl func_0200ee60 add sp, sp, #0x8c mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _0214ec60: mov r0, r5 add r1, r4, #0x72 bl func_ov61_0214d660 mov r0, r5 add r1, r4, #0x4e mov r2, #0x20 bl func_02007ad8 mov r0, r6 bl func_0200ee60 mov r0, #1 add sp, sp, #0x8c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0214ea00 _0214ec90: .word data_ov61_0217aa00 _0214ec94: .word data_ov61_0217aa08 _0214ec98: .word 0x027ffe0c _0214ec9c: .word 0x027ffe10 _0214eca0: .word data_ov61_0217aa10 _0214eca4: .word data_ov61_0217aa18 _0214eca8: .word data_ov61_0217aa24 _0214ecac: .word data_ov61_0217aa40 .global func_ov61_0214ecb0 arm_func_start func_ov61_0214ecb0 func_ov61_0214ecb0: ; 0x0214ecb0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x28 mov r4, r2 mov r6, r0 mov r5, r1 mov ip, #0 ldr r2, _0214efb4 ; =data_ov61_0217aa50 add r0, sp, #4 mov r1, #0x21 mov r3, #2 str ip, [sp] bl func_0200c910 add r0, sp, #4 bl func_02047008 mov r3, r0 ldr r1, _0214efb8 ; =data_ov61_0217aa5c mov r0, r6 add r2, sp, #4 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r0, r5 bl func_02047008 mov r3, r0 ldr r1, _0214efbc ; =data_ov61_0217aa64 mov r0, r6 mov r2, r5 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0xe bl func_02047008 mov r3, r0 ldr r1, _0214efc0 ; =data_ov61_0217aa6c mov r0, r6 add r2, r5, #0xe bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x41 bl func_02047008 mov r3, r0 ldr r1, _0214efc4 ; =data_ov61_0217aa74 mov r0, r6 add r2, r5, #0x41 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x6f bl func_02047008 mov r3, r0 ldr r1, _0214efc8 ; =data_ov61_0217aa7c mov r0, r6 add r2, r5, #0x6f bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x15 bl func_02047008 mov r3, r0 ldr r1, _0214efcc ; =data_ov61_0217aa84 mov r0, r6 add r2, r5, #0x15 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x1a bl func_02047008 mov r3, r0 ldr r1, _0214efd0 ; =data_ov61_0217aa8c mov r0, r6 add r2, r5, #0x1a bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x1d bl func_02047008 mov r3, r0 ldr r1, _0214efd4 ; =data_ov61_0217aa94 mov r0, r6 add r2, r5, #0x1d bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x1f bl func_02047008 mov r3, r0 ldr r1, _0214efd8 ; =data_ov61_0217aa9c mov r0, r6 add r2, r5, #0x1f bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x2c bl func_02047008 mov r3, r0 ldr r1, _0214efdc ; =data_ov61_0217aaa4 mov r0, r6 add r2, r5, #0x2c bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x2f bl func_02047008 mov r3, r0 ldr r1, _0214efe0 ; =data_ov61_0217aaac mov r0, r6 add r2, r5, #0x2f bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x34 bl func_02047008 mov r3, r0 ldr r1, _0214efe4 ; =data_ov61_0217aab4 mov r0, r6 add r2, r5, #0x34 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x7e bl func_0204b068 mov r3, r0 ldr r1, _0214efe8 ; =data_ov61_0217aabc mov r0, r6 add r2, r5, #0x7e mov r3, r3, lsl #0x1 bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} cmp r4, #1 bne _0214ef54 add r0, r5, #0x4e bl func_02047008 mov r3, r0 ldr r1, _0214efec ; =data_ov61_0217aac4 mov r0, r6 add r2, r5, #0x4e bl func_ov61_0214fa00 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} _0214ef54: ldr r2, _0214eff0 ; =data_ov61_0217aacc mov ip, #0 add r0, sp, #4 mov r1, #0x21 mov r3, #2 str ip, [sp] bl func_0200c910 ldr r1, _0214eff4 ; =data_ov61_0217aae4 add r2, sp, #4 mov r0, r6 bl func_ov61_0214f924 cmp r0, #0 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r1, _0214eff8 ; =data_ov61_0217aaf0 mov r0, r6 add r2, r5, #0x15 bl func_ov61_0214f924 cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214ecb0 _0214efb4: .word data_ov61_0217aa50 _0214efb8: .word data_ov61_0217aa5c _0214efbc: .word data_ov61_0217aa64 _0214efc0: .word data_ov61_0217aa6c _0214efc4: .word data_ov61_0217aa74 _0214efc8: .word data_ov61_0217aa7c _0214efcc: .word data_ov61_0217aa84 _0214efd0: .word data_ov61_0217aa8c _0214efd4: .word data_ov61_0217aa94 _0214efd8: .word data_ov61_0217aa9c _0214efdc: .word data_ov61_0217aaa4 _0214efe0: .word data_ov61_0217aaac _0214efe4: .word data_ov61_0217aab4 _0214efe8: .word data_ov61_0217aabc _0214efec: .word data_ov61_0217aac4 _0214eff0: .word data_ov61_0217aacc _0214eff4: .word data_ov61_0217aae4 _0214eff8: .word data_ov61_0217aaf0 .global func_ov61_0214effc arm_func_start func_ov61_0214effc func_ov61_0214effc: ; 0x0214effc stmdb sp!, {r4, r5, r6, lr} mov r5, r1 ldr r2, _0214f104 ; =0x00001c14 mov r6, r0 ldr r4, [r5, #0xc] mov r1, #0 bl func_02007a44 add r1, r6, #4 add r0, r6, #0x1000 mvn r2, #0 str r2, [r0, #0xa30] mov lr, r5 str r2, [r0, #0xa34] add ip, r1, #0x1000 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, _0214f108 ; =data_ov61_0217ab2c ldr r1, _0214f10c ; =0x00000b68 blx r4 add r1, r6, #0x1000 str r0, [r1, #0x9cc] cmp r0, #0 moveq r0, #1 streq r0, [r1, #0x20] ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0214f110 ; =data_ov61_0217ab44 ldr r1, _0214f114 ; =0x000005ea blx r4 add r2, r6, #0x1000 str r0, [r2, #0x9d0] cmp r0, #0 moveq r0, #1 streq r0, [r2, #0x20] ldmeqia sp!, {r4, r5, r6, pc} add r1, r6, #0x208 ldr r2, [r2, #0xc] mov r0, r6 add r1, r1, #0x1800 bl func_ov61_0214fba0 cmp r0, #0 bne _0214f0b8 add r1, r6, #0x1000 mov r0, #1 str r0, [r1, #0x20] ldmia sp!, {r4, r5, r6, pc} _0214f0b8: ldr r1, [r5] mov r0, r6 bl func_ov61_0214fce0 cmp r0, #0 bne _0214f0dc add r1, r6, #0x1000 mov r0, #1 str r0, [r1, #0x20] ldmia sp!, {r4, r5, r6, pc} _0214f0dc: mov r0, r6 bl func_ov61_0214f864 add r1, r6, #0x1000 str r0, [r1, #0x20] cmp r0, #0 moveq r0, #0xff streqb r0, [r1] add r0, r6, #0x1000 ldr r0, [r0, #0x20] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214effc _0214f104: .word 0x00001c14 _0214f108: .word data_ov61_0217ab2c _0214f10c: .word 0x00000b68 _0214f110: .word data_ov61_0217ab44 _0214f114: .word 0x000005ea .global func_ov61_0214f118 arm_func_start func_ov61_0214f118 func_ov61_0214f118: ; 0x0214f118 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0214f19c ; =data_ov61_0217ab5c ldr r2, _0214f1a0 ; =data_ov61_0217ab68 mov r4, r0 bl func_ov61_0214f924 cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r4, pc} add r0, r4, #0x1000 ldr r0, [r0, #0x9f8] ldr r1, _0214f1a4 ; =data_ov61_0217ab70 bl func_020472f0 add r0, r0, #4 bl func_02047008 movs r3, r0 beq _0214f190 ldr r2, _0214f1a8 ; =data_ov61_0217ab78 add r0, sp, #0 mov r1, #7 bl func_0200c910 ldr r1, _0214f1ac ; =data_ov61_0217ab7c add r2, sp, #0 mov r0, r4 bl func_ov61_0214f924 cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r4, pc} _0214f190: mov r0, #0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214f118 _0214f19c: .word data_ov61_0217ab5c _0214f1a0: .word data_ov61_0217ab68 _0214f1a4: .word data_ov61_0217ab70 _0214f1a8: .word data_ov61_0217ab78 _0214f1ac: .word data_ov61_0217ab7c .global func_ov61_0214f1b0 arm_func_start func_ov61_0214f1b0 func_ov61_0214f1b0: ; 0x0214f1b0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 add r0, r5, #0x3f8 add r2, r5, #0x1000 mov r3, #0 add r0, r0, #0x1800 mov r4, r1 str r3, [r2, #0xc10] bl func_0200e02c add r0, r5, #0x218 add r0, r0, #0x1800 bl func_0200e02c add r0, r5, #0x1000 ldr r0, [r0, #0x18] cmp r0, #1 ldreq r0, _0214f264 ; =data_ov61_0217f388 moveq r1, #1 ldrne r0, _0214f264 ; =data_ov61_0217f388 movne r1, #0 str r1, [r0] add r0, r5, #0x1000 ldr r0, [r0, #0xba4] cmp r0, #0 beq _0214f22c add r0, r5, #0x338 add r0, r0, #0x1800 bl func_0200d86c cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, pc} _0214f22c: add r0, r5, #0x338 mov r1, #0x1000 str r1, [sp] ldr r1, _0214f268 ; =func_ov61_0214f494 mov r2, r5 add r0, r0, #0x1800 add r3, r5, #0x1000 str r4, [sp, #4] blx func_0200d5e4 add r0, r5, #0x338 add r0, r0, #0x1800 bl func_0200d938 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214f1b0 _0214f264: .word data_ov61_0217f388 _0214f268: .word func_ov61_0214f494 .global func_ov61_0214f26c arm_func_start func_ov61_0214f26c func_ov61_0214f26c: ; 0x0214f26c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1000 ldrb r0, [r0] cmp r0, #0xff ldmneia sp!, {r4, pc} add r0, r4, #0x3f8 add r0, r0, #0x1800 bl func_0200e044 add r0, r4, #0x3f8 add r1, r4, #0x1000 mov r2, #1 add r0, r0, #0x1800 str r2, [r1, #0xc10] bl func_0200e0c8 add r0, r4, #0x1000 ldr r0, [r0, #0xba4] cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x338 add r0, r0, #0x1800 bl func_0200d83c ldmia sp!, {r4, pc} arm_func_end func_ov61_0214f26c .global func_ov61_0214f2c8 arm_func_start func_ov61_0214f2c8 func_ov61_0214f2c8: ; 0x0214f2c8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1000 ldr r0, [r0, #0x130] cmp r0, #1 bne _0214f2fc add r0, r4, #0x1d4 add r0, r0, #0x1800 bl func_0200f178 add r0, r4, #0x1d4 add r0, r0, #0x1800 mov r1, #0x20 bl func_ov61_0215bafc _0214f2fc: add r0, r4, #0x3f8 add r0, r0, #0x1800 bl func_0200e044 add r0, r4, #0x1000 ldr r0, [r0, #0xc10] cmp r0, #1 add r0, r4, #0x3f8 add r0, r0, #0x1800 bne _0214f32c bl func_0200e0c8 mov r0, #0 ldmia sp!, {r4, pc} _0214f32c: bl func_0200e0c8 mov r0, #0xa bl func_0200db28 mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov61_0214f2c8 .global func_ov61_0214f340 arm_func_start func_ov61_0214f340 func_ov61_0214f340: ; 0x0214f340 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x138 add r0, r0, #0x1000 mov r1, #0 mov r2, #0x64 bl func_02007a44 ldr r0, _0214f390 ; =0x00000b68 add r1, r4, #0x1000 str r0, [r1, #0x174] ldr r3, [r1, #0x9cc] add r0, r4, #0x138 ldr r2, _0214f394 ; =0x000005ea str r3, [r1, #0x178] str r2, [r1, #0x180] ldr r2, [r1, #0x9d0] add r0, r0, #0x1000 str r2, [r1, #0x184] bl func_ov61_02154b08 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214f340 _0214f390: .word 0x00000b68 _0214f394: .word 0x000005ea .global func_ov61_0214f398 arm_func_start func_ov61_0214f398 func_ov61_0214f398: ; 0x0214f398 ldr ip, _0214f3a8 ; =func_ov61_021566cc add r0, r0, #0x1000 ldr r0, [r0, #0x124] bx ip .align 2, 0 arm_func_end func_ov61_0214f398 _0214f3a8: .word func_ov61_021566cc .global func_ov61_0214f3ac arm_func_start func_ov61_0214f3ac func_ov61_0214f3ac: ; 0x0214f3ac stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r0 add r0, r5, #0x1000 ldr r6, [r0, #0xa08] add r2, r5, #0x208 ldr r1, _0214f488 ; =data_ov61_0217ab70 mov r0, r6 add r4, r2, #0x1800 bl func_020472f0 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, _0214f488 ; =data_ov61_0217ab70 mov r0, r6 bl func_020472f0 add r1, r5, #0x218 add r6, r0, #4 add r0, r1, #0x1800 bl func_0200e044 ldr r0, [r4, #4] add r1, r5, #0x218 sub r2, r0, r6 add r0, r5, #0x1000 str r2, [r0, #0xa34] add r0, r1, #0x1800 bl func_0200e0c8 ldr r0, [r4] ldr r1, _0214f48c ; =data_ov61_0217ab8c bl func_020472f0 movs r8, r0 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _0214f48c ; =data_ov61_0217ab8c bl func_02047008 mov r7, r0 ldr r1, _0214f490 ; =data_ov61_0217aba0 add r0, r8, r7 bl func_020472f0 mov r6, r0 add r0, r5, #0x218 ldrsb r4, [r6] mov r1, #0 add r0, r0, #0x1800 strb r1, [r6] bl func_0200e044 add r0, r8, r7 bl func_0204902c add r1, r5, #0x1000 add r2, r5, #0x218 str r0, [r1, #0xa30] add r0, r2, #0x1800 bl func_0200e0c8 strb r4, [r6] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0214f3ac _0214f488: .word data_ov61_0217ab70 _0214f48c: .word data_ov61_0217ab8c _0214f490: .word data_ov61_0217aba0 .global func_ov61_0214f494 arm_func_start func_ov61_0214f494 func_ov61_0214f494: ; 0x0214f494 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov sl, r0 add r0, sl, #0x1000 ldr r8, [r0, #0x1c] add r0, sl, #0x138 add r1, sl, #0x19c add r2, sl, #0x208 add r4, r0, #0x1000 cmp r8, #0 mov r0, sl add r5, r1, #0x1000 add r7, r2, #0x1800 mov fp, #0 ldrle r8, _0214f79c ; =0x0000ea60 bl func_ov61_0214f340 mov r0, sl bl func_ov61_0214f398 movs r6, r0 add r0, sl, #0x1000 moveq r1, #2 streq r1, [r0, #0x20] addeq sp, sp, #0x14 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} str r6, [r0, #0x12c] bl func_ov61_02154bc0 add r0, sl, #0x1000 ldr r0, [r0, #0x130] cmp r0, #1 bne _0214f548 mov r0, r5 mov r1, #0 mov r2, #0x830 bl func_02007a44 ldr r1, _0214f7a0 ; =func_ov61_0214fb94 add r0, sl, #0x1000 str r1, [r5, #0x810] ldr r1, [r0, #0x124] ldr r0, _0214f7a4 ; =data_ov61_0217ab00 str r1, [r5, #0x800] mov r1, #0xb str r5, [r4, #0xc] bl func_ov61_02159a6c mov r0, #1 bl func_ov61_0215ca6c _0214f548: add r0, sl, #0x1100 ldrh r1, [r0, #0x34] mov r2, r6 mov r0, #0 bl func_ov61_02154b60 bl func_ov61_02154d64 cmp r0, #0 add r0, sl, #0x1000 beq _0214f584 mov r1, #3 str r1, [r0, #0x20] bl func_ov61_02154bf4 bl func_ov61_02154b1c add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214f584: ldr r4, [r0, #0x9f8] mov r0, r4 bl func_02047008 mov r1, r0 mov r0, r4 bl func_ov61_021554cc str r0, [sp, #0x10] cmp r0, #0 bgt _0214f5b8 add r0, sl, #0x1000 mov r1, #5 str r1, [r0, #0x20] b _0214f784 _0214f5b8: bl func_ov61_021555d4 mov r0, sl bl func_ov61_0214f2c8 cmp r0, #0 bne _0214f5dc add r0, sl, #0x1000 mov r1, #7 str r1, [r0, #0x20] b _0214f784 _0214f5dc: ldr r0, [r7] str r0, [r7, #4] ldr r1, [r7] ldr r0, [r7, #0xc] add r0, r1, r0 str r0, [r7, #8] bl func_0200e8f8 str r0, [sp, #8] add r0, sl, #0x234 str r1, [sp, #4] add r5, sl, #0x218 add r6, r0, #0x1800 add r4, sl, #0x1000 _0214f610: ldr r0, _0214f7a8 ; =data_ov61_0217f464 ldr r0, [r0] cmp r0, #0 bne _0214f630 add r0, sl, #0x1000 mov r1, #5 str r1, [r0, #0x20] b _0214f784 _0214f630: bl func_ov61_02155564 str r0, [sp, #0x10] cmp r0, #0 blt _0214f760 ble _0214f6e4 bl func_0200e8f8 str r0, [sp, #8] add r0, sp, #0x10 str r1, [sp, #4] bl func_ov61_02154fd8 cmp r0, #0 beq _0214f760 ldmib r7, {r1, r2} sub r2, r2, #1 ldr sb, [sp, #0x10] sub r2, r2, r1 cmp sb, r2 movge sb, r2 mov r2, sb bl func_02007ad8 ldr r0, [r7, #4] cmp fp, #1 add r1, r0, sb str r1, [r7, #4] mov r0, #0 strb r0, [r1] bne _0214f6bc add r0, r5, #0x1800 bl func_0200e044 ldr r1, [r6] add r0, r5, #0x1800 add r1, r1, sb str r1, [r6] bl func_0200e0c8 b _0214f6c8 _0214f6bc: mov r0, sl bl func_ov61_0214f3ac mov fp, r0 _0214f6c8: ldr r0, [sp, #0x10] cmp r0, sb bls _0214f6dc bl func_ov61_021550cc b _0214f760 _0214f6dc: mov r0, sb bl func_ov61_021550cc _0214f6e4: ldr r1, [r4, #0xa30] cmp r1, #0 ldrge r0, [r4, #0xa34] cmpge r0, r1 bge _0214f760 bl func_0200e8f8 ldr r2, [sp, #8] mov r3, #0 subs r2, r0, r2 ldr r0, [sp, #4] sbc r0, r1, r0 mov r1, r0, lsl #0x6 orr r1, r1, r2, lsr #26 mov r0, r2, lsl #0x6 ldr r2, _0214f7ac ; =0x000082ea bl func_02002bac cmp r1, r8, asr #31 cmpeq r0, r8 bls _0214f740 add r0, sl, #0x1000 mov r1, #6 str r1, [r0, #0x20] b _0214f784 _0214f740: mov r0, sl bl func_ov61_0214f2c8 cmp r0, #0 bne _0214f610 add r0, sl, #0x1000 mov r1, #7 str r1, [r0, #0x20] b _0214f784 _0214f760: bl func_ov61_02154e44 bl func_ov61_02154e80 bl func_ov61_02154bf4 bl func_ov61_02154b1c add r0, sl, #0x1000 mov r1, #8 str r1, [r0, #0x20] add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0214f784: bl func_ov61_02154e44 bl func_ov61_02154e80 bl func_ov61_02154bf4 bl func_ov61_02154b1c add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0214f494 _0214f79c: .word 0x0000ea60 _0214f7a0: .word func_ov61_0214fb94 _0214f7a4: .word data_ov61_0217ab00 _0214f7a8: .word data_ov61_0217f464 _0214f7ac: .word 0x000082ea .global func_ov61_0214f7b0 arm_func_start func_ov61_0214f7b0 func_ov61_0214f7b0: ; 0x0214f7b0 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 add r1, r5, #0x1000 ldr r4, [r1, #0x14] ldmeqia sp!, {r3, r4, r5, pc} add r1, r5, #0x238 add r1, r1, #0x1800 mov r2, #0x20 bl func_ov61_02150314 add r1, r5, #0x208 mov r0, r5 add r1, r1, #0x1800 bl func_ov61_0214fbf8 add r1, r5, #0x1f8 mov r0, r5 add r1, r1, #0x1800 bl func_ov61_0214fbf8 add r0, r5, #0x1000 ldr r1, [r0, #0x9cc] cmp r1, #0 beq _0214f81c ldr r0, _0214f858 ; =data_ov61_0217aba4 mov r2, #0 blx r4 add r0, r5, #0x1000 mov r1, #0 str r1, [r0, #0x9cc] _0214f81c: add r0, r5, #0x1000 ldr r1, [r0, #0x9d0] cmp r1, #0 beq _0214f844 ldr r0, _0214f85c ; =data_ov61_0217abbc mov r2, #0 blx r4 add r0, r5, #0x1000 mov r1, #0 str r1, [r0, #0x9d0] _0214f844: ldr r2, _0214f860 ; =0x00001c14 mov r0, r5 mov r1, #0 bl func_02007a44 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214f7b0 _0214f858: .word data_ov61_0217aba4 _0214f85c: .word data_ov61_0217abbc _0214f860: .word 0x00001c14 .global func_ov61_0214f864 arm_func_start func_ov61_0214f864 func_ov61_0214f864: ; 0x0214f864 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r7, r0 add r0, r7, #0x1000 ldr r1, [r0, #8] add r0, r7, #0x1f8 cmp r1, #0 ldreq r6, _0214f91c ; =data_ov61_0217abd4 add r5, r0, #0x1800 add r0, r7, #0x1000 ldrne r6, _0214f920 ; =data_ov61_0217ac28 ldr r0, [r0, #0x124] bl func_02047008 mov r4, r0 mov r0, r6 bl func_02047008 add r1, r7, #0x1000 mov r8, r0 ldr r0, [r1, #0x128] bl func_02047008 sub r1, r8, #4 add r0, r1, r0 add r2, r4, r0 add r0, r7, #0x1f8 add r1, r0, #0x1800 add r2, r2, #0x400 mov r0, r7 bl func_ov61_0214fba0 cmp r0, #1 addne sp, sp, #4 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} add r3, r7, #0x1000 ldr r0, [r3, #0x124] mov r2, r6 str r0, [sp] ldr r0, [r5, #4] ldr r1, [r5, #0xc] ldr r3, [r3, #0x128] bl func_0200c910 ldr r1, [r5, #4] add r0, r1, r0 str r0, [r5, #4] mov r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0214f864 _0214f91c: .word data_ov61_0217abd4 _0214f920: .word data_ov61_0217ac28 .global func_ov61_0214f924 arm_func_start func_ov61_0214f924 func_ov61_0214f924: ; 0x0214f924 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r0 mov r6, r2 add r2, r8, #0x1f8 mov r0, r6 mov r7, r1 add r5, r2, #0x1800 bl func_02047008 mov r4, r0 ldr r0, _0214f9f8 ; =data_ov61_0217ac48 bl func_02047008 mov sb, r0 mov r0, r7 bl func_02047008 sub r1, sb, #4 add r0, r1, r0 add r4, r4, r0 ldmib r5, {r1, r2} add r0, r4, #1 sub r1, r2, r1 cmp r0, r1 ble _0214f99c sub r2, r4, r1 mov r0, r8 mov r1, r5 add r2, r2, #1 bl func_ov61_0214fc38 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0214f99c: ldr r0, [r5] ldr r1, _0214f9fc ; =data_ov61_0217ab70 bl func_020472f0 add sb, r0, #2 ldrsb r8, [r0, #2] mov r0, sb bl func_02047008 add r2, r0, #1 add r0, sb, r4 mov r1, sb bl func_020435b4 ldr r2, _0214f9f8 ; =data_ov61_0217ac48 str r6, [sp] mov r3, r7 mov r0, sb add r1, r4, #1 bl func_0200c910 strb r8, [sb, r0] ldr r1, [r5, #4] mov r0, #0 add r1, r1, r4 str r1, [r5, #4] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0214f924 _0214f9f8: .word data_ov61_0217ac48 _0214f9fc: .word data_ov61_0217ab70 .global func_ov61_0214fa00 arm_func_start func_ov61_0214fa00 func_ov61_0214fa00: ; 0x0214fa00 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 add r0, sl, #0x1000 ldr r4, [r0, #0x9f4] add r0, sl, #0x1f8 cmp r4, #0 ldreq r6, _0214fb04 ; =data_ov61_0217ac54 mov r8, r2 add r4, sl, #0x1000 add r5, r0, #0x1800 ldr r0, [r4, #0x9f4] mov r7, r3 add fp, r0, #1 mov r2, #0 mov sb, r1 ldrne r6, _0214fb08 ; =data_ov61_0217ac58 mov r0, r8 mov r1, r7 mov r3, r2 str fp, [r4, #0x9f4] bl func_ov61_02151810 mov r4, r0 mov r0, r6 bl func_02047008 mov fp, r0 mov r0, sb bl func_02047008 sub r1, fp, #2 add r2, r1, r0 ldmib r5, {r0, r1} add r2, r4, r2 sub r1, r1, r0 cmp r2, r1 ble _0214fab0 sub r2, r2, r1 mov r0, sl mov r1, r5 add r2, r2, #1 bl func_ov61_0214fc38 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldmib r5, {r0, r1} sub r1, r1, r0 _0214fab0: mov r2, r6 mov r3, sb bl func_0200c910 ldr r2, [r5, #4] mov r1, r7 add r2, r2, r0 str r2, [r5, #4] ldr r0, [r5, #8] sub r3, r0, r2 mov r0, r8 sub r3, r3, #1 bl func_ov61_02151810 cmp r0, #0 movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [r5, #4] mov r0, #0 add r1, r1, r4 str r1, [r5, #4] strb r0, [r1] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0214fa00 _0214fb04: .word data_ov61_0217ac54 _0214fb08: .word data_ov61_0217ac58 .global func_ov61_0214fb0c arm_func_start func_ov61_0214fb0c func_ov61_0214fb0c: ; 0x0214fb0c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 add r1, r7, #0x1f8 mov r0, r6 add r5, r1, #0x1800 bl func_02047008 mov r4, r0 ldmib r5, {r0, r1} sub r1, r1, r0 cmp r4, r1 ble _0214fb64 sub r2, r4, r1 mov r0, r7 mov r1, r5 add r2, r2, #1 bl func_ov61_0214fc38 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldmib r5, {r0, r1} sub r1, r1, r0 _0214fb64: ldr r2, _0214fb90 ; =data_ov61_0217ac60 mov r3, r6 bl func_0200c910 cmp r0, r4 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r5, #4] add r0, r1, r0 str r0, [r5, #4] mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0214fb0c _0214fb90: .word data_ov61_0217ac60 .global func_ov61_0214fb94 arm_func_start func_ov61_0214fb94 func_ov61_0214fb94: ; 0x0214fb94 tst r0, #0x8000 bicne r0, r0, #0x8000 bx lr arm_func_end func_ov61_0214fb94 .global func_ov61_0214fba0 arm_func_start func_ov61_0214fba0 func_ov61_0214fba0: ; 0x0214fba0 stmdb sp!, {r3, r4, r5, lr} movs r4, r2 add r0, r0, #0x1000 ldr r2, [r0, #0x10] mov r5, r1 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _0214fbf4 ; =data_ov61_0217ac64 mov r1, r4 blx r2 str r0, [r5] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} str r0, [r5, #4] str r4, [r5, #0xc] ldr r0, [r5] add r0, r0, r4 str r0, [r5, #8] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0214fba0 _0214fbf4: .word data_ov61_0217ac64 .global func_ov61_0214fbf8 arm_func_start func_ov61_0214fbf8 func_ov61_0214fbf8: ; 0x0214fbf8 stmdb sp!, {r4, lr} mov r4, r1 ldr r1, [r4] add r0, r0, #0x1000 cmp r1, #0 ldr r3, [r0, #0x14] beq _0214fc20 ldr r0, _0214fc34 ; =data_ov61_0217ac78 mov r2, #0 blx r3 _0214fc20: mov r0, r4 mov r1, #0 mov r2, #0x10 bl func_02007a44 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0214fbf8 _0214fc34: .word data_ov61_0217ac78 .global func_ov61_0214fc38 arm_func_start func_ov61_0214fc38 func_ov61_0214fc38: ; 0x0214fc38 stmdb sp!, {r3, r4, r5, r6, r7, lr} add r0, r0, #0x1000 ldr r7, [r0, #0x14] mov r5, r2 mov r6, r1 cmp r5, #0 ldr r2, [r0, #0x10] movle r0, #0 ldmleia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r6, #0xc] ldr r0, _0214fcd8 ; =data_ov61_0217ac8c add r1, r1, r5 blx r2 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r6] ldr r2, [r6, #0xc] mov r1, r4 bl func_02007ad8 ldr r1, [r6] ldr r0, _0214fcdc ; =data_ov61_0217ac78 mov r2, #0 blx r7 cmp r4, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldmia r6, {r0, r1} sub r0, r4, r0 add r0, r1, r0 str r0, [r6, #4] ldr r1, [r6, #0xc] mov r0, #1 add r1, r1, r5 str r1, [r6, #0xc] str r4, [r6] ldr r1, [r6, #0xc] add r1, r4, r1 str r1, [r6, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0214fc38 _0214fcd8: .word data_ov61_0217ac8c _0214fcdc: .word data_ov61_0217ac78 .global func_ov61_0214fce0 arm_func_start func_ov61_0214fce0 func_ov61_0214fce0: ; 0x0214fce0 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r0 mov r0, r6 mov r4, #0 bl func_02047008 cmp r0, #0x100 movhs r0, r4 ldmhsia sp!, {r4, r5, r6, pc} add r0, r5, #0x24 mov r1, r6 add r0, r0, #0x1000 mov r2, #0x100 bl func_020470ec mov r0, r6 bl func_02047008 add r1, r5, #0x24 mov r6, r0 add r0, r1, #0x1000 bl func_02047008 cmp r6, r0 movne r0, r4 ldmneia sp!, {r4, r5, r6, pc} add r0, r5, #0x24 ldr r1, _0214fe24 ; =data_ov61_0217ac9c add r0, r0, #0x1000 bl func_020472f0 cmp r0, #0 beq _0214fd7c add r0, r5, #0x2b add r1, r0, #0x1000 add r0, r5, #0x1000 str r1, [r0, #0x124] mov r1, r4 str r1, [r0, #0x130] add r0, r5, #0x1100 mov r1, #0x50 strh r1, [r0, #0x34] b _0214fdb8 _0214fd7c: add r0, r5, #0x24 ldr r1, _0214fe28 ; =data_ov61_0217aca4 add r0, r0, #0x1000 bl func_020472f0 cmp r0, #0 moveq r0, r4 ldmeqia sp!, {r4, r5, r6, pc} add r2, r0, #8 add r0, r5, #0x1000 mov r1, #1 str r2, [r0, #0x124] str r1, [r0, #0x130] rsb r1, r1, #0x1bc add r0, r5, #0x1100 strh r1, [r0, #0x34] _0214fdb8: add r0, r5, #0x1000 ldr r0, [r0, #0x124] ldr r1, _0214fe2c ; =data_ov61_0217acb0 bl func_020472f0 cmp r0, #0 movne r1, #0 strneb r1, [r0] addne r4, r0, #1 add r0, r5, #0x1000 ldr r0, [r0, #0x124] ldr r1, _0214fe30 ; =data_ov61_0217acb4 bl func_020472f0 cmp r0, #0 mov r1, #0 addeq r0, r5, #0x1000 strneb r1, [r0] addne r1, r0, #1 addne r0, r5, #0x1000 str r1, [r0, #0x128] cmp r4, #0 beq _0214fe1c mov r0, r4 bl func_0204902c add r1, r5, #0x1100 strh r0, [r1, #0x34] _0214fe1c: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0214fce0 _0214fe24: .word data_ov61_0217ac9c _0214fe28: .word data_ov61_0217aca4 _0214fe2c: .word data_ov61_0217acb0 _0214fe30: .word data_ov61_0217acb4 .global func_ov61_0214fe34 arm_func_start func_ov61_0214fe34 func_ov61_0214fe34: ; 0x0214fe34 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r1 add r0, r0, #0x1000 ldmib r8, {r1, r4} cmp r4, r1 ldr r4, [r0, #0x10] ldr r5, [r0, #0x14] mov r7, r2 mov r6, r3 movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r7 bl func_02047008 mov r1, r0 ldr r0, _0214ff78 ; =data_ov61_0217acb8 add r1, r1, #1 blx r4 ldr r2, [r8] ldr r1, [r8, #8] str r0, [r2, r1, lsl #3] ldr r1, [r8, #8] ldr r2, [r8] ldr r0, [r2, r1, lsl #3] cmp r0, #0 beq _0214ff10 mov r0, r6 bl func_02047008 mov r1, r0 ldr r0, _0214ff7c ; =data_ov61_0217acd8 add r1, r1, #1 blx r4 ldr r2, [r8] ldr r1, [r8, #8] add r1, r2, r1, lsl #3 str r0, [r1, #4] ldr r1, [r8, #8] ldr r2, [r8] add r0, r2, r1, lsl #3 ldr r0, [r0, #4] cmp r0, #0 beq _0214ff10 ldr r0, [r2, r1, lsl #3] mov r1, r7 bl func_02047024 ldr r2, [r8] ldr r0, [r8, #8] mov r1, r6 add r0, r2, r0, lsl #3 ldr r0, [r0, #4] bl func_02047024 ldr r1, [r8, #8] mov r0, #1 add r1, r1, #1 str r1, [r8, #8] ldmia sp!, {r4, r5, r6, r7, r8, pc} _0214ff10: ldr r1, [r2, r1, lsl #3] cmp r1, #0 beq _0214ff38 ldr r0, _0214ff80 ; =data_ov61_0217acf8 mov r2, #0 blx r5 ldr r1, [r8] ldr r0, [r8, #8] mov r2, #0 str r2, [r1, r0, lsl #3] _0214ff38: ldr r1, [r8] ldr r0, [r8, #8] add r0, r1, r0, lsl #3 ldr r1, [r0, #4] cmp r1, #0 beq _0214ff70 ldr r0, _0214ff84 ; =data_ov61_0217ad14 mov r2, #0 blx r5 ldr r1, [r8] ldr r0, [r8, #8] mov r2, #0 add r0, r1, r0, lsl #3 str r2, [r0, #4] _0214ff70: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0214fe34 _0214ff78: .word data_ov61_0217acb8 _0214ff7c: .word data_ov61_0217acd8 _0214ff80: .word data_ov61_0217acf8 _0214ff84: .word data_ov61_0217ad14 .global func_ov61_0214ff88 arm_func_start func_ov61_0214ff88 func_ov61_0214ff88: ; 0x0214ff88 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 mov r4, r0 add r0, r4, #0x238 mov r6, r1 add r0, r0, #0x1800 mov r3, #0x20 mov r1, #0 mov r2, #0x100 str r0, [sp, #4] str r3, [sp, #8] str r1, [sp, #0xc] bl func_02007a44 add r0, r4, #0x1000 ldr r5, [r0, #0xa08] ldr r1, _02150208 ; =data_ov61_0217ab70 mov r0, r5 bl func_020472f0 str r0, [sp] cmp r0, #0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, r0, #4 bl func_02047008 ldr r1, [sp] add r1, r1, #4 add fp, r1, r0 ldr r1, _0215020c ; =data_ov61_0217ad30 mov r0, r5 bl func_020472f0 movs r7, r0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrsb sb, [r7, #4] ldr r2, _02150210 ; =data_ov61_0217ad34 mov r5, #0 add r1, sp, #4 mov r0, r4 add r3, r7, #1 strb r5, [r7, #4] bl func_ov61_0214fe34 cmp r0, #1 addne sp, sp, #0x10 strb sb, [r7, #4] movne r0, r5 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r6, #1 beq _02150068 ldr r1, _02150214 ; =data_ov61_0217ad40 add r0, r7, #1 mov r2, #3 bl func_02047280 cmp r0, #0 beq _02150074 _02150068: add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02150074: ldr r1, _02150218 ; =data_ov61_0217aba0 add r0, r7, #5 bl func_020472f0 cmp r0, #0 addeq sp, sp, #0x10 moveq r0, r5 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add sb, r0, #2 b _02150128 _02150098: ldr r1, _0215021c ; =data_ov61_0217ad44 mov r0, sb bl func_020472f0 movs r6, r0 beq _0215013c ldrsb r7, [r6] mov r1, #0 add sl, r6, #2 strb r1, [r6] ldr r1, _02150218 ; =data_ov61_0217aba0 mov r0, sl bl func_020472f0 movs r5, r0 streqb r7, [r6] beq _0215013c ldrsb r8, [r5] mov r1, #0 mov r2, sb strb r1, [r5] mov r0, r4 add r1, sp, #4 mov r3, sl bl func_ov61_0214fe34 cmp r0, #1 beq _02150110 strb r7, [r6] add sp, sp, #0x10 strb r8, [r5] mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02150110: mov r0, sl bl func_02047008 strb r7, [r6] add r0, sl, r0 strb r8, [r5] add sb, r0, #2 _02150128: ldrsb r0, [sb] cmp r0, #0xd ldrnesb r0, [sb, #1] cmpne r0, #0xa bne _02150098 _0215013c: ldr r0, [sp] add r7, r0, #4 cmp r7, fp bhs _021501fc _0215014c: ldr r1, _02150220 ; =data_ov61_0217ad48 mov r0, r7 bl func_020472f0 movs r5, r0 beq _021501fc ldrsb sb, [r5] mov r1, #0 add r6, r5, #1 strb r1, [r5] ldr r1, _02150224 ; =data_ov61_0217ad4c mov r0, r6 bl func_020472f0 movs sl, r0 bne _02150194 ldr r1, _02150218 ; =data_ov61_0217aba0 mov r0, r6 bl func_020472f0 mov sl, r0 _02150194: cmp sl, #0 ldrnesb r8, [sl] movne r0, #0 mov r2, r7 strneb r0, [sl] mov r0, r4 add r1, sp, #4 mov r3, r6 bl func_ov61_0214fe34 cmp r0, #1 beq _021501d8 strb sb, [r5] cmp sl, #0 add sp, sp, #0x10 strneb r8, [sl] mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021501d8: mov r0, r6 bl func_02047008 add r0, r6, r0 strb sb, [r5] cmp sl, #0 add r7, r0, #1 strneb r8, [sl] cmp r7, fp blo _0215014c _021501fc: mov r0, #1 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0214ff88 _02150208: .word data_ov61_0217ab70 _0215020c: .word data_ov61_0217ad30 _02150210: .word data_ov61_0217ad34 _02150214: .word data_ov61_0217ad40 _02150218: .word data_ov61_0217aba0 _0215021c: .word data_ov61_0217ad44 _02150220: .word data_ov61_0217ad48 _02150224: .word data_ov61_0217ad4c .global func_ov61_02150228 arm_func_start func_ov61_02150228 func_ov61_02150228: ; 0x02150228 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, #0 _02150238: add r0, r6, r4, lsl #3 add r0, r0, #0x1000 ldr r1, [r0, #0xa38] cmp r1, #0 beq _02150278 mov r0, r5 bl func_0204716c cmp r0, #0 bne _0215026c add r0, r6, r4, lsl #3 add r0, r0, #0x1000 ldr r0, [r0, #0xa3c] ldmia sp!, {r4, r5, r6, pc} _0215026c: add r4, r4, #1 cmp r4, #0x20 blt _02150238 _02150278: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02150228 .global func_ov61_02150280 arm_func_start func_ov61_02150280 func_ov61_02150280: ; 0x02150280 stmdb sp!, {r4, r5, r6, lr} mov r6, r2 mov r5, r3 bl func_ov61_02150228 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} bl func_02047008 mov r1, r0 mov r0, r4 mov r2, r6 mov r3, r5 bl func_ov61_02151998 mvn r1, #0 cmp r0, r1 ldmeqia sp!, {r4, r5, r6, pc} cmp r0, r5 ldmhsia sp!, {r4, r5, r6, pc} mov r1, #0 strb r1, [r6, r0] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02150280 .global func_ov61_021502d4 arm_func_start func_ov61_021502d4 func_ov61_021502d4: ; 0x021502d4 stmdb sp!, {r4, r5, r6, lr} mov r6, r2 mov r5, r3 bl func_ov61_02150228 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} bl func_02047008 cmp r0, r5 movge r0, #0 ldmgeia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r4 bl func_02047024 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021502d4 .global func_ov61_02150314 arm_func_start func_ov61_02150314 func_ov61_02150314: ; 0x02150314 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add r0, r0, #0x1000 ldr r6, [r0, #0x14] mov sb, r2 mov sl, r1 mov r8, #0 cmp sb, #0 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr fp, _02150394 ; =data_ov61_0217ad50 ldr r7, _02150398 ; =data_ov61_0217ad6c mov r5, r8 mov r4, r8 _02150344: ldr r1, [sl, r8, lsl #3] cmp r1, #0 beq _02150360 mov r0, fp mov r2, #0 blx r6 str r5, [sl, r8, lsl #3] _02150360: add r0, sl, r8, lsl #3 ldr r1, [r0, #4] cmp r1, #0 beq _02150384 mov r0, r7 mov r2, #0 blx r6 add r0, sl, r8, lsl #3 str r4, [r0, #4] _02150384: add r8, r8, #1 cmp r8, sb blt _02150344 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02150314 _02150394: .word data_ov61_0217ad50 _02150398: .word data_ov61_0217ad6c .global func_ov61_0215039c arm_func_start func_ov61_0215039c func_ov61_0215039c: ; 0x0215039c stmdb sp!, {r3, r4, r5, lr} ldr r1, _02150464 ; =data_ov61_0217f38c mov r5, r0 ldr r0, [r1] ldr r4, [r5] cmp r0, #0 movne r0, #4 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02150468 ; =data_ov61_0217adb0 ldr r1, _0215046c ; =0x000011f4 blx r4 ldr r1, _02150464 ; =data_ov61_0217f38c cmp r0, #0 str r0, [r1] moveq r0, #4 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, _0215046c ; =0x000011f4 mov r1, #0 bl func_02007a44 ldr ip, _02150464 ; =data_ov61_0217f38c ldr r1, _02150470 ; =0xfffe7961 ldr r0, [ip] add r0, r0, #0x1000 str r1, [r0, #4] ldr r3, [ip] ldmia r5, {r0, r1, r2} add r3, r3, #0x108 add r3, r3, #0x1000 stmia r3, {r0, r1, r2} ldr r0, [ip, #0x14] cmp r0, #0 movne r0, #4 ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02150474 ; =data_ov61_0217adc4 ldr r1, _02150478 ; =0x00001c14 blx r4 ldr r1, _02150464 ; =data_ov61_0217f38c cmp r0, #0 str r0, [r1, #0x14] moveq r0, #4 ldmeqia sp!, {r3, r4, r5, pc} mov r0, #0 str r0, [r1, #4] ldr r0, [r1] add r0, r0, #0x1dc add r0, r0, #0x1000 bl func_0200e02c bl func_ov61_02150634 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215039c _02150464: .word data_ov61_0217f38c _02150468: .word data_ov61_0217adb0 _0215046c: .word 0x000011f4 _02150470: .word 0xfffe7961 _02150474: .word data_ov61_0217adc4 _02150478: .word 0x00001c14 .global func_ov61_0215047c arm_func_start func_ov61_0215047c func_ov61_0215047c: ; 0x0215047c stmdb sp!, {r4, lr} ldr r0, _02150560 ; =data_ov61_0217f38c ldr r1, [r0] ldr r0, [r0, #0x14] add r1, r1, #0x1000 cmp r0, #0 ldr r4, [r1, #0x10c] beq _021504c0 bl func_ov61_0214f7b0 ldr r1, _02150560 ; =data_ov61_0217f38c ldr r0, _02150564 ; =data_ov61_0217add4 ldr r1, [r1, #0x14] mov r2, #0 blx r4 ldr r0, _02150560 ; =data_ov61_0217f38c mov r1, #0 str r1, [r0, #0x14] _021504c0: bl func_ov61_0214de28 ldr r0, _02150560 ; =data_ov61_0217f38c ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r4, pc} add r0, r0, #0x1000 ldr r1, [r0, #0x114] cmp r1, #0 beq _02150504 ldr r0, _02150568 ; =data_ov61_0217ade4 mov r2, #0 blx r4 ldr r0, _02150560 ; =data_ov61_0217f38c mov r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #0x114] _02150504: ldr r0, _02150560 ; =data_ov61_0217f38c ldr r0, [r0] add r0, r0, #0x1000 ldr r1, [r0, #0x118] cmp r1, #0 beq _0215053c ldr r0, _0215056c ; =data_ov61_0217ae00 mov r2, #0 blx r4 ldr r0, _02150560 ; =data_ov61_0217f38c mov r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #0x118] _0215053c: ldr r1, _02150560 ; =data_ov61_0217f38c ldr r0, _02150570 ; =data_ov61_0217ae20 ldr r1, [r1] mov r2, #0 blx r4 ldr r0, _02150560 ; =data_ov61_0217f38c mov r1, #0 str r1, [r0] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215047c _02150560: .word data_ov61_0217f38c _02150564: .word data_ov61_0217add4 _02150568: .word data_ov61_0217ade4 _0215056c: .word data_ov61_0217ae00 _02150570: .word data_ov61_0217ae20 .global func_ov61_02150574 arm_func_start func_ov61_02150574 func_ov61_02150574: ; 0x02150574 stmdb sp!, {r3, lr} ldr r0, _021505d8 ; =data_ov61_0217f38c ldr r1, [r0] cmp r1, #0 ldmeqia sp!, {r3, pc} ldr r0, [r0, #0x14] cmp r0, #0 beq _02150598 bl func_ov61_0214f26c _02150598: bl func_ov61_0214dd9c ldr r0, _021505d8 ; =data_ov61_0217f38c ldr r1, [r0] add r0, r1, #0x1000 ldr r0, [r0, #0x188] cmp r0, #0 beq _021505c0 add r0, r1, #0x11c add r0, r0, #0x1000 bl func_0200d83c _021505c0: ldr r0, _021505d8 ; =data_ov61_0217f38c mvn r1, #6 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #4] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02150574 _021505d8: .word data_ov61_0217f38c .global func_ov61_021505dc arm_func_start func_ov61_021505dc func_ov61_021505dc: ; 0x021505dc stmdb sp!, {r4, lr} ldr r0, _02150618 ; =data_ov61_0217f38c ldr r0, [r0] add r0, r0, #0x1dc add r0, r0, #0x1000 bl func_0200e044 ldr r0, _02150618 ; =data_ov61_0217f38c ldr r1, [r0] add r0, r1, #0x1dc add r1, r1, #0x1000 add r0, r0, #0x1000 ldr r4, [r1] bl func_0200e0c8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021505dc _02150618: .word data_ov61_0217f38c .global func_ov61_0215061c arm_func_start func_ov61_0215061c func_ov61_0215061c: ; 0x0215061c ldr r0, _02150630 ; =data_ov61_0217f38c ldr r0, [r0] add r0, r0, #0x1000 ldr r0, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov61_0215061c _02150630: .word data_ov61_0217f38c .global func_ov61_02150634 arm_func_start func_ov61_02150634 func_ov61_02150634: ; 0x02150634 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r0, _021506b4 ; =data_ov61_0217f38c ldr r1, [r0] add r0, r1, #0x1000 ldr r0, [r0, #0x188] cmp r0, #0 beq _0215066c add r0, r1, #0x11c add r0, r0, #0x1000 bl func_0200d86c cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, pc} _0215066c: ldr r0, _021506b4 ; =data_ov61_0217f38c mov r3, #0x1000 ldr r2, [r0] ldr r1, _021506b8 ; =func_ov61_021506bc add r0, r2, #0x11c str r3, [sp] mov ip, #0x10 add r0, r0, #0x1000 add r3, r2, #0x1000 str ip, [sp, #4] blx func_0200d5e4 ldr r0, _021506b4 ; =data_ov61_0217f38c ldr r0, [r0] add r0, r0, #0x11c add r0, r0, #0x1000 bl func_0200d938 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02150634 _021506b4: .word data_ov61_0217f38c _021506b8: .word func_ov61_021506bc .global func_ov61_021506bc arm_func_start func_ov61_021506bc func_ov61_021506bc: ; 0x021506bc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x290 ldr r4, _02151520 ; =data_ov61_0217f38c mov r8, #0 ldr r0, [r4] mov sb, r8 add r0, r0, #0x1000 ldr r6, [r0, #0x108] ldr r7, [r0, #0x10c] mvn r0, #2 str r0, [sp, #0x14] sub r0, r0, #1 str r0, [sp, #0x18] ldr r0, [sp, #0x14] mov sl, r8 sub r0, r0, #2 str r0, [sp, #0x1c] ldr r0, _02151524 ; =0x00009c40 mov r0, r0, lsr #0x1 str r0, [sp, #0xc] ldr r0, [sp, #0x14] add r0, r0, #1 str r0, [sp, #0x10] _02150718: ldr r0, _02151528 ; =data_ov61_0217ad88 ldr r1, _0215152c ; =data_ov61_0217f3a4 ldr r0, [r0] str r0, [r4, #0x18] mov r0, #1 str r0, [r4, #0x1c] mov r0, #0x1000 str r0, [r4, #0x20] str r6, [r4, #0x24] ldr r0, [sp, #0xc] str r7, [r4, #0x28] str r0, [r4, #0x30] ldr r0, [r4] add r2, r0, #0x1000 ldr r0, [sp, #0x10] str r0, [r2, #4] ldr r0, [r4, #0x14] bl func_ov61_0214effc cmp r0, #0 beq _02150780 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #1 bl func_ov61_021515a8 b _021514cc _02150780: ldr r0, [r4, #0x14] bl func_ov61_0214f118 cmp r0, #0 beq _021507a8 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #1 bl func_ov61_021515a8 b _021514cc _021507a8: ldr r0, _02151530 ; =data_027e02a0 ldr r0, [r0, #4] bl func_0200db20 sub r1, r0, #1 ldr r0, [r4, #0x14] bl func_ov61_0214f1b0 ldr r1, [r4, #0x14] add r0, r1, #0x1000 ldr r0, [r0, #0xba4] cmp r0, #0 beq _021507e0 add r0, r1, #0x338 add r0, r0, #0x1800 bl func_0200d83c _021507e0: ldr r0, [r4, #0x14] add r1, r0, #0x1000 ldr r1, [r1, #0x20] cmp r1, #2 beq _02150800 cmp r1, #8 beq _0215082c b _02150814 _02150800: ldr r0, _02151520 ; =data_ov61_0217f38c mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #4] _02150814: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #3 bl func_ov61_021515a8 b _021514cc _0215082c: mov r1, #0 bl func_ov61_0214ff88 cmp r0, #1 beq _02150854 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #2 bl func_ov61_021515a8 b _021514cc _02150854: ldr r0, [r4, #0x14] ldr r1, _02151534 ; =data_ov61_0217ae9c bl func_ov61_02150228 bl func_0204902c mov r5, r0 ldr r0, _02151538 ; =data_02076d88 ldr r0, [r0] cmp r0, #0x22 bne _02150884 mov r0, #2 bl func_ov61_021515a8 b _021514cc _02150884: cmp r5, #0xc8 beq _0215089c ldr r0, _0215153c ; =0x0000012e cmp r5, r0 beq _021508b0 b _02150b90 _0215089c: ldr r0, [r4, #0x14] add r0, r0, #0x1000 ldr r0, [r0, #0x12c] str r0, [r4, #8] b _02150ba8 _021508b0: mov r0, #1 str r0, [r4, #4] ldr r0, [r4] add r0, r0, #0x1000 ldr r1, [r0, #0x118] cmp r1, #0 beq _02150b00 ldr r1, _02151520 ; =data_ov61_0217f38c mvn r2, #5 str r2, [r0, #4] ldr r0, [r1, #0x14] bl func_ov61_0214f7b0 ldr r0, _02151540 ; =data_ov61_0217a8d0 ldr r2, _02151520 ; =data_ov61_0217f38c ldr r0, [r0] mov r1, #0 str r0, [r2, #0x18] str r1, [r2, #0x1c] mov r1, #0x200 str r1, [r2, #0x20] str r6, [r2, #0x24] ldr r3, _02151544 ; =0x00004e20 str r7, [r2, #0x28] ldr r1, _02151548 ; =data_ov61_0217aea8 str r3, [r2, #0x30] bl func_0204716c cmp r0, #0 ldrne r0, _02151520 ; =data_ov61_0217f38c movne r1, #1 strne r1, [r0, #0x2c] ldr r0, _02151520 ; =data_ov61_0217f38c ldr r1, _0215152c ; =data_ov61_0217f3a4 ldr r0, [r0, #0x14] bl func_ov61_0214effc cmp r0, #0 beq _02150958 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #1 bl func_ov61_021515a8 b _021514cc _02150958: add r0, sp, #0x38 bl func_ov61_0214e9d8 cmp r0, #0 beq _02150984 ldr r0, _02151520 ; =data_ov61_0217f38c add r1, sp, #0x38 ldr r0, [r0, #0x14] mov r2, #1 bl func_ov61_0214ecb0 cmp r0, #0 bne _0215099c _02150984: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #8 bl func_ov61_021515a8 b _021514cc _0215099c: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r1, _0215154c ; =data_ov61_0217aec8 ldr r0, [r0, #0x14] ldr r2, _02151550 ; =data_ov61_0217aed0 mov r3, #7 bl func_ov61_0214fa00 cmp r0, #0 bne _021509f4 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0] add r0, r0, #0x1000 ldr r4, [r0, #0x118] mov r0, r4 bl func_02047008 ldr r1, _02151520 ; =data_ov61_0217f38c mov r3, r0 ldr r0, [r1, #0x14] ldr r1, _02151554 ; =data_ov61_0217aed8 mov r2, r4 bl func_ov61_0214fa00 cmp r0, #0 beq _02150a0c _021509f4: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #8 bl func_ov61_021515a8 b _021514cc _02150a0c: ldr r1, _02151520 ; =data_ov61_0217f38c ldr r0, _02151558 ; =data_ov61_0217ae00 ldr r1, [r1] mov r2, #0 add r1, r1, #0x1000 ldr r1, [r1, #0x118] blx r7 ldr r1, _02151520 ; =data_ov61_0217f38c mov r2, #0 ldr r0, [r1] add r0, r0, #0x1000 str r2, [r0, #0x118] ldr r0, [r1, #0x14] bl func_ov61_0214f118 cmp r0, #0 beq _02150a64 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #1 bl func_ov61_021515a8 b _021514cc _02150a64: ldr r0, _02151530 ; =data_027e02a0 ldr r0, [r0, #4] bl func_0200db20 ldr r2, _02151520 ; =data_ov61_0217f38c sub r1, r0, #1 ldr r0, [r2, #0x14] bl func_ov61_0214f1b0 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r1, [r0, #0x14] add r0, r1, #0x1000 ldr r0, [r0, #0xba4] cmp r0, #0 beq _02150aa4 add r0, r1, #0x338 add r0, r0, #0x1800 bl func_0200d83c _02150aa4: ldr r2, _02151520 ; =data_ov61_0217f38c ldr r0, [r2, #0x14] add r1, r0, #0x1000 ldr r1, [r1, #0x20] cmp r1, #2 beq _02150ac8 cmp r1, #8 beq _02150af0 b _02150ad8 _02150ac8: ldr r0, [r2] mvn r1, #0 add r0, r0, #0x1000 str r1, [r0, #4] _02150ad8: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #3 bl func_ov61_021515a8 b _021514cc _02150af0: bl func_ov61_0214f7b0 mov r0, #7 bl func_ov61_021515a8 b _021514cc _02150b00: ldr r0, [r4, #0x14] add r1, r0, #0x1000 ldr fp, [r1, #0xa08] cmp fp, #0 bne _02150b24 bl func_ov61_0214f7b0 mov r0, #2 bl func_ov61_021515a8 b _021514cc _02150b24: mov r0, fp bl func_02047008 add r1, r0, #1 ldr r0, _0215155c ; =data_ov61_0217ae34 blx r6 ldr r1, [r4] add r1, r1, #0x1000 str r0, [r1, #0x114] ldr r0, [r4] add r0, r0, #0x1000 ldr r0, [r0, #0x114] str r0, [sp, #4] cmp r0, #0 bne _02150b74 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #4 bl func_ov61_021515a8 b _021514cc _02150b74: mov r0, fp bl func_02047008 mov r2, r0 ldr r0, [sp, #4] mov r1, fp bl func_020470ec b _02150ba8 _02150b90: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #0xa bl func_ov61_021515a8 b _021514cc _02150ba8: ldr r0, [r4, #0x14] bl func_ov61_0214f7b0 add r0, sp, #0x24 blx func_ov00_02077af8 ldr r2, [sp, #0x24] ldr r1, [sp, #0x28] mov r0, #0 cmp r1, r0 cmpeq r2, r0 bne _02150cd8 ldr r1, [r4] ldr r0, _02151560 ; =data_ov61_0217f3c0 add r2, r1, #0x1000 ldr r1, [sp, #0x14] str r1, [r2, #4] mov r1, #0 strh r1, [r4, #0x34] strb r1, [r4, #0x68] ldr r1, [r4] add r1, r1, #0x1000 ldr r2, [r1, #0x108] str r2, [r4, #0x74] ldr r1, [r1, #0x10c] str r1, [r4, #0x78] ldr r1, [r4, #0x14] bl func_ov61_0214dbc4 cmp r0, #0 beq _02150c24 mov r0, #5 bl func_ov61_021515a8 b _021514cc _02150c24: bl func_ov61_0214de80 bl func_ov61_0214deb0 cmp r0, #0x15 beq _02150cd4 bl func_ov61_0214deb0 cmp r0, #9 bne _02150c58 ldr r0, _02151520 ; =data_ov61_0217f38c mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #4] b _02150cc4 _02150c58: add r0, sp, #0xcc bl func_ov61_0214defc ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0xc] cmp r0, #1 bne _02150cb0 ldr r1, [sp, #0xcc] ldr r0, _02151564 ; =0xffffa4fa cmp r1, r0 beq _02150c8c bl func_ov61_0214deb0 cmp r0, #0xb bne _02150cb0 _02150c8c: ldr r0, _02151520 ; =data_ov61_0217f38c mov r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #4] bl func_ov61_0214de28 mov r0, #0xb bl func_ov61_021515a8 b _021514cc _02150cb0: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r1, [sp, #0xcc] ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #4] _02150cc4: bl func_ov61_0214de28 mov r0, #6 bl func_ov61_021515a8 b _021514cc _02150cd4: bl func_ov61_0214de28 _02150cd8: cmp r5, #0xc8 bne _02150d00 ldr r0, _02151520 ; =data_ov61_0217f38c mov r2, #0 ldr r1, [r0] mov r0, #0xb add r1, r1, #0x1000 str r2, [r1, #4] bl func_ov61_021515a8 b _021514cc _02150d00: ldr r0, [r4] ldr r1, _02151548 ; =data_ov61_0217aea8 add r2, r0, #0x1000 ldr r0, [sp, #0x18] str r0, [r2, #4] ldr r0, _02151540 ; =data_ov61_0217a8d0 mov r2, #0 ldr r0, [r0] str r0, [r4, #0x18] str r2, [r4, #0x1c] mov r2, #0x1000 str r2, [r4, #0x20] str r6, [r4, #0x24] ldr r2, _02151524 ; =0x00009c40 str r7, [r4, #0x28] str r2, [r4, #0x30] bl func_0204716c cmp r0, #0 movne r0, #1 strne r0, [r4, #0x2c] ldr r0, [r4, #0x14] ldr r1, _0215152c ; =data_ov61_0217f3a4 bl func_ov61_0214effc cmp r0, #0 beq _02150d7c ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #1 bl func_ov61_021515a8 b _021514cc _02150d7c: add r0, sp, #0x38 bl func_ov61_0214e9d8 cmp r0, #0 beq _02150da4 ldr r0, [r4, #0x14] add r1, sp, #0x38 mov r2, #1 bl func_ov61_0214ecb0 cmp r0, #0 bne _02150dbc _02150da4: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #8 bl func_ov61_021515a8 b _021514cc _02150dbc: ldr r0, [r4, #0x14] ldr r1, _0215154c ; =data_ov61_0217aec8 ldr r2, _02151568 ; =data_ov61_0217aee8 mov r3, #5 bl func_ov61_0214fa00 cmp r0, #0 bne _02150e08 ldr r0, [r4] add r0, r0, #0x1000 ldr r5, [r0, #0x114] mov r0, r5 bl func_02047008 mov r3, r0 ldr r0, [r4, #0x14] ldr r1, _0215156c ; =data_ov61_0217aef0 mov r2, r5 bl func_ov61_0214fa00 cmp r0, #0 beq _02150e20 _02150e08: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #8 bl func_ov61_021515a8 b _021514cc _02150e20: ldr r1, [r4] ldr r0, _02151570 ; =data_ov61_0217ade4 add r1, r1, #0x1000 ldr r1, [r1, #0x114] mov r2, #0 blx r7 ldr r0, [r4] add r1, r0, #0x1000 mov r0, #0 str r0, [r1, #0x114] ldr r0, [r4, #0x14] bl func_ov61_0214f118 cmp r0, #0 beq _02150e70 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #1 bl func_ov61_021515a8 b _021514cc _02150e70: ldr r0, _02151530 ; =data_027e02a0 ldr r0, [r0, #4] bl func_0200db20 sub r1, r0, #1 ldr r0, [r4, #0x14] bl func_ov61_0214f1b0 ldr r1, [r4, #0x14] add r0, r1, #0x1000 ldr r0, [r0, #0xba4] cmp r0, #0 beq _02150ea8 add r0, r1, #0x338 add r0, r0, #0x1800 bl func_0200d83c _02150ea8: ldr r0, [r4, #0x14] add r1, r0, #0x1000 ldr r1, [r1, #0x20] cmp r1, #2 beq _02150f0c cmp r1, #3 beq _02150ed0 cmp r1, #8 beq _02150f38 b _02150f20 _02150ed0: bl func_ov61_0214f7b0 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r1, [r0, #0xc] cmp r1, #1 bne _02150f00 ldr r0, [r0] mov r2, #0 add r1, r0, #0x1000 mov r0, #0xb str r2, [r1, #4] bl func_ov61_021515a8 b _021514cc _02150f00: mov r0, #3 bl func_ov61_021515a8 b _021514cc _02150f0c: ldr r0, _02151520 ; =data_ov61_0217f38c mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #4] _02150f20: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #3 bl func_ov61_021515a8 b _021514cc _02150f38: mov r1, #0 bl func_ov61_0214ff88 cmp r0, #1 beq _02150f60 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #2 bl func_ov61_021515a8 b _021514cc _02150f60: ldr r0, [r4, #0x14] ldr r1, _02151534 ; =data_ov61_0217ae9c bl func_ov61_02150228 bl func_0204902c mov r5, r0 ldr r0, _02151538 ; =data_02076d88 ldr r0, [r0] cmp r0, #0x22 bne _02150f9c ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #2 bl func_ov61_021515a8 b _021514cc _02150f9c: cmp r5, #0xc8 beq _02150ff0 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 ldr r1, _02151520 ; =data_ov61_0217f38c ldr r0, [r1, #0xc] cmp r0, #1 ldreq r0, _0215153c ; =0x0000012e cmpeq r5, r0 bne _02150fe4 ldr r0, [r1] mov r2, #0 add r1, r0, #0x1000 mov r0, #0xb str r2, [r1, #4] bl func_ov61_021515a8 b _021514cc _02150fe4: mov r0, #2 bl func_ov61_021515a8 b _021514cc _02150ff0: ldr r0, [r4, #0x14] ldr r1, _02151574 ; =data_ov61_0217aef8 add r2, sp, #0x20 mov r3, #4 bl func_ov61_02150280 cmp r0, #0 bgt _02151024 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #9 bl func_ov61_021515a8 b _021514cc _02151024: add r0, sp, #0x20 bl func_0204902c ldr r1, _02151538 ; =data_02076d88 ldr r1, [r1] cmp r1, #0x22 bne _02151054 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #9 bl func_ov61_021515a8 b _021514cc _02151054: ldr r1, [r4, #0xc] cmp r1, #1 cmpeq r0, #0x72 bne _02151084 ldr r0, _02151520 ; =data_ov61_0217f38c mov r2, #0 ldr r1, [r0] mov r0, #0xb add r1, r1, #0x1000 str r2, [r1, #4] bl func_ov61_021515a8 b _021514cc _02151084: cmp r0, #0x64 blt _021510a4 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #6 bl func_ov61_021515a8 b _021514cc _021510a4: mov r2, #0 ldr r0, [r4, #0x14] ldr r1, _02151578 ; =data_ov61_0217af04 mov r3, r2 bl func_ov61_02150280 str r0, [sp, #8] cmp r0, #0 bgt _021510dc ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #9 bl func_ov61_021515a8 b _021514cc _021510dc: mov r2, #0 ldr r0, [r4, #0x14] ldr r1, _0215157c ; =data_ov61_0217af08 mov r3, r2 bl func_ov61_02150280 mov fp, r0 cmp fp, #0 bgt _02151114 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #9 bl func_ov61_021515a8 b _021514cc _02151114: mov r2, #0 ldr r0, [r4, #0x14] ldr r1, _02151580 ; =data_ov61_0217af10 mov r3, r2 bl func_ov61_02150280 ldr r1, [sp, #8] mov r5, r0 ldr r0, _02151584 ; =data_ov61_0217ae50 add r1, r1, #1 blx r6 movs r8, r0 bne _0215115c ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #4 bl func_ov61_021515a8 b _021514cc _0215115c: ldr r0, _02151588 ; =data_ov61_0217ae5c add r1, fp, #1 blx r6 movs sb, r0 bne _02151188 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #4 bl func_ov61_021515a8 b _021514cc _02151188: cmp r5, #0 ble _021511bc ldr r0, _0215158c ; =data_ov61_0217ae6c add r1, r5, #1 blx r6 movs sl, r0 bne _021511bc ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #4 bl func_ov61_021515a8 b _021514cc _021511bc: ldr r0, [sp, #8] ldr r1, _02151578 ; =data_ov61_0217af04 add r3, r0, #1 ldr r0, [r4, #0x14] mov r2, r8 bl func_ov61_02150280 cmp r0, #0 bge _021511f4 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #9 bl func_ov61_021515a8 b _021514cc _021511f4: mov r1, #0 strb r1, [r8, r0] ldr r0, [r4, #0x14] ldr r1, _0215157c ; =data_ov61_0217af08 add r3, fp, #1 mov r2, sb bl func_ov61_02150280 cmp r0, #0 bge _02151230 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #9 bl func_ov61_021515a8 b _021514cc _02151230: mov r1, #0 strb r1, [sb, r0] cmp r5, #0 mov fp, r1 ble _021512c4 ldr r0, [r4, #0x14] ldr r1, _02151580 ; =data_ov61_0217af10 add r3, r5, #1 mov r2, sl bl func_ov61_02150280 cmp r0, #0 bge _02151278 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #9 bl func_ov61_021515a8 b _021514cc _02151278: mov r1, fp strb r1, [sl, r0] mov r0, sl bl func_0204902c ldr r1, _02151538 ; =data_02076d88 ldr r1, [r1] cmp r1, #0x22 bne _021512b0 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #9 bl func_ov61_021515a8 b _021514cc _021512b0: mov r1, #0x3e8 mul fp, r0, r1 ldr r0, _02151590 ; =0x0002bf20 cmp fp, r0 movgt fp, r0 _021512c4: ldr r0, [r4, #0x14] bl func_ov61_0214f7b0 ldr r0, [r4] ldr r1, _0215152c ; =data_ov61_0217f3a4 add r2, r0, #0x1000 ldr r0, [sp, #0x1c] str r0, [r2, #4] str r8, [r4, #0x18] mov r0, #0 str r0, [r4, #0x1c] mov r0, #0x1000 str r0, [r4, #0x20] str r6, [r4, #0x24] ldr r0, _02151594 ; =0x0001d4c0 str r7, [r4, #0x28] str r0, [r4, #0x30] ldr r0, [r4, #0x14] bl func_ov61_0214effc cmp r0, #0 beq _0215132c ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #1 bl func_ov61_021515a8 b _021514cc _0215132c: ldr r0, [r4, #0x14] mov r1, sb bl func_ov61_0214fb0c cmp r0, #0 beq _02151358 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #8 bl func_ov61_021515a8 b _021514cc _02151358: ldr r0, [r4, #0x14] bl func_ov61_0214f118 cmp r0, #0 beq _02151380 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #1 bl func_ov61_021515a8 b _021514cc _02151380: ldr r0, _02151530 ; =data_027e02a0 ldr r0, [r0, #4] bl func_0200db20 sub r1, r0, #1 ldr r0, [r4, #0x14] bl func_ov61_0214f1b0 ldr r1, [r4, #0x14] add r0, r1, #0x1000 ldr r0, [r0, #0xba4] cmp r0, #0 beq _021513b8 add r0, r1, #0x338 add r0, r0, #0x1800 bl func_0200d83c _021513b8: ldr r0, [r4, #0x14] add r1, r0, #0x1000 ldr r1, [r1, #0x20] cmp r1, #2 beq _021513d8 cmp r1, #8 beq _02151404 b _021513ec _021513d8: ldr r0, _02151520 ; =data_ov61_0217f38c mvn r1, #0 ldr r0, [r0] add r0, r0, #0x1000 str r1, [r0, #4] _021513ec: ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #3 bl func_ov61_021515a8 b _021514cc _02151404: mov r1, #1 bl func_ov61_0214ff88 cmp r0, #1 beq _0215142c ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #2 bl func_ov61_021515a8 b _021514cc _0215142c: ldr r0, [r4, #0x14] add r1, r0, #0x1000 ldr r5, [r1, #0xa08] cmp r5, #0 bne _02151450 bl func_ov61_0214f7b0 mov r0, #2 bl func_ov61_021515a8 b _021514cc _02151450: mov r0, r5 bl func_02047008 add r1, r0, #1 ldr r0, _02151598 ; =data_ov61_0217ae7c blx r6 ldr r1, [r4] add r1, r1, #0x1000 str r0, [r1, #0x118] ldr r0, [r4] add r0, r0, #0x1000 ldr r0, [r0, #0x118] str r0, [sp] cmp r0, #0 bne _021514a0 ldr r0, _02151520 ; =data_ov61_0217f38c ldr r0, [r0, #0x14] bl func_ov61_0214f7b0 mov r0, #4 bl func_ov61_021515a8 b _021514cc _021514a0: mov r0, r5 bl func_02047008 mov r2, r0 ldr r0, [sp] mov r1, r5 bl func_020470ec ldr r0, [r4, #0x14] bl func_ov61_0214f7b0 mov r0, fp bl func_0200db28 b _02150718 _021514cc: cmp r8, #0 beq _021514e4 ldr r0, _0215159c ; =data_ov61_0217af18 mov r1, r8 mov r2, #0 blx r7 _021514e4: cmp sb, #0 beq _021514fc ldr r0, _021515a0 ; =data_ov61_0217af24 mov r1, sb mov r2, #0 blx r7 _021514fc: cmp sl, #0 addeq sp, sp, #0x290 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _021515a4 ; =data_ov61_0217af30 mov r1, sl mov r2, #0 blx r7 add sp, sp, #0x290 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021506bc _02151520: .word data_ov61_0217f38c _02151524: .word 0x00009c40 _02151528: .word data_ov61_0217ad88 _0215152c: .word data_ov61_0217f3a4 _02151530: .word data_027e02a0 _02151534: .word data_ov61_0217ae9c _02151538: .word data_02076d88 _0215153c: .word 0x0000012e _02151540: .word data_ov61_0217a8d0 _02151544: .word 0x00004e20 _02151548: .word data_ov61_0217aea8 _0215154c: .word data_ov61_0217aec8 _02151550: .word data_ov61_0217aed0 _02151554: .word data_ov61_0217aed8 _02151558: .word data_ov61_0217ae00 _0215155c: .word data_ov61_0217ae34 _02151560: .word data_ov61_0217f3c0 _02151564: .word 0xffffa4fa _02151568: .word data_ov61_0217aee8 _0215156c: .word data_ov61_0217aef0 _02151570: .word data_ov61_0217ade4 _02151574: .word data_ov61_0217aef8 _02151578: .word data_ov61_0217af04 _0215157c: .word data_ov61_0217af08 _02151580: .word data_ov61_0217af10 _02151584: .word data_ov61_0217ae50 _02151588: .word data_ov61_0217ae5c _0215158c: .word data_ov61_0217ae6c _02151590: .word 0x0002bf20 _02151594: .word 0x0001d4c0 _02151598: .word data_ov61_0217ae7c _0215159c: .word data_ov61_0217af18 _021515a0: .word data_ov61_0217af24 _021515a4: .word data_ov61_0217af30 .global func_ov61_021515a8 arm_func_start func_ov61_021515a8 func_ov61_021515a8: ; 0x021515a8 stmdb sp!, {r4, lr} ldr r1, _021515e8 ; =data_ov61_0217f38c mov r4, r0 ldr r0, [r1] add r0, r0, #0x1dc add r0, r0, #0x1000 bl func_0200e044 ldr r1, _021515e8 ; =data_ov61_0217f38c ldr r0, [r1] add r0, r0, #0x1000 str r4, [r0] ldr r0, [r1] add r0, r0, #0x1dc add r0, r0, #0x1000 bl func_0200e0c8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021515a8 _021515e8: .word data_ov61_0217f38c .global func_ov61_021515ec arm_func_start func_ov61_021515ec func_ov61_021515ec: ; 0x021515ec stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x3c mov r6, r0 bl func_02047008 mov r4, r0 ldr r0, _02151800 ; =data_ov61_0217af9c bl func_02047008 cmp r4, r0 ldreqsb r0, [r6, #7] cmpeq r0, #0x20 ldreqsb r0, [r6, #0xb] cmpeq r0, #0x20 ldreqsb r0, [r6, #0x10] cmpeq r0, #0x20 ldreqsb r0, [r6, #0x13] cmpeq r0, #0x3a ldreqsb r0, [r6, #0x16] cmpeq r0, #0x3a ldreqsb r0, [r6, #0x19] cmpeq r0, #0x20 bne _021517f4 add r0, sp, #0x2c blx func_02042668 cmp r0, #0 bne _021517f4 add r0, sp, #0x20 blx func_020426d4 cmp r0, #0 bne _021517f4 add r0, sp, #0x2c add r1, sp, #0x20 blx func_02042bb8 mov r4, r0 mov r5, r1 mvn r0, #0 cmp r5, r0 cmpeq r4, r0 beq _021517f4 add r0, sp, #0 mov r1, r6 bl func_02047024 mov r2, #0 ldr r1, _02151804 ; =data_02076d88 add r0, sp, #0xc strb r2, [sp, #7] strb r2, [sp, #0xb] strb r2, [sp, #0x10] strb r2, [sp, #0x13] strb r2, [sp, #0x16] strb r2, [sp, #0x19] str r2, [r1] bl func_0204902c ldr r1, _02151804 ; =data_02076d88 str r0, [sp, #0x2c] ldr r1, [r1] cmp r1, #0x22 beq _021517f4 sub r1, r0, #0x7d0 mov r0, #0xd ldr r7, _02151808 ; =data_ov61_0217af6c str r1, [sp, #0x2c] str r0, [sp, #0x30] mov r8, #0 add r6, sp, #8 _021516ec: ldr r0, [r7, r8, lsl #2] mov r1, r6 bl func_0204716c cmp r0, #0 addeq r0, r8, #1 streq r0, [sp, #0x30] beq _02151714 add r8, r8, #1 cmp r8, #0xc blt _021516ec _02151714: ldr r0, [sp, #0x30] cmp r0, #0xc bhi _021517f4 ldr r1, _02151804 ; =data_02076d88 mov r2, #0 add r0, sp, #5 str r2, [r1] bl func_0204902c ldr r1, _02151804 ; =data_02076d88 str r0, [sp, #0x34] ldr r0, [r1] cmp r0, #0x22 beq _021517f4 mov r2, #0 add r0, sp, #0x11 str r2, [r1] bl func_0204902c ldr r1, _02151804 ; =data_02076d88 str r0, [sp, #0x20] ldr r0, [r1] cmp r0, #0x22 beq _021517f4 mov r2, #0 add r0, sp, #0x14 str r2, [r1] bl func_0204902c ldr r1, _02151804 ; =data_02076d88 str r0, [sp, #0x24] ldr r0, [r1] cmp r0, #0x22 beq _021517f4 mov r2, #0 add r0, sp, #0x17 str r2, [r1] bl func_0204902c ldr r1, _02151804 ; =data_02076d88 str r0, [sp, #0x28] ldr r0, [r1] cmp r0, #0x22 beq _021517f4 add r0, sp, #0x2c add r1, sp, #0x20 blx func_02042bb8 mvn r2, #0 cmp r1, r2 cmpeq r0, r2 beq _021517f4 ldr r2, _0215180c ; =data_ov61_0217f408 subs r0, r4, r0 str r0, [r2, #4] sbc r0, r5, r1 str r0, [r2, #8] mov r0, #1 str r0, [r2] add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _021517f4: mov r0, #0 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021515ec _02151800: .word data_ov61_0217af9c _02151804: .word data_02076d88 _02151808: .word data_ov61_0217af6c _0215180c: .word data_ov61_0217f408 .global func_ov61_02151810 arm_func_start func_ov61_02151810 func_ov61_02151810: ; 0x02151810 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 ldr r4, _02151990 ; =0xaaaaaaab str r2, [sp] umull r4, r5, r1, r4 mov r6, #3 mov r5, r5, lsr #0x1 umull r4, r5, r6, r5 mov sl, r0 subs r5, r1, r4 movne r5, #4 ldr r2, _02151990 ; =0xaaaaaaab ldr r0, [sp] moveq r5, #0 cmp r0, #0 umull r0, r4, r1, r2 mov r4, r4, lsr #0x1 addeq sp, sp, #8 add r0, r5, r4, lsl #2 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r3, r0 addlo sp, sp, #8 mvnlo r0, #0 ldmloia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r7, sl, r1 ldr r8, [sp] cmp sl, r7 beq _02151980 sub fp, r2, #0x80000000 ldr r5, _02151994 ; =data_ov61_0217afbc mov r4, fp _0215188c: sub sb, r7, sl mov r0, sb, lsl #0x3 smull r1, r2, r4, r0 add r2, r2, r0, lsr #31 mov r1, #6 smull r2, r3, r1, r2 subs r2, r0, r2 smull r1, r2, fp, r0 movne r3, #1 moveq r3, #0 add r2, r2, r0, lsr #31 cmp sb, #3 add r6, r2, r3 movge sb, #3 add r0, sp, #4 mov r1, #0 mov r2, #3 bl func_02007a44 mov r0, sl add r1, sp, #4 mov r2, sb bl func_02007ad8 ldrb r0, [sp, #4] ldr r1, [r5] cmp r6, #2 mov r0, r0, asr #0x2 ldrsb r0, [r1, r0] strb r0, [r8] movlt r0, #0x2a blt _02151920 ldrb r2, [sp, #4] ldrb r1, [sp, #5] ldr r0, [r5] mov r2, r2, lsl #0x4 and r2, r2, #0x3f orr r1, r2, r1, asr #4 ldrsb r0, [r0, r1] _02151920: strb r0, [r8, #1] cmp r6, #3 movlt r0, #0x2a blt _0215194c ldrb r2, [sp, #5] ldrb r1, [sp, #6] ldr r0, [r5] mov r2, r2, lsl #0x2 and r2, r2, #0x3f orr r1, r2, r1, asr #6 ldrsb r0, [r0, r1] _0215194c: strb r0, [r8, #2] cmp r6, #4 movlt r0, #0x2a blt _0215196c ldrb r0, [sp, #6] ldr r1, [r5] and r0, r0, #0x3f ldrsb r0, [r1, r0] _0215196c: add sl, sl, sb strb r0, [r8, #3] cmp sl, r7 add r8, r8, #4 bne _0215188c _02151980: ldr r0, [sp] sub r0, r8, r0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02151810 _02151990: .word 0xaaaaaaab _02151994: .word data_ov61_0217afbc .global func_ov61_02151998 arm_func_start func_ov61_02151998 func_ov61_02151998: ; 0x02151998 stmdb sp!, {r3, r4, r5, r6, r7, lr} tst r1, #3 mvnne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r5, #0 mov ip, r5 cmp r1, #0 bls _021519d0 _021519b8: ldrsb r4, [r0, ip] add ip, ip, #1 cmp r4, #0x2a addne r5, r5, #6 cmp ip, r1 blo _021519b8 _021519d0: mov ip, r5, asr #0x2 add ip, r5, ip, lsr #29 mov ip, ip, asr #0x3 cmp r2, #0 moveq r0, ip ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r3, ip mvnlo r0, #0 ldmloia sp!, {r3, r4, r5, r6, r7, pc} cmp r1, #0 moveq r0, #0 streqb r0, [r2] ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r1, r2 _02151a08: mov r7, #0 add r6, sp, #0 mov r3, r7 mov r4, #0x3f mov lr, #0x3e _02151a1c: ldrsb r5, [r0, r7] cmp r5, #0x41 blt _02151a38 cmp r5, #0x5a suble r5, r5, #0x41 strleb r5, [r6] ble _02151a80 _02151a38: cmp r5, #0x61 blt _02151a50 cmp r5, #0x7a suble r5, r5, #0x47 strleb r5, [r6] ble _02151a80 _02151a50: cmp r5, #0x30 blt _02151a68 cmp r5, #0x39 addle r5, r5, #4 strleb r5, [r6] ble _02151a80 _02151a68: cmp r5, #0x2e streqb lr, [r6] beq _02151a80 cmp r5, #0x2d streqb r4, [r6] strneb r3, [r6] _02151a80: add r7, r7, #1 cmp r7, #4 add r6, r6, #1 blt _02151a1c ldrsb r4, [sp, #1] ldrsb lr, [sp] add r3, r1, #1 mov r4, r4, asr #0x4 orr r4, r4, lr, lsl #2 sub r3, r3, r2 strb r4, [r1] cmp r3, ip add r0, r0, #4 bge _02151afc ldrsb lr, [sp, #2] ldrsb r4, [sp, #1] add r3, r1, #2 mov lr, lr, asr #0x2 orr r4, lr, r4, lsl #4 sub r3, r3, r2 strb r4, [r1, #1] cmp r3, ip bge _02151afc ldrsb lr, [sp, #2] ldrsb r3, [sp, #3] orr r3, r3, lr, lsl #6 strb r3, [r1, #2] add r1, r1, #3 sub r3, r1, r2 cmp r3, ip blt _02151a08 _02151afc: mov r0, r3 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02151998 .global func_ov61_02151b04 arm_func_start func_ov61_02151b04 func_ov61_02151b04: ; 0x02151b04 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _02151bf8 ; =data_ov61_0217f414 ldr r2, _02151bf8 ; =data_ov61_0217f414 ldr r1, [r1, #0x50] str r0, [r2, #0xc] cmp r1, #0 mov r1, #0 str r1, [r2, #0x50] str r1, [r2, #0x1c] str r1, [r2, #0x2c] str r1, [r2, #0x60] movne r3, #1 str r1, [r2, #0x64] moveq r3, #0 str r1, [r2, #0x20] cmp r3, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _02151bfc ; =data_ov61_0217f494 mov r2, #0x60 bl func_02007a44 ldr r0, _02151c00 ; =data_027e02a0 ldr r6, [r0, #8] cmp r6, #0 beq _02151bb4 mov r5, #0 mov r4, r5 _02151b6c: ldr r1, [r6, #0xa4] cmp r1, #0 ldrne r0, [r1] cmpne r0, #0 beq _02151ba8 ldrb r0, [r1, #8] cmp r0, #0xa cmpne r0, #0xb strneb r5, [r1, #8] ldr r0, [r1, #4] cmp r0, #0 beq _02151ba8 str r4, [r1, #4] ldr r0, [r1] bl func_0200d938 _02151ba8: ldr r6, [r6, #0x68] cmp r6, #0 bne _02151b6c _02151bb4: mov r6, #0 ldr r7, _02151c04 ; =data_ov61_0217f73c ldr r4, _02151bf8 ; =data_ov61_0217f414 mov r5, r6 _02151bc4: ldrh r0, [r7, #4] cmp r0, #0 beq _02151be0 ldr r0, [r7, #0x34] ldr r1, [r4, #0x40] blx r1 strh r5, [r7, #4] _02151be0: add r6, r6, #1 cmp r6, #8 add r7, r7, #0x38 blt _02151bc4 bl func_ov61_0215cb7c ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02151b04 _02151bf8: .word data_ov61_0217f414 _02151bfc: .word data_ov61_0217f494 _02151c00: .word data_027e02a0 _02151c04: .word data_ov61_0217f73c .global func_ov61_02151c08 arm_func_start func_ov61_02151c08 func_ov61_02151c08: ; 0x02151c08 stmdb sp!, {r3, lr} ldr r0, _02151c2c ; =data_ov61_0217f414 ldr r0, [r0, #0x24] cmp r0, #0 bne _02151c24 bl func_0200d9a4 ldmia sp!, {r3, pc} _02151c24: bl func_0200db28 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02151c08 _02151c2c: .word data_ov61_0217f414 .global func_ov61_02151c30 arm_func_start func_ov61_02151c30 func_ov61_02151c30: ; 0x02151c30 bx lr arm_func_end func_ov61_02151c30 .global func_ov61_02151c34 arm_func_start func_ov61_02151c34 func_ov61_02151c34: ; 0x02151c34 mov r0, #1 bx lr arm_func_end func_ov61_02151c34 .global func_ov61_02151c3c arm_func_start func_ov61_02151c3c func_ov61_02151c3c: ; 0x02151c3c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r4, r0 ldr r0, _02151e34 ; =data_02000bd8 bl func_02000b60 ldr r3, [r4, #0x18] ldr r5, [r4, #0x14] cmp r3, #0 cmpeq r5, #0 mov r1, #0 beq _02151c94 ldr r0, _02151e38 ; =data_ov61_0217f414 ldr r2, _02151e3c ; =0x6c078965 str r5, [r0, #0x68] str r3, [r0, #0x6c] ldr r3, _02151e40 ; =0x5d588b65 str r2, [r0, #0x70] ldr r2, _02151e44 ; =0x00269ec3 str r3, [r0, #0x74] str r2, [r0, #0x78] str r1, [r0, #0x7c] b _02151cc4 _02151c94: bl func_0200e8f8 ldr r2, _02151e38 ; =data_ov61_0217f414 ldr r3, _02151e3c ; =0x6c078965 str r0, [r2, #0x68] str r1, [r2, #0x6c] ldr r1, _02151e40 ; =0x5d588b65 str r3, [r2, #0x70] ldr r0, _02151e44 ; =0x00269ec3 str r1, [r2, #0x74] str r0, [r2, #0x78] mov r0, #0 str r0, [r2, #0x7c] _02151cc4: ldr r1, [r4, #4] cmp r1, #0 ldrne r0, [r4, #8] cmpne r0, #0 beq _02151ce8 ldr r0, _02151e38 ; =data_ov61_0217f414 str r1, [r0, #0x14] ldr r1, [r4, #8] b _02151cf4 _02151ce8: ldr r1, _02151e48 ; =func_ov61_02151c30 ldr r0, _02151e38 ; =data_ov61_0217f414 str r1, [r0, #0x14] _02151cf4: str r1, [r0, #0x40] ldr r1, [r4] ldr r0, _02151e38 ; =data_ov61_0217f414 ldr r2, _02151e38 ; =data_ov61_0217f414 str r1, [r0, #0x10] ldr r1, [r4, #0x24] cmp r1, #0 ldreq r1, _02151e4c ; =0x000005b4 strh r1, [r0, #2] ldr r1, [r4, #0x28] ldr r0, _02151e38 ; =data_ov61_0217f414 str r1, [r0, #0x34] ldr r1, [r4, #0x2c] str r1, [r0, #0x24] ldr r1, [r4, #0xc] cmp r1, #0 ldreq r1, _02151e48 ; =func_ov61_02151c30 str r1, [r0, #0x18] ldr r1, [r4, #0x10] cmp r1, #0 ldrne r0, _02151e38 ; =data_ov61_0217f414 ldreq r1, _02151e50 ; =func_ov61_02151c34 ldreq r0, _02151e38 ; =data_ov61_0217f414 str r1, [r0, #0x48] ldr r1, [r4, #0x1c] mov r0, #0 str r1, [r2, #0x58] ldr r3, [r4, #0x20] ldr r1, _02151e54 ; =0x00000f88 str r3, [r2, #0x5c] str r0, [r2, #0x30] str r0, [r2, #0x28] ldr ip, [r2, #0x70] ldr r4, [r2, #0x68] ldr r3, [r2, #0x6c] umull r5, lr, ip, r4 mla lr, ip, r3, lr ldr r3, [r2, #0x74] ldr ip, [r2, #0x78] mla lr, r3, r4, lr ldr r3, [r2, #0x7c] adds ip, ip, r5 adc r5, r3, lr umull r3, r4, r5, r1 mla r4, r5, r0, r4 mla r4, r0, r1, r4 str ip, [r2, #0x68] ldr r0, _02151e58 ; =data_ov61_0217f8fc str r5, [r2, #0x6c] add r1, r4, #0x400 strh r1, [r2, #8] bl func_0200f014 ldr r0, _02151e38 ; =data_ov61_0217f414 mov r2, #0 strb r2, [r0, #1] mov r1, #0x800 str r1, [sp] ldr r0, _02151e5c ; =data_ov61_0217bc04 ldr r1, _02151e60 ; =func_ov61_021549ac ldr r4, [r0] ldr r0, _02151e64 ; =data_ov61_0217f67c ldr r3, _02151e68 ; =data_ov61_02180c40 str r4, [sp, #4] blx func_0200d5e4 mov r1, #0x800 ldr r0, _02151e5c ; =data_ov61_0217bc04 str r1, [sp] ldr r1, [r0] ldr r0, _02151e6c ; =data_ov61_0217f5bc str r1, [sp, #4] ldr r1, _02151e70 ; =func_ov61_021556b4 ldr r3, _02151e74 ; =data_ov61_02180440 mov r2, #0 blx func_0200d5e4 ldr r0, _02151e64 ; =data_ov61_0217f67c bl func_0200d938 ldr r0, _02151e6c ; =data_ov61_0217f5bc bl func_0200d938 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02151c3c _02151e34: .word data_02000bd8 _02151e38: .word data_ov61_0217f414 _02151e3c: .word 0x6c078965 _02151e40: .word 0x5d588b65 _02151e44: .word 0x00269ec3 _02151e48: .word func_ov61_02151c30 _02151e4c: .word 0x000005b4 _02151e50: .word func_ov61_02151c34 _02151e54: .word 0x00000f88 _02151e58: .word data_ov61_0217f8fc _02151e5c: .word data_ov61_0217bc04 _02151e60: .word func_ov61_021549ac _02151e64: .word data_ov61_0217f67c _02151e68: .word data_ov61_02180c40 _02151e6c: .word data_ov61_0217f5bc _02151e70: .word func_ov61_021556b4 _02151e74: .word data_ov61_02180440 .global func_ov61_02151e78 arm_func_start func_ov61_02151e78 func_ov61_02151e78: ; 0x02151e78 stmdb sp!, {r3, r4, r5, lr} bl func_0200ee4c mov r4, r0 ldr r0, _02151ec0 ; =data_ov61_0217f5bc bl func_0200d86c movs r5, r0 ldreq r1, _02151ec4 ; =data_ov61_0217f414 ldreq r0, [r1, #0x44] cmpeq r0, #0 bne _02151eb0 ldr r0, _02151ec0 ; =data_ov61_0217f5bc mov r2, #1 str r2, [r1, #0x44] bl func_0200d938 _02151eb0: mov r0, r4 bl func_0200ee60 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02151e78 _02151ec0: .word data_ov61_0217f5bc _02151ec4: .word data_ov61_0217f414 .global func_ov61_02151ec8 arm_func_start func_ov61_02151ec8 func_ov61_02151ec8: ; 0x02151ec8 ldr r1, _02151ed4 ; =data_ov61_0217f414 str r0, [r1, #0x3c] bx lr .align 2, 0 arm_func_end func_ov61_02151ec8 _02151ed4: .word data_ov61_0217f414 .global func_ov61_02151ed8 arm_func_start func_ov61_02151ed8 func_ov61_02151ed8: ; 0x02151ed8 stmdb sp!, {r3, lr} bl func_ov61_02151e78 ldr r0, _02151f14 ; =data_ov61_0217f5bc bl func_0200d83c ldr r0, _02151f18 ; =data_ov61_0217f67c blx func_0200d7cc ldr r1, _02151f1c ; =data_ov61_0217f414 mov r0, #0 str r0, [r1, #0x54] bl func_ov61_02151b04 ldr r0, _02151f1c ; =data_ov61_0217f414 mov r1, #0 str r1, [r0, #0x58] str r1, [r0, #0x5c] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02151ed8 _02151f14: .word data_ov61_0217f5bc _02151f18: .word data_ov61_0217f67c _02151f1c: .word data_ov61_0217f414 .global func_ov61_02151f20 arm_func_start func_ov61_02151f20 func_ov61_02151f20: ; 0x02151f20 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, _02151f4c ; =data_ov61_0217bc04 ldr r0, _02151f50 ; =data_ov61_0217f67c mov r1, r4 str r4, [r2] bl func_0200da78 ldr r0, _02151f54 ; =data_ov61_0217f5bc mov r1, r4 bl func_0200da78 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02151f20 _02151f4c: .word data_ov61_0217bc04 _02151f50: .word data_ov61_0217f67c _02151f54: .word data_ov61_0217f5bc .global func_ov61_02151f58 arm_func_start func_ov61_02151f58 func_ov61_02151f58: ; 0x02151f58 tst r0, #1 beq _02151f90 cmp r1, #1 bls _02151fe0 _02151f68: ldrb ip, [r0] ldrb r3, [r0, #1] sub r1, r1, #2 cmp r1, #1 orr r3, r3, ip, lsl #8 mov r3, r3, lsl #0x10 add r2, r2, r3, lsr #16 add r0, r0, #2 bhi _02151f68 b _02151fe0 _02151f90: mov r2, r2, lsl #0x10 mov r3, r2, lsr #0x10 mov r2, r3, lsl #0x8 orr r2, r2, r3, asr #8 mov r2, r2, lsl #0x10 cmp r1, #1 mov r2, r2, lsr #0x10 bls _02151fc4 _02151fb0: ldrh r3, [r0], #2 sub r1, r1, #2 cmp r1, #1 add r2, r2, r3 bhi _02151fb0 _02151fc4: ldr r3, _02152008 ; =0x00ff00ff mov ip, r3, lsl #0x8 and r3, r3, r2, lsr #8 and r2, ip, r2, lsl #8 orr r3, r3, r2 mov r2, r3, lsl #0x10 orr r2, r2, r3, lsr #16 _02151fe0: cmp r1, #0 ldrneb r0, [r0] addne r2, r2, r0, lsl #8 mov r0, r2, lsl #0x10 mov r1, r2, lsr #0x10 add r0, r1, r0, lsr #16 add r0, r0, r0, lsr #16 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx lr .align 2, 0 arm_func_end func_ov61_02151f58 _02152008: .word 0x00ff00ff .global func_ov61_0215200c arm_func_start func_ov61_0215200c func_ov61_0215200c: ; 0x0215200c ldr r1, _02152024 ; =0x0000ffff eor r0, r0, r1 mov r0, r0, lsl #0x10 movs r0, r0, lsr #0x10 moveq r0, r1 bx lr .align 2, 0 arm_func_end func_ov61_0215200c _02152024: .word 0x0000ffff .global func_ov61_02152028 arm_func_start func_ov61_02152028 func_ov61_02152028: ; 0x02152028 stmdb sp!, {r3, lr} mov r2, #0 bl func_ov61_02151f58 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl func_ov61_0215200c ldmia sp!, {r3, pc} arm_func_end func_ov61_02152028 .global func_ov61_02152044 arm_func_start func_ov61_02152044 func_ov61_02152044: ; 0x02152044 stmdb sp!, {r3, r4, r5, lr} mov r4, r2 mov r2, r3 mov r5, r1 bl func_ov61_02151f58 mov r2, r0 add r0, r4, #0xc mov r1, #8 bl func_ov61_02151f58 add r1, r0, r5 tst r1, #0x10000 addne r0, r1, #1 movne r0, r0, lsl #0x10 movne r1, r0, lsr #0x10 ldr r0, _02152090 ; =0x0000ffff cmp r1, r0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02152044 _02152090: .word 0x0000ffff .global func_ov61_02152094 arm_func_start func_ov61_02152094 func_ov61_02152094: ; 0x02152094 mov ip, #1 sub r1, ip, #2 cmp r0, r1 subne r1, ip, #0x81000000 cmpne r0, r1 beq _021520c8 ldr r1, _021520d0 ; =data_ov61_0217f414 ldr r3, [r1, #0x1c] ldr r1, [r1, #0x50] and r2, r0, r3 and r0, r1, r3 cmp r2, r0 movne ip, #0 _021520c8: mov r0, ip bx lr .align 2, 0 arm_func_end func_ov61_02152094 _021520d0: .word data_ov61_0217f414 .global func_ov61_021520d4 arm_func_start func_ov61_021520d4 func_ov61_021520d4: ; 0x021520d4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02152094 cmp r0, #0 ldreq r0, _021520f4 ; =data_ov61_0217f414 ldreq r4, [r0, #0x2c] mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021520d4 _021520f4: .word data_ov61_0217f414 .global func_ov61_021520f8 arm_func_start func_ov61_021520f8 func_ov61_021520f8: ; 0x021520f8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, #0 bl func_ov61_02152094 cmp r0, #0 beq _02152128 ldr r0, _02152130 ; =data_ov61_0217f414 ldr r0, [r0, #0x1c] mvn r1, r0 and r0, r1, r5 cmp r1, r0 moveq r4, #1 _02152128: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021520f8 _02152130: .word data_ov61_0217f414 .global func_ov61_02152134 arm_func_start func_ov61_02152134 func_ov61_02152134: ; 0x02152134 and r0, r0, #0xf0000000 cmp r0, #0xe0000000 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov61_02152134 .global func_ov61_02152148 arm_func_start func_ov61_02152148 func_ov61_02152148: ; 0x02152148 stmdb sp!, {r4, r5, r6, lr} ldr r1, _021521c0 ; =data_ov61_0217f414 mov r4, #1 ldr r1, [r1, #0x50] mov r6, r0 cmp r1, #0 mov r0, r4 cmpne r6, r1 movne r0, #0 mov r5, r4 mov r2, r4 cmp r0, #0 bne _02152188 ldr r0, _021521c4 ; =0x7f000001 cmp r6, r0 movne r2, #0 _02152188: cmp r2, #0 bne _021521a0 mov r0, r6 bl func_ov61_021520f8 cmp r0, #0 moveq r5, #0 _021521a0: cmp r5, #0 bne _021521b8 mov r0, r6 bl func_ov61_02152134 cmp r0, #0 moveq r4, #0 _021521b8: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02152148 _021521c0: .word data_ov61_0217f414 _021521c4: .word 0x7f000001 .global func_ov61_021521c8 arm_func_start func_ov61_021521c8 func_ov61_021521c8: ; 0x021521c8 mov ip, #0 _021521cc: ldrh r3, [r0], #2 ldrh r2, [r1], #2 cmp r3, r2 movne r0, #1 bxne lr add ip, ip, #1 cmp ip, #3 blt _021521cc mov r0, #0 bx lr arm_func_end func_ov61_021521c8 .global func_ov61_021521f4 arm_func_start func_ov61_021521f4 func_ov61_021521f4: ; 0x021521f4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 add r1, r6, r5 mov r4, r3 cmp r1, r2 beq _0215221c mov r0, r2 mov r2, r4 bl func_02007ad8 _0215221c: ldr r0, _02152258 ; =data_ov61_0217bc10 add r1, r6, #6 mov r2, #6 bl func_02007ad8 add r2, r5, r4 mov r0, r6 add r1, r6, #6 sub r2, r2, #6 bl func_ov61_02161124 cmp r0, #0 movlt r1, #1 ldr r0, _0215225c ; =data_ov61_0217f414 movge r1, #0 strb r1, [r0] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021521f4 _02152258: .word data_ov61_0217bc10 _0215225c: .word data_ov61_0217f414 .global func_ov61_02152260 arm_func_start func_ov61_02152260 func_ov61_02152260: ; 0x02152260 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r4, _02152448 ; =data_ov61_0217f414 mov r7, r0 ldr ip, [r4, #0x58] mov r6, r2 cmp ip, #0 ldrne r0, [r4, #0x5c] mov r5, r3 cmpne r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [sp, #0x1c] add r0, r5, r0 cmp r0, #8 ldmloia sp!, {r4, r5, r6, r7, r8, pc} ldr r2, _0215244c ; =0x000005e4 cmp r0, r2 ldmhiia sp!, {r4, r5, r6, r7, r8, pc} ldr r2, _02152450 ; =data_ov61_0217bc10 ldrb r4, [r6] ldrb r3, [r2] cmp r4, r3 ldreqb r4, [r6, #1] ldreqb r3, [r2, #1] cmpeq r4, r3 ldreqb r3, [r6, #2] ldreqb r2, [r2, #2] cmpeq r3, r2 ldreqb r2, [r6, #6] cmpeq r2, #8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldrb r2, [r6, #7] cmp r2, #0 cmpne r2, #6 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r2, _02152448 ; =data_ov61_0217f414 add r0, r0, #9 bic r0, r0, #1 ldr r8, [r2, #0x28] mov r0, r0, lsl #0x10 ldr lr, [r2, #0x28] ldr r4, [r2, #0x30] mov r3, r0, lsr #0x10 cmp lr, r4 add r4, r8, r0, lsr #16 bhs _02152320 ldr r0, [r2, #0x30] cmp r0, r4 ldmlsia sp!, {r4, r5, r6, r7, r8, pc} _02152320: ldr r0, _02152448 ; =data_ov61_0217f414 ldr r2, [r0, #0x5c] cmp r4, r2 bne _02152344 ldr r0, [r0, #0x30] mov r4, #0 cmp r0, #0 bne _02152360 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02152344: ldr r2, [r0, #0x5c] cmp r4, r2 bls _02152360 ldr r0, [r0, #0x30] mov r4, r3 cmp r0, r3 ldmlsia sp!, {r4, r5, r6, r7, r8, pc} _02152360: ldr r0, _02152448 ; =data_ov61_0217f414 ldr lr, [r0, #0x28] ldr r2, [r0, #0x5c] add lr, lr, r3 cmp lr, r2 bls _021523a0 ldr lr, [r0, #0x5c] ldr r2, [r0, #0x28] sub r2, lr, r2 cmp r2, #2 ldrhs r0, [r0, #0x28] movhs r2, #0 strhsh r2, [ip, r0] ldr r0, _02152448 ; =data_ov61_0217f414 mov r2, #0 str r2, [r0, #0x28] _021523a0: ldr ip, _02152448 ; =data_ov61_0217f414 mov r0, r1 ldr lr, [ip, #0x58] ldr r1, [ip, #0x28] mov r2, #6 strh r3, [lr, r1] ldr r3, [ip, #0x58] ldr r1, [ip, #0x28] add r1, r3, r1 add r1, r1, #2 bl func_02007ad8 ldr r1, _02152448 ; =data_ov61_0217f414 mov r0, r7 ldr r3, [r1, #0x58] ldr r1, [r1, #0x28] mov r2, #6 add r1, r3, r1 add r1, r1, #8 bl func_02007ad8 ldr r1, _02152448 ; =data_ov61_0217f414 add r0, r6, #6 ldr r3, [r1, #0x58] ldr r1, [r1, #0x28] sub r2, r5, #6 add r1, r3, r1 add r1, r1, #0xe bl func_02007ad8 ldr r0, [sp, #0x18] cmp r0, #0 ldrne r2, [sp, #0x1c] cmpne r2, #0 beq _0215243c ldr r1, _02152448 ; =data_ov61_0217f414 ldr r3, [r1, #0x58] ldr r1, [r1, #0x28] add r1, r3, r1 add r1, r1, #8 add r1, r1, r5 bl func_02007ad8 _0215243c: ldr r0, _02152448 ; =data_ov61_0217f414 str r4, [r0, #0x28] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02152260 _02152448: .word data_ov61_0217f414 _0215244c: .word 0x000005e4 _02152450: .word data_ov61_0217bc10 .global func_ov61_02152454 arm_func_start func_ov61_02152454 func_ov61_02152454: ; 0x02152454 stmdb sp!, {r3, lr} sub sp, sp, #8 mov ip, #0 str ip, [sp] str ip, [sp, #4] bl func_ov61_02152260 ldr r0, _021524a8 ; =data_ov61_0217f414 ldr r1, [r0, #0x54] cmp r1, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, pc} ldr r0, [r0, #0x54] bl func_0200d86c cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, pc} ldr r0, _021524a8 ; =data_ov61_0217f414 ldr r0, [r0, #0x54] bl func_0200d938 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02152454 _021524a8: .word data_ov61_0217f414 .global func_ov61_021524ac arm_func_start func_ov61_021524ac func_ov61_021524ac: ; 0x021524ac stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r7, r0 bl func_0200ee4c ldr sb, _02152564 ; =data_ov61_0217f414 mov r6, r0 ldr r1, [sb, #0x30] ldr r0, [sb, #0x28] cmp r1, r0 bne _02152500 mov r5, #0 ldr r8, _02152568 ; =data_027e02a0 mov r4, r5 _021524dc: ldr r1, [r8, #4] mov r0, r5 str r1, [sb, #0x54] bl func_0200d880 str r4, [sb, #0x54] ldr r1, [sb, #0x30] ldr r0, [sb, #0x28] cmp r1, r0 beq _021524dc _02152500: mov r0, r6 bl func_0200ee60 ldr r0, _02152564 ; =data_ov61_0217f414 mov r3, #0 ldr r5, [r0, #0x58] mov r1, r3 _02152518: ldr r4, [r0, #0x5c] ldr r2, [r0, #0x30] sub r2, r4, r2 cmp r2, #2 strlo r3, [r0, #0x30] ldr r2, [r0, #0x30] ldrh r2, [r5, r2] cmp r2, #0 streq r1, [r0, #0x30] cmp r2, #0 beq _02152518 sub r1, r2, #2 ldr r0, _02152564 ; =data_ov61_0217f414 str r1, [r7] ldr r1, [r0, #0x58] ldr r0, [r0, #0x30] add r0, r1, r0 add r0, r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_021524ac _02152564: .word data_ov61_0217f414 _02152568: .word data_027e02a0 .global func_ov61_0215256c arm_func_start func_ov61_0215256c func_ov61_0215256c: ; 0x0215256c stmdb sp!, {r3, lr} bl func_0200ee4c ldr r1, _021525ac ; =data_ov61_0217f414 ldr ip, [r1, #0x30] ldr r3, [r1, #0x58] ldr r2, [r1, #0x30] ldrh r2, [r3, r2] add r2, ip, r2 str r2, [r1, #0x30] ldr r3, [r1, #0x30] ldr r2, [r1, #0x5c] cmp r3, r2 movhs r2, #0 strhs r2, [r1, #0x30] bl func_0200ee60 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0215256c _021525ac: .word data_ov61_0217f414 .global func_ov61_021525b0 arm_func_start func_ov61_021525b0 func_ov61_021525b0: ; 0x021525b0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 bl func_0200ee4c ldr r1, _02152668 ; =0x7f000001 mov r4, r0 cmp r5, r1 ldrne r0, _0215266c ; =data_ov61_0217f414 mov r7, #0 ldrne r0, [r0, #0x50] cmpne r5, r0 ldreq r7, _02152670 ; =data_ov61_0217f8fc beq _02152658 mov r0, r5 bl func_ov61_021520f8 cmp r0, #0 bne _02152600 mov r0, r5 bl func_ov61_02152134 cmp r0, #0 beq _02152608 _02152600: ldr r7, _02152674 ; =data_ov61_0217bc08 b _02152658 _02152608: ldr r1, _02152678 ; =data_ov61_0217f494 mov r6, r7 _02152610: ldr r0, [r1] cmp r5, r0 bne _02152648 bl func_0200e8f8 mov r2, #0xc mul r3, r6, r2 ldr r2, _02152678 ; =data_ov61_0217f494 mov r5, r0, lsr #0x10 add r0, r2, r3 ldr r2, _0215267c ; =data_ov61_0217f49e orr r5, r5, r1, lsl #16 strh r5, [r2, r3] add r7, r0, #4 b _02152658 _02152648: add r6, r6, #1 cmp r6, #8 add r1, r1, #0xc blo _02152610 _02152658: mov r0, r4 bl func_0200ee60 mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021525b0 _02152668: .word 0x7f000001 _0215266c: .word data_ov61_0217f414 _02152670: .word data_ov61_0217f8fc _02152674: .word data_ov61_0217bc08 _02152678: .word data_ov61_0217f494 _0215267c: .word data_ov61_0217f49e .global func_ov61_02152680 arm_func_start func_ov61_02152680 func_ov61_02152680: ; 0x02152680 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x2c mov r4, r0 add r0, sp, #0 mov r1, #0 mov r2, #0x2a bl func_02007a44 add r0, sp, #0 mov r1, #0xff mov r2, #6 bl func_02007a44 ldr r0, _0215276c ; =data_ov61_0217f8fc add r1, sp, #6 mov r2, #6 bl func_02007ad8 mov r0, #1 ldr r1, _02152770 ; =0x00000608 strb r0, [sp, #0xf] strh r1, [sp, #0xc] strb r0, [sp, #0x15] mov r0, #8 ldr r1, _02152774 ; =0x00000406 strb r0, [sp, #0x10] strh r1, [sp, #0x12] ldr r0, _0215276c ; =data_ov61_0217f8fc add r1, sp, #0x16 mov r2, #6 bl func_02007ad8 ldr r0, _02152778 ; =data_ov61_0217f414 mov r1, r4, lsr #0x10 ldr r3, [r0, #0x50] mov r0, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, r4, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, r3, lsr #0x10 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 mov r0, r3, lsl #0x10 mov r3, r0, lsr #0x10 mov r0, r4, lsl #0x8 orr r0, r0, r4, asr #8 strh r0, [sp, #0x1c] mov r0, r3, lsl #0x8 orr r0, r0, r3, asr #8 strh r0, [sp, #0x1e] mov r0, r2, lsl #0x8 orr r0, r0, r2, asr #8 strh r0, [sp, #0x26] mov r0, r1, lsl #0x8 orr r0, r0, r1, asr #8 mov r2, #0 strh r0, [sp, #0x28] add r0, sp, #0 mov r1, #0x2a mov r3, r2 bl func_ov61_021521f4 add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_02152680 _0215276c: .word data_ov61_0217f8fc _02152770: .word 0x00000608 _02152774: .word 0x00000406 _02152778: .word data_ov61_0217f414 .global func_ov61_0215277c arm_func_start func_ov61_0215277c func_ov61_0215277c: ; 0x0215277c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r7, #0 ldr r4, _021527e8 ; =data_ov61_0217f414 mov sb, r0 mov r5, #0x64 mov r6, r7 _02152794: mov r0, sb bl func_ov61_02152680 mov r8, r6 _021527a0: ldr r0, [r4, #0x50] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r5 bl func_0200db28 mov r0, sb bl func_ov61_021525b0 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r8, r8, #1 cmp r8, #0x14 blo _021527a0 add r7, r7, #1 cmp r7, #8 blo _02152794 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0215277c _021527e8: .word data_ov61_0217f414 .global func_ov61_021527ec arm_func_start func_ov61_021527ec func_ov61_021527ec: ; 0x021527ec stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r3, _02152918 ; =0x7f000001 mov r6, r1 mov r7, r0 cmp r6, r3 ldrne r0, _0215291c ; =data_ov61_0217f414 mov r5, r2 ldrne r0, [r0, #0x50] cmpne r6, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 bl func_ov61_02152094 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r6 bl func_ov61_02152134 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 mov r0, r0, lsl #0x10 ldr r2, _02152920 ; =data_ov61_0217f494 mov r4, r0, lsr #0x10 mov r1, #0 _02152850: ldr r0, [r2] cmp r6, r0 bne _02152888 mov r0, #0xc mul r5, r1, r0 ldr r0, _02152920 ; =data_ov61_0217f494 ldr r3, _02152924 ; =data_ov61_0217f49e add r1, r0, r5 mov r0, r7 add r1, r1, #4 mov r2, #6 strh r4, [r3, r5] bl func_02007ad8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02152888: add r1, r1, #1 cmp r1, #8 add r2, r2, #0xc blo _02152850 cmp r5, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r2, #0 ldr r3, _02152920 ; =data_ov61_0217f494 mov r1, r2 mov r5, r2 _021528b0: ldr r0, [r3] cmp r0, #0 moveq r1, r5 beq _021528e8 ldrh r0, [r3, #0xa] add r3, r3, #0xc sub r0, r4, r0 mov r0, r0, lsl #0x10 cmp r2, r0, asr #16 movlt r1, r5 add r5, r5, #1 movlt r2, r0, lsr #0x10 cmp r5, #8 blo _021528b0 _021528e8: mov r0, #0xc mul r5, r1, r0 ldr r3, _02152920 ; =data_ov61_0217f494 mov r0, r7 add r1, r3, r5 add r1, r1, #4 mov r2, #6 str r6, [r3, r5] bl func_02007ad8 ldr r0, _02152924 ; =data_ov61_0217f49e strh r4, [r0, r5] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021527ec _02152918: .word 0x7f000001 _0215291c: .word data_ov61_0217f414 _02152920: .word data_ov61_0217f494 _02152924: .word data_ov61_0217f49e .global func_ov61_02152928 arm_func_start func_ov61_02152928 func_ov61_02152928: ; 0x02152928 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldrh r5, [sp, #0x1c] ldr r4, [sp, #0x18] mov r8, r0 mov r0, r5, lsl #0x8 orr ip, r0, r5, asr #8 mov r0, r4 mov r7, r1 mov r6, r2 mov r5, r3 strh ip, [r8, #-2] bl func_ov61_02152134 cmp r0, #0 bne _0215299c mov r0, r4 bl func_ov61_021520d4 movs r4, r0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} bl func_ov61_021525b0 cmp r0, #0 bne _02152984 mov r0, r4 bl func_ov61_0215277c _02152984: cmp r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} sub r1, r8, #0xe mov r2, #6 bl func_02007ad8 b _021529cc _0215299c: mov r0, #1 strb r0, [r8, #-0xe] mov r1, #0 mov r0, r4, lsr #0x10 strb r1, [r8, #-0xd] mov r1, #0x5e strb r1, [r8, #-0xc] and r0, r0, #0x7f strb r0, [r8, #-0xb] mov r0, r4, lsr #0x8 strb r0, [r8, #-0xa] strb r4, [r8, #-9] _021529cc: ldr r0, _021529f4 ; =data_ov61_0217f8fc sub r1, r8, #8 mov r2, #6 bl func_02007ad8 mov r2, r6 mov r3, r5 sub r0, r8, #0xe add r1, r7, #0xe bl func_ov61_021521f4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02152928 _021529f4: .word data_ov61_0217f8fc .global func_ov61_021529f8 arm_func_start func_ov61_021529f8 func_ov61_021529f8: ; 0x021529f8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 mov r7, r1 mov r5, r3 add r1, r7, #0x14 add r1, r1, r5 mov r1, r1, lsl #0x10 ldr r3, [sp, #0x24] mov r4, r1, lsr #0x10 mov r1, r3, lsl #0x10 mov r3, r4, lsl #0x8 orr r3, r3, r4, asr #8 mov r8, r0 mov r1, r1, lsr #0x10 mov r0, r1, lsl #0x8 strh r3, [r8, #-0x12] orr r0, r0, r1, asr #8 strh r0, [r8, #-0xe] mov r3, #0 sub r0, r8, #0x14 mov r1, #0x14 mov r6, r2 strh r3, [r8, #-0xa] ldr r4, [sp, #0x20] bl func_ov61_02152028 mov r2, r0, lsl #0x8 ldr r1, _02152b10 ; =0x7f000001 orr r0, r2, r0, asr #8 strh r0, [r8, #-0xa] cmp r4, r1 ldrne r0, _02152b14 ; =data_ov61_0217f414 ldrne r0, [r0, #0x50] cmpne r4, r0 beq _02152aa0 mov r2, r6 mov r3, r5 str r4, [sp] mov ip, #0x800 sub r0, r8, #0x14 add r1, r7, #0x14 str ip, [sp, #4] bl func_ov61_02152928 _02152aa0: ldr r0, _02152b10 ; =0x7f000001 cmp r4, r0 ldrne r0, _02152b14 ; =data_ov61_0217f414 ldrne r0, [r0, #0x50] cmpne r4, r0 beq _02152acc mov r0, r4 bl func_ov61_02152134 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _02152acc: ldr r0, _02152b18 ; =data_ov61_0217bc10 sub r1, r8, #0x1c mov r2, #8 bl func_02007ad8 bl func_0200ee4c mov r4, r0 ldr r0, _02152b1c ; =data_ov61_0217f8fc str r6, [sp] mov r1, r0 str r5, [sp, #4] sub r2, r8, #0x1c add r3, r7, #0x1c bl func_ov61_02152260 mov r0, r4 bl func_0200ee60 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021529f8 _02152b10: .word 0x7f000001 _02152b14: .word data_ov61_0217f414 _02152b18: .word data_ov61_0217bc10 _02152b1c: .word data_ov61_0217f8fc .global func_ov61_02152b20 arm_func_start func_ov61_02152b20 func_ov61_02152b20: ; 0x02152b20 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 mov r0, #0x45 strb r0, [sl, #-0x14] mov r4, #0 ldr r7, _02152d10 ; =data_ov61_0217f414 strb r4, [sl, #-0x13] ldrh r0, [r7, #6] ldr r6, [sp, #0x30] ldrb r5, [sp, #0x34] add r0, r0, #1 strh r0, [r7, #6] ldrh fp, [r7, #6] mov r0, r6, lsr #0x10 mov r8, #0x80 mov sb, fp, lsl #0x8 orr sb, sb, fp, asr #8 strh sb, [sl, #-0x10] strb r8, [sl, #-0xc] strb r5, [sl, #-0xb] ldr r8, [r7, #0x50] mov r5, r0, lsl #0x10 mov r0, r8, lsr #0x10 mov r0, r0, lsl #0x10 mov r8, r0, lsr #0x10 mov r0, r8, lsl #0x8 orr r0, r0, r8, asr #8 strh r0, [sl, #-8] ldr r0, [r7, #0x50] mov r8, r5, lsr #0x10 mov r0, r0, lsl #0x10 mov r7, r0, lsr #0x10 mov r5, r7, lsl #0x8 mov r0, r6, lsl #0x10 orr sb, r5, r7, asr #8 mov r7, r8, lsl #0x8 mov r5, r0, lsr #0x10 mov r0, r5, lsl #0x8 strh sb, [sl, #-6] orr r7, r7, r8, asr #8 ldr fp, _02152d14 ; =0x000005c8 mov sb, r1 strh r7, [sl, #-4] orr r0, r0, r5, asr #8 mov r8, r2 mov r7, r3 strh r0, [sl, #-2] cmp sb, fp bls _02152c8c mov r5, sl bls _02152c30 _02152bf0: mov r0, sl mov r1, #0 mov r2, r5 mov r3, fp str r6, [sp] orr ip, r4, #0x2000 str ip, [sp, #4] bl func_ov61_021529f8 add r1, r4, #0xb9 add r0, r5, #0x1c8 sub sb, sb, fp mov r1, r1, lsl #0x10 cmp sb, fp add r5, r0, #0x400 mov r4, r1, lsr #0x10 bhi _02152bf0 _02152c30: cmp sb, #0 beq _02152c8c cmp r7, #0 mov r1, #0 beq _02152c64 mov r2, r5 mov r0, sl mov r3, sb str r6, [sp] orr r5, r4, #0x2000 str r5, [sp, #4] bl func_ov61_021529f8 b _02152c7c _02152c64: str r6, [sp] mov r0, sl mov r2, r5 mov r3, sb str r4, [sp, #4] bl func_ov61_021529f8 _02152c7c: add r0, r4, sb, lsr #3 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 mov sb, #0 _02152c8c: ldr fp, _02152d14 ; =0x000005c8 add r0, sb, r7 cmp r0, fp bls _02152ce0 _02152c9c: sub r5, fp, sb mov r1, sb mov r0, sl mov r2, r8 mov r3, r5 str r6, [sp] orr sb, r4, #0x2000 str sb, [sp, #4] bl func_ov61_021529f8 add r0, r4, #0xb9 sub r7, r7, r5 mov r0, r0, lsl #0x10 mov sb, #0 cmp r7, fp add r8, r8, r5 mov r4, r0, lsr #0x10 bhi _02152c9c _02152ce0: adds r0, sb, r7 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} str r6, [sp] mov r0, sl mov r1, sb mov r2, r8 mov r3, r7 str r4, [sp, #4] bl func_ov61_021529f8 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02152b20 _02152d10: .word data_ov61_0217f414 _02152d14: .word 0x000005c8 .global func_ov61_02152d18 arm_func_start func_ov61_02152d18 func_ov61_02152d18: ; 0x02152d18 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r5, r2 ldr r4, [r5, #0x4c] mov r6, r1 mov r1, #8 ldr r3, _02152dc0 ; =data_ov61_0217f414 ldr r2, _02152dc4 ; =data_027e02a0 strh r1, [r4, #0x22] ldr r2, [r2, #4] ldrh lr, [r3, #4] mov r7, r0 strh r2, [r4, #0x26] mov r2, #0 strh r2, [r4, #0x24] strh lr, [r5, #0xa] add ip, lr, #1 add r0, r4, #0x22 strh ip, [r3, #4] strh lr, [r4, #0x28] bl func_ov61_02151f58 mov r2, r0 mov r0, r7 mov r1, r6 bl func_ov61_02151f58 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl func_ov61_0215200c mov r2, r7 mov r3, r6 mov r1, r0, lsl #0x8 orr r0, r1, r0, asr #8 strh r0, [r4, #0x24] ldr r1, [r5, #0x1c] add r0, r4, #0x22 str r1, [sp] mov r1, #1 str r1, [sp, #4] mov r1, #8 bl func_ov61_02152b20 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02152d18 _02152dc0: .word data_ov61_0217f414 _02152dc4: .word data_027e02a0 .global func_ov61_02152dc8 arm_func_start func_ov61_02152dc8 func_ov61_02152dc8: ; 0x02152dc8 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 ldr r7, _02152f00 ; =data_ov61_0217f414 mov r5, r2 ldr r2, [r7, #0x50] mov r6, r1 mov r1, r2, lsr #0x10 mov r1, r1, lsl #0x10 mov r2, r1, lsr #0x10 ldr r3, [r5, #0x4c] mov r1, r2, lsl #0x8 add r4, r3, #0x22 orr r1, r1, r2, asr #8 strh r1, [r4, #-0xc] ldr r1, [r7, #0x50] add r2, r6, #8 mov r1, r1, lsl #0x10 mov r7, r1, lsr #0x10 mov r1, r7, lsl #0x8 orr r1, r1, r7, asr #8 strh r1, [r4, #-0xa] ldr r1, [r5, #0x1c] mov r2, r2, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, lsl #0x10 mov r7, r1, lsr #0x10 mov r1, r7, lsl #0x8 orr r1, r1, r7, asr #8 strh r1, [r4, #-8] ldr r1, [r5, #0x1c] mov r2, r2, lsr #0x10 mov r1, r1, lsl #0x10 mov r7, r1, lsr #0x10 mov r1, r7, lsl #0x8 orr r7, r1, r7, asr #8 mov r1, r2, lsl #0x8 strh r7, [r4, #-6] mov r7, #0x1100 strh r7, [r4, #-4] orr r1, r1, r2, asr #8 strh r1, [r4, #4] ldrh r1, [r4, #4] mov r7, r0 sub r0, r4, #0xc strh r1, [r4, #-2] ldrh lr, [r5, #0x18] mov r2, #0 mov r1, #0x14 mov ip, lr, lsl #0x8 orr ip, ip, lr, asr #8 strh ip, [r4, #2] ldrh lr, [r5, #0xa] mov ip, lr, lsl #0x8 orr ip, ip, lr, asr #8 strh ip, [r3, #0x22] strh r2, [r4, #6] bl func_ov61_02151f58 mov r2, r0 mov r0, r7 mov r1, r6 bl func_ov61_02151f58 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl func_ov61_0215200c mov r2, r7 mov r3, r6 mov r1, r0, lsl #0x8 orr r0, r1, r0, asr #8 strh r0, [r4, #6] ldr r1, [r5, #0x1c] mov r0, r4 str r1, [sp] mov r1, #0x11 str r1, [sp, #4] mov r1, #8 bl func_ov61_02152b20 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02152dc8 _02152f00: .word data_ov61_0217f414 .global func_ov61_02152f04 arm_func_start func_ov61_02152f04 func_ov61_02152f04: ; 0x02152f04 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 mov r7, r2 ldrb r2, [r7, #8] mov sb, r0 mov r8, r1 cmp r2, #0 mov r6, r3 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r0, _02153168 ; =data_027e02a0 ldr r1, _0215316c ; =data_ov61_0217f67c ldr r0, [r0, #4] cmp r0, r1 ldreq r4, _02153170 ; =data_ov61_0217f926 ldrne r0, [r7, #0x4c] addne r4, r0, #0x22 ldr r0, _02153174 ; =data_ov61_0217f414 ands r2, r6, #2 movne r5, #0x18 moveq r5, #0x14 add r1, r5, r8 ldr sl, [r0, #0x50] mov r3, r1, lsl #0x10 mov r1, sl, lsr #0x10 mov r1, r1, lsl #0x10 mov sl, r1, lsr #0x10 mov r1, sl, lsl #0x8 orr r1, r1, sl, asr #8 strh r1, [r4, #-0xc] mov r1, r3, lsr #0x10 ldr sl, [r0, #0x50] mov lr, r1, lsl #0x8 mov r3, sl, lsl #0x10 mov sl, r3, lsr #0x10 mov r3, sl, lsl #0x8 orr r3, r3, sl, asr #8 strh r3, [r4, #-0xa] ldr r3, [r7, #0x1c] orr r1, lr, r1, asr #8 mov r3, r3, lsr #0x10 mov r3, r3, lsl #0x10 mov sl, r3, lsr #0x10 mov r3, sl, lsl #0x8 orr r3, r3, sl, asr #8 strh r3, [r4, #-8] ldr r3, [r7, #0x1c] mov ip, r5, lsr #0x2 mov r3, r3, lsl #0x10 mov sl, r3, lsr #0x10 mov r3, sl, lsl #0x8 orr r3, r3, sl, asr #8 strh r3, [r4, #-6] mov r3, #0x600 strh r3, [r4, #-4] strh r1, [r4, #-2] ldrh lr, [r7, #0xa] mov r3, ip, lsl #0x4 cmp r2, #0 mov r1, lr, lsl #0x8 orr r1, r1, lr, asr #8 strh r1, [r4] ldrh ip, [r7, #0x18] mov r1, ip, lsl #0x8 orr r1, r1, ip, asr #8 strh r1, [r4, #2] ldr r1, [r7, #0x28] mov r1, r1, lsr #0x10 mov r1, r1, lsl #0x10 mov ip, r1, lsr #0x10 mov r1, ip, lsl #0x8 orr r1, r1, ip, asr #8 strh r1, [r4, #4] ldr r1, [r7, #0x28] mov r1, r1, lsl #0x10 mov ip, r1, lsr #0x10 mov r1, ip, lsl #0x8 orr r1, r1, ip, asr #8 strh r1, [r4, #6] ldr r1, [r7, #0x24] mov r1, r1, lsr #0x10 mov r1, r1, lsl #0x10 mov ip, r1, lsr #0x10 mov r1, ip, lsl #0x8 orr r1, r1, ip, asr #8 strh r1, [r4, #8] ldr r1, [r7, #0x24] mov r1, r1, lsl #0x10 mov ip, r1, lsr #0x10 mov r1, ip, lsl #0x8 orr r1, r1, ip, asr #8 strh r1, [r4, #0xa] strb r3, [r4, #0xc] strb r6, [r4, #0xd] ldr r3, [r7, #0x3c] ldr r1, [r7, #0x44] sub r1, r3, r1 mov r1, r1, lsl #0x10 mov r3, r1, lsr #0x10 mov r1, r3, lsl #0x8 orr r1, r1, r3, asr #8 strh r1, [r4, #0xe] mov r1, #0 strh r1, [r4, #0x10] strh r1, [r4, #0x12] beq _021530e8 ldrh r1, [r0, #2] add r1, r1, #0x2040000 mov r1, r1, lsr #0x10 mov r1, r1, lsl #0x10 mov r2, r1, lsr #0x10 mov r1, r2, lsl #0x8 orr r1, r1, r2, asr #8 strh r1, [r4, #0x14] ldrh r0, [r0, #2] add r0, r0, #0x2040000 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, r1, lsl #0x8 orr r0, r0, r1, asr #8 strh r0, [r4, #0x16] _021530e8: sub r0, r4, #0xc add r1, r5, #0xc mov r2, #0 bl func_ov61_02151f58 mov r2, r0 mov r0, sb mov r1, r8 bl func_ov61_02151f58 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl func_ov61_0215200c mov r3, r0, lsl #0x8 orr r0, r3, r0, asr #8 strh r0, [r4, #0x10] mov r0, r4 ldr r4, [r7, #0x1c] mov r3, #6 str r4, [sp] str r3, [sp, #4] mov r1, r5 mov r2, sb mov r3, r8 bl func_ov61_02152b20 ldr r0, [r7, #0x28] tst r6, #3 add r0, r0, r8 str r0, [r7, #0x28] ldrne r0, [r7, #0x28] addne r0, r0, #1 strne r0, [r7, #0x28] add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02152f04 _02153168: .word data_027e02a0 _0215316c: .word data_ov61_0217f67c _02153170: .word data_ov61_0217f926 _02153174: .word data_ov61_0217f414 .global func_ov61_02153178 arm_func_start func_ov61_02153178 func_ov61_02153178: ; 0x02153178 stmdb sp!, {r4, lr} mov r4, r0 mov r3, #0x200 add r0, r4, #8 add r1, r4, #0x12 mov r2, #0xa strh r3, [r4, #6] bl func_02007ad8 ldr r0, _02153218 ; =data_ov61_0217f8fc add r1, r4, #8 mov r2, #6 bl func_02007ad8 ldr r3, _0215321c ; =data_ov61_0217f414 add r0, r4, #0x12 ldr r2, [r3, #0x50] sub r1, r4, #0xe mov r2, r2, lsr #0x10 mov r2, r2, lsl #0x10 mov ip, r2, lsr #0x10 mov r2, ip, lsl #0x8 orr r2, r2, ip, asr #8 strh r2, [r4, #0xe] ldr r3, [r3, #0x50] mov r2, #6 mov r3, r3, lsl #0x10 mov ip, r3, lsr #0x10 mov r3, ip, lsl #0x8 orr r3, r3, ip, asr #8 strh r3, [r4, #0x10] bl func_02007ad8 ldr r0, _02153218 ; =data_ov61_0217f8fc sub r1, r4, #8 mov r2, #6 bl func_02007ad8 sub r0, r4, #0xe mov r1, #0x2a mov r2, #0 mov r3, r2 bl func_ov61_021521f4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02153178 _02153218: .word data_ov61_0217f8fc _0215321c: .word data_ov61_0217f414 .global func_ov61_02153220 arm_func_start func_ov61_02153220 func_ov61_02153220: ; 0x02153220 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 cmp r1, #0x1c ldmloia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, _02153358 ; =data_ov61_0217f8fc add r0, r6, #8 bl func_ov61_021521c8 cmp r0, #0 ldrne r0, _0215335c ; =data_ov61_0217f414 ldrne r0, [r0, #0x50] cmpne r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrh r0, [r6] cmp r0, #0x100 ldreqh r0, [r6, #2] cmpeq r0, #8 ldreqh r1, [r6, #4] ldreq r0, _02153360 ; =0x00000406 cmpeq r1, r0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrh r1, [r6, #6] mov r0, r1, lsl #0x8 orr r0, r0, r1, asr #8 mov r0, r0, lsl #0x10 mov r4, r0, lsr #0x10 cmp r4, #1 cmpne r4, #2 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrh r5, [r6, #0x10] ldrh r3, [r6, #0xe] ldrh lr, [r6, #0x1a] mov r0, r5, lsl #0x8 mov r1, r3, lsl #0x8 orr r3, r1, r3, asr #8 orr r1, r0, r5, asr #8 mov r0, r3, lsl #0x10 mov r1, r1, lsl #0x10 ldrh ip, [r6, #0x18] ldr r2, _0215335c ; =data_ov61_0217f414 mov r3, r0, lsr #0x10 mov r1, r1, lsr #0x10 ldr r0, [r2, #0x50] orr r1, r1, r3, lsl #16 mov r3, ip, lsl #0x8 cmp r1, r0 moveq r5, #1 mov r2, lr, lsl #0x8 orr ip, r3, ip, asr #8 orr r3, r2, lr, asr #8 mov r2, ip, lsl #0x10 mov r3, r3, lsl #0x10 mov ip, r2, lsr #0x10 mov r2, r3, lsr #0x10 orr r2, r2, ip, lsl #16 movne r5, #0 cmp r0, r2 moveq r7, #1 movne r7, #0 cmp r5, #0 bne _0215331c mov r2, r7 add r0, r6, #8 bl func_ov61_021527ec _0215331c: cmp r4, #1 bne _02153338 cmp r7, #0 beq _02153338 mov r0, r6 bl func_ov61_02153178 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02153338: cmp r4, #2 ldmneia sp!, {r3, r4, r5, r6, r7, pc} cmp r7, #0 cmpne r5, #0 ldrne r0, _0215335c ; =data_ov61_0217f414 movne r1, #1 strneb r1, [r0, #1] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02153220 _02153358: .word data_ov61_0217f8fc _0215335c: .word data_ov61_0217f414 _02153360: .word 0x00000406 .global func_ov61_02153364 arm_func_start func_ov61_02153364 func_ov61_02153364: ; 0x02153364 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r6, r0 ldrh r4, [r6, #0xe] ldrh r3, [r6, #0xc] mov r5, r1 mov r0, r4, lsl #0x8 mov r1, r3, lsl #0x8 orr r3, r1, r3, asr #8 orr r1, r0, r4, asr #8 mov r0, r3, lsl #0x10 mov r1, r1, lsl #0x10 mov r3, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r0, r0, r3, lsl #16 mov r4, r2 bl func_ov61_021520d4 movs r7, r0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_021525b0 cmp r0, #0 bne _021533d0 mov r0, r7 bl func_ov61_02152680 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021533d0: mov r2, #0 strb r2, [r5] mov r0, r5 mov r1, r4 strh r2, [r5, #2] bl func_ov61_02152028 mov r1, r0, lsl #0x8 orr r0, r1, r0, asr #8 strh r0, [r5, #2] ldrh ip, [r6, #0xe] ldrh r3, [r6, #0xc] mov r2, #0 mov r0, ip, lsl #0x8 mov r1, r3, lsl #0x8 orr r3, r1, r3, asr #8 orr r1, r0, ip, asr #8 mov r0, r3, lsl #0x10 mov r1, r1, lsl #0x10 mov r3, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r6, r0, r3, lsl #16 mov r0, r5 mov r1, r4 mov r3, r2 str r6, [sp] mov r4, #1 str r4, [sp, #4] bl func_ov61_02152b20 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02153364 .global func_ov61_02153448 arm_func_start func_ov61_02153448 func_ov61_02153448: ; 0x02153448 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 bl func_0200ee4c ldr r1, _02153544 ; =data_027e02a0 mov r5, r0 ldr r1, [r1, #8] cmp r1, #0 beq _02153538 _02153470: ldr r4, [r1, #0xa4] cmp r4, #0 ldrne r3, [r4] cmpne r3, #0 beq _0215352c ldrb r0, [r4, #8] cmp r0, #0xb ldreqh r2, [r7, #4] moveq r0, r3, lsl #0x10 cmpeq r2, r0, lsr #16 ldreqh r2, [r4, #0xa] ldreqh r0, [r7, #6] cmpeq r2, r0 ldreq r0, [r4, #0x44] cmpeq r0, #0 bne _0215352c ldrh lr, [r8, #0xe] ldrh ip, [r8, #0xc] ldr r0, [r4, #0x1c] mov r2, lr, lsl #0x8 mov r3, ip, lsl #0x8 orr ip, r3, ip, asr #8 orr r3, r2, lr, asr #8 mov r2, ip, lsl #0x10 mov r3, r3, lsl #0x10 mov ip, r2, lsr #0x10 mov r2, r3, lsr #0x10 orr r2, r2, ip, lsl #16 cmp r0, r2 bne _0215352c ldr r1, [r4, #0x3c] sub r0, r6, #8 cmp r0, r1 strhi r1, [r4, #0x44] strls r0, [r4, #0x44] ldr r1, [r4, #0x40] ldr r2, [r4, #0x44] add r0, r7, #8 bl func_02007ad8 ldr r0, [r4, #4] cmp r0, #3 bne _02153538 mov r0, #0 str r0, [r4, #4] ldr r0, [r4] bl func_0200d938 b _02153538 _0215352c: ldr r1, [r1, #0x68] cmp r1, #0 bne _02153470 _02153538: mov r0, r5 bl func_0200ee60 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02153448 _02153544: .word data_027e02a0 .global func_ov61_02153548 arm_func_start func_ov61_02153548 func_ov61_02153548: ; 0x02153548 cmp r0, #0 mvnne r2, #0 cmpne r0, r2 cmpne r1, #0 cmpne r1, r2 movne r0, #1 moveq r0, #0 bx lr arm_func_end func_ov61_02153548 .global func_ov61_02153568 arm_func_start func_ov61_02153568 func_ov61_02153568: ; 0x02153568 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, r1 mov r4, r2 mov r6, r0 mov r0, r5 mov r1, r4 bl func_ov61_02152028 ldr r1, _02153634 ; =0x0000ffff cmp r0, r1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldrh r0, [r6, #0x12] ldrh r8, [r6, #0x10] ldrh r7, [r6, #0xe] ldrh lr, [r6, #0xc] mov r2, r8, lsl #0x8 orr r2, r2, r8, asr #8 mov ip, lr, lsl #0x8 mov r2, r2, lsl #0x10 mov r3, r7, lsl #0x8 orr lr, ip, lr, asr #8 mov r1, r0, lsl #0x8 orr ip, r3, r7, asr #8 orr r3, r1, r0, asr #8 mov r0, lr, lsl #0x10 mov r1, ip, lsl #0x10 mov ip, r0, lsr #0x10 mov r0, r1, lsr #0x10 mov r3, r3, lsl #0x10 mov r2, r2, lsr #0x10 mov r1, r3, lsr #0x10 orr r0, r0, ip, lsl #16 orr r1, r1, r2, lsl #16 bl func_ov61_02153548 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldrb r0, [r5] cmp r0, #0 beq _0215360c cmp r0, #8 beq _02153620 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0215360c: mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02153448 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02153620: mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02153364 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02153568 _02153634: .word 0x0000ffff .global func_ov61_02153638 arm_func_start func_ov61_02153638 func_ov61_02153638: ; 0x02153638 stmdb sp!, {r4, r5, r6, lr} ldr r2, _02153708 ; =data_027e02a0 ldr ip, [r2, #8] cmp ip, #0 beq _02153700 _0215364c: ldr r3, [ip, #0xa4] cmp r3, #0 ldrne r2, [r3] cmpne r2, #0 beq _021536f4 ldrb r2, [r3, #8] cmp r2, #1 bne _021536f4 ldrh r5, [r1, #2] ldrh r4, [r3, #0xa] mov r2, r5, lsl #0x8 orr r2, r2, r5, asr #8 mov r2, r2, lsl #0x10 cmp r4, r2, lsr #16 bne _021536f4 ldrh r5, [r3, #0x18] cmp r5, #0 beq _021536ac ldrh r4, [r1] mov r2, r4, lsl #0x8 orr r2, r2, r4, asr #8 mov r2, r2, lsl #0x10 cmp r5, r2, lsr #16 bne _021536f4 _021536ac: ldr r2, [r3, #0x1c] cmp r2, #0 beq _021536ec ldrh r6, [r0, #0xe] ldrh r5, [r0, #0xc] mov r4, r6, lsl #0x8 mov lr, r5, lsl #0x8 orr lr, lr, r5, asr #8 orr r4, r4, r6, asr #8 mov lr, lr, lsl #0x10 mov r4, r4, lsl #0x10 mov lr, lr, lsr #0x10 mov r4, r4, lsr #0x10 orr r4, r4, lr, lsl #16 cmp r2, r4 bne _021536f4 _021536ec: mov r0, r3 ldmia sp!, {r4, r5, r6, pc} _021536f4: ldr ip, [ip, #0x68] cmp ip, #0 bne _0215364c _02153700: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02153638 _02153708: .word data_027e02a0 .global func_ov61_0215370c arm_func_start func_ov61_0215370c func_ov61_0215370c: ; 0x0215370c stmdb sp!, {r4, r5, r6, lr} ldrb r4, [r2, #8] mov r3, #0 mov r5, r3 cmp r4, #0xa cmpne r4, #0xb movne r5, #1 mov ip, r3 mov r6, r3 cmp r5, #0 beq _02153754 ldrh lr, [r1, #2] ldrh r5, [r2, #0xa] mov r4, lr, lsl #0x8 orr r4, r4, lr, asr #8 mov lr, r4, lsl #0x10 cmp r5, lr, lsr #16 moveq r6, #1 _02153754: cmp r6, #0 beq _02153778 ldrh lr, [r1] ldrh r4, [r2, #0x18] mov r1, lr, lsl #0x8 orr r1, r1, lr, asr #8 mov r1, r1, lsl #0x10 cmp r4, r1, lsr #16 moveq ip, #1 _02153778: cmp ip, #0 beq _021537b8 ldrh lr, [r0, #0xc] ldrh r4, [r0, #0xe] ldr ip, [r2, #0x1c] mov r1, lr, lsl #0x8 mov r0, r4, lsl #0x8 orr r2, r1, lr, asr #8 orr r1, r0, r4, asr #8 mov r0, r2, lsl #0x10 mov r1, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r0, r0, r2, lsl #16 cmp ip, r0 moveq r3, #1 _021537b8: mov r0, r3 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0215370c .global func_ov61_021537c0 arm_func_start func_ov61_021537c0 func_ov61_021537c0: ; 0x021537c0 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _02153820 ; =data_027e02a0 mov r7, r0 ldr r5, [r2, #8] mov r6, r1 cmp r5, #0 beq _02153818 _021537dc: ldr r4, [r5, #0xa4] cmp r4, #0 ldrne r0, [r4] cmpne r0, #0 beq _0215380c mov r0, r7 mov r1, r6 mov r2, r4 bl func_ov61_0215370c cmp r0, #0 movne r0, r4 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _0215380c: ldr r5, [r5, #0x68] cmp r5, #0 bne _021537dc _02153818: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021537c0 _02153820: .word data_027e02a0 .global func_ov61_02153824 arm_func_start func_ov61_02153824 func_ov61_02153824: ; 0x02153824 mov r2, #0x218 strh r2, [r1, #0x2e] ldrb r2, [r0, #0xc] add r3, r0, #0x14 and r2, r2, #0xf0 mov r0, r2, asr #0x1 add r0, r2, r0, lsr #30 mov r0, r0, asr #0x2 subs r0, r0, #0x14 sub ip, r0, #1 bxeq lr _02153850: ldrb r0, [r3], #1 cmp r0, #0 bxeq lr cmp r0, #1 beq _02153898 cmp r0, #2 bne _02153888 ldrb r2, [r3, #1] ldrb r0, [r3, #2] add r3, r3, #3 sub ip, ip, #3 orr r0, r0, r2, lsl #8 strh r0, [r1, #0x2e] b _02153898 _02153888: ldrb r0, [r3] sub r0, r0, #1 sub ip, ip, r0 add r3, r3, r0 _02153898: cmp ip, #0 sub ip, ip, #1 bne _02153850 bx lr arm_func_end func_ov61_02153824 .global func_ov61_021538a8 arm_func_start func_ov61_021538a8 func_ov61_021538a8: ; 0x021538a8 stmdb sp!, {r3, lr} bl func_ov61_021520d4 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} bl func_ov61_021525b0 ldmia sp!, {r3, pc} arm_func_end func_ov61_021538a8 .global func_ov61_021538c4 arm_func_start func_ov61_021538c4 func_ov61_021538c4: ; 0x021538c4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 ldr r0, [r6, #0x1c] mov r5, r1 mov r4, r2 bl func_ov61_021538a8 cmp r0, #0 bne _021538fc ldr r0, _02153930 ; =data_027e02a0 ldr r1, _02153934 ; =data_ov61_0217f67c ldr r0, [r0, #4] cmp r0, r1 beq _0215391c _021538fc: mov r0, #0 mov r1, r0 mov r2, r6 mov r3, r5 str r4, [sp] bl func_ov61_02152f04 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} _0215391c: ldr r0, [r6, #0x1c] bl func_ov61_021520d4 bl func_ov61_02152680 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021538c4 _02153930: .word data_027e02a0 _02153934: .word data_ov61_0217f67c .global func_ov61_02153938 arm_func_start func_ov61_02153938 func_ov61_02153938: ; 0x02153938 ldr ip, _02153948 ; =func_ov61_021538c4 mov r2, r1 mov r1, #0x10 bx ip .align 2, 0 arm_func_end func_ov61_02153938 _02153948: .word func_ov61_021538c4 .global func_ov61_0215394c arm_func_start func_ov61_0215394c func_ov61_0215394c: ; 0x0215394c ldr ip, _0215395c ; =func_ov61_021538c4 mov r2, r1 mov r1, #0x11 bx ip .align 2, 0 arm_func_end func_ov61_0215394c _0215395c: .word func_ov61_021538c4 .global func_ov61_02153960 arm_func_start func_ov61_02153960 func_ov61_02153960: ; 0x02153960 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r4, _02153a90 ; =data_ov61_0217f558 mov r8, r0 mov r7, r1 mov r6, r2 mov r0, r4 mov r1, #0 mov r2, #0x64 mov r5, r3 bl func_02007a44 ldrh r3, [r7, #2] ldr r0, _02153a94 ; =data_ov61_0217f514 ldr r2, _02153a98 ; =data_ov61_0217f414 mov r1, r3, lsl #0x8 orr r1, r1, r3, asr #8 strh r1, [r0, #0x4e] ldrh r3, [r7] mov r1, r3, lsl #0x8 orr r1, r1, r3, asr #8 strh r1, [r0, #0x5c] ldrh ip, [r8, #0xe] ldrh r3, [r8, #0xc] mov r0, ip, lsl #0x8 mov r1, r3, lsl #0x8 orr r3, r1, r3, asr #8 orr r1, r0, ip, asr #8 mov r0, r3, lsl #0x10 mov r1, r1, lsl #0x10 mov r3, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r0, r0, r3, lsl #16 str r0, [r2, #0x160] ldrb r0, [r7, #0xd] tst r0, #0x10 beq _02153a30 ldrh r6, [r7, #0xa] ldrh r3, [r7, #8] mov r0, r4 mov r1, r6, lsl #0x8 mov r2, r3, lsl #0x8 orr r3, r2, r3, asr #8 orr r2, r1, r6, asr #8 mov r1, r3, lsl #0x10 mov r2, r2, lsl #0x10 mov r3, r1, lsr #0x10 mov r1, r2, lsr #0x10 orr r3, r1, r3, lsl #16 mov r2, r5 mov r1, #4 str r3, [r4, #0x28] bl func_ov61_021538c4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02153a30: mov r0, #0 str r0, [r4, #0x28] ldrh r3, [r7, #6] ldrh r2, [r7, #4] mov r0, r3, lsl #0x8 mov r1, r2, lsl #0x8 orr r2, r1, r2, asr #8 orr r1, r0, r3, asr #8 mov r0, r2, lsl #0x10 mov r1, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r0, r0, r2, lsl #16 add r1, r6, r0 str r1, [r4, #0x24] ldrb r0, [r7, #0xd] mov r2, r5 tst r0, #3 addne r0, r1, #1 strne r0, [r4, #0x24] mov r0, r4 mov r1, #0x14 bl func_ov61_021538c4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02153960 _02153a90: .word data_ov61_0217f558 _02153a94: .word data_ov61_0217f514 _02153a98: .word data_ov61_0217f414 .global func_ov61_02153a9c arm_func_start func_ov61_02153a9c func_ov61_02153a9c: ; 0x02153a9c stmdb sp!, {r4, r5, r6, lr} mov r4, r2 mov r2, #3 mov r6, r0 mov r5, r1 strb r2, [r4, #8] bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 str r0, [r4, #0x10] ldrh r2, [r6, #0x12] ldrh r3, [r6, #0x10] mov r0, r5 mov r1, r2, lsl #0x8 orr r2, r1, r2, asr #8 mov r1, r3, lsl #0x8 orr r1, r1, r3, asr #8 mov r1, r1, lsl #0x10 mov r2, r2, lsl #0x10 mov r3, r1, lsr #0x10 mov r1, r2, lsr #0x10 orr r1, r1, r3, lsl #16 str r1, [r4, #0x14] ldrh r3, [r5] mov r1, r4 mov r2, r3, lsl #0x8 orr r2, r2, r3, asr #8 strh r2, [r4, #0x18] ldrh r3, [r6, #0xe] ldrh r6, [r6, #0xc] mov r2, r3, lsl #0x8 orr r3, r2, r3, asr #8 mov r2, r6, lsl #0x8 orr r2, r2, r6, asr #8 mov r2, r2, lsl #0x10 mov r3, r3, lsl #0x10 mov r6, r2, lsr #0x10 mov r2, r3, lsr #0x10 orr r2, r2, r6, lsl #16 str r2, [r4, #0x1c] ldrh r6, [r5, #6] ldrh r5, [r5, #4] mov r2, r6, lsl #0x8 mov r3, r5, lsl #0x8 orr r5, r3, r5, asr #8 orr r3, r2, r6, asr #8 mov r2, r5, lsl #0x10 mov r3, r3, lsl #0x10 mov r5, r2, lsr #0x10 mov r2, r3, lsr #0x10 orr r2, r2, r5, lsl #16 add r2, r2, #1 str r2, [r4, #0x24] bl func_ov61_02153824 mov r0, r4 mov r1, #0x12 mov r2, #0 bl func_ov61_021538c4 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02153a9c .global func_ov61_02153b88 arm_func_start func_ov61_02153b88 func_ov61_02153b88: ; 0x02153b88 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov61_021537c0 movs r2, r0 beq _02153c08 ldrb r0, [r2, #8] cmp r0, #1 bne _02153bc0 mov r0, r6 mov r1, r5 bl func_ov61_02153a9c b _02153c00 _02153bc0: add r0, r0, #0xfd and r0, r0, #0xff cmp r0, #1 bhi _02153bec ldr r1, [r2, #0x28] mov r0, r6 sub r3, r1, #1 mov r1, r5 str r3, [r2, #0x28] bl func_ov61_02153a9c b _02153c00 _02153bec: mov r0, r6 mov r1, r5 mov r2, r4 mov r3, #0 bl func_ov61_02153960 _02153c00: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02153c08: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02153b88 .global func_ov61_02153c10 arm_func_start func_ov61_02153c10 func_ov61_02153c10: ; 0x02153c10 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r0 ldrh r0, [r4, #0x12] ldrh r8, [r4, #0x10] ldrh r7, [r4, #0xe] ldrh r6, [r4, #0xc] mov ip, r8, lsl #0x8 orr ip, ip, r8, asr #8 mov r5, r6, lsl #0x8 mov ip, ip, lsl #0x10 mov lr, r7, lsl #0x8 orr r6, r5, r6, asr #8 mov r3, r0, lsl #0x8 orr r5, lr, r7, asr #8 orr lr, r3, r0, asr #8 mov r0, r6, lsl #0x10 mov r3, r5, lsl #0x10 mov r5, r0, lsr #0x10 mov r0, r3, lsr #0x10 mov lr, lr, lsl #0x10 orr r0, r0, r5, lsl #16 mov ip, ip, lsr #0x10 mov r3, lr, lsr #0x10 mov r6, r1 orr r1, r3, ip, lsl #16 mov r5, r2 bl func_ov61_02153548 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r4 mov r1, r6 mov r2, r5 bl func_ov61_02153b88 cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r4 mov r1, r6 bl func_ov61_02153638 movs r2, r0 beq _02153cc0 mov r0, r4 mov r1, r6 bl func_ov61_02153a9c ldmia sp!, {r4, r5, r6, r7, r8, pc} _02153cc0: bl func_0200d9a4 mov r0, r4 mov r1, r6 bl func_ov61_02153638 movs r2, r0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r4 mov r1, r6 bl func_ov61_02153a9c ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_02153c10 .global func_ov61_02153ce8 arm_func_start func_ov61_02153ce8 func_ov61_02153ce8: ; 0x02153ce8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r5, r1 mov r6, r2 bl func_ov61_021537c0 movs r4, r0 beq _02153d10 ldrb r0, [r4, #8] cmp r0, #2 beq _02153d28 _02153d10: mov r0, r7 mov r1, r5 mov r2, r6 mov r3, #0 bl func_ov61_02153960 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02153d28: bl func_0200d9a4 ldrh ip, [r5, #6] ldrh r3, [r5, #4] mov r0, r5 mov r1, ip, lsl #0x8 mov r2, r3, lsl #0x8 orr r3, r2, r3, asr #8 orr r2, r1, ip, asr #8 mov r1, r3, lsl #0x10 mov r2, r2, lsl #0x10 mov r3, r1, lsr #0x10 mov r1, r2, lsr #0x10 orr r1, r1, r3, lsl #16 add r1, r1, #1 str r1, [r4, #0x24] ldrh lr, [r5, #0xa] ldrh ip, [r5, #8] mov r1, r4 mov r2, lr, lsl #0x8 mov r3, ip, lsl #0x8 orr ip, r3, ip, asr #8 orr r3, r2, lr, asr #8 mov r2, ip, lsl #0x10 mov r3, r3, lsl #0x10 mov ip, r2, lsr #0x10 mov r2, r3, lsr #0x10 orr r2, r2, ip, lsl #16 str r2, [r4, #0x30] ldrh r3, [r5, #0xe] mov r2, r3, lsl #0x8 orr r2, r2, r3, asr #8 strh r2, [r4, #0x2c] bl func_ov61_02153824 mov r0, r4 mov r1, #0 bl func_ov61_02153938 mov r0, #4 strb r0, [r4, #8] ldr r0, [r4, #4] cmp r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #0 str r0, [r4, #4] ldr r0, [r4] bl func_0200d938 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02153ce8 .global func_ov61_02153de0 arm_func_start func_ov61_02153de0 func_ov61_02153de0: ; 0x02153de0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r4, r0 mov sb, r1 mov r8, r2 bl func_ov61_021537c0 movs r5, r0 bne _02153e14 mov r0, r4 mov r1, sb mov r2, r8 mov r3, #0 bl func_ov61_02153960 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02153e14: ldrh r7, [sb, #0xa] ldrh r3, [sb, #8] ldrb r6, [sb, #0xd] mov r1, r7, lsl #0x8 mov r2, r3, lsl #0x8 orr r3, r2, r3, asr #8 orr r2, r1, r7, asr #8 mov r1, r3, lsl #0x10 mov r2, r2, lsl #0x10 mov r3, r1, lsr #0x10 mov r1, r2, lsr #0x10 orr r1, r1, r3, lsl #16 str r1, [r5, #0x30] ldrh ip, [sb, #6] ldrh r7, [sb, #4] ldrb r3, [r5, #8] mov r1, ip, lsl #0x8 mov r2, r7, lsl #0x8 orr r7, r2, r7, asr #8 orr r2, r1, ip, asr #8 mov r1, r7, lsl #0x10 mov r2, r2, lsl #0x10 mov r7, r1, lsr #0x10 mov r1, r2, lsr #0x10 cmp r3, #4 orr r2, r1, r7, lsl #16 bne _02153e98 ldr r1, [r5, #0x24] cmp r1, r2 beq _02153e98 mov r1, #0 bl func_ov61_02153938 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02153e98: ldrh r1, [sb, #0xe] mov r0, r1, lsl #0x8 orr r0, r0, r1, asr #8 strh r0, [r5, #0x2c] ldrb r0, [r5, #8] cmp r0, #9 addls pc, pc, r0, lsl #2 b _021540c4 _02153eb8: ; jump table b _02153ee0 ; case 0 b _021540c4 ; case 1 b _02153ee0 ; case 2 b _02153ef8 ; case 3 b _02153f24 ; case 4 b _021540c4 ; case 5 b _021540a0 ; case 6 b _0215402c ; case 7 b _0215402c ; case 8 b _021540a0 ; case 9 _02153ee0: mov r0, r4 mov r1, sb mov r2, r8 mov r3, #0 bl func_ov61_02153960 b _021540e0 _02153ef8: mov r0, #4 strb r0, [r5, #8] ldr r0, [r5, #4] cmp r0, #1 bne _02153f1c mov r0, #0 str r0, [r5, #4] ldr r0, [r5] bl func_0200d938 _02153f1c: cmp r8, #0 beq _021540e0 _02153f24: ldr r0, [r5, #0x34] add r0, r0, #1 str r0, [r5, #0x34] ldr r1, [r5, #0x3c] ldr r0, [r5, #0x44] sub r0, r1, r0 cmp r8, r0 movhi r7, #0 movhi r8, r0 movls r7, #1 cmp r8, #0 beq _02153fc0 bl func_0200ee4c ldrb r1, [sb, #0xc] ldr ip, [r5, #0x40] ldr r3, [r5, #0x44] and r2, r1, #0xf0 mov r1, r2, asr #0x1 add r1, r2, r1, lsr #30 mov r4, r0 mov r2, r8 add r0, sb, r1, asr #2 add r1, ip, r3 bl func_02007ad8 ldr r1, [r5, #0x44] mov r0, r4 add r1, r1, r8 str r1, [r5, #0x44] ldr r1, [r5, #0x24] add r1, r1, r8 str r1, [r5, #0x24] bl func_0200ee60 ldr r0, [r5, #4] cmp r0, #2 bne _02153fc0 mov r0, #0 str r0, [r5, #4] ldr r0, [r5] bl func_0200d938 _02153fc0: cmp r7, #0 beq _02154014 tst r6, #1 beq _02154014 mov r0, #6 strb r0, [r5, #8] ldr r1, [r5, #0x24] mov r0, r5 add r2, r1, #1 mov r1, #0 str r2, [r5, #0x24] bl func_ov61_0215394c cmp r8, #0 ldreq r0, [r5, #4] cmpeq r0, #2 bne _021540e0 mov r0, #0 str r0, [r5, #4] ldr r0, [r5] bl func_0200d938 b _021540e0 _02154014: cmp r8, #0 beq _021540e0 mov r0, r5 mov r1, #0 bl func_ov61_02153938 b _021540e0 _0215402c: tst r6, #1 beq _02154074 ldr r1, [r5, #0x24] add r0, r8, #1 add r2, r1, r0 mov r0, r5 mov r1, #0 str r2, [r5, #0x24] bl func_ov61_02153938 mov r1, #0 strb r1, [r5, #8] ldr r0, [r5, #4] cmp r0, #2 bne _021540e0 str r1, [r5, #4] ldr r0, [r5] bl func_0200d938 b _021540e0 _02154074: cmp r8, #0 beq _02154094 ldr r1, [r5, #0x24] mov r0, r5 add r2, r1, r8 mov r1, #0 str r2, [r5, #0x24] bl func_ov61_02153938 _02154094: mov r0, #8 strb r0, [r5, #8] b _021540e0 _021540a0: mov r1, #0 strb r1, [r5, #8] ldr r0, [r5, #4] cmp r0, #2 bne _021540e0 str r1, [r5, #4] ldr r0, [r5] bl func_0200d938 b _021540e0 _021540c4: tst r6, #1 ldrne r0, [r5, #0x24] mov r1, #0 addne r0, r0, #1 strne r0, [r5, #0x24] mov r0, r5 bl func_ov61_02153938 _021540e0: bl func_0200d9a4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02153de0 .global func_ov61_021540e8 arm_func_start func_ov61_021540e8 func_ov61_021540e8: ; 0x021540e8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl func_ov61_021537c0 movs r4, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrb r1, [r4, #8] cmp r1, #4 beq _0215417c cmp r1, #7 beq _02154124 cmp r1, #8 beq _02154144 b _0215419c _02154124: ldr r2, [r4, #0x24] mov r1, #0 add r2, r2, #1 str r2, [r4, #0x24] bl func_ov61_02153938 mov r0, #9 strb r0, [r4, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02154144: ldr r2, [r4, #0x24] mov r1, #0 add r2, r2, #1 str r2, [r4, #0x24] bl func_ov61_02153938 mov r1, #0 strb r1, [r4, #8] ldr r0, [r4, #4] cmp r0, #2 ldmneia sp!, {r3, r4, r5, r6, r7, pc} str r1, [r4, #4] ldr r0, [r4] bl func_0200d938 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215417c: ldr r2, [r4, #0x24] mov r1, #0 add r2, r2, #1 str r2, [r4, #0x24] bl func_ov61_0215394c mov r0, #6 strb r0, [r4, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215419c: mov r0, r7 mov r1, r6 mov r2, r5 mov r3, #0 bl func_ov61_02153960 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_021540e8 .global func_ov61_021541b4 arm_func_start func_ov61_021541b4 func_ov61_021541b4: ; 0x021541b4 stmdb sp!, {r4, lr} bl func_ov61_021537c0 movs r4, r0 ldmeqia sp!, {r4, pc} bl func_0200d9a4 mov r1, #0 strb r1, [r4, #8] ldr r0, [r4, #4] sub r0, r0, #1 cmp r0, #1 ldmhiia sp!, {r4, pc} str r1, [r4, #4] ldr r0, [r4] bl func_0200d938 ldmia sp!, {r4, pc} arm_func_end func_ov61_021541b4 .global func_ov61_021541f0 arm_func_start func_ov61_021541f0 func_ov61_021541f0: ; 0x021541f0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 mov r0, r5 mov r1, r4 mov r2, r6 mov r3, #6 bl func_ov61_02152044 cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldrb r0, [r5, #0xc] ldrb r2, [r5, #0xd] and r1, r0, #0xf0 mov r0, r1, asr #0x1 add r0, r1, r0, lsr #30 and r1, r2, #0x17 cmp r1, #0x10 sub r4, r4, r0, asr #2 bgt _02154268 cmp r1, #0x10 bge _021542c0 cmp r1, #2 bgt _021542e8 cmp r1, #1 blt _021542e8 beq _021542d4 cmp r1, #2 beq _02154288 b _021542e8 _02154268: cmp r1, #0x12 bgt _021542e8 cmp r1, #0x11 blt _021542e8 beq _021542c0 cmp r1, #0x12 beq _021542a4 b _021542e8 _02154288: tst r2, #0x28 ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02153c10 ldmia sp!, {r4, r5, r6, pc} _021542a4: tst r2, #0x28 ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02153ce8 ldmia sp!, {r4, r5, r6, pc} _021542c0: mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02153de0 ldmia sp!, {r4, r5, r6, pc} _021542d4: mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_021540e8 ldmia sp!, {r4, r5, r6, pc} _021542e8: tst r2, #4 mov r0, r6 mov r1, r5 beq _02154300 bl func_ov61_021541b4 ldmia sp!, {r4, r5, r6, pc} _02154300: mov r2, r4 mov r3, #0 bl func_ov61_02153960 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021541f0 .global func_ov61_02154310 arm_func_start func_ov61_02154310 func_ov61_02154310: ; 0x02154310 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r7, r1 ldrh r1, [r7, #6] mov r8, r0 mov r6, r2 cmp r1, #0 beq _02154348 mov r0, r7 mov r1, r6 mov r2, r8 mov r3, #0x11 bl func_ov61_02152044 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02154348: bl func_0200ee4c ldr r1, _02154518 ; =data_027e02a0 mov r5, r0 ldr r1, [r1, #8] cmp r1, #0 beq _0215450c mvn ip, #0 _02154364: ldr r4, [r1, #0xa4] cmp r4, #0 ldrne r0, [r4] cmpne r0, #0 beq _02154500 ldrb r0, [r4, #8] cmp r0, #0xa bne _02154500 ldrh r3, [r7, #2] ldrh r2, [r4, #0xa] mov r0, r3, lsl #0x8 orr r0, r0, r3, asr #8 mov r0, r0, lsl #0x10 cmp r2, r0, lsr #16 bne _02154500 ldrh r3, [r4, #0x18] cmp r3, #0 beq _021543c4 ldrh r2, [r7] mov r0, r2, lsl #0x8 orr r0, r0, r2, asr #8 mov r0, r0, lsl #0x10 cmp r3, r0, lsr #16 bne _02154500 _021543c4: ldr r0, [r4, #0x1c] cmp r0, #0 cmpne r0, ip beq _02154408 ldrh sb, [r8, #0xe] ldrh lr, [r8, #0xc] mov r2, sb, lsl #0x8 mov r3, lr, lsl #0x8 orr lr, r3, lr, asr #8 orr r3, r2, sb, asr #8 mov r2, lr, lsl #0x10 mov r3, r3, lsl #0x10 mov lr, r2, lsr #0x10 mov r2, r3, lsr #0x10 orr r2, r2, lr, lsl #16 cmp r0, r2 bne _02154500 _02154408: ldrh r3, [r8, #0x12] ldrh r2, [r8, #0x10] mov r0, r3, lsl #0x8 mov r1, r2, lsl #0x8 orr r2, r1, r2, asr #8 orr r1, r0, r3, asr #8 mov r0, r2, lsl #0x10 mov r1, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r0, r0, r2, lsl #16 str r0, [r4, #0x14] ldr r0, [r4, #0x1c] cmp r0, #0 bne _02154484 ldrh r3, [r8, #0xe] ldrh r2, [r8, #0xc] mov r0, r3, lsl #0x8 mov r1, r2, lsl #0x8 orr r2, r1, r2, asr #8 orr r1, r0, r3, asr #8 mov r0, r2, lsl #0x10 mov r1, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r0, r0, r2, lsl #16 str r0, [r4, #0x1c] ldrh r1, [r7] mov r0, r1, lsl #0x8 orr r0, r0, r1, asr #8 strh r0, [r4, #0x18] _02154484: ldr r0, [r4, #0x44] cmp r0, #0 bne _0215450c ldr r1, [r4, #0x3c] sub r0, r6, #8 cmp r0, r1 strhi r1, [r4, #0x44] strls r0, [r4, #0x44] ldr r1, [r4, #0x40] ldr r2, [r4, #0x44] add r0, r7, #8 bl func_02007ad8 ldr r0, [r4, #4] cmp r0, #3 bne _021544d4 mov r0, #0 str r0, [r4, #4] ldr r0, [r4] bl func_0200d938 b _0215450c _021544d4: ldr r3, [r4, #0x38] cmp r3, #0 beq _0215450c ldr r0, [r4, #0x40] ldr r1, [r4, #0x44] mov r2, r4 blx r3 cmp r0, #0 movne r0, #0 strne r0, [r4, #0x44] b _0215450c _02154500: ldr r1, [r1, #0x68] cmp r1, #0 bne _02154364 _0215450c: mov r0, r5 bl func_0200ee60 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02154310 _02154518: .word data_027e02a0 .global func_ov61_0215451c arm_func_start func_ov61_0215451c func_ov61_0215451c: ; 0x0215451c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov r6, #0 mov sl, r0 str r6, [r1] ldrh r3, [sl, #6] str r1, [sp] ldr r2, _021547d8 ; =0x00003fff mov r1, r3, lsl #0x8 orr r1, r1, r3, asr #8 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 str r1, [sp, #8] tst r1, r2 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrh r3, [sl, #0xe] ldrh r2, [sl, #0xc] ldrb r4, [sl] mov r0, r3, lsl #0x8 mov r1, r2, lsl #0x8 orr r2, r1, r2, asr #8 orr r1, r0, r3, asr #8 mov r3, r4, lsl #0x1c mov r0, r2, lsl #0x10 mov r1, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r1, r1, lsr #0x10 ldrh r4, [sl, #4] ldr r7, _021547dc ; =data_ov61_0217f73c mov r0, r6 mov r5, r3, lsr #0x1a orr sb, r1, r2, lsl #16 _021545a0: ldrh r2, [r7, #4] cmp r2, #0 beq _021545c0 ldr r1, [r7] cmp r1, sb ldreqh r1, [r7, #6] cmpeq r1, r4 beq _021545dc _021545c0: add r0, r0, #1 cmp r2, #0 cmpeq r6, #0 moveq r6, r7 cmp r0, #8 add r7, r7, #0x38 blo _021545a0 _021545dc: ldrh r2, [sl, #2] cmp r0, #8 ldr r1, _021547e0 ; =0x00001fff mov r0, r2, lsl #0x8 orr r0, r0, r2, asr #8 mov r0, r0, lsl #0x10 rsb r0, r5, r0, lsr #16 str r0, [sp, #4] ldr r0, [sp, #8] and fp, r0, r1 ldr r0, [sp, #4] add r8, r0, fp, lsl #3 bne _02154698 cmp r6, #0 beq _02154620 cmp r8, #0x1000 bls _0215462c _02154620: add sp, sp, #0xc mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0215462c: ldr r1, _021547e4 ; =data_ov61_0217f414 add r0, r5, #0xe ldr r1, [r1, #0x14] add r0, r0, #0x1000 mov r7, r6 blx r1 cmp r0, #0 str r0, [r6, #0x34] addeq sp, sp, #0xc mov r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} str sb, [r6] strh r4, [r6, #6] strh r0, [r6, #8] bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 str r0, [r6, #0x2c] ldr r1, [r6, #0x34] mov r0, sl add r1, r1, #0xe add r1, r1, r5 str r1, [r6, #0x30] ldr r1, [r6, #0x34] mov r2, r5 add r1, r1, #0xe bl func_02007ad8 _02154698: ldrh r0, [r7, #4] cmp r0, #8 beq _021546ac cmp r8, #0x1000 bls _021546d0 _021546ac: ldr r1, _021547e4 ; =data_ov61_0217f414 mov r0, #0 strh r0, [r7, #4] ldr r0, [r7, #0x34] ldr r1, [r1, #0x40] blx r1 add sp, sp, #0xc mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _021546d0: ldr r0, [sp, #4] ldr r2, [sp, #4] add r1, r0, #7 ldr r0, [sp, #8] add r3, fp, r1, lsr #3 tst r0, #0x2000 streqh r8, [r7, #0xa] streqh r3, [r7, #8] ldrh r1, [r7, #4] add r0, sl, r5 add r1, r7, r1, lsl #1 strh fp, [r1, #0xc] ldrh r1, [r7, #4] add r1, r7, r1, lsl #1 strh r3, [r1, #0x1c] ldrh r1, [r7, #4] add r1, r1, #1 strh r1, [r7, #4] ldr r1, [r7, #0x30] add r1, r1, fp, lsl #3 bl func_02007ad8 ldrh r4, [r7, #8] cmp r4, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrh r3, [r7, #4] mov r6, #0 mov r5, r6 cmp r3, #0 bls _02154780 mov r0, r6 _02154750: add r2, r7, r5, lsl #1 ldrh r1, [r2, #0xc] cmp r1, r6 bhi _02154774 ldrh r1, [r2, #0x1c] cmp r6, r1 movlo r6, r1 movlo r5, r0 blo _02154778 _02154774: add r5, r5, #1 _02154778: cmp r5, r3 blo _02154750 _02154780: cmp r6, r4 addlo sp, sp, #0xc movlo r0, #0 ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r4, [r7, #0x34] ldrh r3, [r7, #0xa] ldrb r0, [r4, #0xe] mov r2, #0 mov r1, #1 mov r0, r0, lsl #0x1c add r0, r3, r0, lsr #26 mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 mov r0, r3, lsl #0x8 orr r0, r0, r3, asr #8 strh r0, [r4, #0x10] ldr r0, [sp] strh r2, [r7, #4] str r1, [r0] add r0, r4, #0xe add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215451c _021547d8: .word 0x00003fff _021547dc: .word data_ov61_0217f73c _021547e0: .word 0x00001fff _021547e4: .word data_ov61_0217f414 .global func_ov61_021547e8 arm_func_start func_ov61_021547e8 func_ov61_021547e8: ; 0x021547e8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldrh r7, [r4, #0xe] ldrh r6, [r4, #0xc] ldrh lr, [r4, #0x12] ldrh r5, [r4, #0x10] mov r2, r6, lsl #0x8 mov r3, lr, lsl #0x8 mov ip, r5, lsl #0x8 mov r0, r7, lsl #0x8 orr r5, ip, r5, asr #8 orr lr, r3, lr, asr #8 orr r3, r2, r6, asr #8 orr ip, r0, r7, asr #8 mov r0, r5, lsl #0x10 mov r2, lr, lsl #0x10 mov r3, r3, lsl #0x10 mov ip, ip, lsl #0x10 mov lr, r0, lsr #0x10 mov r0, r2, lsr #0x10 mov r3, r3, lsr #0x10 mov r2, ip, lsr #0x10 orr r0, r0, lr, lsl #16 orr r2, r2, r3, lsl #16 mov r5, r1 cmp r0, r2 beq _0215490c bl func_ov61_02152148 cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrh r1, [r4, #2] mov r0, r1, lsl #0x8 orr r0, r0, r1, asr #8 mov r0, r0, lsl #0x10 cmp r5, r0, lsr #16 ldmloia sp!, {r3, r4, r5, r6, r7, pc} ldrb r1, [r4] mov r0, r4 mov r1, r1, lsl #0x1c mov r1, r1, lsr #0x1a bl func_ov61_02152028 ldr r1, _021549a4 ; =0x0000ffff cmp r0, r1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrh ip, [r4, #0x12] ldrh r3, [r4, #0x10] ldr r2, _021549a8 ; =data_ov61_0217f414 mov r0, ip, lsl #0x8 mov r1, r3, lsl #0x8 orr r3, r1, r3, asr #8 orr r1, r0, ip, asr #8 mov r0, r3, lsl #0x10 mov r1, r1, lsl #0x10 mov r3, r0, lsr #0x10 mov r0, r1, lsr #0x10 ldr r1, [r2, #0x50] orr r0, r0, r3, lsl #16 cmp r1, r0 bne _0215490c ldrh ip, [r4, #0xe] ldrh r3, [r4, #0xc] sub r0, r4, #8 mov r1, ip, lsl #0x8 mov r2, r3, lsl #0x8 orr r3, r2, r3, asr #8 orr r2, r1, ip, asr #8 mov r1, r3, lsl #0x10 mov r2, r2, lsl #0x10 mov r3, r1, lsr #0x10 mov r1, r2, lsr #0x10 orr r1, r1, r3, lsl #16 mov r2, #1 bl func_ov61_021527ec _0215490c: add r1, sp, #0 mov r0, r4 bl func_ov61_0215451c movs r4, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrh r2, [r4, #2] ldrb r3, [r4] ldrb ip, [r4, #9] mov r1, r2, lsl #0x8 orr r1, r1, r2, asr #8 mov r1, r1, lsl #0x10 mov r3, r3, lsl #0x1c mov r2, r1, lsr #0x10 cmp ip, #0x11 add r1, r4, r3, lsr #26 sub r2, r2, r3, lsr #26 bne _02154958 bl func_ov61_02154310 b _02154984 _02154958: ldr r3, _021549a8 ; =data_ov61_0217f414 ldr r3, [r3, #0x50] cmp r3, #0 beq _02154984 cmp ip, #1 bne _02154978 bl func_ov61_02153568 b _02154984 _02154978: cmp ip, #6 bne _02154984 bl func_ov61_021541f0 _02154984: ldr r0, [sp] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, _021549a8 ; =data_ov61_0217f414 sub r0, r4, #0xe ldr r1, [r1, #0x40] blx r1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021547e8 _021549a4: .word 0x0000ffff _021549a8: .word data_ov61_0217f414 .global func_ov61_021549ac arm_func_start func_ov61_021549ac func_ov61_021549ac: ; 0x021549ac stmdb sp!, {r3, r4, r5, lr} ldr r5, _02154a18 ; =0x00000806 add r4, sp, #0 _021549b8: mov r0, r4 bl func_ov61_021524ac ldr r3, [sp] cmp r3, #0x22 bls _02154a10 ldrh r2, [r0, #0xc] mov r1, r2, lsl #0x8 orr r1, r1, r2, asr #8 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 cmp r1, #0x800 beq _021549f4 cmp r1, r5 beq _02154a04 b _02154a10 _021549f4: add r0, r0, #0xe sub r1, r3, #0xe bl func_ov61_021547e8 b _02154a10 _02154a04: add r0, r0, #0xe sub r1, r3, #0xe bl func_ov61_02153220 _02154a10: bl func_ov61_0215256c b _021549b8 .align 2, 0 arm_func_end func_ov61_021549ac _02154a18: .word 0x00000806 .global func_ov61_02154a1c arm_func_start func_ov61_02154a1c func_ov61_02154a1c: ; 0x02154a1c stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r0, _02154ab8 ; =data_027e02a0 ldr r2, _02154abc ; =data_ov61_0217f414 ldr r0, [r0, #8] ldr r1, _02154ac0 ; =0x00001388 mov r4, #0x400 mov r3, #1 mov r5, #0 _02154a3c: ldrh ip, [r2, #8] mov r6, r5 add ip, ip, #1 strh ip, [r2, #8] ldrh ip, [r2, #8] cmp ip, #0x400 blo _02154a60 cmp ip, r1 blo _02154a64 _02154a60: strh r4, [r2, #8] _02154a64: mov r7, r0 cmp r0, #0 beq _02154aa4 ldrh r8, [r2, #8] _02154a74: ldr lr, [r7, #0xa4] cmp lr, #0 ldrne ip, [lr] cmpne ip, #0 beq _02154a98 ldrh ip, [lr, #0xa] cmp ip, r8 moveq r6, r3 beq _02154aa4 _02154a98: ldr r7, [r7, #0x68] cmp r7, #0 bne _02154a74 _02154aa4: cmp r6, #0 bne _02154a3c ldr r0, _02154abc ; =data_ov61_0217f414 ldrh r0, [r0, #8] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02154a1c _02154ab8: .word data_027e02a0 _02154abc: .word data_ov61_0217f414 _02154ac0: .word 0x00001388 .global func_ov61_02154ac4 arm_func_start func_ov61_02154ac4 func_ov61_02154ac4: ; 0x02154ac4 stmdb sp!, {r3, lr} ldr r1, _02154b04 ; =data_ov61_0217f414 ldr r3, [r1, #0x70] ldr r2, [r1, #0x68] ldr r0, [r1, #0x6c] umull lr, ip, r3, r2 mla ip, r3, r0, ip ldr r0, [r1, #0x74] ldr r3, [r1, #0x78] mla ip, r0, r2, ip ldr r0, [r1, #0x7c] adds r2, r3, lr str r2, [r1, #0x68] adc r0, r0, ip str r0, [r1, #0x6c] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02154ac4 _02154b04: .word data_ov61_0217f414 .global func_ov61_02154b08 arm_func_start func_ov61_02154b08 func_ov61_02154b08: ; 0x02154b08 ldr r1, _02154b18 ; =data_027e02a0 ldr r1, [r1, #4] str r0, [r1, #0xa4] bx lr .align 2, 0 arm_func_end func_ov61_02154b08 _02154b18: .word data_027e02a0 .global func_ov61_02154b1c arm_func_start func_ov61_02154b1c func_ov61_02154b1c: ; 0x02154b1c ldr r0, _02154b30 ; =data_027e02a0 mov r1, #0 ldr r0, [r0, #4] str r1, [r0, #0xa4] bx lr .align 2, 0 arm_func_end func_ov61_02154b1c _02154b30: .word data_027e02a0 .global func_ov61_02154b34 arm_func_start func_ov61_02154b34 func_ov61_02154b34: ; 0x02154b34 ldr r0, _02154b5c ; =data_027e02a0 ldr r0, [r0, #4] ldr r1, [r0, #0xa4] cmp r1, #0 bxeq lr mov r0, #0xa strb r0, [r1, #8] mov r0, #0 str r0, [r1, #0x44] bx lr .align 2, 0 arm_func_end func_ov61_02154b34 _02154b5c: .word data_027e02a0 .global func_ov61_02154b60 arm_func_start func_ov61_02154b60 func_ov61_02154b60: ; 0x02154b60 stmdb sp!, {r4, lr} ldr r3, _02154bb4 ; =data_027e02a0 ldr r3, [r3, #4] ldr r4, [r3, #0xa4] cmp r4, #0 ldmeqia sp!, {r4, pc} ldr r3, _02154bb8 ; =0x7f000001 cmp r2, r3 ldreq r2, _02154bbc ; =data_ov61_0217f414 ldreq r2, [r2, #0x50] cmp r0, #0 strh r1, [r4, #0x1a] ldrh r1, [r4, #0x1a] strh r1, [r4, #0x18] str r2, [r4, #0x20] str r2, [r4, #0x1c] strneh r0, [r4, #0xa] ldmneia sp!, {r4, pc} bl func_ov61_02154a1c strh r0, [r4, #0xa] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02154b60 _02154bb4: .word data_027e02a0 _02154bb8: .word 0x7f000001 _02154bbc: .word data_ov61_0217f414 .global func_ov61_02154bc0 arm_func_start func_ov61_02154bc0 func_ov61_02154bc0: ; 0x02154bc0 ldr r0, _02154bf0 ; =data_027e02a0 ldr r0, [r0, #4] ldr r1, [r0, #0xa4] cmp r1, #0 bxeq lr str r0, [r1] mov r0, #0 strb r0, [r1, #8] str r0, [r1, #0x44] str r0, [r1, #0x60] str r0, [r1, #0x38] bx lr .align 2, 0 arm_func_end func_ov61_02154bc0 _02154bf0: .word data_027e02a0 .global func_ov61_02154bf4 arm_func_start func_ov61_02154bf4 func_ov61_02154bf4: ; 0x02154bf4 ldr r0, _02154c10 ; =data_027e02a0 ldr r0, [r0, #4] ldr r1, [r0, #0xa4] cmp r1, #0 movne r0, #0 strne r0, [r1] bx lr .align 2, 0 arm_func_end func_ov61_02154bf4 _02154c10: .word data_027e02a0 .global func_ov61_02154c14 arm_func_start func_ov61_02154c14 func_ov61_02154c14: ; 0x02154c14 ldr r1, _02154c28 ; =data_027e02a0 ldr r1, [r1, #4] ldr r1, [r1, #0xa4] str r1, [r0, #0xa4] bx lr .align 2, 0 arm_func_end func_ov61_02154c14 _02154c28: .word data_027e02a0 .global func_ov61_02154c2c arm_func_start func_ov61_02154c2c func_ov61_02154c2c: ; 0x02154c2c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov61_02154ac4 str r0, [r5, #0x28] mov r0, #1 strb r0, [r5, #8] bl func_0200ee4c mov r4, r0 mov r1, #1 mov r0, #0 str r1, [r5, #4] bl func_0200d880 mov r0, r4 bl func_0200ee60 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02154c2c .global func_ov61_02154c68 arm_func_start func_ov61_02154c68 func_ov61_02154c68: ; 0x02154c68 ldr r1, _02154c80 ; =data_027e02a0 ldr r1, [r1, #4] ldr r1, [r1, #0xa4] cmp r1, #0 strne r0, [r1, #0x38] bx lr .align 2, 0 arm_func_end func_ov61_02154c68 _02154c80: .word data_027e02a0 .global func_ov61_02154c84 arm_func_start func_ov61_02154c84 func_ov61_02154c84: ; 0x02154c84 stmdb sp!, {r3, lr} ldr r0, _02154cb8 ; =data_027e02a0 ldr r0, [r0, #4] ldr r0, [r0, #0xa4] cmp r0, #0 ldmeqia sp!, {r3, pc} ldrb r1, [r0, #9] cmp r1, #0 beq _02154cb0 bl func_ov61_0215c408 ldmia sp!, {r3, pc} _02154cb0: bl func_ov61_02154c2c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02154c84 _02154cb8: .word data_027e02a0 .global func_ov61_02154cbc arm_func_start func_ov61_02154cbc func_ov61_02154cbc: ; 0x02154cbc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 bl func_ov61_02154ac4 mov r6, #2 ldr r4, _02154d60 ; =data_ov61_0217f414 mov r8, r0 mov r7, #0 mov r5, #1 mov fp, r6 _02154ce0: str r8, [sl, #0x28] strb r6, [sl, #8] bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 str r0, [sl, #0x10] mov r0, sl mov r1, fp mov r2, #0x18 bl func_ov61_021538c4 bl func_0200ee4c mov sb, r0 ldr r0, [r4, #0x50] cmp r0, #0 beq _02154d28 mov r0, #0 str r5, [sl, #4] bl func_0200d880 _02154d28: mov r0, sb bl func_0200ee60 ldrb r0, [sl, #8] cmp r0, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [r4, #0x50] cmp r0, #0 beq _02154d58 add r7, r7, #1 cmp r7, #3 blo _02154ce0 _02154d58: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02154cbc _02154d60: .word data_ov61_0217f414 .global func_ov61_02154d64 arm_func_start func_ov61_02154d64 func_ov61_02154d64: ; 0x02154d64 stmdb sp!, {r3, lr} ldr r0, _02154da0 ; =data_027e02a0 ldr r0, [r0, #4] ldr r0, [r0, #0xa4] cmp r0, #0 beq _02154d98 ldrb r1, [r0, #9] cmp r1, #0 beq _02154d90 bl func_ov61_0215c544 ldmia sp!, {r3, pc} _02154d90: bl func_ov61_02154cbc ldmia sp!, {r3, pc} _02154d98: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02154d64 _02154da0: .word data_027e02a0 .global func_ov61_02154da4 arm_func_start func_ov61_02154da4 func_ov61_02154da4: ; 0x02154da4 ldr r2, _02154df0 ; =data_027e02a0 ldr r2, [r2, #4] ldr r3, [r2, #0xa4] cmp r3, #0 beq _02154de8 ldrb r2, [r3, #8] cmp r2, #4 cmpne r2, #0xa bne _02154de8 cmp r0, #0 ldrneh r2, [r3, #0x18] strneh r2, [r0] cmp r1, #0 ldrne r0, [r3, #0x14] strne r0, [r1] ldr r0, [r3, #0x1c] bx lr _02154de8: mov r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_02154da4 _02154df0: .word data_027e02a0 .global func_ov61_02154df4 arm_func_start func_ov61_02154df4 func_ov61_02154df4: ; 0x02154df4 stmdb sp!, {r4, lr} mov r4, r0 bl func_0200d9a4 ldrb r1, [r4, #8] add r0, r1, #0xfd and r0, r0, #0xff cmp r0, #1 bhi _02154e2c mov r0, r4 mov r1, #0x19 bl func_ov61_0215394c mov r0, #7 strb r0, [r4, #8] ldmia sp!, {r4, pc} _02154e2c: cmp r1, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #0x1a bl func_ov61_02153938 ldmia sp!, {r4, pc} arm_func_end func_ov61_02154df4 .global func_ov61_02154e44 arm_func_start func_ov61_02154e44 func_ov61_02154e44: ; 0x02154e44 stmdb sp!, {r4, lr} ldr r0, _02154e7c ; =data_027e02a0 ldr r0, [r0, #4] ldr r4, [r0, #0xa4] cmp r4, #0 ldmeqia sp!, {r4, pc} ldrb r0, [r4, #9] cmp r0, #0 beq _02154e70 mov r0, r4 bl func_ov61_0215c9b4 _02154e70: mov r0, r4 bl func_ov61_02154df4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02154e44 _02154e7c: .word data_027e02a0 .global func_ov61_02154e80 arm_func_start func_ov61_02154e80 func_ov61_02154e80: ; 0x02154e80 stmdb sp!, {r4, r5, r6, lr} ldr r0, _02154f00 ; =data_027e02a0 ldr r0, [r0, #4] ldr r4, [r0, #0xa4] cmp r4, #0 ldmeqia sp!, {r4, r5, r6, pc} ldrb r0, [r4, #9] cmp r0, #0 beq _02154eac mov r0, r4 bl func_ov61_0215ca34 _02154eac: bl func_0200e8f8 mov r6, r0, lsr #0x10 orr r6, r6, r1, lsl #16 ldr r5, _02154f04 ; =data_ov61_0217f414 b _02154ec4 _02154ec0: bl func_ov61_02151c08 _02154ec4: ldr r0, [r5, #0x48] blx r0 cmp r0, #0 ldrneb r0, [r4, #8] cmpne r0, #0 beq _02154ef4 bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 sub r0, r0, r6 cmp r0, #0x27 blt _02154ec0 _02154ef4: mov r0, #0 strb r0, [r4, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02154e80 _02154f00: .word data_027e02a0 _02154f04: .word data_ov61_0217f414 .global func_ov61_02154f08 arm_func_start func_ov61_02154f08 func_ov61_02154f08: ; 0x02154f08 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r1 mov sb, r0 bl func_0200ee4c ldr r6, [r8, #0x44] mov r7, r0 cmp r6, #0 bne _02154f48 mov r5, #3 mov r4, #0 _02154f30: mov r0, r4 str r5, [r8, #4] bl func_0200d880 ldr r6, [r8, #0x44] cmp r6, #0 beq _02154f30 _02154f48: mov r0, r7 bl func_0200ee60 str r6, [sb] ldr r0, [r8, #0x40] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02154f08 .global func_ov61_02154f5c arm_func_start func_ov61_02154f5c func_ov61_02154f5c: ; 0x02154f5c stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r1 ldr r1, [r4, #0x44] mov r5, r0 cmp r1, #0 ldreqb r0, [r4, #8] cmpeq r0, #4 bne _02154fbc bl func_0200ee4c mov r8, r0 mov r7, #2 mov r6, #0 b _02154f9c _02154f90: mov r0, r6 str r7, [r4, #4] bl func_0200d880 _02154f9c: ldr r0, [r4, #0x44] cmp r0, #0 ldreqb r0, [r4, #8] cmpeq r0, #4 beq _02154f90 mov r0, r8 bl func_0200ee60 b _02154fc0 _02154fbc: bl func_0200d9a4 _02154fc0: ldr r0, [r4, #0x44] str r0, [r5] cmp r0, #0 ldrne r0, [r4, #0x40] moveq r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_02154f5c .global func_ov61_02154fd8 arm_func_start func_ov61_02154fd8 func_ov61_02154fd8: ; 0x02154fd8 stmdb sp!, {r3, lr} ldr r1, _02155038 ; =data_027e02a0 ldr r1, [r1, #4] ldr r1, [r1, #0xa4] cmp r1, #0 beq _02155028 ldrb r2, [r1, #8] add r2, r2, #0xf6 and r2, r2, #0xff cmp r2, #1 bhi _0215500c bl func_ov61_02154f08 ldmia sp!, {r3, pc} _0215500c: ldrb r2, [r1, #9] cmp r2, #0 beq _02155020 bl func_ov61_0215c598 ldmia sp!, {r3, pc} _02155020: bl func_ov61_02154f5c ldmia sp!, {r3, pc} _02155028: mov r1, #0 str r1, [r0] mov r0, r1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02154fd8 _02155038: .word data_027e02a0 .global func_ov61_0215503c arm_func_start func_ov61_0215503c func_ov61_0215503c: ; 0x0215503c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r1 mov r7, r0 bl func_0200ee4c ldr r2, [r4, #0x44] ldr r1, [r4, #0x3c] mov r5, r0 cmp r2, r1 mov r6, #0 bne _0215506c cmp r7, #0 movne r6, #1 _0215506c: cmp r7, r2 movhs r0, #0 strhs r0, [r4, #0x44] bhs _02155090 ldr r0, [r4, #0x40] sub r2, r2, r7 add r1, r0, r7 str r2, [r4, #0x44] bl func_020435b4 _02155090: mov r0, r5 bl func_0200ee60 ldrb r0, [r4, #8] cmp r0, #0xa cmpne r0, #0xb ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r4, #0x44] cmp r0, #0 beq _021550bc cmp r6, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _021550bc: mov r0, r4 mov r1, #0x1b bl func_ov61_02153938 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0215503c .global func_ov61_021550cc arm_func_start func_ov61_021550cc func_ov61_021550cc: ; 0x021550cc stmdb sp!, {r3, lr} ldr r1, _02155100 ; =data_027e02a0 ldr r1, [r1, #4] ldr r1, [r1, #0xa4] cmp r1, #0 ldmeqia sp!, {r3, pc} ldrb r2, [r1, #9] cmp r2, #0 beq _021550f8 bl func_ov61_0215c670 ldmia sp!, {r3, pc} _021550f8: bl func_ov61_0215503c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021550cc _02155100: .word data_027e02a0 .global func_ov61_02155104 arm_func_start func_ov61_02155104 func_ov61_02155104: ; 0x02155104 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r8, r2 ldr r6, [r8, #0x34] movs fp, r3 mov sl, r0 movne r5, #1 mov r0, r6, lsl #0x1 mov sb, r1 ldreqh r5, [r8, #0x2c] add r7, r0, #4 b _021551a8 _02155130: ldr r0, _021551c4 ; =data_ov61_0217f414 ldrh r4, [r8, #0x2e] ldrh r0, [r0, #2] ldr r1, [r8, #0x34] cmp r4, r5 movhs r4, r5 cmp r0, r4 movlo r4, r0 cmp fp, #0 biceq r4, r4, #1 cmp sb, r4 sub r0, r1, r6 movlo r4, sb adds r0, r7, r0 moveq r4, #0 mov r6, r1 sub r7, r0, #1 cmp r4, #0 beq _021551bc mov r2, #0 str r2, [sp] mov r0, sl mov r1, r4 mov r2, r8 mov r3, #0x18 sub r5, r5, r4 bl func_ov61_02152f04 bl func_0200d9a4 add sl, sl, r4 sub sb, sb, r4 _021551a8: cmp sb, #0 beq _021551bc ldrb r0, [r8, #8] cmp r0, #4 beq _02155130 _021551bc: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02155104 _021551c4: .word data_ov61_0217f414 .global func_ov61_021551c8 arm_func_start func_ov61_021551c8 func_ov61_021551c8: ; 0x021551c8 stmdb sp!, {r3, r4, r5, lr} mov r5, r2 mov r4, r3 ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] bl func_ov61_02155104 cmp r0, #0 cmpne r4, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, [sp, #0x10] mov r0, r5 mov r1, r4 mov r3, #0 bl func_ov61_02155104 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_021551c8 .global func_ov61_02155204 arm_func_start func_ov61_02155204 func_ov61_02155204: ; 0x02155204 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov r4, #0 mov fp, r0 ldr r8, [sp, #0x38] mov r0, r4 str r4, [sp, #0x10] mov sl, r1 mov sb, r2 str r3, [sp, #8] mov r6, r4 str r0, [r8, #0x34] bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 str r0, [sp, #0xc] b _021553a8 _02155248: ldr r7, [r8, #0x28] ldr r3, [sp, #8] str r8, [sp] mov r0, fp mov r1, sl mov r2, sb str r6, [sp, #4] bl func_ov61_021551c8 bl func_0200e8f8 mov r5, r0, lsr #0x10 ldr r4, _021553f4 ; =data_ov61_0217f414 orr r5, r5, r1, lsl #16 _02155278: bl func_ov61_02151c08 ldr r0, [r4, #0x48] blx r0 cmp r0, #0 beq _021552d0 ldrb r0, [r8, #8] cmp r0, #4 bne _021552d0 ldr r1, [r8, #0x28] ldr r0, [r8, #0x30] cmp r1, r0 beq _021552d0 bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 sub r0, r0, r5 cmp r0, #0xf bge _021552d0 cmp r6, #0 ldrneh r0, [r8, #0x2c] cmpne r0, #0 beq _02155278 _021552d0: ldr r0, [r8, #0x30] subs r5, r0, r7 ldr r0, [sp, #0x10] add r0, r0, r5 str r0, [sp, #0x10] beq _021552f8 bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 str r0, [sp, #0xc] _021552f8: ldr r0, [r8, #0x30] str r0, [r8, #0x28] ldrb r0, [r8, #8] cmp r0, #4 ldreqh r0, [r8, #0x2c] cmpeq r0, #0 cmpeq r5, #0 bne _0215537c cmp r6, #0 bne _02155380 bl func_0200e8f8 mov r7, r0, lsr #0x10 orr r7, r7, r1, lsl #16 ldr r4, _021553f4 ; =data_ov61_0217f414 b _02155344 _02155334: bl func_ov61_02151c08 ldrh r0, [r8, #0x2c] cmp r0, #0 bne _0215536c _02155344: ldr r0, [r4, #0x48] blx r0 cmp r0, #0 beq _0215536c bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 sub r0, r0, r7 cmp r0, #0xf blt _02155334 _0215536c: ldrh r0, [r8, #0x2c] cmp r0, #0 moveq r6, #1 b _02155380 _0215537c: mov r6, #0 _02155380: cmp r5, sl addlo fp, fp, r5 sublo sl, sl, r5 blo _021553a8 sub r1, r5, sl ldr r0, [sp, #8] add fp, sb, r1 mov sb, #0 sub sl, r0, r1 str sb, [sp, #8] _021553a8: ldr r0, _021553f4 ; =data_ov61_0217f414 ldr r0, [r0, #0x48] blx r0 cmp r0, #0 cmpne sl, #0 beq _021553e8 ldrb r0, [r8, #8] cmp r0, #4 bne _021553e8 bl func_0200e8f8 mov r2, r0, lsr #0x10 ldr r0, [sp, #0xc] orr r2, r2, r1, lsl #16 sub r0, r2, r0 cmp r0, #0x9f blt _02155248 _021553e8: ldr r0, [sp, #0x10] add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02155204 _021553f4: .word data_ov61_0217f414 .global func_ov61_021553f8 arm_func_start func_ov61_021553f8 func_ov61_021553f8: ; 0x021553f8 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr ip, _021554c4 ; =data_027e02a0 mov r7, r1 ldr ip, [ip, #4] mov r6, r2 ldr r4, [ip, #0xa4] mov r5, r3 cmp r4, #0 beq _021554bc ldrb ip, [r4, #8] cmp ip, #0xa bne _02155458 cmp r7, #0 beq _02155438 mov r2, r4 bl func_ov61_02152dc8 _02155438: cmp r5, #0 beq _02155450 mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02152dc8 _02155450: add r0, r7, r5 b _021554ac _02155458: cmp ip, #0xb bne _02155490 cmp r7, #0 beq _02155470 mov r2, r4 bl func_ov61_02152d18 _02155470: cmp r5, #0 beq _02155488 mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02152d18 _02155488: add r0, r7, r5 b _021554ac _02155490: ldrb ip, [r4, #9] cmp ip, #0 str r4, [sp] beq _021554a8 bl func_ov61_0215c880 b _021554ac _021554a8: bl func_ov61_02155204 _021554ac: ldr r1, _021554c8 ; =data_ov61_0217f414 ldrb r1, [r1] cmp r1, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _021554bc: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021553f8 _021554c4: .word data_027e02a0 _021554c8: .word data_ov61_0217f414 .global func_ov61_021554cc arm_func_start func_ov61_021554cc func_ov61_021554cc: ; 0x021554cc stmdb sp!, {r3, r4, r5, lr} ldr r3, _02155560 ; =data_027e02a0 mov r2, r0 ldr r4, [r3, #4] mov r3, r1 ldr r5, [r4, #0xa4] cmp r5, #0 beq _02155558 ldr r4, [r5, #0x60] cmp r4, #0 beq _02155548 ldr r0, [r5, #0x5c] mov r1, r4 bl func_ov61_021553f8 ldr r1, [r5, #0x60] mov r4, r0 cmp r4, r1 bhs _02155538 ldr r0, [r5, #0x5c] sub r2, r1, r4 add r1, r0, r4 bl func_020435b4 ldr r1, [r5, #0x60] mov r0, #0 sub r1, r1, r4 str r1, [r5, #0x60] ldmia sp!, {r3, r4, r5, pc} _02155538: mov r0, #0 str r0, [r5, #0x60] sub r0, r4, r1 ldmia sp!, {r3, r4, r5, pc} _02155548: mov r2, #0 mov r3, r2 bl func_ov61_021553f8 ldmia sp!, {r3, r4, r5, pc} _02155558: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021554cc _02155560: .word data_027e02a0 .global func_ov61_02155564 arm_func_start func_ov61_02155564 func_ov61_02155564: ; 0x02155564 stmdb sp!, {r3, lr} ldr r0, _021555d0 ; =data_027e02a0 ldr r0, [r0, #4] ldr r0, [r0, #0xa4] cmp r0, #0 beq _021555c8 ldrb r1, [r0, #9] cmp r1, #0 beq _02155590 bl func_ov61_0215c804 ldmia sp!, {r3, pc} _02155590: ldr r1, [r0, #0x44] cmp r1, #0 bne _021555b8 ldrb r0, [r0, #8] cmp r0, #4 beq _021555b8 add r0, r0, #0xf6 and r0, r0, #0xff cmp r0, #1 bhi _021555c0 _021555b8: mov r0, r1 ldmia sp!, {r3, pc} _021555c0: mvn r0, #0 ldmia sp!, {r3, pc} _021555c8: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02155564 _021555d0: .word data_027e02a0 .global func_ov61_021555d4 arm_func_start func_ov61_021555d4 func_ov61_021555d4: ; 0x021555d4 stmdb sp!, {r4, lr} ldr r0, _02155610 ; =data_027e02a0 ldr r0, [r0, #4] ldr r4, [r0, #0xa4] cmp r4, #0 ldrne r1, [r4, #0x60] cmpne r1, #0 ldmeqia sp!, {r4, pc} mov r2, #0 ldr r0, [r4, #0x5c] mov r3, r2 bl func_ov61_021553f8 mov r0, #0 str r0, [r4, #0x60] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021555d4 _02155610: .word data_027e02a0 .global func_ov61_02155614 arm_func_start func_ov61_02155614 func_ov61_02155614: ; 0x02155614 stmdb sp!, {r4, r5, r6, lr} ldr r0, _021556b0 ; =data_ov61_0217f414 ldr r0, [r0, #0x18] blx r0 ldr r0, _021556b0 ; =data_ov61_0217f414 ldr r0, [r0, #0x50] cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} bl func_ov61_02152680 mov r0, #0x64 bl func_0200db28 ldr r0, _021556b0 ; =data_ov61_0217f414 ldr r0, [r0, #0x50] bl func_ov61_02152680 bl func_0200e8f8 mov r6, r0, lsr #0x10 orr r6, r6, r1, lsl #16 mov r5, #0x64 ldr r4, _021556b0 ; =data_ov61_0217f414 b _02155684 _02155664: ldrb r0, [r4, #1] cmp r0, #0 beq _0215567c mov r0, #4 bl func_ov61_02151b04 ldmia sp!, {r4, r5, r6, pc} _0215567c: mov r0, r5 bl func_0200db28 _02155684: ldr r0, [r4, #0x48] blx r0 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 sub r0, r0, r6 cmp r0, #0x17 blt _02155664 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02155614 _021556b0: .word data_ov61_0217f414 .global func_ov61_021556b4 arm_func_start func_ov61_021556b4 func_ov61_021556b4: ; 0x021556b4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r3, _02155a04 ; =data_ov61_0217f414 mov r1, #0 ldr r0, _02155a08 ; =data_ov61_0217f4f4 mov r2, #0x64 str r1, [r3, #0x44] bl func_02007a44 ldr r1, _02155a04 ; =data_ov61_0217f414 mov r3, #0x180 ldr r0, _02155a0c ; =data_ov61_0217fac0 str r3, [r1, #0x11c] str r0, [r1, #0x120] ldr r2, _02155a10 ; =data_ov61_0217f940 str r3, [r1, #0x128] ldr r0, _02155a08 ; =data_ov61_0217f4f4 str r2, [r1, #0x12c] bl func_ov61_02154b08 mov sl, #1 ldr r0, _02155a04 ; =data_ov61_0217f414 mov fp, sl str sl, [sp] str sl, [r0, #0xc] mov r4, #0 _02155710: mov r0, #0x3e8 bl func_0200db28 ldr r0, _02155a04 ; =data_ov61_0217f414 ldr r1, [r0, #0x44] cmp r1, #0 bne _021559e4 bl func_0200e8f8 ldr r2, _02155a04 ; =data_ov61_0217f414 mov r5, r0, lsr #0x10 ldr r0, [r2, #0x48] orr r5, r5, r1, lsl #16 blx r0 cmp r0, #0 beq _0215583c ldr r0, [sp] subs r0, r0, #1 str r0, [sp] bne _02155850 ldr r0, _02155a04 ; =data_ov61_0217f414 ldr r1, [r0, #0x10] tst r1, #1 beq _0215577c cmp r4, #0 bne _02155850 bl func_ov61_02155614 mov r4, #1 b _02155850 _0215577c: cmp r4, #3 addls pc, pc, r4, lsl #2 b _02155850 _02155788: ; jump table b _02155798 ; case 0 b _021557dc ; case 1 b _02155800 ; case 2 b _02155850 ; case 3 _02155798: cmp fp, #0 movne r1, #2 strne r1, [r0, #0xc] movne fp, #0 bl func_ov61_02156100 cmp r0, #0 beq _021557c8 add r0, sp, #0 mov r1, #0 bl func_ov61_02156158 cmp r0, #0 bne _021557d4 _021557c8: bl func_ov61_02155614 mov r4, #3 b _02155850 _021557d4: mov r4, #1 b _02155850 _021557dc: add r0, sp, #0 mov r1, #1 bl func_ov61_02156158 cmp r0, #0 bne _02155850 ldr r0, [sp] cmp r0, #0x3c movlo r4, #2 b _02155850 _02155800: add r0, sp, #0 mov r1, #2 bl func_ov61_02156158 cmp r0, #0 movne r4, #1 bne _02155850 ldr r0, [sp] cmp r0, #0x3c bhs _02155850 mov r0, #3 bl func_ov61_02151b04 mov sl, #1 str sl, [sp] mov r4, #0 b _02155850 _0215583c: mov r0, #1 bl func_ov61_02151b04 mov sl, #1 str sl, [sp] mov r4, #0 _02155850: mov r3, #0 ldr r6, _02155a14 ; =data_ov61_0217f494 ldr r1, _02155a18 ; =0x000003bd mov r2, r3 _02155860: ldr r0, [r6] cmp r0, #0 beq _02155880 ldrh r0, [r6, #0xa] sub r0, r5, r0 mov r0, r0, lsl #0x10 cmp r1, r0, asr #16 strlt r2, [r6] _02155880: add r3, r3, #1 cmp r3, #8 add r6, r6, #0xc blt _02155860 ldr r0, _02155a04 ; =data_ov61_0217f414 ldr r0, [r0, #0x2c] cmp r0, #0 beq _021558b0 subs sl, sl, #1 bne _021558b0 bl func_ov61_02152680 mov sl, #0x69 _021558b0: ldr r0, _02155a1c ; =data_027e02a0 ldr sb, [r0, #8] cmp sb, #0 beq _02155978 mov r6, #0 mov r7, r6 mov r8, #1 _021558cc: ldr r0, [sb, #0xa4] cmp r0, #0 ldrne r1, [r0] cmpne r1, #0 beq _0215596c ldrb r1, [r0, #8] cmp r1, #3 bne _02155914 ldr r2, [r0, #0x10] sub r2, r5, r2 cmp r2, #0x27 ble _02155914 strb r8, [r0, #8] ldrh r1, [r0, #0x1a] strh r1, [r0, #0x18] ldr r1, [r0, #0x20] str r1, [r0, #0x1c] b _0215596c _02155914: cmp r1, #2 bne _0215594c ldr r2, [r0, #0x10] sub r2, r5, r2 cmp r2, #0x27 ble _0215594c ldr r1, [r0, #4] cmp r1, #1 bne _0215596c strb r7, [r0, #8] str r7, [r0, #4] ldr r0, [r0] bl func_0200d938 b _0215596c _0215594c: cmp r1, #4 beq _0215596c ldr r1, [r0, #4] cmp r1, #2 bne _0215596c str r6, [r0, #4] ldr r0, [r0] bl func_0200d938 _0215596c: ldr sb, [sb, #0x68] cmp sb, #0 bne _021558cc _02155978: mov sb, #0 ldr r8, _02155a20 ; =data_ov61_0217f73c ldr r6, _02155a04 ; =data_ov61_0217f414 mov r7, sb _02155988: ldrh r0, [r8, #4] cmp r0, #0 beq _021559b4 ldr r0, [r8, #0x2c] sub r0, r5, r0 cmp r0, #0xef ble _021559b4 ldr r0, [r8, #0x34] ldr r1, [r6, #0x40] blx r1 strh r7, [r8, #4] _021559b4: add sb, sb, #1 cmp sb, #8 add r8, r8, #0x38 blt _02155988 mov r0, r5 bl func_ov61_0215ca9c ldr r0, _02155a04 ; =data_ov61_0217f414 ldr r0, [r0, #0x3c] cmp r0, #0 beq _02155710 blx r0 b _02155710 _021559e4: ldr r0, [r0, #0x10] tst r0, #1 bne _021559fc cmp r4, #3 beq _021559fc bl func_ov61_02156254 _021559fc: bl func_ov61_02154b1c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021556b4 _02155a04: .word data_ov61_0217f414 _02155a08: .word data_ov61_0217f4f4 _02155a0c: .word data_ov61_0217fac0 _02155a10: .word data_ov61_0217f940 _02155a14: .word data_ov61_0217f494 _02155a18: .word 0x000003bd _02155a1c: .word data_027e02a0 _02155a20: .word data_ov61_0217f73c .global func_ov61_02155a24 arm_func_start func_ov61_02155a24 func_ov61_02155a24: ; 0x02155a24 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 mov r4, r2 mov r1, #0 mov r2, #0xec mov r6, r0 bl func_02007a44 ldr r0, _02155b94 ; =0x00000101 mov r1, #6 strh r0, [r6] ldr r0, _02155b98 ; =data_ov61_0217f414 strb r1, [r6, #2] ldr r3, [r0, #0x70] ldr r2, [r0, #0x68] ldr r1, [r0, #0x6c] umull lr, ip, r3, r2 mla ip, r3, r1, ip ldr r1, [r0, #0x74] ldr r7, [r0, #0x78] mla ip, r1, r2, ip ldr r3, [r0, #0x7c] adds r7, r7, lr adc r1, r3, ip str r7, [r0, #0x68] str r1, [r0, #0x6c] mov r0, r1, lsr #0x10 mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 cmp r4, #0 mov r2, r3, lsl #0x8 mov r0, r1, lsl #0x10 strne r1, [r4] mov r1, r0, lsr #0x10 orr r2, r2, r3, asr #8 mov r0, r1, lsl #0x8 strh r2, [r6, #4] orr r0, r0, r1, asr #8 strh r0, [r6, #6] ldr r2, _02155b98 ; =data_ov61_0217f414 ldr r0, _02155b9c ; =data_ov61_0217f8fc ldr r1, [r2, #0x50] mov r1, r1, lsr #0x10 mov r1, r1, lsl #0x10 mov r3, r1, lsr #0x10 mov r1, r3, lsl #0x8 orr r1, r1, r3, asr #8 strh r1, [r6, #0xc] ldr r2, [r2, #0x50] add r1, r6, #0x1c mov r2, r2, lsl #0x10 mov r3, r2, lsr #0x10 mov r2, r3, lsl #0x8 orr r3, r2, r3, asr #8 mov r2, #6 strh r3, [r6, #0xe] bl func_02007ad8 ldr r0, _02155ba0 ; =0x00008263 ldr r1, _02155ba4 ; =0x00006353 strh r0, [r6, #0xec] strh r1, [r6, #0xee] ldr r0, _02155ba8 ; =0x00000135 mov r1, #7 strh r0, [r6, #0xf0] strb r5, [r6, #0xf2] mov r0, #0x3d strb r0, [r6, #0xf3] strb r1, [r6, #0xf4] mov r3, #1 ldr r0, _02155b9c ; =data_ov61_0217f8fc add r1, r6, #0xf6 mov r2, #6 strb r3, [r6, #0xf5] bl func_02007ad8 mov r1, #0xc strb r1, [r6, #0xfc] mov r2, #0xa ldr r0, _02155bac ; =data_ov61_0217bc1c add r1, r6, #0xfe strb r2, [r6, #0xfd] bl func_02007ad8 mov r1, #0x37 strb r1, [r6, #0x108] mov r2, #3 add r0, r6, #0xd strb r2, [r6, #0x109] mov r1, #1 strb r1, [r6, #0x10a] strb r2, [r6, #0x10b] mov r1, #6 strb r1, [r6, #0x10c] add r0, r0, #0x100 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02155a24 _02155b94: .word 0x00000101 _02155b98: .word data_ov61_0217f414 _02155b9c: .word data_ov61_0217f8fc _02155ba0: .word 0x00008263 _02155ba4: .word 0x00006353 _02155ba8: .word 0x00000135 _02155bac: .word data_ov61_0217bc1c .global func_ov61_02155bb0 arm_func_start func_ov61_02155bb0 func_ov61_02155bb0: ; 0x02155bb0 stmdb sp!, {r3, r4, r5, lr} mov ip, r0 mov r5, r2 cmp r3, r1 bhs _02155bdc sub r4, r1, r3 mov r0, r5 mov r1, ip mov r2, r4 bl func_02007a44 add r5, r5, r4 _02155bdc: mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02155bb0 .global func_ov61_02155be4 arm_func_start func_ov61_02155be4 func_ov61_02155be4: ; 0x02155be4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r4, _02155ca0 ; =data_ov61_0217f96a add r2, sp, #0 mov r0, r4 mov r1, #1 bl func_ov61_02155a24 ldr r1, _02155ca4 ; =data_ov61_0217f414 mov ip, r0 ldr r0, [r1, #0x34] cmp r0, #0 beq _02155c68 mov r0, #0x32 strb r0, [ip] mov r0, #4 strb r0, [ip, #1] ldr r0, [r1, #0x34] mov r0, r0, lsr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x8 strb r0, [ip, #2] ldr r0, [r1, #0x34] mov r0, r0, lsr #0x10 strb r0, [ip, #3] ldr r0, [r1, #0x34] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x8 strb r0, [ip, #4] ldr r0, [r1, #0x34] strb r0, [ip, #5] add ip, ip, #6 _02155c68: add r2, ip, #1 mov lr, #0xff sub r3, r2, r4 mov r0, #0 mov r1, #0x12c strb lr, [ip] bl func_ov61_02155bb0 mov r1, r0 mov r0, r4 sub r1, r1, r4 bl func_ov61_021554cc ldr r0, [sp] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_02155be4 _02155ca0: .word data_ov61_0217f96a _02155ca4: .word data_ov61_0217f414 .global func_ov61_02155ca8 arm_func_start func_ov61_02155ca8 func_ov61_02155ca8: ; 0x02155ca8 stmdb sp!, {r3, r4, r5, lr} ldr r4, _02155da8 ; =data_ov61_0217f96a mov r5, r0 add r2, sp, #0 mov r0, r4 mov r1, #3 bl func_ov61_02155a24 mov ip, r0 cmp r5, #0 bne _02155d74 mov r0, #0x32 strb r0, [ip] mov r0, #4 ldr r2, _02155dac ; =data_ov61_0217f414 strb r0, [ip, #1] ldr r1, [r2, #0x34] mov r3, #0x36 mov r1, r1, lsr #0x10 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x8 strb r1, [ip, #2] ldr r1, [r2, #0x34] mov r1, r1, lsr #0x10 strb r1, [ip, #3] ldr r1, [r2, #0x34] mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x8 strb r1, [ip, #4] ldr r1, [r2, #0x34] strb r1, [ip, #5] strb r3, [ip, #6] strb r0, [ip, #7] ldr r0, [r2, #0x20] mov r0, r0, lsr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x8 strb r0, [ip, #8] ldr r0, [r2, #0x20] mov r0, r0, lsr #0x10 strb r0, [ip, #9] ldr r0, [r2, #0x20] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x8 strb r0, [ip, #0xa] ldr r0, [r2, #0x20] strb r0, [ip, #0xb] add ip, ip, #0xc _02155d74: add r2, ip, #1 mov lr, #0xff sub r3, r2, r4 mov r0, #0 mov r1, #0x12c strb lr, [ip] bl func_ov61_02155bb0 mov r1, r0 mov r0, r4 sub r1, r1, r4 bl func_ov61_021554cc ldr r0, [sp] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02155ca8 _02155da8: .word data_ov61_0217f96a _02155dac: .word data_ov61_0217f414 .global func_ov61_02155db0 arm_func_start func_ov61_02155db0 func_ov61_02155db0: ; 0x02155db0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 add r1, r1, #1 str r0, [sp] rsb fp, r1, r1, lsl #4 bl func_0200e8f8 mov r4, r0, lsr #0x10 orr r4, r4, r1, lsl #16 mov r5, #0 b _021560b8 _02155dd8: bl func_ov61_02155564 cmp r0, #0 bne _02155dec bl func_ov61_02151c08 b _021560b8 _02155dec: add r0, sp, #4 bl func_ov61_02154fd8 ldr r1, [sp, #4] mov r6, r0 cmp r1, #0xf0 bls _021560b0 ldrb r0, [r6] cmp r0, #2 bne _021560b0 ldrh r3, [r6, #6] ldrh r2, [r6, #4] mov r0, r3, lsl #0x8 mov r1, r2, lsl #0x8 orr r2, r1, r2, asr #8 orr r1, r0, r3, asr #8 mov r0, r2, lsl #0x10 mov r1, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r1, r0, r2, lsl #16 ldr r0, [sp] cmp r0, r1 bne _021560b0 ldr r1, _021560f8 ; =data_ov61_0217f8fc add r0, r6, #0x1c bl func_ov61_021521c8 cmp r0, #0 bne _021560b0 ldrb r3, [r6, #0x10] ldrb r2, [r6, #0x11] ldrb r1, [r6, #0x12] ldrb r0, [r6, #0x13] orr r3, r2, r3, lsl #8 ldrb r2, [r6, #0xec] orr r1, r0, r1, lsl #8 mov r0, r3, lsl #0x10 mov r1, r1, lsl #0x10 mov r5, r0, lsr #0x10 mov r0, r1, lsr #0x10 cmp r2, #0x63 orr r2, r0, r5, lsl #16 ldreqb r0, [r6, #0xed] ldr r3, [sp, #4] mov r5, #3 cmpeq r0, #0x82 ldreqb r0, [r6, #0xee] add r1, r6, r3 cmpeq r0, #0x53 ldreqb r0, [r6, #0xef] addeq r3, r6, #0xf0 cmpeq r0, #0x63 bne _021560b0 mov r0, #0 mov sb, #2 mov sl, #1 ldr ip, _021560fc ; =data_ov61_0217f414 b _0215609c _02155ed0: cmp r6, #0 beq _0215609c cmp r6, #0x33 bgt _02155f0c bge _02156004 cmp r6, #6 bgt _02156090 cmp r6, #1 blt _02156090 beq _02155f28 cmp r6, #3 beq _02155f5c cmp r6, #6 beq _02155f90 b _02156090 _02155f0c: cmp r6, #0x35 bgt _02155f1c beq _02156038 b _02156090 _02155f1c: cmp r6, #0x36 beq _02156060 b _02156090 _02155f28: ldrb lr, [r3, #1] ldrb r8, [r3, #2] ldrb r7, [r3, #3] ldrb r6, [r3, #4] orr r8, r8, lr, lsl #8 mov r8, r8, lsl #0x10 orr r6, r6, r7, lsl #8 mov r6, r6, lsl #0x10 mov r7, r8, lsr #0x10 mov r6, r6, lsr #0x10 orr r6, r6, r7, lsl #16 str r6, [ip, #0x1c] b _02156090 _02155f5c: ldrb lr, [r3, #1] ldrb r8, [r3, #2] ldrb r7, [r3, #3] ldrb r6, [r3, #4] orr r8, r8, lr, lsl #8 mov r8, r8, lsl #0x10 orr r6, r6, r7, lsl #8 mov r6, r6, lsl #0x10 mov r7, r8, lsr #0x10 mov r6, r6, lsr #0x10 orr r6, r6, r7, lsl #16 str r6, [ip, #0x2c] b _02156090 _02155f90: ldrb r6, [r3] cmp r6, #8 strlo r0, [ip, #0x64] blo _02155fd0 ldrb lr, [r3, #5] ldrb r8, [r3, #6] ldrb r7, [r3, #7] ldrb r6, [r3, #8] orr r8, r8, lr, lsl #8 mov r8, r8, lsl #0x10 orr r6, r6, r7, lsl #8 mov r6, r6, lsl #0x10 mov r7, r8, lsr #0x10 mov r6, r6, lsr #0x10 orr r6, r6, r7, lsl #16 str r6, [ip, #0x64] _02155fd0: ldrb lr, [r3, #1] ldrb r8, [r3, #2] ldrb r7, [r3, #3] ldrb r6, [r3, #4] orr r8, r8, lr, lsl #8 mov r8, r8, lsl #0x10 orr r6, r6, r7, lsl #8 mov r6, r6, lsl #0x10 mov r7, r8, lsr #0x10 mov r6, r6, lsr #0x10 orr r6, r6, r7, lsl #16 str r6, [ip, #0x60] b _02156090 _02156004: ldrb lr, [r3, #1] ldrb r8, [r3, #2] ldrb r7, [r3, #3] ldrb r6, [r3, #4] orr r8, r8, lr, lsl #8 mov r8, r8, lsl #0x10 orr r6, r6, r7, lsl #8 mov r6, r6, lsl #0x10 mov r7, r8, lsr #0x10 mov r6, r6, lsr #0x10 orr r6, r6, r7, lsl #16 str r6, [ip, #0x4c] b _02156090 _02156038: ldrb r6, [r3, #1] cmp r6, #2 beq _02156054 cmp r6, #5 moveq r5, sb streq r2, [ip, #0x50] b _02156090 _02156054: mov r5, sl str r2, [ip, #0x34] b _02156090 _02156060: ldrb r8, [r3, #1] ldrb r7, [r3, #2] ldrb r6, [r3, #3] ldrb lr, [r3, #4] orr r7, r7, r8, lsl #8 mov r7, r7, lsl #0x10 orr r6, lr, r6, lsl #8 mov r6, r6, lsl #0x10 mov r7, r7, lsr #0x10 mov r6, r6, lsr #0x10 orr r6, r6, r7, lsl #16 str r6, [ip, #0x20] _02156090: ldrb r6, [r3] add r6, r6, #1 add r3, r3, r6 _0215609c: cmp r3, r1 bhs _021560b0 ldrb r6, [r3], #1 cmp r6, #0xff bne _02155ed0 _021560b0: ldr r0, [sp, #4] bl func_ov61_021550cc _021560b8: ldr r0, _021560fc ; =data_ov61_0217f414 ldr r0, [r0, #0x48] blx r0 cmp r0, #0 beq _021560ec cmp r5, #0 bne _021560ec bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 sub r0, r0, r4 cmp r0, fp blt _02155dd8 _021560ec: mov r0, r5 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02155db0 _021560f8: .word data_ov61_0217f8fc _021560fc: .word data_ov61_0217f414 .global func_ov61_02156100 arm_func_start func_ov61_02156100 func_ov61_02156100: ; 0x02156100 stmdb sp!, {r3, r4, r5, lr} bl func_ov61_02154bc0 bl func_ov61_02154b34 mov r1, #0x43 sub r2, r1, #0x44 mov r0, #0x44 bl func_ov61_02154b60 mov r5, #0 _02156120: bl func_ov61_02155be4 mov r1, r5 bl func_ov61_02155db0 mov r4, r0 cmp r4, #1 beq _02156144 add r5, r5, #1 cmp r5, #4 blt _02156120 _02156144: bl func_ov61_02154bf4 cmp r4, #1 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02156100 .global func_ov61_02156158 arm_func_start func_ov61_02156158 func_ov61_02156158: ; 0x02156158 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r1 mov r5, r0 bl func_ov61_02154bc0 bl func_ov61_02154b34 cmp r4, #1 mov r0, #0x44 bne _0215618c ldr r1, _02156250 ; =data_ov61_0217f414 ldr r2, [r1, #0x20] mov r1, #0x43 bl func_ov61_02154b60 b _02156198 _0215618c: mov r1, #0x43 sub r2, r1, #0x44 bl func_ov61_02154b60 _02156198: mov r7, #0 _0215619c: mov r0, r4 bl func_ov61_02155ca8 mov r1, r7 bl func_ov61_02155db0 movs r6, r0 bne _021561c0 add r7, r7, #1 cmp r7, #4 blt _0215619c _021561c0: bl func_ov61_02154bf4 cmp r6, #2 bne _021561f4 ldr r1, _02156250 ; =data_ov61_0217f414 mov r0, #1 ldr r2, [r1, #0x4c] mov r2, r2, lsr #0x1 str r2, [r5] ldr r2, [r1, #0x4c] add r2, r2, r2, lsl #1 mov r2, r2, lsr #0x3 str r2, [r1, #0x38] ldmia sp!, {r3, r4, r5, r6, r7, pc} _021561f4: ldr r0, _02156250 ; =data_ov61_0217f414 cmp r4, #1 ldr r1, [r0, #0x38] mov r1, r1, lsr #0x1 str r1, [r0, #0x38] str r1, [r5] beq _0215621c cmp r4, #2 beq _0215623c b _02156248 _0215621c: cmp r1, #0x3c bhs _02156248 mov r1, #1 str r1, [r5] ldr r1, [r0, #0x4c] mov r1, r1, lsr #0x3 str r1, [r0, #0x38] b _02156248 _0215623c: cmp r1, #0x3c movlo r0, #1 strlo r0, [r5] _02156248: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02156158 _02156250: .word data_ov61_0217f414 .global func_ov61_02156254 arm_func_start func_ov61_02156254 func_ov61_02156254: ; 0x02156254 stmdb sp!, {r4, lr} bl func_ov61_02154bc0 bl func_ov61_02154b34 ldr r1, _021562b8 ; =data_ov61_0217f414 mov r0, #0x44 ldr r2, [r1, #0x20] mov r1, #0x43 bl func_ov61_02154b60 ldr r4, _021562bc ; =data_ov61_0217f96a mov r1, #7 mov r0, r4 mov r2, #0 bl func_ov61_02155a24 mov r1, #0xff add r2, r0, #1 strb r1, [r0] mov r0, #0 mov r1, #0x12c sub r3, r2, r4 bl func_ov61_02155bb0 sub r1, r0, r4 mov r0, r4 bl func_ov61_021554cc bl func_ov61_02154bf4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02156254 _021562b8: .word data_ov61_0217f414 _021562bc: .word data_ov61_0217f96a .global func_ov61_021562c0 arm_func_start func_ov61_021562c0 func_ov61_021562c0: ; 0x021562c0 ldrb r2, [r0], #1 cmp r2, #0 bxeq lr _021562cc: and r1, r2, #0xc0 cmp r1, #0xc0 addeq r0, r0, #1 bxeq lr add r0, r0, r2 ldrb r2, [r0], #1 cmp r2, #0 bne _021562cc bx lr arm_func_end func_ov61_021562c0 .global func_ov61_021562f0 arm_func_start func_ov61_021562f0 func_ov61_021562f0: ; 0x021562f0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x40 mov sb, r2 mov r2, sb, lsl #0x8 mov sl, r1 orr r1, r2, sb, asr #8 strh r1, [sp, #4] cmp sl, #0x20 mov r6, #0 movne r1, #1 strneh r1, [sp, #6] ldreq r1, _02156590 ; =0x00001001 strh r6, [sp, #0xa] streqh r1, [sp, #6] mov r1, #0x100 strh r1, [sp, #8] add r1, sp, #0x10 strh r6, [sp, #0xc] strh r6, [sp, #0xe] str r6, [sp] ldrb r7, [r0], #1 mov fp, r3 ldr r8, [sp, #0x68] add r2, r1, #1 cmp r7, #0 beq _021563b8 mov r4, r6 add r5, sp, #4 mov r3, r6 _02156364: cmp r7, #0x2e beq _02156394 sub r6, r2, r5 cmp r6, #0x3c addge sp, sp, #0x40 mvnge r0, #0 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r6, r4, #1 mov r4, r6 str r6, [sp] strb r7, [r2], #1 b _021563ac _02156394: strb r6, [r1] mov r1, r2 mov r4, r3 mov r6, r3 str r3, [sp] add r2, r2, #1 _021563ac: ldrb r7, [r0], #1 cmp r7, #0 bne _02156364 _021563b8: ldr r0, [sp] mov r3, #0 strb r0, [r1] strb r3, [r2] mov r0, sl, lsr #0x8 strb r0, [r2, #1] strb sl, [r2, #2] strb r3, [r2, #3] mov r3, #1 add r0, sp, #4 add r1, r2, #5 sub r1, r1, r0 strb r3, [r2, #4] bl func_ov61_021554cc mov r4, #0 bl func_0200e8f8 mov r5, r0, lsr #0x10 orr r5, r5, r1, lsl #16 b _02156550 _02156404: bl func_ov61_02155564 cmp r0, #0 bne _02156418 bl func_ov61_02151c08 b _02156550 _02156418: add r0, sp, #0 bl func_ov61_02154fd8 ldr r1, [sp] cmp r1, #0xc bls _02156548 ldrh r3, [r0] mov r2, r3, lsl #0x8 orr r2, r2, r3, asr #8 mov r2, r2, lsl #0x10 cmp sb, r2, lsr #16 bne _02156548 ldrb r2, [r0, #3] and r2, r2, #0xf cmp r2, #3 mvneq r4, #0 beq _02156548 cmp r2, #0 bne _02156548 ldrb r3, [r0, #4] ldrb r2, [r0, #5] add r6, r0, r1 add r0, r0, #0xc orr r1, r2, r3, lsl #8 mov r1, r1, lsl #0x10 movs r1, r1, lsr #0x10 sub r7, r1, #1 beq _02156498 _02156484: bl func_ov61_021562c0 cmp r7, #0 add r0, r0, #4 sub r7, r7, #1 bne _02156484 _02156498: cmp r0, r6 bhs _02156548 _021564a0: bl func_ov61_021562c0 ldrb r7, [r0, #8] ldrb r1, [r0, #9] ldrb r3, [r0] ldrb r2, [r0, #1] orr r1, r1, r7, lsl #8 mov r1, r1, lsl #0x10 orr r2, r2, r3, lsl #8 mov r2, r2, lsl #0x10 cmp sl, r2, lsr #16 mov r2, r1, lsr #0x10 bne _02156538 cmp sl, #0xc beq _02156518 add r4, r0, #8 add r0, r0, #6 add r6, r4, r2 add r1, r0, r2 ldrb r3, [r0, r2] ldrb r0, [r1, #1] ldrb r2, [r4, r2] ldrb r1, [r6, #1] orr r0, r0, r3, lsl #8 mov r0, r0, lsl #0x10 orr r1, r1, r2, lsl #8 mov r1, r1, lsl #0x10 mov r2, r0, lsr #0x10 mov r0, r1, lsr #0x10 orr r4, r0, r2, lsl #16 b _02156548 _02156518: cmp r2, r8 movhi r4, #2 bhi _02156548 mov r1, fp add r0, r0, #0xa bl func_02007ad8 mov r4, #1 b _02156548 _02156538: add r1, r2, #0xa add r0, r0, r1 cmp r0, r6 blo _021564a0 _02156548: ldr r0, [sp] bl func_ov61_021550cc _02156550: ldr r0, _02156594 ; =data_ov61_0217f414 ldr r0, [r0, #0x48] blx r0 cmp r0, #0 beq _02156584 cmp r4, #0 bne _02156584 bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 sub r0, r0, r5 cmp r0, #0xf blt _02156404 _02156584: mov r0, r4 add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021562f0 _02156590: .word 0x00001001 _02156594: .word data_ov61_0217f414 .global func_ov61_02156598 arm_func_start func_ov61_02156598 func_ov61_02156598: ; 0x02156598 str r0, [r1] mov ip, #0 mov r2, #0xa _021565a4: ldrb r3, [r0] sub r3, r3, #0x30 and r3, r3, #0xff cmp r3, #9 mlals ip, r2, ip, r3 addls r0, r0, #1 strls r0, [r1] bls _021565a4 mov r0, ip bx lr arm_func_end func_ov61_02156598 .global func_ov61_021565cc arm_func_start func_ov61_021565cc func_ov61_021565cc: ; 0x021565cc stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r5, #0 mov r8, r0 mov r7, r1 mov r6, r5 add r4, sp, #0 _021565e8: mov r0, r8 mov r1, r4 bl func_ov61_02156598 ldr r2, [sp] cmp r8, r2 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r8, r2 cmp r0, #0xff bhi _0215663c cmp r6, #3 ldrneb r1, [r2] addne r8, r2, #1 cmpne r1, #0x2e bne _0215663c cmp r6, #3 bne _02156648 ldrb r1, [r8] cmp r1, #0 beq _02156648 _0215663c: add sp, sp, #4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02156648: add r6, r6, #1 cmp r6, #4 orr r5, r0, r5, lsl #8 blt _021565e8 str r5, [r7] mov r0, #1 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_021565cc .global func_ov61_02156668 arm_func_start func_ov61_02156668 func_ov61_02156668: ; 0x02156668 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 movs r5, r1 mov r6, r0 mov r4, r2 addeq sp, sp, #4 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} bl func_ov61_02154bc0 bl func_ov61_02154b34 mov r2, r5 mov r0, #0 mov r1, #0x35 bl func_ov61_02154b60 mov r0, r6 mov r2, r4 mov r3, #0 str r3, [sp] mov r1, #1 bl func_ov61_021562f0 mov r4, r0 bl func_ov61_02154bf4 mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02156668 .global func_ov61_021566cc arm_func_start func_ov61_021566cc func_ov61_021566cc: ; 0x021566cc stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc ldr r2, _021567fc ; =data_ov61_0217f414 mov r6, #0 ldr r5, [r2, #0x70] ldr r3, [r2, #0x68] ldr r1, [r2, #0x6c] umull r8, r7, r5, r3 ldr sb, [r2, #0x78] mla r7, r5, r1, r7 ldr r4, [r2, #0x74] adds fp, sb, r8 mla r7, r4, r3, r7 ldr r8, [r2, #0x7c] umull r3, r1, r5, fp adc sl, r8, r7 mla r1, r5, sl, r1 str fp, [r2, #0x68] mov r7, r6, lsl #0x10 adds r5, sb, r3 mla r1, r4, fp, r1 str sl, [r2, #0x6c] orr r7, r7, sl, lsr #16 adc r4, r8, r1 mov r3, r6, lsl #0x10 str r5, [r2, #0x68] orr r3, r3, r4, lsr #16 add r1, sp, #8 mov sl, r0 strh r7, [sp, #2] str r4, [r2, #0x6c] strh r3, [sp, #4] bl func_ov61_021565cc cmp r0, #0 ldrne r0, [sp, #8] addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #1 mov fp, r6 ldr r7, _02156800 ; =data_ov61_0217f474 strb r0, [sp] strb r0, [sp, #1] add r6, sp, #2 mov r5, fp mvn r4, #0 _02156780: mov r8, #0 add sb, sp, #0 _02156788: ldrb r0, [sb] cmp r0, #0 beq _021567c0 mov r0, r8, lsl #0x1 ldrh r2, [r6, r0] ldr r1, [r7, r8, lsl #2] mov r0, sl bl func_ov61_02156668 cmp r0, #0 str r0, [sp, #8] cmpne r0, r4 bne _021567dc cmp r0, r4 streqb r5, [sb] _021567c0: add r8, r8, #1 cmp r8, #2 add sb, sb, #1 blt _02156788 add fp, fp, #1 cmp fp, #3 blt _02156780 _021567dc: ldr r1, [sp, #8] mvn r0, #0 cmp r1, r0 moveq r0, #0 streq r0, [sp, #8] ldr r0, [sp, #8] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021566cc _021567fc: .word data_ov61_0217f414 _02156800: .word data_ov61_0217f474 .global func_ov61_02156804 arm_func_start func_ov61_02156804 func_ov61_02156804: ; 0x02156804 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _02156838 ; =data_02000bf0 bl func_02000b60 ldr r0, _0215683c ; =data_ov61_0217bc28 ldr r1, [r0] cmp r1, #0 movne r0, #0 ldmneia sp!, {r4, pc} str r4, [r0] bl func_ov61_02156880 bl func_ov61_02156840 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02156804 _02156838: .word data_02000bf0 _0215683c: .word data_ov61_0217bc28 .global func_ov61_02156840 arm_func_start func_ov61_02156840 func_ov61_02156840: ; 0x02156840 stmdb sp!, {r4, lr} ldr r0, _02156874 ; =data_ov61_0217bc28 ldr r0, [r0] ldr r0, [r0, #0x20] bl func_ov61_02156a78 movs r4, r0 bmi _0215686c ldr r0, _02156878 ; =data_ov61_0217bc60 bl func_ov61_02156dac ldr r1, _0215687c ; =data_ov61_02180c40 str r0, [r1, #0xc] _0215686c: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02156840 _02156874: .word data_ov61_0217bc28 _02156878: .word data_ov61_0217bc60 _0215687c: .word data_ov61_02180c40 .global func_ov61_02156880 arm_func_start func_ov61_02156880 func_ov61_02156880: ; 0x02156880 stmdb sp!, {r3, r4, r5, lr} ldr r0, _021569b4 ; =data_ov61_0217bc28 ldr r4, _021569b8 ; =data_ov61_02180c50 ldr r5, [r0] mov r0, r4 mov r1, #0 mov r2, #0x30 bl func_02007a44 ldr r1, [r5, #0x18] ldr r0, _021569bc ; =data_ov61_02180c40 ldr r2, _021569c0 ; =func_ov61_02156a60 str r1, [r0, #0x14] ldr r3, [r5, #0x1c] mov r1, #0 str r3, [r0, #0x18] str r2, [r0, #0x20] str r1, [r0, #0x24] str r1, [r0, #0x28] ldr r1, [r0] str r1, [r0, #0x3c] ldr r0, [r5, #0x24] cmp r0, #0 moveq r0, #0x4000 str r0, [r4, #0x20] ldr r0, [r5, #0x28] cmp r0, #0 bne _02156900 ldr r1, _021569b4 ; =data_ov61_0217bc28 ldr r0, [r4, #0x20] ldr r1, [r1] ldr r1, [r1, #0x18] blx r1 _02156900: str r0, [r4, #0x1c] ldr r1, [r5, #0x30] ldr lr, [r5, #0x34] cmp r1, #0 moveq r1, #0x240 sub ip, r1, #0x28 cmp lr, #0 moveq lr, #0x10c0 ldr r2, _021569c4 ; =data_ov61_0217bc48 add r0, lr, lr, lsr #31 ldr r1, _021569c8 ; =data_ov61_0217f464 mov r3, #0 strh lr, [r2, #2] mov r0, r0, asr #0x1 strh r0, [r2, #4] str ip, [r4, #0x24] str r3, [r1] ldr r0, [r5] mov r2, #1 cmp r0, #0 beq _02156974 ldr r1, _021569cc ; =func_ov61_02156a48 ldr r0, _021569bc ; =data_ov61_02180c40 str r3, [r4] str r1, [r4, #0xc] str r2, [r0, #8] ldr r0, [r0, #4] str r0, [r4, #0x28] b _02156988 _02156974: ldr r0, _021569bc ; =data_ov61_02180c40 ldr r1, _021569d0 ; =func_ov61_021569dc str r3, [r0, #8] str r2, [r4] str r1, [r4, #0xc] _02156988: ldr r0, [r5, #0x2c] cmp r0, #0 moveq r0, #0xb bl func_ov61_02151f20 ldr r0, _021569d4 ; =func_ov61_02152454 bl func_ov61_02161104 ldr r0, _021569d8 ; =func_ov61_021588b4 bl func_ov61_02151ec8 mov r0, r4 bl func_ov61_02151c3c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02156880 _021569b4: .word data_ov61_0217bc28 _021569b8: .word data_ov61_02180c50 _021569bc: .word data_ov61_02180c40 _021569c0: .word func_ov61_02156a60 _021569c4: .word data_ov61_0217bc48 _021569c8: .word data_ov61_0217f464 _021569cc: .word func_ov61_02156a48 _021569d0: .word func_ov61_021569dc _021569d4: .word func_ov61_02152454 _021569d8: .word func_ov61_021588b4 .global func_ov61_021569dc arm_func_start func_ov61_021569dc func_ov61_021569dc: ; 0x021569dc ldr r0, _02156a30 ; =data_ov61_0217bc28 ldr r1, _02156a34 ; =data_ov61_0217f464 ldr ip, [r0] ldr r0, _02156a38 ; =data_ov61_0217f430 ldr r3, [ip, #4] ldr r2, _02156a3c ; =data_ov61_0217f440 str r3, [r1] ldr r3, [ip, #8] ldr r1, _02156a40 ; =data_ov61_0217f474 str r3, [r0] ldr r3, [ip, #0xc] ldr r0, _02156a44 ; =data_ov61_02180c40 str r3, [r2] ldr r2, [ip, #0x10] str r2, [r1] ldr r2, [ip, #0x14] str r2, [r1, #4] ldr r1, [r0, #8] orr r1, r1, #2 str r1, [r0, #8] bx lr .align 2, 0 arm_func_end func_ov61_021569dc _02156a30: .word data_ov61_0217bc28 _02156a34: .word data_ov61_0217f464 _02156a38: .word data_ov61_0217f430 _02156a3c: .word data_ov61_0217f440 _02156a40: .word data_ov61_0217f474 _02156a44: .word data_ov61_02180c40 .global func_ov61_02156a48 arm_func_start func_ov61_02156a48 func_ov61_02156a48: ; 0x02156a48 ldr r0, _02156a5c ; =data_ov61_02180c40 ldr r1, [r0, #8] orr r1, r1, #2 str r1, [r0, #8] bx lr .align 2, 0 arm_func_end func_ov61_02156a48 _02156a5c: .word data_ov61_02180c40 .global func_ov61_02156a60 arm_func_start func_ov61_02156a60 func_ov61_02156a60: ; 0x02156a60 stmdb sp!, {r3, lr} bl func_ov61_02161060 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02156a60 .global func_ov61_02156a78 arm_func_start func_ov61_02156a78 func_ov61_02156a78: ; 0x02156a78 stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r0, #0x2c mul r1, r4, r0 ldr r0, _02156b00 ; =data_ov61_0217bc28 mov r2, r4, lsl #0x2 add r2, r2, #3 ldr r0, [r0] add r1, r1, #3 bic r5, r2, #3 bic r2, r1, #3 ldr r1, [r0, #0x18] add r0, r2, r5 blx r1 movs r6, r0 mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02156b04 ; =data_ov61_02180c84 mov r1, r6 mov r2, r4 bl func_0200ddb4 cmp r4, #0 add r5, r6, r5 ble _02156af0 _02156ad8: mov r0, r5 bl func_ov61_02156bbc sub r4, r4, #1 cmp r4, #0 add r5, r5, #0x2c bgt _02156ad8 _02156af0: ldr r1, _02156b08 ; =data_ov61_02180c80 mov r0, #0 str r6, [r1] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02156a78 _02156b00: .word data_ov61_0217bc28 _02156b04: .word data_ov61_02180c84 _02156b08: .word data_ov61_02180c80 .global func_ov61_02156b0c arm_func_start func_ov61_02156b0c func_ov61_02156b0c: ; 0x02156b0c stmdb sp!, {r3, lr} ldr r0, _02156b4c ; =data_ov61_02180c80 ldr r2, [r0, #0x20] ldr r1, [r0, #0x18] cmp r2, r1 mvnlt r0, #0 ldmltia sp!, {r3, pc} ldr r1, _02156b50 ; =data_ov61_0217bc28 ldr r0, [r0] ldr r1, [r1] ldr r1, [r1, #0x1c] blx r1 ldr r1, _02156b4c ; =data_ov61_02180c80 mov r0, #0 str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02156b0c _02156b4c: .word data_ov61_02180c80 _02156b50: .word data_ov61_0217bc28 .global func_ov61_02156b54 arm_func_start func_ov61_02156b54 func_ov61_02156b54: ; 0x02156b54 stmdb sp!, {r3, lr} mov r2, r0 ldr r0, _02156b78 ; =data_ov61_02180c84 add r1, sp, #0 bl func_0200de70 cmp r0, #0 ldrne r0, [sp] moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02156b54 _02156b78: .word data_ov61_02180c84 .global func_ov61_02156b7c arm_func_start func_ov61_02156b7c func_ov61_02156b7c: ; 0x02156b7c stmdb sp!, {r4, r5, r6, lr} mov r4, r2 mov r6, r0 mov r0, r4 mov r5, r1 bl func_ov61_02156b54 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} str r6, [r0] str r5, [r0, #4] mov r1, #0 str r1, [r0, #8] ldrsb r1, [r5, #0x73] strb r1, [r0, #0xc] strb r4, [r0, #0xd] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02156b7c .global func_ov61_02156bbc arm_func_start func_ov61_02156bbc func_ov61_02156bbc: ; 0x02156bbc stmdb sp!, {r3, lr} movs r1, r0 ldmeqia sp!, {r3, pc} ldr r0, _02156bd8 ; =data_ov61_02180c84 mov r2, #0 bl func_0200dddc ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02156bbc _02156bd8: .word data_ov61_02180c84 .global func_ov61_02156bdc arm_func_start func_ov61_02156bdc func_ov61_02156bdc: ; 0x02156bdc ldr r1, [r0, #0x64] cmp r1, #0 ldreq r1, [r0, #0x68] mov r0, r1 bx lr arm_func_end func_ov61_02156bdc .global func_ov61_02156bf0 arm_func_start func_ov61_02156bf0 func_ov61_02156bf0: ; 0x02156bf0 stmdb sp!, {r3, r4, r5, lr} movs r5, r1 beq _02156c08 ldrsb r1, [r5, #0xd] tst r1, #1 beq _02156c10 _02156c08: mov r2, #1 b _02156c14 _02156c10: mov r2, #0 _02156c14: mov r1, r5 bl func_0200dddc movs r4, r0 bne _02156c2c mov r0, r5 bl func_ov61_02156bbc _02156c2c: cmp r4, #0 movne r0, #0 mvneq r0, #0x29 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02156bf0 .global func_ov61_02156c3c arm_func_start func_ov61_02156c3c func_ov61_02156c3c: ; 0x02156c3c stmdb sp!, {r4, lr} mov r4, r1 bl func_ov61_02156bdc mov r1, r4 bl func_ov61_02156bf0 ldmia sp!, {r4, pc} arm_func_end func_ov61_02156c3c .global func_ov61_02156c54 arm_func_start func_ov61_02156c54 func_ov61_02156c54: ; 0x02156c54 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x28 mov r4, r1 ldrsb r2, [r4, #0xd] mov r5, r0 cmp r2, #1 bne _02156ca8 add r0, sp, #8 add r1, sp, #0 mov r2, #1 bl func_0200ddb4 add r2, sp, #8 mov r0, r5 mov r1, r4 str r2, [r4, #8] bl func_ov61_02156bf0 add r0, sp, #8 add r1, sp, #4 mov r2, #1 bl func_0200de70 b _02156cb8 _02156ca8: mov r2, #0 str r2, [r4, #8] bl func_ov61_02156bf0 str r0, [sp, #4] _02156cb8: ldr r0, [sp, #4] add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02156c54 .global func_ov61_02156cc4 arm_func_start func_ov61_02156cc4 func_ov61_02156cc4: ; 0x02156cc4 ldr ip, _02156cd0 ; =func_ov61_02156c54 ldr r0, [r0, #0x64] bx ip .align 2, 0 arm_func_end func_ov61_02156cc4 _02156cd0: .word func_ov61_02156c54 .global func_ov61_02156cd4 arm_func_start func_ov61_02156cd4 func_ov61_02156cd4: ; 0x02156cd4 ldr ip, _02156ce0 ; =func_ov61_02156c54 ldr r0, [r0, #0x68] bx ip .align 2, 0 arm_func_end func_ov61_02156cd4 _02156ce0: .word func_ov61_02156c54 .global func_ov61_02156ce4 arm_func_start func_ov61_02156ce4 func_ov61_02156ce4: ; 0x02156ce4 stmdb sp!, {r4, lr} mov r4, r1 bl func_ov61_02156bdc mov r1, r4 bl func_ov61_02156c54 ldmia sp!, {r4, pc} arm_func_end func_ov61_02156ce4 .global func_ov61_02156cfc arm_func_start func_ov61_02156cfc func_ov61_02156cfc: ; 0x02156cfc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #4 mov r4, #0 mov sb, r0 mov sl, r4 add r6, sp, #0 mov r5, #1 _02156d18: mov r0, sb mov r1, r6 mov r2, r5 bl func_0200dfb0 ldr r0, [sp] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} ldr r1, [r0] blx r1 mov r8, r0 bl func_0200ee4c mov r7, r0 bl func_0200dc28 mov r0, sb mov r1, r4 mov r2, r4 bl func_0200de70 ldr r0, [sp] ldr r0, [r0, #4] cmp r0, #0 strne r8, [r0, #0x6c] ldr r0, [sp] ldr r0, [r0, #8] cmp r0, #0 beq _02156d8c mov r1, r8 mov r2, sl bl func_0200dddc _02156d8c: ldr r0, [sp] bl func_ov61_02156bbc bl func_0200dc5c mov r0, r7 bl func_0200ee60 b _02156d18 arm_func_end func_ov61_02156cfc _02156da4: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .global func_ov61_02156dac arm_func_start func_ov61_02156dac func_ov61_02156dac: ; 0x02156dac stmdb sp!, {r4, lr} bl func_ov61_02156e5c movs r4, r0 mvneq r0, #0x30 ldmeqia sp!, {r4, pc} ldr r0, _02156de4 ; =func_ov61_02156de8 mov r1, r4 mov r2, #1 bl func_ov61_02156b7c mov r1, r0 mov r0, r4 bl func_ov61_02156ce4 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02156dac _02156de4: .word func_ov61_02156de8 .global func_ov61_02156de8 arm_func_start func_ov61_02156de8 func_ov61_02156de8: ; 0x02156de8 stmdb sp!, {r4, lr} ldr r4, [r0, #4] mov r0, r4 bl func_ov61_02154b08 ldrsb r0, [r4, #0x73] ldr r1, [r4, #0x68] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02156e48 _02156e0c: ; jump table b _02156e20 ; case 0 b _02156e30 ; case 1 b _02156e44 ; case 2 b _02156e48 ; case 3 b _02156e20 ; case 4 _02156e20: add r0, r1, #0x20 bl func_ov61_02154c14 bl func_ov61_02154bc0 b _02156e48 _02156e30: bl func_ov61_02154bc0 bl func_ov61_02154b34 ldr r0, _02156e58 ; =func_ov61_02157cfc bl func_ov61_02154c68 b _02156e48 _02156e44: bl func_ov61_02154b34 _02156e48: mov r0, #1 strh r0, [r4, #0x70] mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02156de8 _02156e58: .word func_ov61_02157cfc .global func_ov61_02156e5c arm_func_start func_ov61_02156e5c func_ov61_02156e5c: ; 0x02156e5c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 bl func_ov61_02156ec4 mov r4, r0 bl func_0200ee4c ldr r1, _02156ec0 ; =data_ov61_0217bc28 mov r6, r0 ldr r1, [r1] mov r0, r4 ldr r1, [r1, #0x18] blx r1 movs r5, r0 beq _02156eb0 mov r2, r4 mov r1, #0 bl func_02007a44 mov r0, r5 mov r1, r7 bl func_ov61_02156f6c mov r0, r5 bl func_ov61_02158d74 _02156eb0: mov r0, r6 bl func_0200ee60 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02156e5c _02156ec0: .word data_ov61_0217bc28 .global func_ov61_02156ec4 arm_func_start func_ov61_02156ec4 func_ov61_02156ec4: ; 0x02156ec4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrh r0, [r5, #2] mov r4, #0x80 cmp r0, #0 beq _02156f00 add r4, r4, #0x114 bl func_ov61_02158d68 add r4, r4, r0 ldrh r0, [r5, #8] bl func_ov61_02158d68 add r4, r4, r0 add r0, r5, #0x10 bl func_ov61_02156f44 add r4, r4, r0 _02156f00: ldrh r0, [r5, #6] cmp r0, #0 beq _02156f3c add r4, r4, #0x110 bl func_ov61_02158d68 add r4, r4, r0 ldrh r0, [r5, #0xa] bl func_ov61_02158d68 add r4, r4, r0 ldrh r0, [r5, #0xc] bl func_ov61_02158d68 add r4, r4, r0 add r0, r5, #0x14 bl func_ov61_02156f44 add r4, r4, r0 _02156f3c: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02156ec4 .global func_ov61_02156f44 arm_func_start func_ov61_02156f44 func_ov61_02156f44: ; 0x02156f44 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r0, [r5, #3] mov r0, r0, lsl #0x2 bl func_ov61_02158d68 mov r4, r0 ldrh r0, [r5] bl func_ov61_02158d68 add r0, r4, r0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02156f44 .global func_ov61_02156f6c arm_func_start func_ov61_02156f6c func_ov61_02156f6c: ; 0x02156f6c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r1 ldrsb r1, [r5] mov r6, r0 add r4, r6, #0x80 strb r1, [r6, #0x73] ldrsb r0, [r5, #1] strb r0, [r6, #0x72] ldrh r0, [r5, #2] cmp r0, #0 beq _02156fec str r4, [r6, #0x64] ldrh r2, [r5, #4] mov r1, r4 add r0, r4, #0x114 strh r2, [r4, #0xfc] add r2, r5, #0x10 mov r7, r4 bl func_ov61_02157090 ldrh r2, [r5, #2] add r1, r6, #0x3c bl func_ov61_02157068 ldrh r2, [r5, #8] add r1, r6, #0x50 bl func_ov61_02157068 ldrh r3, [r5, #0xe] add r1, r7, #0x100 mov r2, #0 strh r3, [r1, #0xa] str r2, [r7, #0x110] mov r4, r0 str r2, [r7, #0x10c] _02156fec: ldrh r0, [r5, #6] cmp r0, #0 beq _0215704c str r4, [r6, #0x68] mov r1, r4 str r6, [r4, #0x10c] add r0, r4, #0x110 add r2, r5, #0x14 mov r7, r4 bl func_ov61_02157090 ldrh r2, [r5, #6] add r1, r6, #0x48 bl func_ov61_02157068 ldrh r2, [r5, #0xa] add r1, r6, #0x58 bl func_ov61_02157068 ldrh r2, [r5, #0xc] add r1, r4, #0xf8 bl func_ov61_02157068 mov r1, #0 str r1, [r7, #0x108] mov r4, r0 str r1, [r7, #0x104] b _0215705c _0215704c: ldr r0, _02157064 ; =data_ov61_02180c4c ldr r0, [r0] ldr r0, [r0, #0x68] str r0, [r6, #0x68] _0215705c: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02156f6c _02157064: .word data_ov61_02180c4c .global func_ov61_02157068 arm_func_start func_ov61_02157068 func_ov61_02157068: ; 0x02157068 stmdb sp!, {r4, lr} mov r4, r0 cmp r2, #0 moveq r0, #0 str r0, [r1, #4] mov r0, r2 str r2, [r1] bl func_ov61_02158d68 add r0, r4, r0 ldmia sp!, {r4, pc} arm_func_end func_ov61_02157068 .global func_ov61_02157090 arm_func_start func_ov61_02157090 func_ov61_02157090: ; 0x02157090 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 mov r5, r2 mov r7, r0 mov r0, r5 mov r6, r1 bl func_ov61_02156f44 mov r4, r0 ldrb r2, [r5, #3] mov r0, r6 mov r1, r7 bl func_0200ddb4 add r0, r6, #0xe0 bl func_0200e02c ldrh r2, [r5] add r0, r6, #0x20 ldr r1, _02157100 ; =func_ov61_02156cfc str r2, [sp] ldrb ip, [r5, #2] mov r2, r6 add r3, r7, r4 str ip, [sp, #4] blx func_0200d5e4 add r0, r6, #0x20 bl func_0200d938 add r0, r7, r4 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02157090 _02157100: .word func_ov61_02156cfc .global func_ov61_02157104 arm_func_start func_ov61_02157104 func_ov61_02157104: ; 0x02157104 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02158e2c cmp r0, #0 mvnne r0, #0x1b ldmneia sp!, {r4, pc} cmp r4, #0 mov r1, #0 beq _02157134 ldrsh r0, [r4, #0x70] tst r0, #1 movne r1, #1 _02157134: cmp r1, #0 mvneq r0, #0x26 ldmeqia sp!, {r4, pc} ldrsh r0, [r4, #0x70] tst r0, #2 mvnne r0, #0x1b ldmneia sp!, {r4, pc} ldrsb r0, [r4, #0x73] mov r1, #1 cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 mvneq r0, #0x1b ldmeqia sp!, {r4, pc} ldrsb r0, [r4, #0x72] cmp r0, #1 moveq r0, #0 mvnne r0, #5 ldmia sp!, {r4, pc} arm_func_end func_ov61_02157104 .global func_ov61_02157184 arm_func_start func_ov61_02157184 func_ov61_02157184: ; 0x02157184 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov61_02158e2c cmp r0, #0 mvnne r0, #0x1b ldmneia sp!, {r3, r4, r5, r6, r7, pc} cmp r6, #0 mov r1, #0 beq _021571bc ldrsh r0, [r6, #0x70] tst r0, #1 movne r1, #1 _021571bc: cmp r1, #0 mvneq r0, #0x26 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrsh r0, [r6, #0x70] tst r0, #2 mvnne r0, #0x1b ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldrsb r0, [r6, #0x73] mov r1, #1 cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 mvneq r0, #0x1b ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrsb r0, [r6, #0x72] cmp r0, #1 mvnne r0, #5 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _02157244 ; =data_ov61_0217bc48 bl func_ov61_02156dac movs r7, r0 ldmmiia sp!, {r3, r4, r5, r6, r7, pc} ldrh r1, [r6, #0x74] bl func_ov61_02157390 cmp r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r7 mov r1, r5 mov r2, r4 bl func_ov61_02157248 cmp r0, #0 movge r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02157184 _02157244: .word data_ov61_0217bc48 .global func_ov61_02157248 arm_func_start func_ov61_02157248 func_ov61_02157248: ; 0x02157248 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov61_02158e2c cmp r0, #0 mvnne r0, #0x1b ldmneia sp!, {r4, r5, r6, pc} cmp r6, #0 mov r1, #0 beq _02157280 ldrsh r0, [r6, #0x70] tst r0, #1 movne r1, #1 _02157280: cmp r1, #0 mvneq r0, #0x26 ldmeqia sp!, {r4, r5, r6, pc} ldrsh r0, [r6, #0x70] tst r0, #2 mvnne r0, #0x1b ldmneia sp!, {r4, r5, r6, pc} ldrsb r0, [r6, #0x73] mov r1, #1 cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 mvneq r0, #0x1b ldmeqia sp!, {r4, r5, r6, pc} ldrsb r2, [r6, #0x72] cmp r2, #1 mvnne r0, #5 ldmneia sp!, {r4, r5, r6, pc} ldrh r0, [r6, #0x74] cmp r0, #0 mvneq r0, #0x1b ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02157314 ; =func_ov61_02157318 mov r1, r6 bl func_ov61_02156b7c mov r1, r0 ldrh r2, [r6, #0x74] mov r0, r6 strh r2, [r1, #0x10] str r5, [r1, #0x14] str r4, [r1, #0x18] ldrsh r2, [r6, #0x70] orr r2, r2, #2 strh r2, [r6, #0x70] bl func_ov61_02156cc4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02157248 _02157314: .word func_ov61_02157318 .global func_ov61_02157318 arm_func_start func_ov61_02157318 func_ov61_02157318: ; 0x02157318 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r6, r0 ldr r4, [r6, #4] ldr r5, [r4, #0x64] add r0, r5, #0xe0 bl func_0200e044 mov r1, #0 ldrh r0, [r6, #0x10] mov r2, r1 bl func_ov61_02154b60 bl func_ov61_02154c84 mov r2, #0 add r0, sp, #0 add r1, sp, #4 str r2, [r5, #0xf8] bl func_ov61_02154da4 ldrh r2, [sp] ldr r1, [r6, #0x14] strh r2, [r1] ldr r1, [r6, #0x18] str r0, [r1] ldrsh r1, [r4, #0x70] add r0, r5, #0xe0 orr r1, r1, #4 strh r1, [r4, #0x70] bl func_0200e0c8 mov r0, #0 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02157318 .global func_ov61_02157390 arm_func_start func_ov61_02157390 func_ov61_02157390: ; 0x02157390 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov61_02158e2c cmp r0, #0 mvnne r0, #0x1b ldmneia sp!, {r3, r4, r5, pc} cmp r5, #0 mov r1, #0 beq _021573c4 ldrsh r0, [r5, #0x70] tst r0, #1 movne r1, #1 _021573c4: cmp r1, #0 mvneq r0, #0x26 ldmeqia sp!, {r3, r4, r5, pc} ldrsh r0, [r5, #0x70] tst r0, #2 mvnne r0, #6 ldmneia sp!, {r3, r4, r5, pc} strh r4, [r5, #0x74] ldrsb r0, [r5, #0x73] cmp r0, #1 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov61_021574e8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02157390 .global func_ov61_02157400 arm_func_start func_ov61_02157400 func_ov61_02157400: ; 0x02157400 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl func_ov61_02158e2c cmp r0, #0 bne _02157428 ldrsh r0, [r6, #0x70] tst r0, #8 beq _02157430 _02157428: mvn r0, #0x1b ldmia sp!, {r4, r5, r6, pc} _02157430: cmp r6, #0 mov r1, #0 beq _02157448 ldrsh r0, [r6, #0x70] tst r0, #1 movne r1, #1 _02157448: cmp r1, #0 mvneq r0, #0x26 ldmeqia sp!, {r4, r5, r6, pc} ldrsb r0, [r6, #0x73] mov r1, #1 cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 beq _021574d4 ldrsh r0, [r6, #0x70] tst r0, #4 beq _02157490 ldrsb r0, [r6, #0x72] cmp r0, #1 mvneq r0, #0x1d movne r0, #0 ldmia sp!, {r4, r5, r6, pc} _02157490: ldrsh r0, [r6, #0x70] tst r0, #2 beq _021574b4 ldrsh r0, [r6, #0x70] tst r0, #0x40 ldrne r0, [r6, #0x6c] ldreq r0, _021574e4 ; =data_ov61_0217bc2c ldreq r0, [r0] ldmia sp!, {r4, r5, r6, pc} _021574b4: strh r5, [r6, #0x76] mov r0, r6 str r4, [r6, #0x78] bl func_ov61_021574e8 ldrsb r1, [r6, #0x72] cmp r1, #1 mvnne r0, #0x19 ldmia sp!, {r4, r5, r6, pc} _021574d4: strh r5, [r6, #0x76] str r4, [r6, #0x78] mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02157400 _021574e4: .word data_ov61_0217bc2c .global func_ov61_021574e8 arm_func_start func_ov61_021574e8 func_ov61_021574e8: ; 0x021574e8 stmdb sp!, {r4, lr} mov r4, r0 ldrsb r2, [r4, #0x72] ldr r0, _0215753c ; =func_ov61_02157540 mov r1, r4 bl func_ov61_02156b7c movs r1, r0 mvneq r0, #0x20 ldmeqia sp!, {r4, pc} ldrh r2, [r4, #0x74] mov r0, r4 strh r2, [r1, #0x10] ldrh r2, [r4, #0x76] strh r2, [r1, #0x12] ldr r2, [r4, #0x78] str r2, [r1, #0x14] ldrsh r2, [r4, #0x70] orr r2, r2, #2 strh r2, [r4, #0x70] bl func_ov61_02156cc4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021574e8 _0215753c: .word func_ov61_02157540 .global func_ov61_02157540 arm_func_start func_ov61_02157540 func_ov61_02157540: ; 0x02157540 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r4, [r7, #4] mov r6, #0 ldr r5, [r4, #0x64] add r0, r5, #0xe0 bl func_0200e044 ldrh r0, [r7, #0x10] ldrh r1, [r7, #0x12] ldr r2, [r7, #0x14] bl func_ov61_02154b60 mov r0, r6 str r0, [r5, #0xf8] ldrsb r0, [r7, #0xc] cmp r0, #0 cmpne r0, #4 bne _0215758c bl func_ov61_02154d64 mov r6, r0 _0215758c: add r0, r5, #0xe0 bl func_0200e0c8 cmp r6, #0 beq _021575b0 ldrsh r1, [r4, #0x70] mvn r0, #0x4b orr r1, r1, #0x40 strh r1, [r4, #0x70] ldmia sp!, {r3, r4, r5, r6, r7, pc} _021575b0: ldrsh r1, [r4, #0x70] mov r0, #0 orr r1, r1, #4 strh r1, [r4, #0x70] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02157540 .global func_ov61_021575c4 arm_func_start func_ov61_021575c4 func_ov61_021575c4: ; 0x021575c4 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0xc mov sb, r0 mov r8, r1 mov r7, r2 mov r6, r3 bl func_ov61_02158e2c cmp r0, #0 addne sp, sp, #0xc mvnne r0, #0x1b ldmneia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, [sp, #0x2c] tst r0, #4 bne _02157608 ldrsb r0, [sb, #0x72] cmp r0, #0 bne _02157624 _02157608: ldrsb r0, [sb, #0x73] cmp r0, #4 addeq sp, sp, #0xc mvneq r0, #0x1b ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r5, #0 b _0215763c _02157624: bl func_0200eeb0 cmp r0, #0x12 addeq sp, sp, #0xc mvneq r0, #0x1b ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r5, #1 _0215763c: cmp sb, #0 mov r1, #0 beq _02157654 ldrsh r0, [sb, #0x70] tst r0, #1 movne r1, #1 _02157654: cmp r1, #0 addeq sp, sp, #0xc mvneq r0, #0x26 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldrsb r0, [sb, #0x73] mov r1, #1 cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 beq _021576a4 ldrsh r0, [sb, #0x70] tst r0, #4 beq _02157698 ldrsh r0, [sb, #0x70] tst r0, #8 beq _021576a4 _02157698: add sp, sp, #0xc mvn r0, #0x37 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021576a4: ldr r4, [sb, #0x64] tst r5, #1 add r0, r4, #0xe0 bne _021576cc bl func_0200e160 cmp r0, #0 bne _021576d0 add sp, sp, #0xc mvn r0, #5 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _021576cc: bl func_0200e044 _021576d0: ldr r0, [sp, #0x28] ldr ip, [sp, #0x2c] str r0, [sp] mov r0, sb mov r1, r8 mov r2, r7 mov r3, r6 stmib sp, {r5, ip} bl func_ov61_0215770c mov r5, r0 add r0, r4, #0xe0 bl func_0200e0c8 mov r0, r5 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_021575c4 .global func_ov61_0215770c arm_func_start func_ov61_0215770c func_ov61_0215770c: ; 0x0215770c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r4, [sp, #0x28] mov r7, r0 tst r4, #2 ldr r4, [r7, #0x64] cmpne r4, #0 movne r6, #1 moveq r6, #0 cmp r6, #0 ldrnesb r5, [r4, #0xfe] movne r0, #1 strneb r0, [r4, #0xfe] ldrsb r0, [r7, #0x73] cmp r0, #1 bne _0215776c ldr r0, [sp, #0x20] ldr ip, [sp, #0x24] str r0, [sp] mov r0, r7 str ip, [sp, #4] bl func_ov61_02157bb8 mov r8, r0 b _02157794 _0215776c: ldr r0, [sp, #0x20] ldr ip, [sp, #0x24] str r0, [sp] mov r0, r7 str ip, [sp, #4] bl func_ov61_021577a8 movs r8, r0 bmi _02157794 mov r0, r7 bl func_ov61_02157b20 _02157794: cmp r6, #0 strneb r5, [r4, #0xfe] mov r0, r8 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_0215770c .global func_ov61_021577a8 arm_func_start func_ov61_021577a8 func_ov61_021577a8: ; 0x021577a8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldrsb ip, [r7, #0x73] mov r6, r1 mov r5, r2 mov r4, r3 cmp ip, #4 bne _021577d8 ldr r4, [sp, #0x18] str r4, [sp] bl func_ov61_02157998 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021577d8: ldr ip, [sp, #0x18] str ip, [sp] bl func_ov61_0215781c mvn r1, #5 cmp r0, r1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [sp, #0x1c] tst r1, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr ip, [sp, #0x18] mov r0, r7 mov r1, r6 mov r2, r5 mov r3, r4 str ip, [sp] bl func_ov61_02157998 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_021577a8 .global func_ov61_0215781c arm_func_start func_ov61_0215781c func_ov61_0215781c: ; 0x0215781c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov sb, r0 mov r8, r1 mov r7, r2 mov r6, r3 bl func_0200ee4c add r1, sp, #8 mov r4, r0 str r1, [sp] add r1, sp, #0xc mov r0, sb add r2, sp, #6 add r3, sp, #4 bl func_ov61_02157924 cmp r0, #0 beq _021578bc ldr r5, [sp, #0xc] cmp r5, #0 mvneq r5, #5 beq _021578d8 ldrsb r1, [sb, #0x73] cmp r7, r5 mov r2, #1 movgt r7, r5 cmp r1, #0 cmpne r1, #4 movne r2, #0 cmp r2, #0 mov r1, r8 mov r2, r7 movne r5, r7 bl func_02007ad8 ldr r1, [sb, #0x64] ldrsb r0, [r1, #0xfe] cmp r0, #0 ldreq r0, [r1, #0xf8] addeq r0, r0, r5 streq r0, [r1, #0xf8] b _021578d8 _021578bc: ldr r0, [sp, #0xc] cmp r0, #0 ldrsh r0, [sb, #0x70] moveq r5, #0 mvnne r5, #0x1b bic r0, r0, #6 strh r0, [sb, #0x70] _021578d8: cmp r5, #0 blt _02157910 cmp r6, #0 ldrne r1, [sp, #0x30] cmpne r1, #0 beq _02157900 ldrh r0, [sp, #4] strh r0, [r6] ldr r0, [sp, #8] str r0, [r1] _02157900: ldrh r0, [sb, #0x74] cmp r0, #0 ldreqh r0, [sp, #6] streqh r0, [sb, #0x74] _02157910: mov r0, r4 bl func_0200ee60 mov r0, r5 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_0215781c .global func_ov61_02157924 arm_func_start func_ov61_02157924 func_ov61_02157924: ; 0x02157924 stmdb sp!, {r3, r4, r5, lr} ldr r0, [r0, #0x64] ldr r4, [r0, #0xc4] ldr r5, [r0, #0xf8] ldr r0, [r4, #0x44] subs lr, r0, r5 bmi _0215797c ldrh ip, [r4, #0xa] ldr r0, [sp, #0x10] cmp lr, #0 strh ip, [r2] ldrh r2, [r4, #0x18] strh r2, [r3] ldr r2, [r4, #0x1c] str r2, [r0] str lr, [r1] bne _0215798c ldrb r0, [r4, #8] cmp r0, #4 beq _0215798c mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215797c: mvn r0, #0 str r0, [r1] mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215798c: ldr r0, [r4, #0x40] add r0, r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02157924 .global func_ov61_02157998 arm_func_start func_ov61_02157998 func_ov61_02157998: ; 0x02157998 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 ldr r0, _021579e0 ; =func_ov61_021579e4 mov r1, r7 mov r2, #1 mov r4, r3 bl func_ov61_02156b7c mov r1, r0 str r6, [r1, #0x10] str r5, [r1, #0x14] ldr r2, [sp, #0x18] str r4, [r1, #0x18] mov r0, r7 str r2, [r1, #0x1c] bl func_ov61_02156cc4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02157998 _021579e0: .word func_ov61_021579e4 .global func_ov61_021579e4 arm_func_start func_ov61_021579e4 func_ov61_021579e4: ; 0x021579e4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 ldr r7, [r0, #4] ldr r1, [r0, #0x10] ldr r8, [r7, #0x64] str r1, [sp, #0xc] ldr r1, [r0, #0x18] ldr sl, [r0, #0x14] ldr r0, [r0, #0x1c] ldr sb, [r8, #0xf8] str r1, [sp, #8] str r0, [sp, #4] mov r4, #0 mov r5, #1 mov fp, #0xa add r6, sp, #0x10 _02157a24: mov r0, r6 bl func_ov61_02154fd8 cmp r0, #0 beq _02157a78 ldr r1, [sp, #0x10] sub r1, r1, sb cmp r1, #0 bgt _02157a78 ldrsb r0, [r7, #0x73] mov r1, r5 cmp r0, #0 cmpne r0, #4 movne r1, r4 cmp r1, #0 ldrneb r0, [r7, #8] cmpne r0, #4 movne r0, #0 bne _02157a78 mov r0, fp bl func_0200db28 b _02157a24 _02157a78: ldrsb r1, [r7, #0x73] cmp r1, #4 bne _02157ac0 cmp r0, #0 addeq sp, sp, #0x14 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sp, #0x10] cmp sl, r1 movhi sl, r1 ldr r1, [sp, #0xc] mov r2, sl bl func_02007ad8 mov r0, sl bl func_ov61_021550cc add sp, sp, #0x14 mov r0, sl ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02157ac0: cmp r0, #0 moveq r4, #0 beq _02157aec ldr r4, [sp, #4] ldr r1, [sp, #0xc] ldr r3, [sp, #8] mov r0, r7 mov r2, sl str r4, [sp] bl func_ov61_0215781c mov r4, r0 _02157aec: cmp r4, #0 addle sp, sp, #0x14 movle r0, r4 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrh r0, [r8, #0xfc] ldr r1, [r8, #0xf8] cmp r1, r0 blt _02157b14 mov r0, r7 bl func_ov61_02157b7c _02157b14: mov r0, r4 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_021579e4 .global func_ov61_02157b20 arm_func_start func_ov61_02157b20 func_ov61_02157b20: ; 0x02157b20 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x64] ldrh r0, [r1, #0xfc] ldr r1, [r1, #0xf8] cmp r1, r0 movlt r0, #0 ldmltia sp!, {r4, pc} ldr r0, _02157b68 ; =func_ov61_02157b6c mov r1, r4 mov r2, #0 bl func_ov61_02156b7c movs r1, r0 mvneq r0, #0x20 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov61_02156cc4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02157b20 _02157b68: .word func_ov61_02157b6c .global func_ov61_02157b6c arm_func_start func_ov61_02157b6c func_ov61_02157b6c: ; 0x02157b6c ldr ip, _02157b78 ; =func_ov61_02157b7c ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov61_02157b6c _02157b78: .word func_ov61_02157b7c .global func_ov61_02157b7c arm_func_start func_ov61_02157b7c func_ov61_02157b7c: ; 0x02157b7c stmdb sp!, {r4, r5, r6, lr} ldr r4, [r0, #0x64] bl func_0200ee4c ldr r6, [r4, #0xf8] mov r5, r0 cmp r6, #0 beq _02157ba8 mov r1, #0 mov r0, r6 str r1, [r4, #0xf8] bl func_ov61_021550cc _02157ba8: mov r0, r5 bl func_0200ee60 mov r0, r6 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02157b7c .global func_ov61_02157bb8 arm_func_start func_ov61_02157bb8 func_ov61_02157bb8: ; 0x02157bb8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sl, r0 ldr r6, [sl, #0x64] str r1, [sp] ldr r0, [r6, #0x104] str r2, [sp, #4] mov fp, r3 bl func_0200ee4c ldr r7, [r6, #0x104] str r0, [sp, #8] cmp r7, #0 bne _02157c54 ldr r0, [sp, #0x34] mov r4, #1 and sb, r0, #1 mov r5, #0 _02157bfc: cmp sb, #0 mvneq r8, #5 beq _02157c54 add r0, r6, #0x10c bl func_0200d880 mov r0, sl bl func_ov61_02158e2c cmp r0, #0 bne _02157c40 mov r1, r5 cmp sl, #0 beq _02157c38 ldrsh r0, [sl, #0x70] tst r0, #1 movne r1, r4 _02157c38: cmp r1, #0 bne _02157c48 _02157c40: mvn r8, #0x37 b _02157c54 _02157c48: ldr r7, [r6, #0x104] cmp r7, #0 beq _02157bfc _02157c54: cmp r7, #0 beq _02157ce4 ldrh r1, [r7, #4] ldr r0, [sp, #4] cmp r0, r1 strgt r1, [sp, #4] ldr r1, [sp] ldr r2, [sp, #4] add r0, r7, #0xc bl func_02007ad8 cmp fp, #0 ldrneh r0, [r7, #6] ldr r1, [sp, #0x30] strneh r0, [fp] cmp r1, #0 ldrne r0, [r7, #8] strne r0, [r1] ldrsb r0, [r6, #0xfe] ldrh r8, [r7, #4] cmp r0, #0 bne _02157ce4 ldr r0, [r7] ldr r1, _02157cf8 ; =data_ov61_0217bc28 str r0, [r6, #0x104] ldr r0, [r7] cmp r0, #0 moveq r0, #0 streq r0, [r6, #0x100] ldr r1, [r1] mov r0, r7 ldr r1, [r1, #0x1c] blx r1 add r0, r6, #0x100 ldrh r1, [r0, #8] sub r1, r1, r8 strh r1, [r0, #8] _02157ce4: ldr r0, [sp, #8] bl func_0200ee60 mov r0, r8 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02157bb8 _02157cf8: .word data_ov61_0217bc28 .global func_ov61_02157cfc arm_func_start func_ov61_02157cfc func_ov61_02157cfc: ; 0x02157cfc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r7, r2 ldr r4, [r7, #0x64] mov sb, r0 mov r8, r1 bl func_0200ee4c add r1, r4, #0x100 ldrh r2, [r1, #8] ldrh r1, [r1, #0xa] mov r6, r0 add r0, r2, r8 cmp r1, r0 blo _02157dc0 ldr r1, _02157e08 ; =data_ov61_0217bc28 add r0, r8, #0xc ldr r1, [r1] ldr r1, [r1, #0x18] blx r1 movs r5, r0 beq _02157dac add r1, r4, #0x100 ldrh r3, [r1, #8] mov r2, #0 mov r0, sb add r3, r3, r8 strh r3, [r1, #8] str r2, [r5] strh r8, [r5, #4] ldrh r3, [r7, #0x18] mov r2, r8 add r1, r5, #0xc strh r3, [r5, #6] ldr r3, [r7, #0x1c] str r3, [r5, #8] bl func_02007ad8 ldr r0, [r4, #0x100] cmp r0, #0 ldrne r0, [r4, #0x100] strne r5, [r0] str r5, [r4, #0x100] ldr r0, [r4, #0x104] cmp r0, #0 streq r5, [r4, #0x104] b _02157dd0 _02157dac: ldr r0, _02157e0c ; =data_ov61_02180ca4 ldr r1, [r0] add r1, r1, #1 str r1, [r0] b _02157dd0 _02157dc0: ldr r0, _02157e0c ; =data_ov61_02180ca4 ldr r1, [r0, #4] add r1, r1, #1 str r1, [r0, #4] _02157dd0: ldrh r0, [r7, #0x74] cmp r0, #0 ldreqh r0, [r7, #0xa] streqh r0, [r7, #0x74] ldrh r1, [r7, #0x1a] add r0, r4, #0x10c strh r1, [r7, #0x18] ldr r1, [r7, #0x20] str r1, [r7, #0x1c] bl func_0200d8d0 mov r0, r6 bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02157cfc _02157e08: .word data_ov61_0217bc28 _02157e0c: .word data_ov61_02180ca4 .global func_ov61_02157e10 arm_func_start func_ov61_02157e10 func_ov61_02157e10: ; 0x02157e10 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 bl func_ov61_02158e2c cmp r0, #0 addne sp, sp, #8 mvnne r0, #0x1b ldmneia sp!, {r4, r5, r6, r7, r8, pc} cmp r8, #0 mov r1, #0 beq _02157e54 ldrsh r0, [r8, #0x70] tst r0, #1 movne r1, #1 _02157e54: cmp r1, #0 addeq sp, sp, #8 mvneq r0, #0x26 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldrsb r0, [r8, #0x73] mov r1, #1 cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 beq _02157ea4 ldrsh r0, [r8, #0x70] tst r0, #4 beq _02157e98 ldrsh r0, [r8, #0x70] tst r0, #8 beq _02157ea4 _02157e98: add sp, sp, #8 mvn r0, #0x37 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02157ea4: ldr r0, [sp, #0x24] ldr r4, [r8, #0x68] tst r0, #4 bne _02157ec0 ldrsb r0, [r8, #0x72] cmp r0, #0 bne _02157ee0 _02157ec0: add r0, r4, #0xe0 bl func_0200e160 cmp r0, #0 addeq sp, sp, #8 mvneq r0, #5 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov ip, #0 b _02157eec _02157ee0: add r0, r4, #0xe0 bl func_0200e044 mov ip, #1 _02157eec: ldr r1, [sp, #0x20] mov r0, r8 str r1, [sp] mov r1, r7 mov r2, r6 mov r3, r5 str ip, [sp, #4] bl func_ov61_02157f24 mov r5, r0 add r0, r4, #0xe0 bl func_0200e0c8 mov r0, r5 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_02157e10 .global func_ov61_02157f24 arm_func_start func_ov61_02157f24 func_ov61_02157f24: ; 0x02157f24 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 mov sl, r0 ldr r4, [sl, #0x68] ldrsb r0, [sl, #0x73] ldr r4, [r4, #0x10c] mov sb, r1 str r3, [sp, #0xc] cmp r0, #1 mov r8, r2 ldr r7, [sp, #0x40] ldr r6, [sp, #0x44] ldr r0, [r4, #0x48] mov r5, #0 bne _02157f7c sub r0, r0, #0x2a cmp r8, r0 addgt sp, sp, #0x18 subgt r0, r5, #0x23 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} str r8, [sp, #0x10] b _02157f8c _02157f7c: sub r0, r0, #0x36 str r0, [sp, #0x10] cmp r8, r0 strle r8, [sp, #0x10] _02157f8c: cmp r8, #0 ble _0215801c and fp, r6, #1 _02157f98: ldr r2, [sp, #0x10] mov r0, sl mov r1, r8 add r3, sp, #0x14 str r6, [sp] bl func_ov61_02158028 mov r4, r0 cmp r4, #0 ble _02157ff8 ldr r0, [sp, #0xc] mov r1, sb stmia sp, {r0, r7} str r6, [sp, #8] ldr r3, [sp, #0x14] mov r0, sl mov r2, r4 bl func_ov61_021580d0 cmp r0, #0 addle sp, sp, #0x18 mvnle r0, #5 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add sb, sb, r4 sub r8, r8, r4 add r5, r5, r4 _02157ff8: cmp fp, #0 bne _02158014 cmp r4, #0 bgt _0215801c add sp, sp, #0x18 mvn r0, #5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02158014: cmp r8, #0 bgt _02157f98 _0215801c: mov r0, r5 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_02157f24 .global func_ov61_02158028 arm_func_start func_ov61_02158028 func_ov61_02158028: ; 0x02158028 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 mov r8, r2 cmp r8, sb mov r7, r3 ldr r4, [sl, #0x68] movgt r8, sb bl func_0200ee4c ldr r1, [sp, #0x28] mov fp, r0 and r6, r1, #1 _02158058: mov r0, sl bl func_ov61_021580ac mov r5, r0 cmp r5, r8 blt _02158084 add r0, r4, #0x100 ldrh r0, [r0] cmp r5, sb movge r5, sb str r0, [r7] b _0215809c _02158084: cmp r6, #0 moveq r5, #0 beq _0215809c add r0, r4, #0x104 bl func_0200d880 b _02158058 _0215809c: mov r0, fp bl func_0200ee60 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_02158028 .global func_ov61_021580ac arm_func_start func_ov61_021580ac func_ov61_021580ac: ; 0x021580ac ldr r2, [r0, #0x68] add r0, r2, #0x100 ldrh r1, [r0] ldrh r0, [r0, #2] ldr r2, [r2, #0xf8] sub r0, r0, r1 subs r0, r0, #1 addmi r0, r0, r2 bx lr arm_func_end func_ov61_021580ac .global func_ov61_021580d0 arm_func_start func_ov61_021580d0 func_ov61_021580d0: ; 0x021580d0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 ldr r4, [sb, #0x68] mov r6, r1 mov r8, r2 ldr r1, [r4, #0x10c] ldr r2, [sp, #0x28] ldr r0, _02158240 ; =func_ov61_02158244 mov r7, r3 bl func_ov61_02156b7c movs r5, r0 mvneq r0, #0x20 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r0, [sp, #0x28] add r1, r7, r8 tst r0, #1 ldrnesb r0, [sb, #0x73] cmpne r0, #1 movne r0, #3 strneb r0, [r5, #0xd] moveq r0, #0 streqb r0, [r5, #0xd] ldr r3, [r4, #0xfc] ldr r2, [r4, #0xf8] add r0, r3, r7 cmp r1, r2 str r0, [r5, #0x10] bge _02158158 str r8, [r5, #0x14] mov r0, #0 str r0, [r5, #0x18] mov r7, r1 str r0, [r5, #0x1c] b _02158184 _02158158: sub r0, r2, r7 str r0, [r5, #0x14] str r3, [r5, #0x18] ldr r0, [r5, #0x14] sub r7, r8, r0 str r7, [r5, #0x1c] ldr r0, [r5, #0x14] ldr r1, [r5, #0x18] mov r2, r7 add r0, r6, r0 bl func_02007ad8 _02158184: ldr r1, [r5, #0x10] ldr r2, [r5, #0x14] mov r0, r6 bl func_02007ad8 add r0, r4, #0x100 ldrh r6, [r0] strh r7, [r5, #0x20] ldrh r1, [r5, #0x20] strh r1, [r0] ldrsb r0, [sb, #0x73] cmp r0, #1 bne _02158214 ldrh r0, [sb, #0x74] cmp r0, #0 bne _021581d0 bl func_ov61_02154a1c strh r0, [sb, #0x74] ldrh r0, [sb, #0x74] strh r0, [sb, #0xa] _021581d0: ldrh r0, [sb, #0x74] strh r0, [r5, #0x24] ldr r1, [sb, #0x78] cmp r1, #0 beq _021581f0 ldr r0, [sp, #0x24] cmp r0, #0 beq _02158204 _021581f0: ldr r1, [sp, #0x24] ldrh r0, [sp, #0x20] str r1, [r5, #0x28] strh r0, [r5, #0x26] b _0215821c _02158204: str r1, [r5, #0x28] ldrh r0, [sb, #0x76] strh r0, [r5, #0x26] b _0215821c _02158214: mov r0, #0 str r0, [r5, #0x28] _0215821c: ldr r0, [r4, #0x10c] mov r1, r5 bl func_ov61_02156cd4 cmp r0, #0 addne r0, r4, #0x100 movne r8, #0 strneh r6, [r0] mov r0, r8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_021580d0 _02158240: .word func_ov61_02158244 .global func_ov61_02158244 arm_func_start func_ov61_02158244 func_ov61_02158244: ; 0x02158244 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sb, r0 ldr r5, [sb, #4] mov r7, #0 ldrsb r0, [r5, #0x73] mov r1, #1 ldr r6, [r5, #0x68] cmp r0, #0 cmpne r0, #4 movne r1, r7 cmp r1, #0 beq _02158280 ldrsh r0, [r5, #0x70] tst r0, #4 beq _02158340 _02158280: ldr r2, [sb, #0x28] cmp r2, #0 beq _02158298 ldrh r0, [sb, #0x24] ldrh r1, [sb, #0x26] bl func_ov61_02154b60 _02158298: ldrsb r1, [r5, #0x73] mov r0, #1 ldr r4, [r5, #0x4c] cmp r1, #0 cmpne r1, #4 movne r0, #0 cmp r0, #0 movne r8, #0x36 moveq r8, #0x2a cmp r1, #0 cmpne r1, #4 ldrne r0, [r5, #0x48] subne sl, r0, r8 bne _021582e0 ldr r0, [r5, #0x48] sub r0, r0, r8 bl func_ov61_02158360 mov sl, r0 _021582e0: mov r1, sl mov r2, sb add r0, r4, r8 bl func_ov61_02158404 mov r1, r0 cmp r1, #0 ble _02158344 add r0, r4, r8 bl func_ov61_021554cc cmp r0, #0 bgt _02158338 ldrsb r0, [r5, #0x73] mov r1, #1 mvn r7, #0x4b cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 ldrnesh r0, [r5, #0x70] bicne r0, r0, #0xe strneh r0, [r5, #0x70] b _02158344 _02158338: add r7, r7, r0 b _021582e0 _02158340: mvn r7, #0x4b _02158344: ldrh r2, [sb, #0x20] add r1, r6, #0x100 add r0, r6, #0x104 strh r2, [r1, #2] bl func_0200d8d0 mov r0, r7 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov61_02158244 .global func_ov61_02158360 arm_func_start func_ov61_02158360 func_ov61_02158360: ; 0x02158360 stmdb sp!, {r3, r4, r5, lr} ldr r1, _021583fc ; =data_027e02a0 mov r4, r0 ldr r0, [r1, #4] ldr r5, [r0, #0xa4] bl func_0200ee4c cmp r5, #0 beq _021583c4 ldrh r3, [r5, #0x2e] cmp r3, #0 ldrneh r2, [r5, #0x2c] cmpne r2, #0 beq _021583b4 ldr r1, _02158400 ; =data_ov61_02180c50 cmp r3, r2 ldr r1, [r1, #0x24] movgt r3, r2 cmp r3, r1 movgt r3, r1 mov r5, r3, lsl #0x1 b _021583d0 _021583b4: ldr r1, _02158400 ; =data_ov61_02180c50 ldr r1, [r1, #0x24] mov r5, r1, lsl #0x1 b _021583d0 _021583c4: ldr r1, _02158400 ; =data_ov61_02180c50 ldr r1, [r1, #0x24] mov r5, r1, lsl #0x1 _021583d0: bl func_0200ee60 cmp r5, #0 ble _021583f4 mov r0, r4 mov r1, r5 bl func_02002c14 cmp r0, #0 mulgt r0, r5, r0 ldmgtia sp!, {r3, r4, r5, pc} _021583f4: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02158360 _021583fc: .word data_027e02a0 _02158400: .word data_ov61_02180c50 .global func_ov61_02158404 arm_func_start func_ov61_02158404 func_ov61_02158404: ; 0x02158404 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r2 ldr r4, [r6, #0x14] ldr r5, [r6, #0x1c] cmp r4, r1 mov r7, r0 movgt r4, r1 movgt r5, #0 bgt _02158434 sub r0, r1, r4 cmp r5, r0 movgt r5, r0 _02158434: cmp r4, #0 ble _02158464 ldr r0, [r6, #0x10] mov r1, r7 mov r2, r4 bl func_02007ad8 ldr r0, [r6, #0x10] add r0, r0, r4 str r0, [r6, #0x10] ldr r0, [r6, #0x14] sub r0, r0, r4 str r0, [r6, #0x14] _02158464: cmp r5, #0 ble _02158494 ldr r0, [r6, #0x18] mov r2, r5 add r1, r7, r4 bl func_02007ad8 ldr r0, [r6, #0x18] add r0, r0, r5 str r0, [r6, #0x18] ldr r0, [r6, #0x1c] sub r0, r0, r5 str r0, [r6, #0x1c] _02158494: add r0, r4, r5 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02158404 .global func_ov61_0215849c arm_func_start func_ov61_0215849c func_ov61_0215849c: ; 0x0215849c stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl func_ov61_02158e2c cmp r0, #0 mvnne r0, #0x1b ldmneia sp!, {r3, r4, r5, pc} cmp r4, #0 mov r1, #0 beq _021584cc ldrsh r0, [r4, #0x70] tst r0, #1 movne r1, #1 _021584cc: cmp r1, #0 mvneq r0, #0x26 ldmeqia sp!, {r3, r4, r5, pc} ldrsh r0, [r4, #0x70] tst r0, #4 beq _021584f0 ldrsh r0, [r4, #0x70] tst r0, #8 beq _021584f8 _021584f0: mvn r0, #0x37 ldmia sp!, {r3, r4, r5, pc} _021584f8: ldrsh r0, [r4, #0x70] orr r0, r0, #8 strh r0, [r4, #0x70] ldr r5, [r4, #0x68] cmp r5, #0 ldrne r1, [r5, #0x10c] cmpne r1, #0 beq _0215853c ldrsb r2, [r4, #0x72] ldr r0, _02158544 ; =func_ov61_02158548 bl func_ov61_02156b7c movs r1, r0 mvneq r0, #0x20 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x10c] bl func_ov61_02156cd4 ldmia sp!, {r3, r4, r5, pc} _0215853c: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215849c _02158544: .word func_ov61_02158548 .global func_ov61_02158548 arm_func_start func_ov61_02158548 func_ov61_02158548: ; 0x02158548 stmdb sp!, {r3, lr} ldr r0, [r0, #4] mov r1, #1 ldrsb r0, [r0, #0x73] cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 beq _02158570 bl func_ov61_02154e44 _02158570: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02158548 .global func_ov61_02158578 arm_func_start func_ov61_02158578 func_ov61_02158578: ; 0x02158578 stmdb sp!, {r4, lr} movs r4, r0 bmi _021585a4 bl func_ov61_02158e2c cmp r0, #0 beq _021585a4 mov r0, r4 bl func_ov61_02158e60 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} _021585a4: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_02158578 .global func_ov61_021585ac arm_func_start func_ov61_021585ac func_ov61_021585ac: ; 0x021585ac stmdb sp!, {r4, lr} mov r4, r0 cmp r4, #0 mvnle r0, #0x1b ldmleia sp!, {r4, pc} bl func_ov61_02158e60 cmp r0, #0 mvnne r0, #0x19 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov61_02158e2c cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} cmp r4, #0 mov r1, #0 beq _021585fc ldrsh r0, [r4, #0x70] tst r0, #1 movne r1, #1 _021585fc: cmp r1, #0 mvneq r0, #0x26 ldmeqia sp!, {r4, pc} ldrsh r0, [r4, #0x70] tst r0, #0x10 mvnne r0, #0x19 ldmneia sp!, {r4, pc} ldrsh r0, [r4, #0x70] mov r1, #1 orr r0, r0, #0x18 strh r0, [r4, #0x70] ldrsb r0, [r4, #0x73] cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 beq _0215864c ldr r0, [r4, #0x68] mov r1, #0 bl func_ov61_02156bf0 _0215864c: ldr r0, _02158678 ; =func_ov61_0215867c mov r1, r4 mov r2, #1 bl func_ov61_02156b7c mov r1, r0 mov r2, #0 mov r0, r4 str r2, [r1, #8] bl func_ov61_02156c3c mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021585ac _02158678: .word func_ov61_0215867c .global func_ov61_0215867c arm_func_start func_ov61_0215867c func_ov61_0215867c: ; 0x0215867c stmdb sp!, {r3, r4, r5, lr} ldr r4, [r0, #4] mov r1, #1 ldrsb r0, [r4, #0x73] cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 beq _021586b8 ldr r0, [r4, #0x68] add r0, r0, #0x20 bl func_0200d83c bl func_ov61_02154e44 bl func_ov61_02154e80 bl func_ov61_02154bf4 _021586b8: bl func_ov61_02154b1c ldrsh r0, [r4, #0x70] mov r1, #0 bic r0, r0, #6 strh r0, [r4, #0x70] ldrsb r0, [r4, #0x73] cmp r0, #2 ldreq r0, [r4, #0x68] ldrne r0, [r4, #0x64] bl func_ov61_02156bf0 bl func_0200ee4c mov r5, r0 mov r0, r4 bl func_ov61_02158db4 mov r0, r4 bl func_ov61_02158d9c mov r0, r5 bl func_0200ee60 ldrsh r1, [r4, #0x70] mov r0, #0 orr r1, r1, #0x20 strh r1, [r4, #0x70] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0215867c .global func_ov61_02158714 arm_func_start func_ov61_02158714 func_ov61_02158714: ; 0x02158714 stmdb sp!, {r4, r5, r6, lr} movs r4, r0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, #0 strh r0, [r4, #0x70] ldrsb r2, [r4, #0x73] mov r1, #1 cmp r2, #0 cmpne r2, #4 movne r1, r0 cmp r1, #0 beq _02158758 ldr r0, [r4, #0x68] bl func_ov61_02158814 ldr r0, [r4, #0x64] bl func_ov61_02158814 b _021587d8 _02158758: cmp r2, #1 bne _021587c8 ldr r0, [r4, #0x64] ldr r0, [r0, #0x104] cmp r0, #0 beq _02158790 ldr r5, _02158810 ; =data_ov61_0217bc28 _02158774: ldr r1, [r5] ldr r6, [r0] ldr r1, [r1, #0x1c] blx r1 mov r0, r6 cmp r6, #0 bne _02158774 _02158790: ldr r0, [r4, #0x64] mov r1, #0 add r0, r0, #0x100 strh r1, [r0, #8] ldr r0, [r4, #0x64] str r1, [r0, #0x100] ldr r0, [r4, #0x64] str r1, [r0, #0x104] ldr r0, [r4, #0x64] add r0, r0, #0x10c bl func_0200d8d0 ldr r0, [r4, #0x64] bl func_ov61_02158814 b _021587d8 _021587c8: cmp r2, #2 bne _021587d8 ldr r0, [r4, #0x68] bl func_ov61_02158814 _021587d8: bl func_0200ee4c mov r5, r0 mov r0, r4 bl func_ov61_02158db4 mov r0, r4 bl func_ov61_02158e14 ldr r1, _02158810 ; =data_ov61_0217bc28 mov r0, r4 ldr r1, [r1] ldr r1, [r1, #0x1c] blx r1 mov r0, r5 bl func_0200ee60 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02158714 _02158810: .word data_ov61_0217bc28 .global func_ov61_02158814 arm_func_start func_ov61_02158814 func_ov61_02158814: ; 0x02158814 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} movs sb, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r0, sb, #0x20 bl func_0200d83c bl func_0200ee4c mov r8, r0 bl func_0200dc28 add r1, sp, #0 mov r0, sb mov r2, #0 bl func_0200de70 cmp r0, #0 beq _021588a0 mov r6, #0 mvn r7, #0xa add r5, sp, #0 mov r4, r6 _0215885c: ldr r0, [sp] cmp r0, #0 beq _02158888 ldr r0, [r0, #8] cmp r0, #0 beq _02158880 mov r1, r7 mov r2, r6 bl func_0200dddc _02158880: ldr r0, [sp] bl func_ov61_02156bbc _02158888: mov r0, sb mov r1, r5 mov r2, r4 bl func_0200de70 cmp r0, #0 bne _0215885c _021588a0: bl func_0200dc5c bl func_0200d988 mov r0, r8 bl func_0200ee60 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02158814 .global func_ov61_021588b4 arm_func_start func_ov61_021588b4 func_ov61_021588b4: ; 0x021588b4 stmdb sp!, {r3, r4, r5, lr} bl func_0200ee4c ldr r4, _021588ec ; =data_ov61_02180cb0 mov r5, r0 ldr r0, [r4] cmp r0, #0 beq _021588e0 _021588d0: bl func_ov61_02158714 ldr r0, [r4] cmp r0, #0 bne _021588d0 _021588e0: mov r0, r5 bl func_0200ee60 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021588b4 _021588ec: .word data_ov61_02180cb0 .global func_ov61_021588f0 arm_func_start func_ov61_021588f0 func_ov61_021588f0: ; 0x021588f0 stmdb sp!, {r3, r4, r5, lr} ldr r1, _02158984 ; =data_ov61_02180c44 ldr r0, [r1] cmp r0, #0 ldreq r0, _02158988 ; =data_ov61_0217f464 ldreq r0, [r0] streq r0, [r1] bl func_ov61_02158a3c mvn r4, #0x19 cmp r0, r4 bne _02158934 mov r5, #0x64 _02158920: mov r0, r5 bl func_0200db28 bl func_ov61_02158a3c cmp r0, r4 beq _02158920 _02158934: bl func_ov61_02156b0c movs r4, r0 bmi _0215897c bl func_ov61_02151ed8 mov r0, #0 bl func_ov61_02151ec8 ldr r0, _0215898c ; =data_ov61_0217bc28 ldr r1, [r0] ldr r0, [r1, #0x28] cmp r0, #0 bne _02158970 ldr r0, _02158990 ; =data_ov61_02180c50 ldr r1, [r1, #0x1c] ldr r0, [r0, #0x1c] blx r1 _02158970: ldr r0, _0215898c ; =data_ov61_0217bc28 mov r1, #0 str r1, [r0] _0215897c: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021588f0 _02158984: .word data_ov61_02180c44 _02158988: .word data_ov61_0217f464 _0215898c: .word data_ov61_0217bc28 _02158990: .word data_ov61_02180c50 .global func_ov61_02158994 arm_func_start func_ov61_02158994 func_ov61_02158994: ; 0x02158994 stmdb sp!, {r4, r5, r6, lr} ldr r4, _02158a30 ; =data_ov61_02180c4c ldr r5, _02158a34 ; =data_ov61_02180cac _021589a0: bl func_0200ee4c ldr r6, [r5] cmp r6, #0 beq _021589d4 ldr r2, [r4] _021589b4: cmp r6, r2 beq _021589c8 ldrsh r1, [r6, #0x70] tst r1, #0x10 beq _021589d4 _021589c8: ldr r6, [r6, #0x7c] cmp r6, #0 bne _021589b4 _021589d4: bl func_0200ee60 cmp r6, #0 beq _021589ec mov r0, r6 bl func_ov61_021585ac b _021589a0 _021589ec: ldr r0, _02158a34 ; =data_ov61_02180cac ldr r1, [r0] cmp r1, #0 beq _02158a14 ldr r0, _02158a30 ; =data_ov61_02180c4c ldr r0, [r0] cmp r1, r0 ldreq r0, [r1, #0x7c] cmpeq r0, #0 bne _02158a28 _02158a14: ldr r0, _02158a38 ; =data_ov61_02180cb0 ldr r0, [r0] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _02158a28: mvn r0, #0x19 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02158994 _02158a30: .word data_ov61_02180c4c _02158a34: .word data_ov61_02180cac _02158a38: .word data_ov61_02180cb0 .global func_ov61_02158a3c arm_func_start func_ov61_02158a3c func_ov61_02158a3c: ; 0x02158a3c stmdb sp!, {r4, lr} ldr r0, _02158ab4 ; =data_ov61_02180c4c ldr r0, [r0] cmp r0, #0 beq _02158a90 bl func_ov61_02158994 movs r4, r0 bne _02158a88 ldr r0, _02158ab4 ; =data_ov61_02180c4c ldr r0, [r0] bl func_ov61_021585ac ldr r0, _02158ab4 ; =data_ov61_02180c4c ldr r0, [r0] bl func_ov61_02158578 cmp r0, #0 ldrne r0, _02158ab4 ; =data_ov61_02180c4c movne r1, #0 strne r1, [r0] mvn r4, #0x19 _02158a88: bl func_ov61_021588b4 b _02158aac _02158a90: bl func_ov61_02151e78 cmp r0, #0 mvneq r4, #0x19 beq _02158aac mov r0, #0 bl func_ov61_02161104 mov r4, #0 _02158aac: mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02158a3c _02158ab4: .word data_ov61_02180c4c .global func_ov61_02158ab8 arm_func_start func_ov61_02158ab8 func_ov61_02158ab8: ; 0x02158ab8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x64 movs r5, r0 addeq sp, sp, #0x64 moveq r0, #0 ldmeqia sp!, {r4, r5, pc} ldr r1, _02158b5c ; =data_ov61_0217bc28 mov r0, #0xfd0 ldr r1, [r1] ldr r1, [r1, #0x18] blx r1 movs r4, r0 addeq sp, sp, #0x64 moveq r0, #0 ldmeqia sp!, {r4, r5, pc} add r0, sp, #0 mov r1, #0 mov r2, #0x64 bl func_02007a44 add r0, r4, #0x368 add r2, r0, #0x800 ldr r3, _02158b60 ; =0x00000b68 ldr r1, _02158b64 ; =0x00000466 add r0, sp, #0 str r4, [sp, #0x40] str r3, [sp, #0x3c] str r2, [sp, #0x4c] str r1, [sp, #0x48] bl func_ov61_02154b08 mov r0, r5 bl func_ov61_021566cc mov r5, r0 bl func_ov61_02154b1c ldr r1, _02158b5c ; =data_ov61_0217bc28 mov r0, r4 ldr r1, [r1] ldr r1, [r1, #0x1c] blx r1 mov r0, r5 add sp, sp, #0x64 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02158ab8 _02158b5c: .word data_ov61_0217bc28 _02158b60: .word 0x00000b68 _02158b64: .word 0x00000466 .global func_ov61_02158b68 arm_func_start func_ov61_02158b68 func_ov61_02158b68: ; 0x02158b68 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 bl func_0200ee4c ldr r1, _02158bb0 ; =data_ov61_0217f474 mov r5, r0 ldmia r1, {r6, r7} mov r2, #0 str r2, [r1] mov r0, r4 str r2, [r1, #4] bl func_ov61_021566cc ldr r1, _02158bb0 ; =data_ov61_0217f474 mov r4, r0 mov r0, r5 stmia r1, {r6, r7} bl func_0200ee60 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02158b68 _02158bb0: .word data_ov61_0217f474 .global func_ov61_02158bb4 arm_func_start func_ov61_02158bb4 func_ov61_02158bb4: ; 0x02158bb4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov61_02158be8 cmp r0, #0 mvneq r0, #0x26 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _02158be4 ; =data_ov61_0217f474 mov r0, #0 str r5, [r1] str r4, [r1, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02158bb4 _02158be4: .word data_ov61_0217f474 .global func_ov61_02158be8 arm_func_start func_ov61_02158be8 func_ov61_02158be8: ; 0x02158be8 stmdb sp!, {r3, lr} ldr r0, _02158c44 ; =data_ov61_0217f464 ldr r2, [r0] cmp r2, #0 bne _02158c28 ldr r0, _02158c48 ; =data_ov61_02180c48 ldr r0, [r0] and r0, r0, #3 cmp r0, #1 bne _02158c38 bl func_0200eeb0 cmp r0, #0x12 beq _02158c38 mov r0, #0xa bl func_0200db28 b _02158c38 _02158c28: ldr r0, _02158c4c ; =data_ov61_02180c44 ldr r1, [r0] cmp r1, #0 streq r2, [r0] _02158c38: ldr r0, _02158c44 ; =data_ov61_0217f464 ldr r0, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02158be8 _02158c44: .word data_ov61_0217f464 _02158c48: .word data_ov61_02180c48 _02158c4c: .word data_ov61_02180c44 .global func_ov61_02158c50 arm_func_start func_ov61_02158c50 func_ov61_02158c50: ; 0x02158c50 stmdb sp!, {r4, r5, r6, lr} mov r4, #0 mov r5, r0 bl func_ov61_02158e2c cmp r0, #0 orrne r4, r4, #0x80 bne _02158d18 ldrsh r0, [r5, #0x70] tst r0, #0x40 ldrsb r0, [r5, #0x73] orrne r4, r4, #0x20 cmp r0, #1 beq _02158c90 ldrsh r0, [r5, #0x70] tst r0, #4 beq _02158cc0 _02158c90: bl func_0200ee4c mov r6, r0 mov r0, r5 bl func_ov61_02158d20 cmp r0, #0 mov r0, r5 orrgt r4, r4, #1 bl func_ov61_021580ac cmp r0, #0 mov r0, r6 orrgt r4, r4, #8 bl func_0200ee60 _02158cc0: ldrsb r0, [r5, #0x73] mov r1, #1 cmp r0, #0 cmpne r0, #4 movne r1, #0 cmp r1, #0 beq _02158d18 ldrsh r0, [r5, #0x70] tst r0, #4 ldrneb r0, [r5, #8] cmpne r0, #4 beq _02158d00 tst r4, #1 ldreqsh r0, [r5, #0x70] biceq r0, r0, #6 streqh r0, [r5, #0x70] _02158d00: ldrsh r0, [r5, #0x70] tst r0, #2 bne _02158d18 ldrsh r0, [r5, #0x70] tst r0, #4 orreq r4, r4, #0x40 _02158d18: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02158c50 .global func_ov61_02158d20 arm_func_start func_ov61_02158d20 func_ov61_02158d20: ; 0x02158d20 ldr r2, [r0, #0x64] mov r3, #0 cmp r2, #0 beq _02158d60 ldrsb r1, [r0, #0x73] cmp r1, #1 bne _02158d4c ldr r0, [r2, #0x104] cmp r0, #0 ldrneh r3, [r0, #4] b _02158d60 _02158d4c: cmp r1, #0 cmpne r1, #4 ldreq r1, [r0, #0x44] ldreq r0, [r2, #0xf8] subeq r3, r1, r0 _02158d60: mov r0, r3 bx lr arm_func_end func_ov61_02158d20 .global func_ov61_02158d68 arm_func_start func_ov61_02158d68 func_ov61_02158d68: ; 0x02158d68 add r0, r0, #3 bic r0, r0, #3 bx lr arm_func_end func_ov61_02158d68 .global func_ov61_02158d74 arm_func_start func_ov61_02158d74 func_ov61_02158d74: ; 0x02158d74 ldr ip, _02158d84 ; =func_ov61_02158d8c mov r1, r0 ldr r0, _02158d88 ; =data_ov61_02180cac bx ip .align 2, 0 arm_func_end func_ov61_02158d74 _02158d84: .word func_ov61_02158d8c _02158d88: .word data_ov61_02180cac .global func_ov61_02158d8c arm_func_start func_ov61_02158d8c func_ov61_02158d8c: ; 0x02158d8c ldr r2, [r0] str r2, [r1, #0x7c] str r1, [r0] bx lr arm_func_end func_ov61_02158d8c .global func_ov61_02158d9c arm_func_start func_ov61_02158d9c func_ov61_02158d9c: ; 0x02158d9c ldr ip, _02158dac ; =func_ov61_02158d8c mov r1, r0 ldr r0, _02158db0 ; =data_ov61_02180cb0 bx ip .align 2, 0 arm_func_end func_ov61_02158d9c _02158dac: .word func_ov61_02158d8c _02158db0: .word data_ov61_02180cb0 .global func_ov61_02158db4 arm_func_start func_ov61_02158db4 func_ov61_02158db4: ; 0x02158db4 ldr ip, _02158dc4 ; =func_ov61_02158dcc mov r1, r0 ldr r0, _02158dc8 ; =data_ov61_02180cac bx ip .align 2, 0 arm_func_end func_ov61_02158db4 _02158dc4: .word func_ov61_02158dcc _02158dc8: .word data_ov61_02180cac .global func_ov61_02158dcc arm_func_start func_ov61_02158dcc func_ov61_02158dcc: ; 0x02158dcc stmdb sp!, {r4, lr} mov r4, r1 bl func_ov61_02158de8 cmp r0, #0 ldrne r1, [r4, #0x7c] strne r1, [r0] ldmia sp!, {r4, pc} arm_func_end func_ov61_02158dcc .global func_ov61_02158de8 arm_func_start func_ov61_02158de8 func_ov61_02158de8: ; 0x02158de8 ldr r2, [r0] cmp r2, #0 beq _02158e0c _02158df4: cmp r2, r1 bxeq lr add r0, r2, #0x7c ldr r2, [r2, #0x7c] cmp r2, #0 bne _02158df4 _02158e0c: mov r0, #0 bx lr arm_func_end func_ov61_02158de8 .global func_ov61_02158e14 arm_func_start func_ov61_02158e14 func_ov61_02158e14: ; 0x02158e14 ldr ip, _02158e24 ; =func_ov61_02158dcc mov r1, r0 ldr r0, _02158e28 ; =data_ov61_02180cb0 bx ip .align 2, 0 arm_func_end func_ov61_02158e14 _02158e24: .word func_ov61_02158dcc _02158e28: .word data_ov61_02180cb0 .global func_ov61_02158e2c arm_func_start func_ov61_02158e2c func_ov61_02158e2c: ; 0x02158e2c stmdb sp!, {r3, lr} mov r1, r0 cmp r1, #0 ble _02158e4c ldr r0, _02158e5c ; =data_ov61_02180cac bl func_ov61_02158de8 cmp r0, #0 bne _02158e54 _02158e4c: mov r0, #1 ldmia sp!, {r3, pc} _02158e54: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02158e2c _02158e5c: .word data_ov61_02180cac .global func_ov61_02158e60 arm_func_start func_ov61_02158e60 func_ov61_02158e60: ; 0x02158e60 stmdb sp!, {r3, lr} mov r1, r0 ldr r0, _02158e80 ; =data_ov61_02180cb0 bl func_ov61_02158de8 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02158e60 _02158e80: .word data_ov61_02180cb0 .global func_ov61_02158e84 arm_func_start func_ov61_02158e84 func_ov61_02158e84: ; 0x02158e84 stmdb sp!, {r3, lr} cmp r1, #1 bne _02158e9c ldr r0, _02158ea8 ; =data_ov61_0217bc48 bl func_ov61_02156dac ldmia sp!, {r3, pc} _02158e9c: ldr r0, _02158eac ; =data_ov61_0217bc30 bl func_ov61_02156dac ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02158e84 _02158ea8: .word data_ov61_0217bc48 _02158eac: .word data_ov61_0217bc30 .global func_ov61_02158eb0 arm_func_start func_ov61_02158eb0 func_ov61_02158eb0: ; 0x02158eb0 ldrh r1, [r1, #2] ldr ip, _02158ed8 ; =func_ov61_02157390 mov r2, r1, asr #0x8 mov r1, r1, lsl #0x8 and r2, r2, #0xff and r1, r1, #0xff00 orr r1, r2, r1 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bx ip .align 2, 0 arm_func_end func_ov61_02158eb0 _02158ed8: .word func_ov61_02157390 .global func_ov61_02158edc arm_func_start func_ov61_02158edc func_ov61_02158edc: ; 0x02158edc stmdb sp!, {r4, lr} ldrh r2, [r1, #2] ldr lr, [r1, #4] mov r4, r2, asr #0x8 mov r1, r2, lsl #0x8 mov r3, lr, lsr #0x18 mov r2, lr, lsr #0x8 mov ip, lr, lsl #0x8 mov lr, lr, lsl #0x18 and r4, r4, #0xff and r1, r1, #0xff00 orr r1, r4, r1 mov r1, r1, lsl #0x10 and r3, r3, #0xff and r2, r2, #0xff00 and ip, ip, #0xff0000 orr r2, r3, r2 and r3, lr, #0xff000000 orr r2, ip, r2 mov r1, r1, lsr #0x10 orr r2, r3, r2 bl func_ov61_02157400 ldmia sp!, {r4, pc} arm_func_end func_ov61_02158edc .global func_ov61_02158f38 arm_func_start func_ov61_02158f38 func_ov61_02158f38: ; 0x02158f38 stmdb sp!, {r3, lr} sub sp, sp, #8 mov ip, #0 str ip, [sp] str r3, [sp, #4] mov r3, ip bl func_ov61_021575c4 add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end func_ov61_02158f38 .global func_ov61_02158f5c arm_func_start func_ov61_02158f5c func_ov61_02158f5c: ; 0x02158f5c stmdb sp!, {r3, lr} sub sp, sp, #0x10 add ip, sp, #0xc str ip, [sp] str r3, [sp, #4] add r3, sp, #8 bl func_ov61_021575c4 cmp r0, #0 addlt sp, sp, #0x10 ldmltia sp!, {r3, pc} ldr r1, [sp, #0x18] cmp r1, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, pc} ldrh r2, [sp, #8] mov r3, r2, asr #0x8 mov r2, r2, lsl #0x8 and r3, r3, #0xff and r2, r2, #0xff00 orr r2, r3, r2 strh r2, [r1, #2] ldr lr, [sp, #0xc] mov r3, lr, lsr #0x18 mov r2, lr, lsr #0x8 mov ip, lr, lsl #0x8 mov lr, lr, lsl #0x18 and r3, r3, #0xff and r2, r2, #0xff00 and ip, ip, #0xff0000 orr r2, r3, r2 and r3, lr, #0xff000000 orr r2, ip, r2 orr r2, r3, r2 str r2, [r1, #4] add sp, sp, #0x10 ldmia sp!, {r3, pc} arm_func_end func_ov61_02158f5c .global func_ov61_02158fec arm_func_start func_ov61_02158fec func_ov61_02158fec: ; 0x02158fec stmdb sp!, {r3, lr} sub sp, sp, #8 mov ip, #0 str ip, [sp] str r3, [sp, #4] mov r3, ip bl func_ov61_02157e10 add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end func_ov61_02158fec .global func_ov61_02159010 arm_func_start func_ov61_02159010 func_ov61_02159010: ; 0x02159010 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 ldr r5, [sp, #0x20] cmp r5, #0 moveq r5, #0 moveq r4, r5 beq _0215907c ldrh r4, [r5, #2] ldr r6, [r5, #4] mov r7, r4, asr #0x8 mov ip, r4, lsl #0x8 mov r4, r6, lsr #0x18 mov lr, r6, lsr #0x8 mov r5, r6, lsl #0x8 mov r6, r6, lsl #0x18 and r7, r7, #0xff and ip, ip, #0xff00 orr r7, r7, ip and r4, r4, #0xff and lr, lr, #0xff00 and r5, r5, #0xff0000 orr r4, r4, lr mov ip, r7, lsl #0x10 orr r4, r5, r4 and r6, r6, #0xff000000 mov r5, ip, lsr #0x10 orr r4, r6, r4 _0215907c: str r4, [sp] str r3, [sp, #4] mov r3, r5 bl func_ov61_02157e10 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02159010 .global func_ov61_02159094 arm_func_start func_ov61_02159094 func_ov61_02159094: ; 0x02159094 ldr ip, _0215909c ; =func_ov61_0215849c bx ip .align 2, 0 arm_func_end func_ov61_02159094 _0215909c: .word func_ov61_0215849c .global func_ov61_021590a0 arm_func_start func_ov61_021590a0 func_ov61_021590a0: ; 0x021590a0 ldr ip, _021590a8 ; =func_ov61_021585ac bx ip .align 2, 0 arm_func_end func_ov61_021590a0 _021590a8: .word func_ov61_021585ac .global func_ov61_021590ac arm_func_start func_ov61_021590ac func_ov61_021590ac: ; 0x021590ac stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov61_02158ab8 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02159154 ; =data_ov61_02180d3c ldr r2, _02159158 ; =0x00000101 mov r1, #0 bl func_02007a44 ldr r0, _02159154 ; =data_ov61_02180d3c ldr r2, _02159158 ; =0x00000101 mov r1, r5 blx func_02042cfc mov r3, r4, lsr #0x18 mov r2, r4, lsr #0x8 mov ip, r4, lsl #0x8 mov lr, r4, lsl #0x18 ldr r4, _02159154 ; =data_ov61_02180d3c ldr r1, _0215915c ; =data_ov61_02180cb4 mov r0, #0 str r4, [r1, #0x20] str r0, [r1, #0x24] mov r4, #2 strh r4, [r1, #0x28] mov r4, #4 ldr r5, _02159160 ; =data_ov61_02180ccc strh r4, [r1, #0x2a] and r3, r3, #0xff and r2, r2, #0xff00 ldr r4, _02159164 ; =data_ov61_02180cb4 str r5, [r1, #0x2c] str r4, [r1, #0x18] and ip, ip, #0xff0000 orr r2, r3, r2 and r3, lr, #0xff000000 orr r2, ip, r2 str r0, [r1, #0x1c] orr r2, r3, r2 ldr r0, _02159168 ; =data_ov61_02180cd4 str r2, [r1] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021590ac _02159154: .word data_ov61_02180d3c _02159158: .word 0x00000101 _0215915c: .word data_ov61_02180cb4 _02159160: .word data_ov61_02180ccc _02159164: .word data_ov61_02180cb4 _02159168: .word data_ov61_02180cd4 .global func_ov61_0215916c arm_func_start func_ov61_0215916c func_ov61_0215916c: ; 0x0215916c stmdb sp!, {r4, r5, r6, lr} movs r5, r0 mov r4, r1 mvneq r0, #0x26 ldmeqia sp!, {r4, r5, r6, pc} bl func_ov61_02158be8 cmp r5, #0 ldrneh r1, [r5, #0x74] mov r2, r0, lsr #0x18 mov r6, #8 moveq r1, #0 cmp r0, #0 moveq r1, #0 mov r1, r1, lsl #0x10 mov r3, r1, lsr #0x10 mov r5, r3, asr #0x8 mov lr, r3, lsl #0x8 strb r6, [r4] mov r6, #2 mov r1, r0, lsr #0x8 mov r3, r0, lsl #0x8 mov ip, r0, lsl #0x18 and r0, r1, #0xff00 and r2, r2, #0xff orr r0, r2, r0 and r1, r3, #0xff0000 and r5, r5, #0xff and lr, lr, #0xff00 strb r6, [r4, #1] orr r3, r5, lr and r2, ip, #0xff000000 orr r0, r1, r0 strh r3, [r4, #2] orr r0, r2, r0 str r0, [r4, #4] mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0215916c .global func_ov61_02159200 arm_func_start func_ov61_02159200 func_ov61_02159200: ; 0x02159200 stmdb sp!, {r3, lr} bl func_ov61_02158be8 mov r2, r0, lsr #0x18 mov r1, r0, lsr #0x8 mov r3, r0, lsl #0x8 mov ip, r0, lsl #0x18 and r2, r2, #0xff and r0, r1, #0xff00 and r1, r3, #0xff0000 orr r0, r2, r0 and r2, ip, #0xff000000 orr r0, r1, r0 orr r0, r2, r0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02159200 .global func_ov61_02159238 arm_func_start func_ov61_02159238 func_ov61_02159238: ; 0x02159238 stmdb sp!, {r3, r4, r5, lr} ldr ip, [r1] ldr r0, [r0] mov r2, ip, lsr #0x18 mov r4, r0, lsr #0x18 mov lr, r0, lsr #0x8 mov r1, ip, lsr #0x8 mov r5, r0, lsl #0x8 mov r3, ip, lsl #0x8 mov r0, r0, lsl #0x18 mov ip, ip, lsl #0x18 and r4, r4, #0xff and lr, lr, #0xff00 and r2, r2, #0xff and r1, r1, #0xff00 and r5, r5, #0xff0000 orr r4, r4, lr and r3, r3, #0xff0000 orr r1, r2, r1 and lr, r0, #0xff000000 orr r0, r5, r4 and r2, ip, #0xff000000 orr r1, r3, r1 orr r0, lr, r0 orr r1, r2, r1 bl func_ov61_02158bb4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02159238 .global func_ov61_021592a4 arm_func_start func_ov61_021592a4 func_ov61_021592a4: ; 0x021592a4 ldr ip, _021592ac ; =func_ov61_02157104 bx ip .align 2, 0 arm_func_end func_ov61_021592a4 _021592ac: .word func_ov61_02157104 .global func_ov61_021592b0 arm_func_start func_ov61_021592b0 func_ov61_021592b0: ; 0x021592b0 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r1 add r1, sp, #0 add r2, sp, #4 bl func_ov61_02157184 cmp r0, #0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldrh r1, [sp] mov r2, r1, asr #0x8 mov r1, r1, lsl #0x8 and r2, r2, #0xff and r1, r1, #0xff00 orr r1, r2, r1 strh r1, [r4, #2] ldr ip, [sp, #4] mov r2, ip, lsr #0x18 mov r1, ip, lsr #0x8 mov r3, ip, lsl #0x8 mov ip, ip, lsl #0x18 and r2, r2, #0xff and r1, r1, #0xff00 and r3, r3, #0xff0000 orr r1, r2, r1 and r2, ip, #0xff000000 orr r1, r3, r1 orr r1, r2, r1 str r1, [r4, #4] add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov61_021592b0 .global func_ov61_0215932c arm_func_start func_ov61_0215932c func_ov61_0215932c: ; 0x0215932c cmp r0, #0 mvneq r0, #0 bxeq lr cmp r1, #3 beq _0215934c cmp r1, #4 beq _02159360 b _02159374 _0215934c: ldrsb r0, [r0, #0x72] cmp r0, #1 moveq r0, #0 movne r0, #4 bx lr _02159360: tst r2, #4 movne r1, #0 strneb r1, [r0, #0x72] moveq r1, #1 streqb r1, [r0, #0x72] _02159374: mov r0, #0 bx lr arm_func_end func_ov61_0215932c .global func_ov61_0215937c arm_func_start func_ov61_0215937c func_ov61_0215937c: ; 0x0215937c stmdb sp!, {r4, lr} ldr r1, _021593a4 ; =data_ov61_02180cb4 add r4, r0, #4 ldr r2, [r1, #0xc] mov r1, r4 mov r0, #0 blx r2 cmp r0, #0 strne r4, [r0], #4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215937c _021593a4: .word data_ov61_02180cb4 .global func_ov61_021593a8 arm_func_start func_ov61_021593a8 func_ov61_021593a8: ; 0x021593a8 stmdb sp!, {r3, lr} cmp r0, #0 ldmeqia sp!, {r3, pc} ldr r1, _021593d0 ; =data_ov61_02180cb4 ldr r2, [r0, #-4] ldr r3, [r1, #4] sub r1, r0, #4 mov r0, #0 blx r3 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021593a8 _021593d0: .word data_ov61_02180cb4 .global func_ov61_021593d4 arm_func_start func_ov61_021593d4 func_ov61_021593d4: ; 0x021593d4 stmdb sp!, {r4, r5, r6, lr} ldr r1, [r0, #0xc] ldr ip, _02159538 ; =func_ov61_0215937c cmp r1, #1 moveq r2, #1 ldr r1, _0215953c ; =data_ov61_02180cb4 movne r2, #0 str r2, [r1, #0x40] ldr r6, [r0, #0x10] ldr r3, _02159540 ; =func_ov61_021593a8 mov r4, r6, lsr #0x18 mov r2, r6, lsr #0x8 mov r5, r6, lsl #0x8 and r4, r4, #0xff and r2, r2, #0xff00 mov r6, r6, lsl #0x18 orr r2, r4, r2 and r5, r5, #0xff0000 and r4, r6, #0xff000000 orr r2, r5, r2 orr r2, r4, r2 str r2, [r1, #0x44] ldr lr, [r0, #0x14] mov r2, #0x40 mov r5, lr, lsr #0x18 mov r4, lr, lsr #0x8 mov r6, lr, lsl #0x8 and r5, r5, #0xff and r4, r4, #0xff00 mov lr, lr, lsl #0x18 orr r4, r5, r4 and r6, r6, #0xff0000 and r5, lr, #0xff000000 orr r4, r6, r4 orr r4, r5, r4 str r4, [r1, #0x48] ldr lr, [r0, #0x18] mov r5, lr, lsr #0x18 mov r4, lr, lsr #0x8 mov r6, lr, lsl #0x8 and r5, r5, #0xff and r4, r4, #0xff00 mov lr, lr, lsl #0x18 orr r4, r5, r4 and r6, r6, #0xff0000 and r5, lr, #0xff000000 orr r4, r6, r4 orr r4, r5, r4 str r4, [r1, #0x4c] ldr lr, [r0, #0x1c] mov r5, lr, lsr #0x18 mov r4, lr, lsr #0x8 mov r6, lr, lsl #0x8 and r5, r5, #0xff and r4, r4, #0xff00 mov lr, lr, lsl #0x18 orr r4, r5, r4 and r6, r6, #0xff0000 and r5, lr, #0xff000000 orr r4, r6, r4 orr r4, r5, r4 str r4, [r1, #0x50] ldr r6, [r0, #0x20] mov r4, r6, lsr #0x18 mov lr, r6, lsr #0x8 mov r5, r6, lsl #0x8 mov r6, r6, lsl #0x18 and r4, r4, #0xff and lr, lr, #0xff00 and r5, r5, #0xff0000 orr r4, r4, lr and r6, r6, #0xff000000 orr r4, r5, r4 orr r4, r6, r4 str r4, [r1, #0x54] str ip, [r1, #0x58] str r3, [r1, #0x5c] ldr r3, [r0, #4] str r3, [r1, #0xc] ldr r3, [r0, #8] str r3, [r1, #4] str r2, [r1, #0x60] ldr r2, [r0, #0x2c] str r2, [r1, #0x70] ldr r2, [r0, #0x30] ldr r0, _02159544 ; =data_ov61_02180cf4 str r2, [r1, #0x74] bl func_ov61_02156804 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021593d4 _02159538: .word func_ov61_0215937c _0215953c: .word data_ov61_02180cb4 _02159540: .word func_ov61_021593a8 _02159544: .word data_ov61_02180cf4 .global func_ov61_02159548 arm_func_start func_ov61_02159548 func_ov61_02159548: ; 0x02159548 ldr ip, _02159550 ; =func_ov61_021588f0 bx ip .align 2, 0 arm_func_end func_ov61_02159548 _02159550: .word func_ov61_021588f0 .global func_ov61_02159554 arm_func_start func_ov61_02159554 func_ov61_02159554: ; 0x02159554 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} ldr r2, _02159580 ; =data_ov61_02180d2c add r1, sp, #8 mov r0, #2 mov r3, #0x10 bl func_ov61_021595d4 ldr r0, _02159580 ; =data_ov61_02180d2c ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov61_02159554 _02159580: .word data_ov61_02180d2c .global func_ov61_02159584 arm_func_start func_ov61_02159584 func_ov61_02159584: ; 0x02159584 stmdb sp!, {r4, lr} mov r4, r1 bl func_ov61_02158b68 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r2, r0, lsr #0x18 mov r1, r0, lsr #0x8 mov r3, r0, lsl #0x8 mov ip, r0, lsl #0x18 and r2, r2, #0xff and r0, r1, #0xff00 and r1, r3, #0xff0000 orr r0, r2, r0 and r2, ip, #0xff000000 orr r0, r1, r0 orr r0, r2, r0 str r0, [r4] mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov61_02159584 .global func_ov61_021595d4 arm_func_start func_ov61_021595d4 func_ov61_021595d4: ; 0x021595d4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 cmp r0, #2 mov r4, r2 addne sp, sp, #0x14 movne r0, #0 ldmneia sp!, {r3, r4, pc} cmp r3, #0x10 addlo sp, sp, #0x14 movlo r0, #0 ldmloia sp!, {r3, r4, pc} mov r0, r1 add r1, sp, #0x10 mov r2, #4 bl func_02007ad8 ldr r0, [sp, #0x10] add r1, sp, #0xc bl func_ov61_02159658 ldrb r1, [sp, #0xe] ldr r2, _02159654 ; =data_ov61_0217bc78 mov r0, r4 str r1, [sp] ldrb r3, [sp, #0xd] mov r1, #0x10 str r3, [sp, #4] ldrb r3, [sp, #0xc] str r3, [sp, #8] ldrb r3, [sp, #0xf] bl func_0200c910 mov r0, r4 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_021595d4 _02159654: .word data_ov61_0217bc78 .global func_ov61_02159658 arm_func_start func_ov61_02159658 func_ov61_02159658: ; 0x02159658 mov r2, r0, lsr #0x18 strb r2, [r1] mov r2, r0, lsr #0x10 strb r2, [r1, #1] mov r2, r0, lsr #0x8 strb r2, [r1, #2] strb r0, [r1, #3] bx lr arm_func_end func_ov61_02159658 .global func_ov61_02159678 arm_func_start func_ov61_02159678 func_ov61_02159678: ; 0x02159678 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r2 mov r8, r3 mvn r2, #0 cmp r8, r2 cmpeq sb, r2 movne fp, #1 str r0, [sp] mov sl, r1 moveq fp, #0 _021596a0: mov r6, #0 ldr r4, [sp] mov r5, r6 cmp sl, #0 bls _021596e0 _021596b4: ldrsh r1, [r4, #4] ldr r0, [r4] orr r7, r1, #0xe0 bl func_ov61_02158c50 ands r0, r7, r0 strh r0, [r4, #6] add r5, r5, #1 addne r6, r6, #1 add r4, r4, #8 cmp r5, sl blo _021596b4 _021596e0: cmp r6, #0 bgt _02159720 cmp fp, #0 beq _02159704 mov r0, #0 subs r0, r0, sb mov r0, #0 sbcs r0, r0, r8 bge _02159720 _02159704: mov r0, #1 bl func_0200db28 ldr r0, _02159728 ; =0x0000020b subs sb, sb, r0 mov r0, #0 sbc r8, r8, r0 b _021596a0 _02159720: mov r0, r6 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02159678 _02159728: .word 0x0000020b .global func_ov61_0215972c arm_func_start func_ov61_0215972c func_ov61_0215972c: ; 0x0215972c stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r0 bl func_0200ee4c mov r4, #0 ldr r6, _021597bc ; =data_ov61_02180e48 mov r5, r0 strb r4, [r7, #0x30] mov r8, #0x20 _0215974c: ldrb r0, [r6, #0x5a] cmp r0, #0 beq _021597a0 ldr r0, [r6, #0x54] cmp r0, #0 ldreqh r0, [r6, #0x58] cmpeq r0, #0 bne _021597a0 mov r0, r6 mov r2, r8 add r1, r7, #0x74 bl func_0204366c cmp r0, #0 bne _021597a0 mov r1, r7 add r0, r6, #0x20 mov r2, #0x30 bl func_02007ad8 mov r0, #1 strb r0, [r7, #0x30] b _021597b0 _021597a0: add r4, r4, #1 cmp r4, #4 add r6, r6, #0x5c blt _0215974c _021597b0: mov r0, r5 bl func_0200ee60 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0215972c _021597bc: .word data_ov61_02180e48 .global func_ov61_021597c0 arm_func_start func_ov61_021597c0 func_ov61_021597c0: ; 0x021597c0 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 bl func_0200ee4c mov r1, #0 ldr r5, _0215985c ; =data_ov61_02180e48 mov r4, r0 strb r1, [r8, #0x30] _021597e4: ldrb r0, [r5, #0x5a] cmp r0, #0 beq _02159840 ldr r0, [r5, #0x54] cmp r0, r7 ldreqh r0, [r5, #0x58] cmpeq r0, r6 bne _02159840 mov r0, r5 add r1, r8, #0x74 mov r2, #0x20 bl func_02007ad8 mov r1, r8 add r0, r5, #0x20 mov r2, #0x30 bl func_02007ad8 bl func_0200e8f8 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 str r0, [r5, #0x50] mov r0, #1 strb r0, [r8, #0x30] b _02159850 _02159840: add r1, r1, #1 cmp r1, #4 add r5, r5, #0x5c blt _021597e4 _02159850: mov r0, r4 bl func_0200ee60 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021597c0 _0215985c: .word data_ov61_02180e48 .global func_ov61_02159860 arm_func_start func_ov61_02159860 func_ov61_02159860: ; 0x02159860 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r0 mov r7, r1 mov r6, r2 bl func_0200ee4c mov r4, r0 bl func_0200e8f8 ldr sb, _02159948 ; =data_ov61_02180e48 mov r5, r0, lsr #0x10 mov r2, #0 mov r0, r2 mov r3, sb orr r5, r5, r1, lsl #16 mvn ip, #0 _02159898: ldrb lr, [r3, #0x5a] cmp lr, #0 cmpne r7, #0 beq _021598cc ldr r1, [r3, #0x54] cmp r7, r1 bne _021598cc cmp r6, #0 beq _021598cc ldrh r1, [r3, #0x58] cmp r6, r1 moveq sb, r3 beq _02159908 _021598cc: cmp r2, ip beq _021598f8 cmp lr, #0 moveq r2, ip moveq sb, r3 beq _021598f8 ldr r1, [r3, #0x50] sub r1, r5, r1 cmp r1, r2 movhi r2, r1 movhi sb, r3 _021598f8: add r0, r0, #1 cmp r0, #4 add r3, r3, #0x5c blt _02159898 _02159908: mov r1, sb add r0, r8, #0x74 mov r2, #0x20 bl func_02007ad8 mov r0, r8 add r1, sb, #0x20 mov r2, #0x30 bl func_02007ad8 str r5, [sb, #0x50] mov r0, #1 strb r0, [sb, #0x5a] str r7, [sb, #0x54] mov r0, r4 strh r6, [sb, #0x58] bl func_0200ee60 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02159860 _02159948: .word data_ov61_02180e48 .global func_ov61_0215994c arm_func_start func_ov61_0215994c func_ov61_0215994c: ; 0x0215994c stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 bl func_0200ee4c ldr r7, _021599b0 ; =data_ov61_02180e48 mov r6, r0 mov r5, #0 mov r4, #0x20 _02159968: ldrb r0, [r7, #0x5a] cmp r0, #0 beq _02159994 mov r0, r7 mov r2, r4 add r1, r8, #0x74 bl func_0204366c cmp r0, #0 moveq r0, #0 streqb r0, [r7, #0x5a] beq _021599a4 _02159994: add r5, r5, #1 cmp r5, #4 add r7, r7, #0x5c blt _02159968 _021599a4: mov r0, r6 bl func_0200ee60 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0215994c _021599b0: .word data_ov61_02180e48 .global func_ov61_021599b4 arm_func_start func_ov61_021599b4 func_ov61_021599b4: ; 0x021599b4 stmdb sp!, {lr} sub sp, sp, #0x1c add r0, sp, #0xc blx func_02042668 add r0, sp, #0 blx func_020426d4 add r0, sp, #0xc add r1, sp, #0 blx func_02042bb8 ldr r1, _021599e8 ; =0x386d4380 add r0, r0, r1 add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov61_021599b4 _021599e8: .word 0x386d4380 .global func_ov61_021599ec arm_func_start func_ov61_021599ec func_ov61_021599ec: ; 0x021599ec ldr r1, _021599f8 ; =data_ov61_0217bc84 str r0, [r1, #4] bx lr .align 2, 0 arm_func_end func_ov61_021599ec _021599f8: .word data_ov61_0217bc84 .global func_ov61_021599fc arm_func_start func_ov61_021599fc func_ov61_021599fc: ; 0x021599fc stmdb sp!, {r3, r4, r5, lr} ldr r0, _02159a40 ; =data_ov61_0217bc84 ldr r0, [r0, #4] cmp r0, #0x20 mvnhs r0, #0 ldmhsia sp!, {r3, r4, r5, pc} ldr r0, _02159a44 ; =data_027e02a0 ldr r5, [r0, #4] mov r0, r5 bl func_0200db20 ldr r1, _02159a40 ; =data_ov61_0217bc84 mov r4, r0 ldr r1, [r1, #4] mov r0, r5 bl func_0200da78 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021599fc _02159a40: .word data_ov61_0217bc84 _02159a44: .word data_027e02a0 .global func_ov61_02159a48 arm_func_start func_ov61_02159a48 func_ov61_02159a48: ; 0x02159a48 stmdb sp!, {r3, lr} mov r1, r0 cmp r1, #0x20 ldmhsia sp!, {r3, pc} ldr r0, _02159a68 ; =data_027e02a0 ldr r0, [r0, #4] bl func_0200da78 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02159a48 _02159a68: .word data_027e02a0 .global func_ov61_02159a6c arm_func_start func_ov61_02159a6c func_ov61_02159a6c: ; 0x02159a6c ldr r2, _02159a90 ; =data_027e02a0 ldr r2, [r2, #4] ldr r2, [r2, #0xa4] cmp r2, #0 ldrne r2, [r2, #0xc] cmpne r2, #0 strne r0, [r2, #0x814] strne r1, [r2, #0x818] bx lr .align 2, 0 arm_func_end func_ov61_02159a6c _02159a90: .word data_027e02a0 .global func_ov61_02159a94 arm_func_start func_ov61_02159a94 func_ov61_02159a94: ; 0x02159a94 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r6, [r0, #0x818] mov r8, r1 cmp r6, #0 mov r4, #0 ble _02159ad8 ldr r5, [r0, #0x814] _02159ab0: ldr r7, [r5, r4, lsl #2] mov r1, r8 ldr r0, [r7] bl func_0204716c cmp r0, #0 moveq r0, r7 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r4, r4, #1 cmp r4, r6 blt _02159ab0 _02159ad8: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_02159a94 .global func_ov61_02159ae0 arm_func_start func_ov61_02159ae0 func_ov61_02159ae0: ; 0x02159ae0 ldr r1, [r0] ldrb r2, [r1] add r3, r1, #1 tst r2, #0x80 beq _02159b24 ands r1, r2, #0x7f sub ip, r1, #1 mov r2, #0 beq _02159b24 _02159b04: tst r2, #0xff000000 mvnne r0, #0 bxne lr ldrb r1, [r3], #1 cmp ip, #0 sub ip, ip, #1 add r2, r1, r2, lsl #8 bne _02159b04 _02159b24: str r3, [r0] mov r0, r2 bx lr arm_func_end func_ov61_02159ae0 .global func_ov61_02159b30 arm_func_start func_ov61_02159b30 func_ov61_02159b30: ; 0x02159b30 ldrsb r3, [r0] mov ip, r0 cmp r3, #0 beq _02159b78 _02159b40: ldrsb r3, [r0, #1]! cmp r3, #0 bne _02159b40 sub r3, r0, ip cmp r3, #0xff bxge lr mov r3, #0x2c strb r3, [r0] mov r3, #0x20 strb r3, [r0, #1] add r0, r0, #2 b _02159b78 _02159b70: ldrsb r3, [r1], #1 strb r3, [r0], #1 _02159b78: cmp r2, #0 sub r2, r2, #1 beq _02159b90 sub r3, r0, ip cmp r3, #0xff blt _02159b70 _02159b90: mov r1, #0 strb r1, [r0] bx lr arm_func_end func_ov61_02159b30 .global func_ov61_02159b9c arm_func_start func_ov61_02159b9c func_ov61_02159b9c: ; 0x02159b9c stmdb sp!, {r4, lr} ldrb ip, [r0, #1] ldrb r3, [r0], #2 mov r2, #0xa cmp r1, #0x17 mla r1, r3, r2, ip sub lr, r1, #0x210 bne _02159bd0 cmp lr, #0x32 addlo r4, lr, #0x7d0 addhs r1, lr, #0x36c addhs r4, r1, #0x400 b _02159be8 _02159bd0: ldrb ip, [r0, #1] ldrb r3, [r0], #2 mov r1, #0x64 mla r2, r3, r2, ip sub r2, r2, #0x210 mla r4, lr, r1, r2 _02159be8: ldrb ip, [r0, #1] ldrb r3, [r0] mov r1, #0xa ldrb r2, [r0, #3] ldrb r0, [r0, #2] mla ip, r3, r1, ip mla r1, r0, r1, r2 sub r0, ip, #0x210 mov r0, r0, lsl #0x8 add r2, r0, r4, lsl #16 sub r0, r1, #0x210 add r0, r2, r0 ldmia sp!, {r4, pc} arm_func_end func_ov61_02159b9c .global func_ov61_02159c1c arm_func_start func_ov61_02159c1c func_ov61_02159c1c: ; 0x02159c1c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov fp, r1 ldr r1, [fp] mov sb, r0 add r0, r1, #1 str r0, [sp, #4] add r0, sp, #4 mov r7, r2 mov r6, r3 ldr r8, [sp, #0x30] ldrb r5, [r1] bl func_ov61_02159ae0 movs r4, r0 bmi _02159c60 cmp r4, #0x7d0 ble _02159c6c _02159c60: add sp, sp, #8 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02159c6c: and r1, r5, #0x1f cmp r1, #0x18 addls pc, pc, r1, lsl #2 b _0215a090 _02159c7c: ; jump table b _0215a090 ; case 0 b _0215a090 ; case 1 b _02159ce0 ; case 2 b _02159dd8 ; case 3 b _0215a090 ; case 4 b _0215a090 ; case 5 b _02159e58 ; case 6 b _0215a090 ; case 7 b _0215a090 ; case 8 b _0215a090 ; case 9 b _0215a090 ; case 10 b _0215a090 ; case 11 b _02159ef0 ; case 12 b _0215a090 ; case 13 b _0215a090 ; case 14 b _0215a090 ; case 15 b _02159fc0 ; case 16 b _0215a040 ; case 17 b _0215a090 ; case 18 b _02159ef0 ; case 19 b _02159ef0 ; case 20 b _0215a090 ; case 21 b _02159ef0 ; case 22 b _02159f70 ; case 23 b _02159f70 ; case 24 _02159ce0: ldrb r0, [sb, #0x5ad] cmp r0, #0 beq _02159dc8 cmp r6, #0 bne _02159d60 ldr r0, [sp, #4] ldrb r1, [r0] cmp r1, #0 bne _02159d1c _02159d04: add r0, r0, #1 str r0, [sp, #4] ldrb r1, [r0] sub r4, r4, #1 cmp r1, #0 beq _02159d04 _02159d1c: cmp r8, #0 beq _02159d30 cmp r8, #2 beq _02159d50 b _02159dc8 _02159d30: cmp r4, #0x100 bgt _02159dc8 add r1, sb, #0x94 mov r2, r4 add r1, r1, #0x400 bl func_02007ad8 str r4, [sb, #0x594] b _02159dc8 _02159d50: str r4, [sb, #0x484] ldr r0, [sp, #4] str r0, [sb, #0x488] b _02159dc8 _02159d60: cmp r6, #1 bne _02159dc8 ldr r0, [sp, #4] ldrb r1, [r0] cmp r1, #0 bne _02159d90 _02159d78: add r0, r0, #1 str r0, [sp, #4] ldrb r1, [r0] sub r4, r4, #1 cmp r1, #0 beq _02159d78 _02159d90: cmp r8, #0 beq _02159dac cmp r8, #2 streq r4, [sb, #0x48c] ldreq r0, [sp, #4] streq r0, [sb, #0x490] b _02159dc8 _02159dac: cmp r4, #8 bgt _02159dc8 add r1, sb, #0x198 mov r2, r4 add r1, r1, #0x400 bl func_02007ad8 str r4, [sb, #0x5a0] _02159dc8: ldr r0, [sp, #4] add r0, r0, r4 str r0, [sp, #4] b _0215a0f4 _02159dd8: cmp r7, #1 bne _02159dfc cmp r8, #2 beq _02159dfc ldr r1, [sp, #4] sub r0, r4, #1 add r1, r1, #1 str r1, [sb, #0x5a4] str r0, [sb, #0x5a8] _02159dfc: ldrb r0, [sb, #0x5ad] cmp r0, #0 beq _02159e48 ldr r0, [sp, #4] add r1, sp, #4 add r0, r0, #1 str r0, [sp, #4] mov r0, sb mov r2, r7 mov r3, #0 str r8, [sp] bl func_ov61_02159c1c cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #0 strb r0, [sb, #0x5ad] b _0215a0f4 _02159e48: ldr r0, [sp, #4] add r0, r0, r4 str r0, [sp, #4] b _0215a0f4 _02159e58: ldr r6, [sp, #4] ldr sl, _0215a108 ; =data_ov61_0217bc8c mov r5, #0 _02159e64: ldr r7, [sl, r5, lsl #2] mov r0, r7 bl func_02047008 mov r2, r0 mov r0, r6 mov r1, r7 bl func_0204366c cmp r0, #0 bne _02159ed4 cmp r5, #5 addls pc, pc, r5, lsl #2 b _02159ee0 _02159e94: ; jump table b _02159ee0 ; case 0 b _02159eac ; case 1 b _02159eac ; case 2 b _02159ebc ; case 3 b _02159ebc ; case 4 b _02159ec8 ; case 5 _02159eac: cmp r8, #0 streq r5, [sb, #0x45c] strb r5, [sb, #0x5ad] b _02159ee0 _02159ebc: cmp r8, #2 strne r5, [sb, #0x458] b _02159ee0 _02159ec8: cmp r8, #2 strneb r5, [sb, #0x5ae] b _02159ee0 _02159ed4: add r5, r5, #1 cmp r5, #6 blt _02159e64 _02159ee0: ldr r0, [sp, #4] add r0, r0, r4 str r0, [sp, #4] b _0215a0f4 _02159ef0: cmp r8, #2 beq _02159f58 ldrb r0, [sb, #0x5ac] cmp r0, #0 beq _02159f48 ldr r1, [sp, #4] mov r2, r4 add r0, sb, #0x6b0 bl func_ov61_02159b30 ldrb r0, [sb, #0x5ae] cmp r0, #5 bne _02159f58 cmp r4, #0x4f bgt _02159f58 ldr r0, [sp, #4] mov r2, r4 add r1, sb, #0x7b0 bl func_02007ad8 add r0, sb, r4 mov r1, #0 strb r1, [r0, #0x7b0] b _02159f58 _02159f48: ldr r1, [sp, #4] mov r2, r4 add r0, sb, #0x5b0 bl func_ov61_02159b30 _02159f58: mov r0, #0 strb r0, [sb, #0x5ae] ldr r0, [sp, #4] add r0, r0, r4 str r0, [sp, #4] b _0215a0f4 _02159f70: cmp r8, #2 beq _02159fa8 ldr r0, [sp, #4] bl func_ov61_02159b9c cmp r6, #0 ldr r1, [sb, #0x80c] bne _02159f9c cmp r1, r0 movhs r0, #1 strhsb r0, [sb, #0x5af] b _02159fa8 _02159f9c: cmp r1, r0 movhi r0, #0 strhib r0, [sb, #0x5af] _02159fa8: ldr r1, [sp, #4] mov r0, #1 add r1, r1, r4 str r1, [sp, #4] strb r0, [sb, #0x5ac] b _0215a0f4 _02159fc0: cmp r7, #0 cmpeq r6, #0 bne _02159fd8 cmp r8, #2 ldrne r0, [sp, #4] strne r0, [sb, #0x460] _02159fd8: ldr r0, [sp, #4] mov r5, #0 add sl, r0, r4 cmp r0, sl bhs _0215a028 add r4, sp, #4 _02159ff0: mov r0, sb mov r1, r4 mov r3, r5 add r2, r7, #1 str r8, [sp] bl func_ov61_02159c1c cmp r0, #0 add r5, r5, #1 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #4] cmp r0, sl blo _02159ff0 _0215a028: cmp r7, #1 cmpeq r6, #0 bne _0215a0f4 cmp r8, #2 strne r0, [sb, #0x464] b _0215a0f4 _0215a040: ldr r0, [sp, #4] add r6, r0, r4 cmp r0, r6 bhs _0215a0f4 add r5, sp, #4 mov r4, #0 _0215a058: mov r0, sb mov r1, r5 mov r3, r4 add r2, r7, #1 str r8, [sp] bl func_ov61_02159c1c cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #4] cmp r0, r6 blo _0215a058 b _0215a0f4 _0215a090: cmp r5, #0xa0 bne _0215a0e8 ldr r0, [sp, #4] add r6, r0, r4 cmp r0, r6 bhs _0215a0f4 add r5, sp, #4 mov r4, #0 _0215a0b0: mov r0, sb mov r1, r5 mov r3, r4 add r2, r7, #1 str r8, [sp] bl func_ov61_02159c1c cmp r0, #0 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #4] cmp r0, r6 blo _0215a0b0 b _0215a0f4 _0215a0e8: ldr r0, [sp, #4] add r0, r0, r4 str r0, [sp, #4] _0215a0f4: ldr r1, [sp, #4] mov r0, #0 str r1, [fp] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02159c1c _0215a108: .word data_ov61_0217bc8c .global func_ov61_0215a10c arm_func_start func_ov61_0215a10c func_ov61_0215a10c: ; 0x0215a10c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #4 mov r8, r0 ldr r0, [r8, #0x5a4] mov r7, r1 cmp r0, #0 ldrne r0, [r8, #0x5a8] cmpne r0, #0 ldrne r0, [r7, #0x10] cmpne r0, #0 ldrne r0, [r7, #0xc] cmpne r0, #0 ldrne r0, [r7, #8] cmpne r0, #0 ldrne r0, [r7, #4] cmpne r0, #0 addeq sp, sp, #4 moveq r0, #2 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} mov r0, r0, lsl #0x1 ldr r1, _0215a2ac ; =data_ov61_0217f428 add r0, r0, r0, lsr #31 mov r5, r0, asr #0x1 ldr r1, [r1] mov r0, r5, lsl #0x3 blx r1 movs r4, r0 addeq sp, sp, #4 moveq r0, #2 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} add r6, r4, r5, lsl #1 add sb, r6, r5, lsl #1 ldr r1, [r8, #0x5a4] ldr r2, [r8, #0x5a8] mov r0, r6 mov r3, r5 add sl, sb, r5, lsl #1 bl func_ov61_0215e8d4 ldr r1, [r7, #0x10] ldr r2, [r7, #0xc] mov r0, sb mov r3, r5 bl func_ov61_0215e8d4 ldr r1, [r7, #8] ldr r2, [r7, #4] mov r0, sl mov r3, r5 bl func_ov61_0215e8d4 bl func_ov61_021599fc mov r2, sb mov sb, r0 mov r0, r4 mov r1, r6 mov r3, r5 str sl, [sp] bl func_ov61_0215e2c0 mov r0, sb bl func_ov61_02159a48 ldr r2, [r7, #4] mov r0, r6 mov r1, r4 mov r3, r5 bl func_ov61_0215e930 ldrb r0, [r4, r5, lsl #1] mov r5, #0 cmp r0, #0 ldreqb r0, [r6, #1] cmpeq r0, #1 movne r5, #2 bne _0215a290 ldr r3, [r7, #4] mov r2, #2 cmp r3, #2 ble _0215a24c _0215a234: ldrb r0, [r6, r2] cmp r0, #0xff bne _0215a24c add r2, r2, #1 cmp r2, r3 blt _0215a234 _0215a24c: add r1, r2, #1 cmp r1, r3 bge _0215a28c ldrb r0, [r6, r2] cmp r0, #0 ldreqb r0, [r6, r1] cmpeq r0, #0x30 bne _0215a28c ldr r2, [r8, #0x47c] add r0, r8, #0x68 add r1, r6, r3 add r0, r0, #0x400 sub r1, r1, r2 bl func_0204366c cmp r0, #0 beq _0215a290 _0215a28c: mov r5, #2 _0215a290: ldr r1, _0215a2b0 ; =data_ov61_0217f454 mov r0, r4 ldr r1, [r1] blx r1 mov r0, r5 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_0215a10c _0215a2ac: .word data_ov61_0217f428 _0215a2b0: .word data_ov61_0217f454 .global func_ov61_0215a2b4 arm_func_start func_ov61_0215a2b4 func_ov61_0215a2b4: ; 0x0215a2b4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r0, [r5, #0x5af] ldr r1, [r5, #0x45c] cmp r0, #0 movne r4, #0 moveq r4, #0x8000 mvn r0, #0 cmp r1, r0 orreq r0, r4, #4 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x458] cmp r0, #3 beq _0215a2f8 cmp r0, #4 beq _0215a330 b _0215a368 _0215a2f8: add r0, r5, #0x3fc bl func_ov61_0215cfe4 ldr r1, [r5, #0x460] ldr r2, [r5, #0x464] add r0, r5, #0x3fc sub r2, r2, r1 bl func_ov61_0215d02c add r1, r5, #0x68 add r0, r5, #0x3fc add r1, r1, #0x400 bl func_ov61_0215d0e4 mov r0, #0x10 str r0, [r5, #0x47c] b _0215a370 _0215a330: add r0, r5, #0x348 bl func_ov61_0215d8a4 ldr r1, [r5, #0x460] ldr r2, [r5, #0x464] add r0, r5, #0x348 sub r2, r2, r1 bl func_ov61_0215d8f8 add r1, r5, #0x68 add r0, r5, #0x348 add r1, r1, #0x400 bl func_ov61_0215d9b0 mov r0, #0x14 str r0, [r5, #0x47c] b _0215a370 _0215a368: orr r0, r4, #3 ldmia sp!, {r3, r4, r5, pc} _0215a370: mov r0, r5 add r1, r5, #0x5b0 bl func_ov61_02159a94 movs r1, r0 orreq r0, r4, #1 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov61_0215a10c orr r0, r4, r0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0215a2b4 .global func_ov61_0215a398 arm_func_start func_ov61_0215a398 func_ov61_0215a398: ; 0x0215a398 mov r2, r0 b _0215a3a4 _0215a3a0: add r0, r0, #1 _0215a3a4: ldrsb r1, [r0] cmp r1, #0x2e cmpne r1, #0 bne _0215a3a0 sub r0, r0, r2 bx lr arm_func_end func_ov61_0215a398 .global func_ov61_0215a3bc arm_func_start func_ov61_0215a3bc func_ov61_0215a3bc: ; 0x0215a3bc stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 b _0215a3d8 _0215a3cc: cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _0215a3d8: ldrsb r0, [r5], #1 ldrsb r1, [r6], #1 cmp r1, r0 beq _0215a3cc cmp r0, #0x2a movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} sub r6, r6, #1 mov r0, r6 bl func_ov61_0215a398 mov r4, r0 mov r0, r5 bl func_ov61_0215a398 cmp r0, r4 movgt r0, #1 ldmgtia sp!, {r4, r5, r6, pc} sub r0, r4, r0 add r6, r6, r0 b _0215a3d8 _0215a424: ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0215a3bc .global func_ov61_0215a428 arm_func_start func_ov61_0215a428 func_ov61_0215a428: ; 0x0215a428 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 ldr r1, [sp, #0x44] mov sl, r0 ldrb r4, [r1, #2] ldrb r3, [r1] ldrb r2, [r1, #1] add r0, r1, #3 mvn r1, #0 str r0, [sp, #0x44] add r2, r2, r3, lsl #8 add r0, sp, #8 str r1, [sl, #0x45c] add r8, r4, r2, lsl #8 blx func_02042668 mov r6, #0 ldr r1, [sp, #8] ldr r0, [sp, #0xc] add r1, r1, #0x7d0 mov r0, r0, lsl #0x8 ldr r2, [sp, #0x10] add r0, r0, r1, lsl #16 add r0, r2, r0 str r0, [sl, #0x80c] strb r6, [sl, #0x6b0] str r6, [sl, #0x5a0] mov sb, r6 str r6, [sl, #0x594] mov fp, #2 mvn r5, #0 mov r4, r6 _0215a4a8: ldr r1, [sp, #0x44] mov r0, sl ldrb r2, [r1, #2] ldrb ip, [r1] ldrb r3, [r1, #1] add r7, r1, #3 add r1, sp, #0x44 str r7, [sp, #0x44] str r5, [sl, #0x458] strb r4, [sl, #0x5ad] strb r4, [sl, #0x5ac] strb r4, [sl, #0x5af] strb r4, [sl, #0x6b0] strb r4, [sl, #0x5b0] strb r4, [sl, #0x7b0] add r3, r3, ip, lsl #8 ldr r7, [sp, #0x44] add r3, r2, r3, lsl #8 add r2, r3, #3 str r7, [sl, #0x804] str r3, [sl, #0x808] sub r8, r8, r2 mov r2, r4 mov r3, r4 str r6, [sp] bl func_ov61_02159c1c cmp r0, #0 bne _0215a530 ldr r0, [sl, #0x594] cmp r0, #0x33 blo _0215a530 ldr r0, [sl, #0x5a0] cmp r0, #0 bne _0215a548 _0215a530: mov r0, #9 add sp, sp, #0x18 strb r0, [sl, #0x455] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr _0215a548: mov r0, sl bl func_ov61_0215a2b4 mov r7, r0 cmp sb, #0 bne _0215a578 ldr r0, [sl, #0x800] cmp r0, #0 beq _0215a578 add r1, sl, #0x7b0 bl func_ov61_0215a3bc cmp r0, #0 orrne r7, r7, #0x4000 _0215a578: and r6, r7, #0xff cmp r6, #1 bne _0215a5e8 cmp r8, #0 beq _0215a5e8 ldr r1, [sp, #0x44] mov r2, #0 add r1, r1, #3 str r1, [sp, #4] mov r1, #0 strb r1, [sl, #0x5ad] mov r0, sl add r1, sp, #4 mov r3, r2 str fp, [sp] bl func_ov61_02159c1c cmp r0, #0 movne r0, #9 addne sp, sp, #0x18 strneb r0, [sl, #0x455] ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} addne sp, sp, #0x10 bxne lr mov r0, sl add r1, sl, #0x480 bl func_ov61_0215a10c bic r1, r7, #0xff orr r7, r1, r0 _0215a5e8: ldr r3, [sl, #0x810] cmp r3, #0 beq _0215a608 mov r0, r7 mov r1, sl mov r2, sb blx r3 mov r7, r0 _0215a608: cmp r6, #0 add sb, sb, #1 beq _0215a628 cmp r7, #0 bne _0215a628 cmp r8, #0 movne r6, #1 bne _0215a4a8 _0215a628: cmp r7, #0 moveq r0, #3 streqb r0, [sl, #0x455] movne r0, #9 strneb r0, [sl, #0x455] add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_0215a428 .global func_ov61_0215a64c arm_func_start func_ov61_0215a64c func_ov61_0215a64c: ; 0x0215a64c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 mov r5, r1 add r0, r5, #2 add r1, r6, #0x54 mov r2, #0x20 bl func_02007ad8 ldrb r7, [r6, #0x30] ldrb r4, [r5, #0x22] add r5, r5, #0x23 cmp r7, #0 beq _0215a6a4 cmp r4, #0x20 bne _0215a6a4 mov r1, r5 add r0, r6, #0x74 mov r2, #0x20 bl func_0204366c cmp r0, #0 moveq r0, #1 streqb r0, [r6, #0x31] beq _0215a6e0 _0215a6a4: cmp r7, #0 beq _0215a6b4 mov r0, r6 bl func_ov61_0215994c _0215a6b4: cmp r4, #0 moveq r0, #0 beq _0215a6d4 mov r0, r5 add r1, r6, #0x74 mov r2, #0x20 bl func_02007ad8 mov r0, #1 _0215a6d4: strb r0, [r6, #0x30] mov r0, #0 strb r0, [r6, #0x31] _0215a6e0: add r0, r5, r4 ldrb r2, [r5, r4] ldrb r1, [r0, #1] mov r0, #2 add r1, r1, r2, lsl #8 strh r1, [r6, #0x32] strb r0, [r6, #0x455] ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0215a64c .global func_ov61_0215a700 arm_func_start func_ov61_0215a700 func_ov61_0215a700: ; 0x0215a700 stmdb sp!, {r4, lr} cmp r1, #0 mov r4, #0 ble _0215a744 _0215a710: ldrb lr, [r0] ldrb ip, [r0, #1] cmp r2, #3 add lr, ip, lr, lsl #8 ldreqb ip, [r0, #2] addeq lr, ip, lr, lsl #8 cmp lr, r3 moveq r0, #1 ldmeqia sp!, {r4, pc} add r4, r4, #1 cmp r4, r1 add r0, r0, r2 blt _0215a710 _0215a744: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_0215a700 .global func_ov61_0215a74c arm_func_start func_ov61_0215a74c func_ov61_0215a74c: ; 0x0215a74c stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r4, _0215a7a8 ; =data_ov61_0217bc84 mov r8, r0 mov r7, r1 mov r6, r2 mov r5, #0 _0215a764: mov r0, r5, lsl #0x1 ldrh r3, [r4, r0] mov r0, r8 mov r1, r7 mov r2, r6 bl func_ov61_0215a700 cmp r0, #0 beq _0215a794 ldr r0, _0215a7a8 ; =data_ov61_0217bc84 mov r1, r5, lsl #0x1 ldrh r0, [r0, r1] ldmia sp!, {r4, r5, r6, r7, r8, pc} _0215a794: add r5, r5, #1 cmp r5, #2 blo _0215a764 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0215a74c _0215a7a8: .word data_ov61_0217bc84 .global func_ov61_0215a7ac arm_func_start func_ov61_0215a7ac func_ov61_0215a7ac: ; 0x0215a7ac cmp r0, #3 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov61_0215a7ac .global func_ov61_0215a7bc arm_func_start func_ov61_0215a7bc func_ov61_0215a7bc: ; 0x0215a7bc stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r1 mov r7, r0 ldrb r0, [r6] ldrb r1, [r6, #1] bl func_ov61_0215a7ac cmp r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrb r2, [r6, #2] ldrb r1, [r6, #3] ldr r3, _0215a880 ; =0x55555556 add r0, r6, #8 add r4, r1, r2, lsl #8 smull r2, r1, r3, r4 add r1, r1, r4, lsr #31 mov r2, #3 bl func_ov61_0215a74c mov r0, r0, lsl #0x10 movs r0, r0, lsr #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} strh r0, [r7, #0x32] ldrb r5, [r6, #4] ldrb r3, [r6, #5] ldrb r2, [r6, #6] ldrb r0, [r6, #7] mov r1, #0 add r3, r3, r5, lsl #8 add r5, r0, r2, lsl #8 add r0, r4, #8 strb r1, [r7, #0x30] cmp r5, #0x20 add r4, r0, r3 blt _0215a854 add r0, r6, r4 add r1, r7, #0x34 mov r2, #0x20 bl func_02007ad8 b _0215a874 _0215a854: add r0, r7, #0x34 rsb r2, r5, #0x20 bl func_02007a44 add r1, r7, #0x54 mov r2, r5 add r0, r6, r4 sub r1, r1, r5 bl func_02007ad8 _0215a874: mov r0, #1 strb r0, [r7, #0x455] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0215a7bc _0215a880: .word 0x55555556 .global func_ov61_0215a884 arm_func_start func_ov61_0215a884 func_ov61_0215a884: ; 0x0215a884 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r4, r0 ldrb r0, [r6] ldrb r1, [r6, #1] bl func_ov61_0215a7ac cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r0, r6, #2 add r1, r4, #0x34 mov r2, #0x20 bl func_02007ad8 ldrb r5, [r6, #0x22] add r6, r6, #0x23 cmp r5, #0x20 movne r0, #0 strneb r0, [r4, #0x30] bne _0215a8e4 mov r0, r6 add r1, r4, #0x74 mov r2, #0x20 bl func_02007ad8 mov r0, r4 bl func_ov61_0215972c _0215a8e4: add r0, r6, r5 ldrb r1, [r0, #1] ldrb r3, [r6, r5] add r0, r0, #2 mov r2, #2 add r1, r1, r3, lsl #8 add r1, r1, r1, lsr #31 mov r1, r1, asr #0x1 bl func_ov61_0215a74c mov r0, r0, lsl #0x10 movs r0, r0, lsr #0x10 strh r0, [r4, #0x32] movne r0, #1 strneb r0, [r4, #0x455] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0215a884 .global func_ov61_0215a920 arm_func_start func_ov61_0215a920 func_ov61_0215a920: ; 0x0215a920 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 movs sl, r2 str r0, [sp, #8] ldrne r0, [sl] mov fp, r1 cmpne r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, r0, lsl #0x1 add r0, r0, r0, lsr #31 mov r0, r0, asr #0x1 add r4, r0, #1 mov r0, #0x14 mul r0, r4, r0 ldr r1, _0215ab58 ; =data_ov61_0217f428 ldr r1, [r1] blx r1 movs r5, r0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r6, r5, r4, lsl #1 add r7, r6, r4, lsl #1 add r1, r7, r4, lsl #1 str r1, [sp, #0x10] add r1, r1, r4, lsl #1 add r8, r1, r4, lsl #1 str r1, [sp, #0xc] ldr r2, [sl] add sb, r8, r4, lsl #1 mov r1, fp mov r3, r4 add fp, sb, r4, lsl #1 bl func_ov61_0215e8d4 ldr r1, [sl, #0x1c] ldr r2, [sl, #0x18] mov r0, r6 mov r3, r4 bl func_ov61_0215e8d4 ldr r1, [sl, #0xc] ldr r2, [sl, #8] mov r0, r8 mov r3, r4 bl func_ov61_0215e8d4 bl func_ov61_021599fc str r0, [sp, #0x14] ldr r0, [sp, #0x10] str r8, [sp] mov r1, r5 mov r2, r6 mov r3, r4 bl func_ov61_0215e6c8 ldr r1, [sl, #0x24] ldr r2, [sl, #0x20] mov r0, r6 mov r3, r4 bl func_ov61_0215e8d4 ldr r1, [sl, #0x14] ldr r2, [sl, #0x10] mov r0, r8 mov r3, r4 bl func_ov61_0215e8d4 ldr r0, [sp, #0xc] mov r1, r5 mov r2, r6 mov r3, r4 str r8, [sp] bl func_ov61_0215e6c8 ldr r0, [sp, #0x14] bl func_ov61_02159a48 ldr r1, [sp, #0x10] ldr r2, [sp, #0xc] mov r0, r5 mov r3, r4 bl func_ov61_0215dcc0 ldr r1, [sl, #0x2c] ldr r2, [sl, #0x28] mov r0, r6 mov r3, r4 bl func_ov61_0215e8d4 mov r0, r7 mov r1, r5 mov r2, r6 mov r3, r4 bl func_ov61_0215de3c ldr r1, [sl, #0x14] ldr r2, [sl, #0x10] mov r0, r6 mov r3, r4 bl func_ov61_0215e8d4 mov r0, r5 mov r1, r7 mov r2, r6 mov r3, r4 bl func_ov61_0215de3c ldr r2, [sp, #0xc] mov r0, r7 mov r1, r5 mov r3, r4 bl func_ov61_0215db80 ldr r1, [sl, #4] ldr r2, [sl] mov r0, r6 mov r3, r4 bl func_ov61_0215e8d4 mov r0, r7 mov r1, r4 bl func_ov61_0215db50 cmp r0, #0 bge _0215ab14 mov r0, r7 mov r1, r4 bl func_ov61_0215dc80 mov r1, r7 mov r2, r6 mov r3, sb mov r0, #0 stmia sp, {r4, fp} bl func_ov61_0215e0e0 mov r0, sb mov r1, r6 mov r2, sb mov r3, r4 bl func_ov61_0215dcc0 b _0215ab2c _0215ab14: mov r1, r7 mov r2, r6 mov r3, sb mov r0, #0 stmia sp, {r4, fp} bl func_ov61_0215e0e0 _0215ab2c: ldr r0, [sp, #8] mov r1, sb mov r3, r4 mov r2, #0x30 bl func_ov61_0215e930 ldr r1, _0215ab5c ; =data_ov61_0217f454 mov r0, r5 ldr r1, [r1] blx r1 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215a920 _0215ab58: .word data_ov61_0217f428 _0215ab5c: .word data_ov61_0217f454 .global func_ov61_0215ab60 arm_func_start func_ov61_0215ab60 func_ov61_0215ab60: ; 0x0215ab60 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x14 mov r4, r2 mov r6, r0 mov r5, r1 add r0, r4, #0x348 bl func_ov61_0215d8a4 mov r0, r5 bl func_02047008 mov r2, r0 mov r1, r5 add r0, r4, #0x348 bl func_ov61_0215d8f8 add r0, r4, #0x348 mov r1, r4 mov r2, #0x30 bl func_ov61_0215d8f8 add r0, r4, #0x348 add r1, r4, #0x34 mov r2, #0x40 bl func_ov61_0215d8f8 add r0, r4, #0x348 add r1, sp, #0 bl func_ov61_0215d9b0 add r0, r4, #0x3fc bl func_ov61_0215cfe4 add r0, r4, #0x3fc mov r1, r4 mov r2, #0x30 bl func_ov61_0215d02c add r0, r4, #0x3fc add r1, sp, #0 mov r2, #0x14 bl func_ov61_0215d02c add r0, r4, #0x3fc mov r1, r6 bl func_ov61_0215d0e4 add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_0215ab60 .global func_ov61_0215abfc arm_func_start func_ov61_0215abfc func_ov61_0215abfc: ; 0x0215abfc stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov r4, r0 ldr r1, _0215ac50 ; =data_ov61_0217bcd8 add r0, sp, #0 mov r2, r4 bl func_ov61_0215ab60 ldr r1, _0215ac54 ; =data_ov61_0217bcdc add r0, sp, #0x10 mov r2, r4 bl func_ov61_0215ab60 ldr r1, _0215ac58 ; =data_ov61_0217bce0 add r0, sp, #0x20 mov r2, r4 bl func_ov61_0215ab60 add r0, sp, #0 mov r1, r4 mov r2, #0x30 bl func_02007ad8 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215abfc _0215ac50: .word data_ov61_0217bcd8 _0215ac54: .word data_ov61_0217bcdc _0215ac58: .word data_ov61_0217bce0 .global func_ov61_0215ac5c arm_func_start func_ov61_0215ac5c func_ov61_0215ac5c: ; 0x0215ac5c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x24 mov sl, r0 ldrh r0, [sl, #0x32] cmp r0, #4 beq _0215ac80 cmp r0, #5 beq _0215ac94 b _0215aca8 _0215ac80: mov r0, #0x10 str r0, [sp, #4] str r0, [sp] mov r2, #0 b _0215aca8 _0215ac94: mov r0, #0x14 str r0, [sp, #4] mov r0, #0x10 str r0, [sp] mov r2, #0 _0215aca8: ldr r1, [sp, #4] ldr r0, [sp] mov r7, #0 add r0, r1, r0 add r0, r2, r0 mov fp, r0, lsl #0x1 cmp fp, #0 ble _0215ad9c add r0, sl, #0x74 mov sb, r7 str r0, [sp, #8] add r5, sp, #0xc mov r4, #1 _0215acdc: add r0, sl, #0x348 bl func_ov61_0215d8a4 add r0, r7, #0x41 add r6, r7, #1 strb r0, [sp, #0xc] mov r8, #0 cmp r6, #0 ble _0215ad18 _0215acfc: add r0, sl, #0x348 mov r1, r5 mov r2, r4 bl func_ov61_0215d8f8 add r8, r8, #1 cmp r8, r6 blt _0215acfc _0215ad18: add r0, sl, #0x348 mov r1, sl mov r2, #0x30 bl func_ov61_0215d8f8 add r0, sl, #0x348 add r1, sl, #0x54 mov r2, #0x20 bl func_ov61_0215d8f8 add r0, sl, #0x348 add r1, sl, #0x34 mov r2, #0x20 bl func_ov61_0215d8f8 add r0, sl, #0x348 add r1, sp, #0xd bl func_ov61_0215d9b0 add r0, sl, #0x3fc bl func_ov61_0215cfe4 add r0, sl, #0x3fc mov r1, sl mov r2, #0x30 bl func_ov61_0215d02c add r0, sl, #0x3fc add r1, sp, #0xd mov r2, #0x14 bl func_ov61_0215d02c ldr r1, [sp, #8] add r0, sl, #0x3fc add r1, r1, sb bl func_ov61_0215d0e4 add sb, sb, #0x10 cmp sb, fp add r7, r7, #1 blt _0215acdc _0215ad9c: ldrb r0, [sl, #0x454] add r3, sl, #0x74 cmp r0, #0 beq _0215add8 ldr r0, [sp, #4] str r3, [sl, #0x1d4] add r2, r3, r0 add r1, r2, r0 add r0, r3, r0, lsl #1 str r0, [sl, #0x1d8] ldr r0, [sp] str r2, [sl, #0xbc] add r0, r1, r0 str r0, [sl, #0xc0] b _0215ae00 _0215add8: ldr r0, [sp, #4] str r3, [sl, #0xbc] add r2, r3, r0 add r1, r2, r0 add r0, r3, r0, lsl #1 str r0, [sl, #0xc0] ldr r0, [sp] str r2, [sl, #0x1d4] add r0, r1, r0 str r0, [sl, #0x1d8] _0215ae00: ldr r1, [sl, #0x1d8] add r0, sl, #0x1e0 mov r2, #0x10 bl func_ov61_0215da48 ldr r1, [sl, #0xc0] add r0, sl, #0xc8 mov r2, #0x10 bl func_ov61_0215da48 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0215ac5c .global func_ov61_0215ae28 arm_func_start func_ov61_0215ae28 func_ov61_0215ae28: ; 0x0215ae28 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4, #0x81c] bl func_ov61_0215a920 mov r0, r4 bl func_ov61_0215abfc mov r1, #0 mov r0, r4 mov r2, r1 bl func_ov61_02159860 mov r0, r4 bl func_ov61_0215ac5c mov r0, #5 strb r0, [r4, #0x455] ldmia sp!, {r4, pc} arm_func_end func_ov61_0215ae28 .global func_ov61_0215ae64 arm_func_start func_ov61_0215ae64 func_ov61_0215ae64: ; 0x0215ae64 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x30 mov r5, r0 ldrb r0, [r5, #0x454] mov r4, r1 teq r0, r2 mov r2, #4 beq _0215ae94 ldr r1, _0215af38 ; =data_ov61_0217bce4 add r0, r5, #0x3a4 bl func_ov61_0215d02c b _0215aea0 _0215ae94: ldr r1, _0215af3c ; =data_ov61_0217bcec add r0, r5, #0x3a4 bl func_ov61_0215d02c _0215aea0: mov r1, r5 add r0, r5, #0x3a4 mov r2, #0x30 bl func_ov61_0215d02c add r0, sp, #0 mov r1, #0x36 mov r2, #0x30 bl func_02007a44 add r1, sp, #0 add r0, r5, #0x3a4 mov r2, #0x30 bl func_ov61_0215d02c mov r1, r4 add r0, r5, #0x3a4 bl func_ov61_0215d0e4 add r0, r5, #0x3a4 bl func_ov61_0215cfe4 add r0, r5, #0x3a4 mov r1, r5 mov r2, #0x30 bl func_ov61_0215d02c add r0, sp, #0 mov r1, #0x5c mov r2, #0x30 bl func_02007a44 add r0, r5, #0x3a4 add r1, sp, #0 mov r2, #0x30 bl func_ov61_0215d02c add r0, r5, #0x3a4 mov r1, r4 mov r2, #0x10 bl func_ov61_0215d02c add r0, r5, #0x3a4 mov r1, r4 bl func_ov61_0215d0e4 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215ae64 _0215af38: .word data_ov61_0217bce4 _0215af3c: .word data_ov61_0217bcec .global func_ov61_0215af40 arm_func_start func_ov61_0215af40 func_ov61_0215af40: ; 0x0215af40 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x28 mov r5, r0 ldrb r0, [r5, #0x454] mov r4, r1 teq r0, r2 mov r2, #4 beq _0215af70 ldr r1, _0215b014 ; =data_ov61_0217bce4 add r0, r5, #0x2ec bl func_ov61_0215d8f8 b _0215af7c _0215af70: ldr r1, _0215b018 ; =data_ov61_0217bcec add r0, r5, #0x2ec bl func_ov61_0215d8f8 _0215af7c: mov r1, r5 add r0, r5, #0x2ec mov r2, #0x30 bl func_ov61_0215d8f8 add r0, sp, #0 mov r1, #0x36 mov r2, #0x28 bl func_02007a44 add r1, sp, #0 add r0, r5, #0x2ec mov r2, #0x28 bl func_ov61_0215d8f8 mov r1, r4 add r0, r5, #0x2ec bl func_ov61_0215d9b0 add r0, r5, #0x2ec bl func_ov61_0215d8a4 add r0, r5, #0x2ec mov r1, r5 mov r2, #0x30 bl func_ov61_0215d8f8 add r0, sp, #0 mov r1, #0x5c mov r2, #0x28 bl func_02007a44 add r0, r5, #0x2ec add r1, sp, #0 mov r2, #0x28 bl func_ov61_0215d8f8 add r0, r5, #0x2ec mov r1, r4 mov r2, #0x14 bl func_ov61_0215d8f8 add r0, r5, #0x2ec mov r1, r4 bl func_ov61_0215d9b0 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215af40 _0215b014: .word data_ov61_0217bce4 _0215b018: .word data_ov61_0217bcec .global func_ov61_0215b01c arm_func_start func_ov61_0215b01c func_ov61_0215b01c: ; 0x0215b01c stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 mov r4, r1 add r0, r5, #0x3a4 add r1, r5, #0x3fc mov r2, #0x58 bl func_02007ad8 add r1, sp, #0 mov r0, r5 mov r2, #1 bl func_ov61_0215ae64 add r0, r5, #0x3fc add r1, r5, #0x3a4 mov r2, #0x58 bl func_02007ad8 add r1, sp, #0 mov r0, r4 mov r2, #0x10 bl func_0204366c cmp r0, #0 movne r0, #9 addne sp, sp, #0x14 strneb r0, [r5, #0x455] ldmneia sp!, {r4, r5, pc} add r0, r5, #0x2ec add r1, r5, #0x348 mov r2, #0x5c bl func_02007ad8 add r1, sp, #0 mov r0, r5 mov r2, #1 bl func_ov61_0215af40 add r0, r5, #0x348 add r1, r5, #0x2ec mov r2, #0x5c bl func_02007ad8 add r1, sp, #0 add r0, r4, #0x10 mov r2, #0x14 bl func_0204366c cmp r0, #0 movne r0, #9 strneb r0, [r5, #0x455] moveq r0, #6 streqb r0, [r5, #0x455] add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} arm_func_end func_ov61_0215b01c .global func_ov61_0215b0dc arm_func_start func_ov61_0215b0dc func_ov61_0215b0dc: ; 0x0215b0dc mov r2, #8 _0215b0e0: ldrb r1, [r0, #-1]! add r1, r1, #1 ands r1, r1, #0xff strb r1, [r0] bxne lr subs r2, r2, #1 bne _0215b0e0 bx lr arm_func_end func_ov61_0215b0dc .global func_ov61_0215b100 arm_func_start func_ov61_0215b100 func_ov61_0215b100: ; 0x0215b100 stmdb sp!, {r4, lr} add r0, r0, #0x1e0 mov r4, r2 bl func_ov61_0215dabc mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov61_0215b100 .global func_ov61_0215b118 arm_func_start func_ov61_0215b118 func_ov61_0215b118: ; 0x0215b118 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x44 mov r6, r1 ldrb r3, [r6, #3] ldrb r2, [r6, #4] mov r7, r0 add r1, r6, #5 add r2, r2, r3, lsl #8 bl func_ov61_0215b100 ldrh r1, [r7, #0x32] mov r4, r0 cmp r1, #4 beq _0215b158 cmp r1, #5 beq _0215b238 b _0215b314 _0215b158: sub r4, r4, #0x10 mov r0, r4, asr #0x8 strb r0, [r6, #3] strb r4, [r6, #4] add r0, r7, #0x3fc bl func_ov61_0215cfe4 ldr r1, [r7, #0x1d4] add r0, r7, #0x3fc mov r2, #0x10 bl func_ov61_0215d02c add r0, sp, #0 mov r1, #0x36 mov r2, #0x30 bl func_02007a44 add r1, sp, #0 add r0, r7, #0x3fc mov r2, #0x30 bl func_ov61_0215d02c add r0, r7, #0x3fc add r1, r7, #0x2e4 mov r2, #8 bl func_ov61_0215d02c add r0, r7, #0x3fc mov r1, r6 mov r2, #1 bl func_ov61_0215d02c add r0, r7, #0x3fc add r1, r6, #3 add r2, r4, #2 bl func_ov61_0215d02c add r0, r7, #0x3fc add r1, sp, #0x30 bl func_ov61_0215d0e4 add r0, r7, #0x3fc bl func_ov61_0215cfe4 ldr r1, [r7, #0x1d4] add r0, r7, #0x3fc mov r2, #0x10 bl func_ov61_0215d02c add r0, sp, #0 mov r1, #0x5c mov r2, #0x30 bl func_02007a44 add r0, r7, #0x3fc add r1, sp, #0 mov r2, #0x30 bl func_ov61_0215d02c add r0, r7, #0x3fc add r1, sp, #0x30 mov r2, #0x10 bl func_ov61_0215d02c add r0, r7, #0x3fc add r1, sp, #0x30 bl func_ov61_0215d0e4 mov r5, #0x10 b _0215b314 _0215b238: sub r4, r4, #0x14 mov r0, r4, asr #0x8 strb r0, [r6, #3] strb r4, [r6, #4] add r0, r7, #0x348 bl func_ov61_0215d8a4 ldr r1, [r7, #0x1d4] add r0, r7, #0x348 mov r2, #0x14 bl func_ov61_0215d8f8 add r0, sp, #0 mov r1, #0x36 mov r2, #0x28 bl func_02007a44 add r1, sp, #0 add r0, r7, #0x348 mov r2, #0x28 bl func_ov61_0215d8f8 add r0, r7, #0x348 add r1, r7, #0x2e4 mov r2, #8 bl func_ov61_0215d8f8 add r0, r7, #0x348 mov r1, r6 mov r2, #1 bl func_ov61_0215d8f8 add r0, r7, #0x348 add r1, r6, #3 add r2, r4, #2 bl func_ov61_0215d8f8 add r0, r7, #0x348 add r1, sp, #0x30 bl func_ov61_0215d9b0 add r0, r7, #0x348 bl func_ov61_0215d8a4 ldr r1, [r7, #0x1d4] add r0, r7, #0x348 mov r2, #0x14 bl func_ov61_0215d8f8 add r0, sp, #0 mov r1, #0x5c mov r2, #0x28 bl func_02007a44 add r0, r7, #0x348 add r1, sp, #0 mov r2, #0x28 bl func_ov61_0215d8f8 add r0, r7, #0x348 add r1, sp, #0x30 mov r2, #0x14 bl func_ov61_0215d8f8 add r0, r7, #0x348 add r1, sp, #0x30 bl func_ov61_0215d9b0 mov r5, #0x14 _0215b314: add r0, r6, #5 add r1, sp, #0x30 mov r2, r5 add r0, r0, r4 bl func_0204366c cmp r0, #0 movne r0, #9 strneb r0, [r7, #0x455] add r0, r7, #0x2ec bl func_ov61_0215b0dc add r0, r4, #5 add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end func_ov61_0215b118 .global func_ov61_0215b348 arm_func_start func_ov61_0215b348 func_ov61_0215b348: ; 0x0215b348 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x30 mov r4, r1 mov r5, r0 ldrh r0, [r5, #0x32] ldrb r2, [r4, #3] ldrb r1, [r4, #4] cmp r0, #4 add r6, r4, #5 add r7, r1, r2, lsl #8 beq _0215b380 cmp r0, #5 beq _0215b450 b _0215b51c _0215b380: add r0, r5, #0x3fc bl func_ov61_0215cfe4 ldr r1, [r5, #0xbc] add r0, r5, #0x3fc mov r2, #0x10 bl func_ov61_0215d02c add r0, sp, #0 mov r1, #0x36 mov r2, #0x30 bl func_02007a44 add r1, sp, #0 add r0, r5, #0x3fc mov r2, #0x30 bl func_ov61_0215d02c add r0, r5, #0x3fc add r1, r5, #0x1cc mov r2, #8 bl func_ov61_0215d02c add r0, r5, #0x3fc mov r1, r4 mov r2, #1 bl func_ov61_0215d02c add r0, r5, #0x3fc add r1, r4, #3 add r2, r7, #2 bl func_ov61_0215d02c add r0, r5, #0x3fc add r1, r6, r7 bl func_ov61_0215d0e4 add r0, r5, #0x3fc bl func_ov61_0215cfe4 ldr r1, [r5, #0xbc] add r0, r5, #0x3fc mov r2, #0x10 bl func_ov61_0215d02c add r0, sp, #0 mov r1, #0x5c mov r2, #0x30 bl func_02007a44 add r0, r5, #0x3fc add r1, sp, #0 mov r2, #0x30 bl func_ov61_0215d02c add r0, r5, #0x3fc add r1, r6, r7 mov r2, #0x10 bl func_ov61_0215d02c add r1, r6, r7 add r0, r5, #0x3fc bl func_ov61_0215d0e4 add r7, r7, #0x10 b _0215b51c _0215b450: add r0, r5, #0x348 bl func_ov61_0215d8a4 ldr r1, [r5, #0xbc] add r0, r5, #0x348 mov r2, #0x14 bl func_ov61_0215d8f8 add r0, sp, #0 mov r1, #0x36 mov r2, #0x28 bl func_02007a44 add r1, sp, #0 add r0, r5, #0x348 mov r2, #0x28 bl func_ov61_0215d8f8 add r0, r5, #0x348 add r1, r5, #0x1cc mov r2, #8 bl func_ov61_0215d8f8 add r0, r5, #0x348 mov r1, r4 mov r2, #1 bl func_ov61_0215d8f8 add r0, r5, #0x348 add r1, r4, #3 add r2, r7, #2 bl func_ov61_0215d8f8 add r0, r5, #0x348 add r1, r6, r7 bl func_ov61_0215d9b0 add r0, r5, #0x348 bl func_ov61_0215d8a4 ldr r1, [r5, #0xbc] add r0, r5, #0x348 mov r2, #0x14 bl func_ov61_0215d8f8 add r0, sp, #0 mov r1, #0x5c mov r2, #0x28 bl func_02007a44 add r0, r5, #0x348 add r1, sp, #0 mov r2, #0x28 bl func_ov61_0215d8f8 add r0, r5, #0x348 add r1, r6, r7 mov r2, #0x14 bl func_ov61_0215d8f8 add r1, r6, r7 add r0, r5, #0x348 bl func_ov61_0215d9b0 add r7, r7, #0x14 _0215b51c: mov r0, r7, asr #0x8 strb r0, [r4, #3] mov r2, r7 add r0, r5, #0xc8 add r1, r4, #5 strb r7, [r4, #4] bl func_ov61_0215dabc add r0, r5, #0x1d4 bl func_ov61_0215b0dc add r0, r7, #5 add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0215b348 .global func_ov61_0215b54c arm_func_start func_ov61_0215b54c func_ov61_0215b54c: ; 0x0215b54c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 add r4, sp, #0 _0215b560: mov r0, r4 mov r1, r5 bl func_ov61_02154f5c ldr r1, [sp] cmp r1, #0 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r1, r6 strhi r6, [sp] ldr r2, [sp] mov r1, r7 bl func_02007ad8 ldr r0, [sp] mov r1, r5 bl func_ov61_0215503c ldr r0, [sp] sub r6, r6, r0 cmp r6, #0 add r7, r7, r0 bgt _0215b560 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0215b54c .global func_ov61_0215b5b8 arm_func_start func_ov61_0215b5b8 func_ov61_0215b5b8: ; 0x0215b5b8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 add r0, r6, #0x2ec bl func_ov61_0215d8f8 mov r1, r5 mov r2, r4 add r0, r6, #0x3a4 bl func_ov61_0215d02c ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0215b5b8 .global func_ov61_0215b5e4 arm_func_start func_ov61_0215b5e4 func_ov61_0215b5e4: ; 0x0215b5e4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r5, r0 ldrb r0, [r5, #0x455] mov r4, r1 cmp r0, #9 bne _0215b610 ldr r1, _0215b828 ; =data_ov61_0217f454 mov r0, r4 ldr r1, [r1] blx r1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0215b610: ldrb r2, [r4, #3] ldrb r1, [r4, #4] add r0, r0, #0xf9 and r0, r0, #0xff add r1, r1, r2, lsl #8 cmp r0, #1 add sb, r1, #5 ldrb r6, [r4] bhi _0215b63c cmp r6, #0x15 bne _0215b64c _0215b63c: cmp r6, #0x15 bne _0215b65c cmp sb, #7 bls _0215b65c _0215b64c: mov r0, r5 mov r1, r4 bl func_ov61_0215b118 mov sb, r0 _0215b65c: sub r0, r6, #0x14 cmp r0, #3 add r8, r4, #5 sub sb, sb, #5 addls pc, pc, r0, lsl #2 b _0215b80c _0215b674: ; jump table b _0215b684 ; case 0 b _0215b6b4 ; case 1 b _0215b6c8 ; case 2 b _0215b7ec ; case 3 _0215b684: ldr r0, [r5, #0x1d4] cmp r0, #0 moveq r0, #9 streqb r0, [r5, #0x455] beq _0215b814 add r0, r5, #0x2e4 mov r1, #0 mov r2, #8 bl func_02007a44 mov r0, #7 strb r0, [r5, #0x455] b _0215b814 _0215b6b4: ldrb r0, [r8] cmp r0, #2 moveq r0, #9 streqb r0, [r5, #0x455] b _0215b814 _0215b6c8: mov r6, #9 mov r7, #4 _0215b6d0: ldrb r0, [r8, #2] ldrb r1, [r8, #1] ldrb r3, [r8] ldrb r2, [r8, #3] mov r0, r0, lsl #0x8 add r0, r0, r1, lsl #16 cmp r3, #0xb add sl, r2, r0 add r8, r8, #4 bgt _0215b720 cmp r3, #0xb bge _0215b790 cmp r3, #2 bgt _0215b7b8 cmp r3, #1 blt _0215b7b8 beq _0215b748 cmp r3, #2 beq _0215b780 b _0215b7b8 _0215b720: cmp r3, #0x14 bgt _0215b7b8 cmp r3, #0xe blt _0215b7b8 beq _0215b7a0 cmp r3, #0x10 beq _0215b770 cmp r3, #0x14 beq _0215b7a8 b _0215b7b8 _0215b748: ldrb r0, [r5, #0x454] cmp r0, #0 beq _0215b7bc ldrb r0, [r5, #0x455] cmp r0, #0 bne _0215b7bc mov r0, r5 mov r1, r8 bl func_ov61_0215a884 b _0215b7bc _0215b770: mov r0, r5 mov r1, r8 bl func_ov61_0215ae28 b _0215b7bc _0215b780: mov r0, r5 mov r1, r8 bl func_ov61_0215a64c b _0215b7bc _0215b790: mov r0, r5 mov r1, r8 bl func_ov61_0215a428 b _0215b7bc _0215b7a0: strb r7, [r5, #0x455] b _0215b7bc _0215b7a8: mov r0, r5 mov r1, r8 bl func_ov61_0215b01c b _0215b7bc _0215b7b8: strb r6, [r5, #0x455] _0215b7bc: mov r0, r5 sub r1, r8, #4 add r2, sl, #4 bl func_ov61_0215b5b8 add r0, sl, #4 add r8, r8, sl subs sb, sb, r0 beq _0215b814 ldrb r0, [r5, #0x455] cmp r0, #9 bne _0215b6d0 b _0215b814 _0215b7ec: str r4, [r5, #0x824] mov r0, #5 str r0, [r5, #0x82c] add r0, sb, #5 str r0, [r5, #0x828] mov r0, #1 strb r0, [r5, #0x456] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0215b80c: mov r0, #9 strb r0, [r5, #0x455] _0215b814: ldr r1, _0215b828 ; =data_ov61_0217f454 mov r0, r4 ldr r1, [r1] blx r1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_0215b5e4 _0215b828: .word data_ov61_0217f454 .global func_ov61_0215b82c arm_func_start func_ov61_0215b82c func_ov61_0215b82c: ; 0x0215b82c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r5, r0 ldr r4, [r5, #0xc] add r6, sp, #0 _0215b840: mov r0, r6 mov r1, r5 bl func_ov61_02154f5c ldr r1, [sp] cmp r1, #0 moveq r0, #9 addeq sp, sp, #4 streqb r0, [r4, #0x455] ldmeqia sp!, {r3, r4, r5, r6, pc} cmp r1, #5 blo _0215b840 ldrb r1, [r0] cmp r1, #0x80 bne _0215b928 ldrb r1, [r4, #0x454] cmp r1, #0 beq _0215b91c ldrb r1, [r4, #0x455] cmp r1, #0 bne _0215b91c ldrb r2, [r0, #1] mov r1, r5 mov r0, #2 str r2, [sp] bl func_ov61_0215503c ldr r1, _0215b9c0 ; =data_ov61_0217f428 ldr r0, [sp] ldr r1, [r1] blx r1 movs r6, r0 moveq r0, #9 addeq sp, sp, #4 streqb r0, [r4, #0x455] ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [sp] mov r2, r5 bl func_ov61_0215b54c cmp r0, #0 ldreqb r0, [r6] cmpeq r0, #1 movne r0, #9 strneb r0, [r4, #0x455] bne _0215b8f8 mov r0, r4 add r1, r6, #1 bl func_ov61_0215a7bc _0215b8f8: ldr r2, [sp] mov r0, r4 mov r1, r6 bl func_ov61_0215b5b8 ldr r1, _0215b9c4 ; =data_ov61_0217f454 mov r0, r6 ldr r1, [r1] blx r1 b _0215b9b4 _0215b91c: mov r0, #9 strb r0, [r4, #0x455] b _0215b9b4 _0215b928: ldrb r2, [r0, #3] ldrb r0, [r0, #4] ldr r1, _0215b9c8 ; =0x00004805 add r0, r0, r2, lsl #8 add r0, r0, #5 str r0, [sp] cmp r0, r1 movhi r0, #9 addhi sp, sp, #4 strhib r0, [r4, #0x455] ldmhiia sp!, {r3, r4, r5, r6, pc} ldr r1, _0215b9c0 ; =data_ov61_0217f428 ldr r1, [r1] blx r1 movs r6, r0 moveq r0, #9 addeq sp, sp, #4 streqb r0, [r4, #0x455] ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [sp] mov r2, r5 bl func_ov61_0215b54c cmp r0, #0 beq _0215b9a8 ldr r1, _0215b9c4 ; =data_ov61_0217f454 mov r0, r6 ldr r1, [r1] blx r1 mov r0, #9 add sp, sp, #4 strb r0, [r4, #0x455] ldmia sp!, {r3, r4, r5, r6, pc} _0215b9a8: mov r0, r4 mov r1, r6 bl func_ov61_0215b5e4 _0215b9b4: ldrb r0, [r4, #0x455] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0215b82c _0215b9c0: .word data_ov61_0217f428 _0215b9c4: .word data_ov61_0217f454 _0215b9c8: .word 0x00004805 .global func_ov61_0215b9cc arm_func_start func_ov61_0215b9cc func_ov61_0215b9cc: ; 0x0215b9cc stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x74 ldr r2, _0215baec ; =data_ov61_02180e40 mov sl, r0 ldrb r0, [r2] mov sb, r1 cmp r0, #0 bne _0215ba30 ldr r2, _0215baf0 ; =data_ov61_0217f47c add r0, sp, #0 ldr r3, [r2] ldmib r2, {r1, r4} umull r6, r5, r4, r3 mla r5, r4, r1, r5 ldr r1, [r2, #0xc] ldr r4, [r2, #0x10] mla r5, r1, r3, r5 ldr r1, [r2, #0x14] adds r4, r4, r6 adc r3, r1, r5 str r4, [r2] mov r1, #4 str r3, [r2, #4] str r3, [sp] bl func_ov61_0215bafc _0215ba30: cmp sb, #0 mov r8, #0 addle sp, sp, #0x74 mov r1, #0x14 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r5, _0215baf4 ; =data_ov61_02180fb8 add r6, sp, #0x18 mov fp, r1 add r4, sp, #4 _0215ba54: cmp r1, #0x14 bne _0215bac8 mov r0, r6 bl func_ov61_0215d8a4 bl func_0200ee4c mov r7, r0 mov r0, r6 mov r1, r5 mov r2, fp bl func_ov61_0215d8f8 mov r0, r6 mov r1, r4 bl func_ov61_0215da18 ldr lr, _0215baf8 ; =data_ov61_02180fcb mov r3, #1 mov r2, #0x13 add ip, sp, #0x17 _0215ba98: ldrb r1, [lr] ldrb r0, [ip], #-1 subs r2, r2, #1 add r0, r1, r0 add r0, r3, r0 strb r0, [lr], #-1 mov r3, r0, lsr #0x8 bpl _0215ba98 str r0, [sp] mov r0, r7 bl func_0200ee60 mov r1, #0 _0215bac8: ldrb r0, [r4, r1] add r1, r1, #1 cmp r0, #0 strneb r0, [sl, r8] addne r8, r8, #1 cmp r8, sb blt _0215ba54 add sp, sp, #0x74 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215b9cc _0215baec: .word data_ov61_02180e40 _0215baf0: .word data_ov61_0217f47c _0215baf4: .word data_ov61_02180fb8 _0215baf8: .word data_ov61_02180fcb .global func_ov61_0215bafc arm_func_start func_ov61_0215bafc func_ov61_0215bafc: ; 0x0215bafc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x5c mov r6, r0 add r0, sp, #0 mov r5, r1 bl func_ov61_0215d8a4 bl func_0200ee4c mov r4, r0 ldr r1, _0215bb64 ; =data_ov61_02180fb8 add r0, sp, #0 mov r2, #0x14 bl func_ov61_0215d8f8 mov r1, r6 mov r2, r5 add r0, sp, #0 bl func_ov61_0215d8f8 ldr r1, _0215bb64 ; =data_ov61_02180fb8 add r0, sp, #0 bl func_ov61_0215d9b0 mov r0, r4 bl func_0200ee60 ldr r0, _0215bb68 ; =data_ov61_02180e40 mov r1, #1 strb r1, [r0] add sp, sp, #0x5c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0215bafc _0215bb64: .word data_ov61_02180fb8 _0215bb68: .word data_ov61_02180e40 .global func_ov61_0215bb6c arm_func_start func_ov61_0215bb6c func_ov61_0215bb6c: ; 0x0215bb6c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 ldr r4, [sb, #0xc] ldr r7, [r4, #0x820] cmp r7, #0 ldrne r8, [r7] moveq r8, #0 bl func_ov61_021599b4 mov r1, r0, lsr #0x18 strb r1, [r4, #0x54] mov r1, r0, lsr #0x10 strb r1, [r4, #0x55] mov r1, r0, lsr #0x8 strb r1, [r4, #0x56] strb r0, [r4, #0x57] add r0, r4, #0x58 mov r1, #0x1c bl func_ov61_0215b9cc ldr r1, _0215bdc0 ; =data_ov61_0217f428 add r0, r8, #0x9d ldr r1, [r1] blx r1 movs r5, r0 bne _0215bbdc mov r0, #9 strb r0, [r4, #0x455] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0215bbdc: mov r0, #2 strb r0, [r5, #5] mov r3, #0 strb r3, [r5, #6] strb r3, [r5, #7] mov r0, #0x46 strb r0, [r5, #8] mov r0, #3 strb r0, [r5, #9] add r0, r4, #0x54 add r1, r5, #0xb mov r2, #0x20 strb r3, [r5, #0xa] bl func_02007ad8 mov r2, #0x20 strb r2, [r5, #0x2b] ldrb r0, [r4, #0x30] cmp r0, #0 beq _0215bc44 add r0, r4, #0x74 add r1, r5, #0x2c bl func_02007ad8 mov r0, #1 strb r0, [r4, #0x31] add r6, r5, #0x4c b _0215bca0 _0215bc44: add r0, r5, #0x2c mov r1, #0x1c bl func_ov61_0215b9cc ldr r0, _0215bdc4 ; =data_ov61_02180e40 add r6, r5, #0x4c ldr r3, [r0, #4] sub r0, r6, #0x20 mov r1, r3, lsr #0x18 strb r1, [r5, #0x48] mov r1, r3, lsr #0x10 strb r1, [r5, #0x49] mov r1, r3, lsr #0x8 strb r1, [r5, #0x4a] add r1, r4, #0x74 mov r2, #0x20 strb r3, [r5, #0x4b] bl func_02007ad8 ldr r0, _0215bdc4 ; =data_ov61_02180e40 mov r1, #0 ldr r2, [r0, #4] strb r1, [r4, #0x31] add r1, r2, #1 str r1, [r0, #4] _0215bca0: ldrh r1, [r4, #0x32] mov r0, #0 mov r1, r1, asr #0x8 strb r1, [r6] ldrh r1, [r4, #0x32] strb r1, [r6, #1] strb r0, [r6, #2] ldrb r0, [r4, #0x31] add r6, r6, #3 cmp r0, #0 bne _0215bd54 cmp r8, #0 beq _0215bd38 add r2, r8, #6 mov r0, #0xb strb r0, [r6] add r1, r8, #3 mov r0, r2, asr #0x10 strb r0, [r6, #1] mov r0, r2, asr #0x8 strb r0, [r6, #2] strb r2, [r6, #3] mov r0, r1, asr #0x10 strb r0, [r6, #4] mov r0, r1, asr #0x8 strb r0, [r6, #5] strb r1, [r6, #6] mov r0, r8, asr #0x10 strb r0, [r6, #7] mov r0, r8, asr #0x8 strb r0, [r6, #8] strb r8, [r6, #9] add r6, r6, #0xa ldr r0, [r7, #4] mov r1, r6 mov r2, r8 bl func_02007ad8 add r6, r6, r8 _0215bd38: mov r0, #0xe strb r0, [r6] mov r0, #0 strb r0, [r6, #1] strb r0, [r6, #2] strb r0, [r6, #3] add r6, r6, #4 _0215bd54: mov r0, #0x16 sub r1, r6, r5 sub r6, r1, #5 strb r0, [r5] mov r0, #3 strb r0, [r5, #1] mov r0, #0 strb r0, [r5, #2] mov r0, r6, asr #0x8 strb r0, [r5, #3] mov r0, r4 mov r2, r6 add r1, r5, #5 strb r6, [r5, #4] bl func_ov61_0215b5b8 mov r2, #0 mov r0, r5 mov r3, r2 add r1, r6, #5 str sb, [sp] bl func_ov61_02155204 ldr r1, _0215bdc8 ; =data_ov61_0217f454 mov r0, r5 ldr r1, [r1] blx r1 ldrb r0, [r4, #0x31] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0215bb6c _0215bdc0: .word data_ov61_0217f428 _0215bdc4: .word data_ov61_02180e40 _0215bdc8: .word data_ov61_0217f454 .global func_ov61_0215bdcc arm_func_start func_ov61_0215bdcc func_ov61_0215bdcc: ; 0x0215bdcc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 ldr r1, _0215bf1c ; =data_ov61_0217f428 mov r6, r0 ldr r1, [r1] mov r0, #0x83 ldr r5, [r6, #0xc] blx r1 movs r4, r0 moveq r0, #9 addeq sp, sp, #4 streqb r0, [r5, #0x455] ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, #0x14 strb r0, [r4] mov r0, #3 strb r0, [r4, #1] mov r1, #0 strb r1, [r4, #2] strb r1, [r4, #3] mov r3, #1 strb r3, [r4, #4] add r0, r5, #0x1cc mov r2, #8 strb r3, [r4, #5] bl func_02007a44 mov r0, #0x16 strb r0, [r4, #6] mov r0, #3 strb r0, [r4, #7] mov r1, #0 strb r1, [r4, #8] strb r1, [r4, #9] mov r0, #0x28 strb r0, [r4, #0xa] mov r0, #0x14 strb r0, [r4, #0xb] strb r1, [r4, #0xc] strb r1, [r4, #0xd] mov r3, #0x24 add r0, r5, #0x3a4 add r1, r5, #0x3fc mov r2, #0x58 strb r3, [r4, #0xe] bl func_02007ad8 mov r0, r5 add r1, r4, #0xf mov r2, #0 bl func_ov61_0215ae64 add r0, r5, #0x3fc add r1, r5, #0x3a4 mov r2, #0x58 bl func_02007ad8 add r0, r5, #0x2ec add r1, r5, #0x348 mov r2, #0x5c bl func_02007ad8 mov r0, r5 add r1, r4, #0x1f mov r2, #0 bl func_ov61_0215af40 add r0, r5, #0x348 add r1, r5, #0x2ec mov r2, #0x5c bl func_02007ad8 mov r0, r5 add r1, r4, #0xb mov r2, #0x28 bl func_ov61_0215b5b8 mov r0, r5 add r1, r4, #6 bl func_ov61_0215b348 mov r2, #0 add r1, r0, #6 mov r0, r4 mov r3, r2 str r6, [sp] bl func_ov61_02155204 ldr r1, _0215bf20 ; =data_ov61_0217f454 mov r0, r4 ldr r1, [r1] blx r1 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0215bdcc _0215bf1c: .word data_ov61_0217f428 _0215bf20: .word data_ov61_0217f454 .global func_ov61_0215bf24 arm_func_start func_ov61_0215bf24 func_ov61_0215bf24: ; 0x0215bf24 stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _0215c0ac ; =data_ov61_0217f428 mov r7, r0 ldr r1, [r1] mov r0, #0x98 ldr r4, [r7, #0xc] blx r1 movs r5, r0 moveq r0, #9 streqb r0, [r4, #0x455] ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #3 strb r0, [r5, #9] mov r0, #0 strb r0, [r5, #0xa] bl func_ov61_021599b4 mov r1, r0, lsr #0x18 strb r1, [r4, #0x34] mov r1, r0, lsr #0x10 strb r1, [r4, #0x35] mov r1, r0, lsr #0x8 strb r1, [r4, #0x36] strb r0, [r4, #0x37] add r0, r4, #0x38 mov r1, #0x1c bl func_ov61_0215b9cc add r0, r4, #0x34 add r1, r5, #0xb mov r2, #0x20 bl func_02007ad8 ldrh r2, [r7, #0x18] ldr r1, [r7, #0x1c] mov r0, r4 bl func_ov61_021597c0 ldrb r0, [r4, #0x30] cmp r0, #0 moveq r0, #0 streqb r0, [r5, #0x2b] addeq r0, r5, #0x2c beq _0215bfdc mov r2, #0x20 add r0, r4, #0x74 add r1, r5, #0x2c strb r2, [r5, #0x2b] bl func_02007ad8 add r0, r5, #0x4c _0215bfdc: mov r6, #0 strb r6, [r0] mov r1, #4 strb r1, [r0, #1] ldr r2, _0215c0b0 ; =data_ov61_0217bc84 add r0, r0, #2 _0215bff4: mov r3, r6, lsl #0x1 ldrh r1, [r2, r3] add r6, r6, #1 cmp r6, #2 mov r1, r1, asr #0x8 strb r1, [r0] ldrh r1, [r2, r3] strb r1, [r0, #1] add r0, r0, #2 blo _0215bff4 mov r3, #1 mov r2, #0 strb r3, [r0] add r1, r0, #2 sub r1, r1, r5 sub r6, r1, #5 strb r2, [r0, #1] sub r1, r6, #4 mov r0, #0x16 strb r0, [r5] mov r0, #3 strb r0, [r5, #1] strb r2, [r5, #2] mov r0, r6, asr #0x8 strb r0, [r5, #3] strb r6, [r5, #4] strb r3, [r5, #5] mov r0, r1, asr #0x10 strb r0, [r5, #6] mov r0, r1, asr #0x8 strb r0, [r5, #7] strb r1, [r5, #8] mov r0, r5 mov r3, r2 add r1, r6, #5 str r7, [sp] bl func_ov61_02155204 mov r0, r4 mov r2, r6 add r1, r5, #5 bl func_ov61_0215b5b8 ldr r1, _0215c0b4 ; =data_ov61_0217f454 mov r0, r5 ldr r1, [r1] blx r1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0215bf24 _0215c0ac: .word data_ov61_0217f428 _0215c0b0: .word data_ov61_0217bc84 _0215c0b4: .word data_ov61_0217f454 .global func_ov61_0215c0b8 arm_func_start func_ov61_0215c0b8 func_ov61_0215c0b8: ; 0x0215c0b8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov fp, r0 ldr r4, [fp, #0xc] mov r0, #3 strb r0, [r4] mov r0, #0 strb r0, [r4, #1] add r0, r4, #2 mov r1, #0x2e bl func_ov61_0215b9cc ldr sl, [r4, #0x594] ldr r0, _0215c348 ; =data_ov61_0217f428 mov r1, sl, lsl #0x1 ldr r2, [r0] add r1, r1, r1, lsr #31 mov r0, sl mov r8, r1, asr #0x1 blx r2 movs sb, r0 moveq r0, #9 addeq sp, sp, #8 streqb r0, [r4, #0x455] ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #0 strb r0, [sb] mov r2, #2 add r0, sb, #2 sub r1, sl, #0x33 strb r2, [sb, #1] bl func_ov61_0215b9cc add r1, sb, sl mov r0, r4 sub r3, sl, #0x31 mov r5, #0 sub r1, r1, #0x30 mov r2, #0x30 strb r5, [sb, r3] bl func_02007ad8 ldr r1, _0215c348 ; =data_ov61_0217f428 mov r0, r8, lsl #0x3 ldr r1, [r1] blx r1 movs r5, r0 bne _0215c18c ldr r1, _0215c34c ; =data_ov61_0217f454 mov r0, sb ldr r1, [r1] blx r1 mov r0, #9 add sp, sp, #8 strb r0, [r4, #0x455] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0215c18c: add r0, r5, r8, lsl #1 add r6, r0, r8, lsl #1 mov r1, sb mov r2, sl mov r3, r8 str r0, [sp, #4] add r7, r6, r8, lsl #1 bl func_ov61_0215e8d4 add r0, r4, #0x198 add r1, r0, #0x400 ldr r2, [r4, #0x5a0] mov r0, r6 mov r3, r8 bl func_ov61_0215e8d4 add r1, r4, #0x94 mov r0, r7 add r1, r1, #0x400 mov r2, sl mov r3, r8 bl func_ov61_0215e8d4 bl func_ov61_021599fc mov r2, r6 mov r6, r0 ldr r1, [sp, #4] mov r3, r8 mov r0, r5 str r7, [sp] bl func_ov61_0215e2c0 mov r0, r6 bl func_ov61_02159a48 ldr r1, _0215c348 ; =data_ov61_0217f428 add r0, sl, #0x49 ldr r1, [r1] blx r1 movs r6, r0 bne _0215c24c ldr r1, _0215c34c ; =data_ov61_0217f454 mov r0, sb ldr r1, [r1] blx r1 ldr r1, _0215c34c ; =data_ov61_0217f454 mov r0, r5 ldr r1, [r1] blx r1 mov r0, #9 add sp, sp, #8 strb r0, [r4, #0x455] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0215c24c: mov r0, #0x16 strb r0, [r6] mov r1, #3 add r0, sl, #4 strb r1, [r6, #1] mov r1, #0 strb r1, [r6, #2] mov r1, r0, asr #0x8 strb r1, [r6, #3] strb r0, [r6, #4] mov r0, #0x10 strb r0, [r6, #5] mov r0, sl, asr #0x10 strb r0, [r6, #6] mov r0, sl, asr #0x8 strb r0, [r6, #7] strb sl, [r6, #8] tst sl, #1 add r0, r6, #9 beq _0215c2b4 add r0, sl, sl, lsr #31 mov r0, r0, asr #0x1 mov r0, r0, lsl #0x1 ldrh r1, [r5, r0] add r0, r6, #0xa strb r1, [r6, #9] _0215c2b4: add r1, sl, sl, lsr #31 mov r1, r1, asr #0x1 subs r3, r1, #1 bmi _0215c2e8 _0215c2c4: mov r2, r3, lsl #0x1 ldrh r1, [r5, r2] subs r3, r3, #1 mov r1, r1, asr #0x8 strb r1, [r0] ldrh r1, [r5, r2] strb r1, [r0, #1] add r0, r0, #2 bpl _0215c2c4 _0215c2e8: mov r2, #0 mov r0, r6 mov r3, r2 add r1, sl, #9 str fp, [sp] bl func_ov61_02155204 mov r0, r4 add r1, r6, #5 add r2, sl, #4 bl func_ov61_0215b5b8 ldr r1, _0215c34c ; =data_ov61_0217f454 mov r0, r6 ldr r1, [r1] blx r1 ldr r1, _0215c34c ; =data_ov61_0217f454 mov r0, r5 ldr r1, [r1] blx r1 ldr r1, _0215c34c ; =data_ov61_0217f454 mov r0, sb ldr r1, [r1] blx r1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215c0b8 _0215c348: .word data_ov61_0217f428 _0215c34c: .word data_ov61_0217f454 .global func_ov61_0215c350 arm_func_start func_ov61_0215c350 func_ov61_0215c350: ; 0x0215c350 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0215b82c cmp r0, #7 movne r0, #1 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov61_0215b82c cmp r0, #6 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_0215c350 .global func_ov61_0215c380 arm_func_start func_ov61_0215c380 func_ov61_0215c380: ; 0x0215c380 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0215b82c cmp r0, #1 movne r0, #1 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov61_0215bb6c cmp r0, #0 beq _0215c3d0 ldr r0, [r4, #0xc] bl func_ov61_0215ac5c mov r0, r4 bl func_ov61_0215bdcc mov r0, r4 bl func_ov61_0215c350 cmp r0, #0 beq _0215c400 mov r0, #1 ldmia sp!, {r4, pc} _0215c3d0: mov r0, r4 bl func_ov61_0215b82c cmp r0, #5 movne r0, #1 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov61_0215c350 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov61_0215bdcc _0215c400: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_0215c380 .global func_ov61_0215c408 arm_func_start func_ov61_0215c408 func_ov61_0215c408: ; 0x0215c408 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r6, [r7, #0xc] mov r5, #0 mov r4, #1 _0215c41c: mov r0, r7 bl func_ov61_02154c2c strb r5, [r6, #0x455] str r5, [r6, #0x1d4] add r0, r6, #0x2ec strb r4, [r6, #0x454] bl func_ov61_0215d8a4 add r0, r6, #0x3a4 bl func_ov61_0215cfe4 mov r0, r7 bl func_ov61_0215c380 cmp r0, #0 moveq r0, #8 streqb r0, [r6, #0x455] ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r7 bl func_ov61_02154df4 ldrh r0, [r7, #0x1a] strh r0, [r7, #0x18] ldr r0, [r7, #0x20] str r0, [r7, #0x1c] b _0215c41c _0215c474: ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0215c408 .global func_ov61_0215c478 arm_func_start func_ov61_0215c478 func_ov61_0215c478: ; 0x0215c478 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #0xc] bl func_ov61_0215bf24 _0215c488: mov r0, r5 bl func_ov61_0215b82c cmp r0, #9 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} cmp r0, #4 beq _0215c4b0 ldrb r0, [r4, #0x31] cmp r0, #0 beq _0215c488 _0215c4b0: ldrb r0, [r4, #0x31] cmp r0, #0 beq _0215c4e4 mov r0, r4 bl func_ov61_0215ac5c mov r0, r5 bl func_ov61_0215c350 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov61_0215bdcc b _0215c534 _0215c4e4: mov r0, r5 bl func_ov61_0215c0b8 mov r0, r4 bl func_ov61_0215abfc ldrb r0, [r4, #0x30] cmp r0, #0 beq _0215c510 ldrh r2, [r5, #0x18] ldr r1, [r5, #0x1c] mov r0, r4 bl func_ov61_02159860 _0215c510: mov r0, r4 bl func_ov61_0215ac5c mov r0, r5 bl func_ov61_0215bdcc mov r0, r5 bl func_ov61_0215c350 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _0215c534: mov r0, #8 strb r0, [r4, #0x455] mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0215c478 .global func_ov61_0215c544 arm_func_start func_ov61_0215c544 func_ov61_0215c544: ; 0x0215c544 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldrb r1, [r5, #8] ldr r4, [r5, #0xc] cmp r1, #4 beq _0215c56c bl func_ov61_02154cbc cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} _0215c56c: mov r1, #0 strb r1, [r4, #0x455] str r1, [r4, #0x1d4] add r0, r4, #0x2ec strb r1, [r4, #0x454] bl func_ov61_0215d8a4 add r0, r4, #0x3a4 bl func_ov61_0215cfe4 mov r0, r5 bl func_ov61_0215c478 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0215c544 .global func_ov61_0215c598 arm_func_start func_ov61_0215c598 func_ov61_0215c598: ; 0x0215c598 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 ldr r4, [r5, #0xc] mov r6, r0 ldr ip, [r4, #0x824] cmp ip, #0 beq _0215c61c ldrb r0, [r4, #0x456] cmp r0, #0 bne _0215c61c ldr r3, [r4, #0x82c] ldr r1, [r4, #0x828] mov r2, r5 add r0, ip, r3 sub r1, r1, r3 bl func_ov61_0215b54c cmp r0, #0 beq _0215c600 ldr r1, _0215c66c ; =data_ov61_0217f454 ldr r0, [r4, #0x824] ldr r1, [r1] blx r1 mov r0, #0 str r0, [r4, #0x824] str r0, [r6] ldmia sp!, {r4, r5, r6, pc} _0215c600: ldr r1, [r4, #0x824] mov r0, r4 bl func_ov61_0215b5e4 ldrb r0, [r4, #0x456] cmp r0, #0 moveq r0, #0 streq r0, [r4, #0x824] _0215c61c: ldr r0, [r4, #0x824] cmp r0, #0 bne _0215c64c _0215c628: mov r0, r5 bl func_ov61_0215b82c cmp r0, #9 moveq r0, #0 streq r0, [r6] ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r4, #0x824] cmp r0, #0 beq _0215c628 _0215c64c: ldr r1, [r4, #0x828] ldr r0, [r4, #0x82c] sub r0, r1, r0 str r0, [r6] ldr r1, [r4, #0x824] ldr r0, [r4, #0x82c] add r0, r1, r0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0215c598 _0215c66c: .word data_ov61_0217f454 .global func_ov61_0215c670 arm_func_start func_ov61_0215c670 func_ov61_0215c670: ; 0x0215c670 stmdb sp!, {r4, lr} ldr r4, [r1, #0xc] ldr r2, [r4, #0x828] ldr r1, [r4, #0x82c] sub r2, r2, r1 cmp r0, r2 blo _0215c6b0 ldr r0, [r4, #0x824] cmp r0, #0 beq _0215c6a4 ldr r1, _0215c6bc ; =data_ov61_0217f454 ldr r1, [r1] blx r1 _0215c6a4: mov r0, #0 str r0, [r4, #0x824] ldmia sp!, {r4, pc} _0215c6b0: add r0, r1, r0 str r0, [r4, #0x82c] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215c670 _0215c6bc: .word data_ov61_0217f454 .global func_ov61_0215c6c0 arm_func_start func_ov61_0215c6c0 func_ov61_0215c6c0: ; 0x0215c6c0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r5, r0 ldr r4, [r5, #0xc] ldr r0, [r4, #0x824] cmp r0, #0 ldr r0, [r5, #0x44] bne _0215c760 cmp r0, #5 addlo sp, sp, #4 ldmloia sp!, {r3, r4, r5, r6, pc} add r0, sp, #0 mov r1, r5 bl func_ov61_02154f5c ldrb r2, [r0, #3] ldrb r0, [r0, #4] ldr r1, _0215c7fc ; =0x00004805 add r0, r0, r2, lsl #8 add r0, r0, #5 str r0, [sp] cmp r0, r1 movhi r0, #9 addhi sp, sp, #4 strhib r0, [r4, #0x455] ldmhiia sp!, {r3, r4, r5, r6, pc} ldr r1, _0215c800 ; =data_ov61_0217f428 ldr r1, [r1] blx r1 cmp r0, #0 str r0, [r4, #0x824] moveq r0, #9 addeq sp, sp, #4 streqb r0, [r4, #0x455] ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [sp] mov r0, #0 str r1, [r4, #0x828] str r0, [r4, #0x82c] strb r0, [r4, #0x456] b _0215c76c _0215c760: cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} _0215c76c: add r0, sp, #0 mov r1, r5 bl func_ov61_02154f5c ldr r3, [r4, #0x828] ldr r2, [r4, #0x82c] ldr r1, [sp] sub r2, r3, r2 cmp r1, r2 strhs r2, [sp] movhs r6, #1 ldr r3, [r4, #0x824] ldr r1, [r4, #0x82c] ldr r2, [sp] add r1, r3, r1 movlo r6, #0 bl func_02007ad8 ldr r0, [sp] mov r1, r5 bl func_ov61_0215503c cmp r6, #0 beq _0215c7e4 ldr r1, [r4, #0x824] mov r0, r4 bl func_ov61_0215b5e4 ldrb r0, [r4, #0x456] add sp, sp, #4 cmp r0, #0 moveq r0, #0 streq r0, [r4, #0x824] ldmia sp!, {r3, r4, r5, r6, pc} _0215c7e4: ldr r1, [r4, #0x82c] ldr r0, [sp] add r0, r1, r0 str r0, [r4, #0x82c] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0215c6c0 _0215c7fc: .word 0x00004805 _0215c800: .word data_ov61_0217f428 .global func_ov61_0215c804 arm_func_start func_ov61_0215c804 func_ov61_0215c804: ; 0x0215c804 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5, #0xc] ldr r0, [r4, #0x824] cmp r0, #0 ldrneb r0, [r4, #0x456] cmpne r0, #0 bne _0215c82c mov r0, r5 bl func_ov61_0215c6c0 _0215c82c: ldr r1, [r4, #0x824] cmp r1, #0 ldrneb r0, [r4, #0x456] cmpne r0, #0 beq _0215c850 ldr r1, [r4, #0x828] ldr r0, [r4, #0x82c] sub r0, r1, r0 ldmia sp!, {r3, r4, r5, pc} _0215c850: cmp r1, #0 bne _0215c878 ldrb r0, [r5, #8] cmp r0, #4 bne _0215c870 ldrb r0, [r4, #0x455] cmp r0, #9 bne _0215c878 _0215c870: mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215c878: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0215c804 .global func_ov61_0215c880 arm_func_start func_ov61_0215c880 func_ov61_0215c880: ; 0x0215c880 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc ldr r4, [sp, #0x30] mov sb, r1 mov r1, r4 ldr r1, [r1, #0xc] mov sl, r0 mov r0, #0 str r4, [sp, #0x30] str r1, [sp, #8] mov r8, r2 add r5, sb, r3 str r0, [sp, #4] _0215c8b4: ldr r0, _0215c9a8 ; =0x00000b4f ldr r1, _0215c9ac ; =data_ov61_0217f428 cmp r5, r0 movgt r6, r0 movle r6, r5 ldr r1, [r1] add r0, r6, #0x19 blx r1 movs r4, r0 beq _0215c99c cmp sb, r6 movhs r7, r6 movlo r7, sb mov r0, sl add r1, r4, #5 mov r2, r7 sub fp, r6, r7 bl func_02007ad8 add r1, r4, #5 mov r0, r8 add r1, r1, r7 mov r2, fp add sl, sl, r7 sub sb, sb, r7 bl func_02007ad8 mov r0, #0x17 strb r0, [r4] mov r0, #3 strb r0, [r4, #1] mov r0, #0 strb r0, [r4, #2] mov r0, r6, asr #0x8 strb r0, [r4, #3] ldr r0, [sp, #8] mov r1, r4 add r8, r8, fp strb r6, [r4, #4] bl func_ov61_0215b348 ldr r1, [sp, #0x30] mov r7, r0 mov r2, #0 str r1, [sp] mov r0, r4 mov r1, r7 mov r3, r2 bl func_ov61_02155204 cmp r0, r7 ldr r1, _0215c9b0 ; =data_ov61_0217f454 mov r0, r4 ldr r1, [r1] movlo r6, #0 blx r1 ldr r0, [sp, #4] subs r5, r5, r6 add r0, r0, r6 str r0, [sp, #4] cmpne r6, #0 bne _0215c8b4 _0215c99c: ldr r0, [sp, #4] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215c880 _0215c9a8: .word 0x00000b4f _0215c9ac: .word data_ov61_0217f428 _0215c9b0: .word data_ov61_0217f454 .global func_ov61_0215c9b4 arm_func_start func_ov61_0215c9b4 func_ov61_0215c9b4: ; 0x0215c9b4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 mov r5, r0 ldr r4, [r5, #0xc] ldrb r0, [r4, #0x455] cmp r0, #8 bne _0215ca24 mov ip, #0 mov r6, #0x15 mov lr, #3 mov r3, #2 mov r2, #1 add r1, sp, #4 mov r0, r4 strb r6, [sp, #4] strb lr, [sp, #5] strb ip, [sp, #6] strb ip, [sp, #7] strb r3, [sp, #8] strb r2, [sp, #9] strb ip, [sp, #0xa] bl func_ov61_0215b348 mov r2, #0 mov r1, r0 add r0, sp, #4 mov r3, r2 str r5, [sp] bl func_ov61_02155204 _0215ca24: mov r0, #0 strb r0, [r4, #0x455] add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0215c9b4 .global func_ov61_0215ca34 arm_func_start func_ov61_0215ca34 func_ov61_0215ca34: ; 0x0215ca34 stmdb sp!, {r4, lr} ldr r4, [r0, #0xc] mov r0, #0 strb r0, [r4, #0x455] ldr r0, [r4, #0x824] cmp r0, #0 beq _0215ca5c ldr r1, _0215ca68 ; =data_ov61_0217f454 ldr r1, [r1] blx r1 _0215ca5c: mov r0, #0 str r0, [r4, #0x824] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215ca34 _0215ca68: .word data_ov61_0217f454 .global func_ov61_0215ca6c arm_func_start func_ov61_0215ca6c func_ov61_0215ca6c: ; 0x0215ca6c stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _0215ca94 ; =data_02000c18 bl func_02000b60 ldr r0, _0215ca98 ; =data_027e02a0 ldr r0, [r0, #4] ldr r0, [r0, #0xa4] cmp r0, #0 strneb r4, [r0, #9] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215ca6c _0215ca94: .word data_02000c18 _0215ca98: .word data_027e02a0 .global func_ov61_0215ca9c arm_func_start func_ov61_0215ca9c func_ov61_0215ca9c: ; 0x0215ca9c stmdb sp!, {r4, r5, r6, lr} mov r5, r0 bl func_0200ee4c mov r4, #0 ldr r6, _0215cb70 ; =data_ov61_02180e48 ldr r1, _0215cb74 ; =0x000003bd mov r2, r4 _0215cab8: ldrb r3, [r6, #0x5a] cmp r3, #0 beq _0215cad4 ldr r3, [r6, #0x50] sub r3, r5, r3 cmp r3, r1 strgtb r2, [r6, #0x5a] _0215cad4: add r4, r4, #1 cmp r4, #4 add r6, r6, #0x5c blt _0215cab8 bl func_0200ee60 ldr r0, _0215cb78 ; =data_027e02a0 ldr r4, [r0, #8] cmp r4, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r6, #0 _0215cafc: ldr r1, [r4, #0xa4] cmp r1, #0 ldrne r0, [r1] cmpne r0, #0 ldrneb r0, [r1, #9] cmpne r0, #0 beq _0215cb60 ldrb r0, [r1, #8] cmp r0, #4 bne _0215cb60 ldr r0, [r1, #0xc] ldrb r0, [r0, #0x455] cmp r0, #8 bhs _0215cb60 ldr r0, [r1, #0x10] sub r0, r5, r0 cmp r0, #0xef ble _0215cb60 ldr r0, [r1, #4] cmp r0, #2 bne _0215cb60 strb r6, [r1, #8] str r6, [r1, #4] ldr r0, [r1] bl func_0200d938 _0215cb60: ldr r4, [r4, #0x68] cmp r4, #0 bne _0215cafc ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0215ca9c _0215cb70: .word data_ov61_02180e48 _0215cb74: .word 0x000003bd _0215cb78: .word data_027e02a0 .global func_ov61_0215cb7c arm_func_start func_ov61_0215cb7c func_ov61_0215cb7c: ; 0x0215cb7c ldr ip, _0215cb90 ; =func_02007a44 ldr r0, _0215cb94 ; =data_ov61_02180e48 mov r1, #0 mov r2, #0x170 bx ip .align 2, 0 arm_func_end func_ov61_0215cb7c _0215cb90: .word func_02007a44 _0215cb94: .word data_ov61_02180e48 .global func_ov61_0215cb98 arm_func_start func_ov61_0215cb98 func_ov61_0215cb98: ; 0x0215cb98 ldr ip, _0215cbac ; =func_02007ad8 mov r3, r0 mov r0, r1 mov r1, r3 bx ip .align 2, 0 arm_func_end func_ov61_0215cb98 _0215cbac: .word func_02007ad8 .global func_ov61_0215cbb0 arm_func_start func_ov61_0215cbb0 func_ov61_0215cbb0: ; 0x0215cbb0 ldr ip, _0215cbc4 ; =func_02007ad8 mov r3, r0 mov r0, r1 mov r1, r3 bx ip .align 2, 0 arm_func_end func_ov61_0215cbb0 _0215cbc4: .word func_02007ad8 .global func_ov61_0215cbc8 arm_func_start func_ov61_0215cbc8 func_ov61_0215cbc8: ; 0x0215cbc8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x44 str r0, [sp] ldr r3, [sp] add r0, sp, #4 mov r2, #0x40 ldmia r3, {r4, r5, r6, r7} bl func_ov61_0215cbb0 mov r3, #0 ldr lr, _0215cfdc ; =data_ov61_0217bcf4 mov ip, r3 add r2, sp, #4 _0215cbf8: ldr r1, _0215cfe0 ; =data_ov61_0217bd74 ldrb r0, [lr] add sb, r1, r3, lsl #2 eor r1, r6, r7 and r8, r5, r1 ldr r1, _0215cfe0 ; =data_ov61_0217bd74 ldr r0, [r2, r0, lsl #2] ldr sl, [r1, r3, lsl #2] eor r1, r7, r8 add r0, r1, r0 add r0, sl, r0 add r1, r4, r0 mov r0, r1, lsr #0x19 orr r0, r0, r1, lsl #7 ldrb r1, [lr, #1] add r4, r5, r0 eor r0, r5, r6 and r0, r4, r0 ldr sl, [r2, r1, lsl #2] eor r0, r6, r0 add r0, r0, sl ldr r8, [sb, #4] ldrb sl, [lr, #2] add r0, r8, r0 add r7, r7, r0 mov r0, r7, lsr #0x14 orr r0, r0, r7, lsl #12 add r7, r4, r0 eor r0, r4, r5 and r0, r7, r0 ldr r1, [sb, #8] ldrb fp, [lr, #3] ldr sl, [r2, sl, lsl #2] eor r0, r5, r0 add r0, r0, sl add r0, r1, r0 add r6, r6, r0 mov r1, r6, lsr #0xf orr r1, r1, r6, lsl #17 add ip, ip, #1 eor r8, r7, r4 add r6, r7, r1 and r1, r6, r8 ldr r0, [r2, fp, lsl #2] eor r1, r4, r1 ldr sb, [sb, #0xc] add r0, r1, r0 add r0, sb, r0 add r1, r5, r0 mov r0, r1, lsr #0xa orr r0, r0, r1, lsl #22 add lr, lr, #4 add r5, r6, r0 add r3, r3, #4 cmp ip, #4 blt _0215cbf8 ldr r0, _0215cfdc ; =data_ov61_0217bcf4 ldr lr, _0215cfe0 ; =data_ov61_0217bd74 mov fp, #0 add sl, r0, r3 add sb, sp, #4 _0215ccec: ldrb r0, [sl] add ip, lr, r3, lsl #2 eor r1, r5, r6 and r1, r7, r1 ldr r8, [lr, r3, lsl #2] eor r1, r6, r1 ldr r0, [sb, r0, lsl #2] ldr r2, [ip, #4] add r0, r1, r0 add r0, r8, r0 add r1, r4, r0 mov r0, r1, lsr #0x1b orr r1, r0, r1, lsl #5 ldrb r0, [sl, #1] add r4, r5, r1 eor r1, r4, r5 and r1, r6, r1 eor r1, r5, r1 ldr r0, [sb, r0, lsl #2] ldr r8, [ip, #8] add r0, r1, r0 add r0, r2, r0 add r2, r7, r0 ldr r0, [ip, #0xc] mov r1, r2, lsr #0x17 orr r1, r1, r2, lsl #9 add r7, r4, r1 eor r1, r7, r4 and r1, r5, r1 eor r2, r4, r1 ldrb r1, [sl, #2] ldrb ip, [sl, #3] add sl, sl, #4 ldr r1, [sb, r1, lsl #2] ldr ip, [sb, ip, lsl #2] add r1, r2, r1 add r1, r8, r1 add r2, r6, r1 mov r1, r2, lsr #0x12 orr r1, r1, r2, lsl #14 add r6, r7, r1 eor r1, r6, r7 and r1, r4, r1 eor r1, r7, r1 add r1, r1, ip add r0, r0, r1 add r1, r5, r0 mov r0, r1, lsr #0xc orr r0, r0, r1, lsl #20 add r5, r6, r0 add r3, r3, #4 add fp, fp, #1 cmp fp, #4 blt _0215ccec ldr r0, _0215cfdc ; =data_ov61_0217bcf4 ldr r1, _0215cfe0 ; =data_ov61_0217bd74 add r2, r0, r3 mov r8, #0 add r0, sp, #4 _0215cdd8: ldrb sb, [r2] add fp, r1, r3, lsl #2 eor ip, r5, r6 ldr sl, [r0, sb, lsl #2] eor ip, r7, ip ldr sb, [r1, r3, lsl #2] add sl, ip, sl add sb, sb, sl add sb, r4, sb mov r4, sb, lsr #0x1c ldrb sl, [r2, #1] orr r4, r4, sb, lsl #4 add r4, r5, r4 eor sb, r4, r5 eor sb, r6, sb ldr ip, [r0, sl, lsl #2] ldr sl, [fp, #4] add sb, sb, ip add sb, sl, sb add sb, r7, sb mov r7, sb, lsr #0x15 orr r7, r7, sb, lsl #11 ldrb sb, [r2, #2] add r7, r4, r7 ldr sl, [fp, #8] ldr ip, [r0, sb, lsl #2] ldr sb, [fp, #0xc] eor fp, r7, r4 eor fp, r5, fp add fp, fp, ip add sl, sl, fp add sl, r6, sl mov r6, sl, lsr #0x10 orr r6, r6, sl, lsl #16 add r6, r7, r6 eor sl, r6, r7 eor fp, r4, sl ldrb sl, [r2, #3] add r2, r2, #4 add r3, r3, #4 ldr sl, [r0, sl, lsl #2] add r8, r8, #1 add sl, fp, sl add sb, sb, sl add sb, r5, sb cmp r8, #4 mov r5, sb, lsr #0x9 orr r5, r5, sb, lsl #23 add r5, r6, r5 blt _0215cdd8 ldr r0, _0215cfdc ; =data_ov61_0217bcf4 mov sb, #0 add r8, r0, r3 add r2, sp, #4 _0215ceb0: ldr r1, _0215cfe0 ; =data_ov61_0217bd74 ldrb r0, [r8] add fp, r1, r3, lsl #2 mvn r1, r7 orr sl, r5, r1 ldr r1, _0215cfe0 ; =data_ov61_0217bd74 ldr r0, [r2, r0, lsl #2] ldr ip, [r1, r3, lsl #2] eor r1, r6, sl add r0, r1, r0 add r0, ip, r0 add r1, r4, r0 mov r0, r1, lsr #0x1a orr r0, r0, r1, lsl #6 ldrb r1, [r8, #1] add r4, r5, r0 mvn r0, r6 orr r0, r4, r0 ldr ip, [r2, r1, lsl #2] eor r0, r5, r0 add r0, r0, ip ldr sl, [fp, #4] ldrb ip, [r8, #2] add r0, sl, r0 add r7, r7, r0 mov r0, r7, lsr #0x16 orr r0, r0, r7, lsl #10 add r7, r4, r0 mvn r0, r5 orr r0, r7, r0 ldr r1, [fp, #8] ldrb lr, [r8, #3] ldr ip, [r2, ip, lsl #2] eor r0, r4, r0 add r0, r0, ip add r0, r1, r0 add r6, r6, r0 mov r1, r6, lsr #0x11 orr r1, r1, r6, lsl #15 add sb, sb, #1 mvn sl, r4 add r6, r7, r1 orr r1, r6, sl ldr r0, [r2, lr, lsl #2] eor r1, r7, r1 ldr fp, [fp, #0xc] add r0, r1, r0 add r0, fp, r0 add r1, r5, r0 mov r0, r1, lsr #0xb orr r0, r0, r1, lsl #21 add r8, r8, #4 add r5, r6, r0 add r3, r3, #4 cmp sb, #4 blt _0215ceb0 ldr r0, [sp] ldr r0, [r0] add r1, r0, r4 ldr r0, [sp] str r1, [r0] ldr r0, [r0, #4] add r1, r0, r5 ldr r0, [sp] str r1, [r0, #4] ldr r0, [r0, #8] add r1, r0, r6 ldr r0, [sp] str r1, [r0, #8] ldr r0, [r0, #0xc] add r1, r0, r7 ldr r0, [sp] str r1, [r0, #0xc] add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215cbc8 _0215cfdc: .word data_ov61_0217bcf4 _0215cfe0: .word data_ov61_0217bd74 .global func_ov61_0215cfe4 arm_func_start func_ov61_0215cfe4 func_ov61_0215cfe4: ; 0x0215cfe4 stmdb sp!, {r4, lr} mov r1, #0 mov r2, #0x58 mov r4, r0 bl func_02007a44 ldr r1, _0215d01c ; =0x67452301 ldr r0, _0215d020 ; =0xefcdab89 str r1, [r4] ldr r1, _0215d024 ; =0x98badcfe str r0, [r4, #4] ldr r0, _0215d028 ; =0x10325476 str r1, [r4, #8] str r0, [r4, #0xc] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215cfe4 _0215d01c: .word 0x67452301 _0215d020: .word 0xefcdab89 _0215d024: .word 0x98badcfe _0215d028: .word 0x10325476 .global func_ov61_0215d02c arm_func_start func_ov61_0215d02c func_ov61_0215d02c: ; 0x0215d02c stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 ldr r3, [r8, #0x10] mov r6, r2 add r0, r3, r6, lsl #3 str r0, [r8, #0x10] cmp r0, r6, lsl #3 ldrlo r0, [r8, #0x14] mov r2, r3, lsr #0x3 addlo r0, r0, #1 strlo r0, [r8, #0x14] ldr r0, [r8, #0x14] and r4, r2, #0x3f rsb r5, r4, #0x40 add r0, r0, r6, lsr #29 mov r7, r1 str r0, [r8, #0x14] cmp r6, r5 blo _0215d0c8 add r1, r8, #0x18 mov r0, r7 mov r2, r5 add r1, r1, r4 bl func_02007ad8 mov r0, r8 add r1, r8, #0x18 mov r4, #0 bl func_ov61_0215cbc8 add r0, r5, #0x3f cmp r0, r6 bhs _0215d0cc _0215d0a8: mov r0, r8 add r1, r7, r5 bl func_ov61_0215cbc8 add r5, r5, #0x40 add r0, r5, #0x3f cmp r0, r6 blo _0215d0a8 b _0215d0cc _0215d0c8: mov r5, #0 _0215d0cc: add r1, r8, #0x18 add r0, r7, r5 add r1, r1, r4 sub r2, r6, r5 bl func_02007ad8 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_0215d02c .global func_ov61_0215d0e4 arm_func_start func_ov61_0215d0e4 func_ov61_0215d0e4: ; 0x0215d0e4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r0, r4 add r1, r5, #0x10 mov r2, #8 bl func_ov61_0215cb98 ldr r0, [r5, #0x10] ldr r1, _0215d148 ; =data_ov61_0217bd34 mov r0, r0, lsr #0x3 and r0, r0, #0x3f cmp r0, #0x38 rsblt r2, r0, #0x38 rsbge r2, r0, #0x78 mov r0, r5 bl func_ov61_0215d02c mov r0, r5 mov r1, r4 mov r2, #8 bl func_ov61_0215d02c mov r0, r4 mov r1, r5 mov r2, #0x10 bl func_ov61_0215cb98 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215d0e4 _0215d148: .word data_ov61_0217bd34 .global func_ov61_0215d14c arm_func_start func_ov61_0215d14c func_ov61_0215d14c: ; 0x0215d14c add r2, r0, #0xd add ip, r0, #2 and r3, r2, #0xf eor r2, r0, #8 and ip, ip, #0xf ldr r3, [r1, r3, lsl #2] ldr r2, [r1, r2, lsl #2] ldr ip, [r1, ip, lsl #2] eor r2, r3, r2 ldr r3, [r1, r0, lsl #2] eor r2, ip, r2 eor r3, r3, r2 mov r2, r3, lsr #0x1f orr r2, r2, r3, lsl #1 str r2, [r1, r0, lsl #2] mov r0, r2 bx lr arm_func_end func_ov61_0215d14c .global func_ov61_0215d190 arm_func_start func_ov61_0215d190 func_ov61_0215d190: ; 0x0215d190 stmdb sp!, {r3, lr} movs r2, r2, lsr #0x2 mov lr, #0 ldmeqia sp!, {r3, pc} _0215d1a0: ldr ip, [r1], #4 add lr, lr, #1 mov r3, ip, lsr #0x18 strb r3, [r0] mov r3, ip, lsr #0x10 strb r3, [r0, #1] mov r3, ip, lsr #0x8 strb r3, [r0, #2] strb ip, [r0, #3] cmp lr, r2 add r0, r0, #4 blo _0215d1a0 ldmia sp!, {r3, pc} arm_func_end func_ov61_0215d190 .global func_ov61_0215d1d4 arm_func_start func_ov61_0215d1d4 func_ov61_0215d1d4: ; 0x0215d1d4 stmdb sp!, {r3, r4, r5, lr} mov r5, #0 cmp r2, #0 ldmlsia sp!, {r3, r4, r5, pc} _0215d1e4: add r4, r1, r5 ldrb r3, [r4, #1] ldrb ip, [r1, r5] ldrb lr, [r4, #2] mov r3, r3, lsl #0x10 orr r3, r3, ip, lsl #24 ldrb ip, [r4, #3] orr r3, r3, lr, lsl #8 add r5, r5, #4 orr r3, ip, r3 cmp r5, r2 str r3, [r0], #4 blo _0215d1e4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0215d1d4 .global func_ov61_0215d21c arm_func_start func_ov61_0215d21c func_ov61_0215d21c: ; 0x0215d21c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x50 str r0, [sp] ldr r3, [sp] add r0, sp, #0x10 ldmia r3, {r4, r5, r7, r8, sb} mov r2, #0x40 bl func_ov61_0215d1d4 mov r0, #0 ldr r3, _0215d894 ; =0x5a827999 mov r2, r0 add r1, sp, #0x10 _0215d24c: eor r6, r7, r8 mov sl, r4, lsr #0x1b and r6, r5, r6 orr fp, sl, r4, lsl #5 eor r6, r8, r6 mov sl, r5, lsr #0x2 orr sl, sl, r5, lsl #30 add r5, r1, r0, lsl #2 add r6, fp, r6 ldr ip, [r1, r0, lsl #2] ldr fp, [r5, #4] add r6, ip, r6 add r6, r6, r3 add sb, sb, r6 mov r6, sb, lsr #0x1b orr r6, r6, sb, lsl #5 eor ip, sl, r7 and ip, r4, ip eor ip, r7, ip add r6, r6, ip add r6, fp, r6 add r6, r6, r3 add r8, r8, r6 mov r6, r4, lsr #0x2 orr r4, r6, r4, lsl #30 ldr fp, [r5, #8] mov r6, r8, lsr #0x1b orr r6, r6, r8, lsl #5 eor ip, r4, sl and ip, sb, ip eor ip, sl, ip add r6, r6, ip add r6, fp, r6 add r6, r6, r3 add r6, r7, r6 mov r7, sb, lsr #0x2 orr sb, r7, sb, lsl #30 ldr r7, [r5, #0xc] ldr fp, [r5, #0x10] mov r5, r6, lsr #0x1b orr r5, r5, r6, lsl #5 eor ip, sb, r4 and ip, r8, ip eor ip, r4, ip add r5, r5, ip add r5, r7, r5 add r5, r5, r3 add r5, sl, r5 mov r7, r8, lsr #0x2 orr r8, r7, r8, lsl #30 mov r7, r5, lsr #0x1b orr r7, r7, r5, lsl #5 eor sl, r8, sb and sl, r6, sl eor sl, sb, sl add r7, r7, sl add r7, fp, r7 add r7, r7, r3 add r4, r4, r7 mov r7, r6, lsr #0x2 orr r7, r7, r6, lsl #30 add r0, r0, #5 add r2, r2, #1 cmp r2, #3 blt _0215d24c eor r0, r7, r8 mov r2, r4, lsr #0x1b and r0, r5, r0 orr r3, r2, r4, lsl #5 eor r0, r8, r0 add r3, r3, r0 ldr r6, [sp, #0x4c] ldr r0, _0215d894 ; =0x5a827999 add r3, r6, r3 add r3, r3, r0 mov r2, r5, lsr #0x2 orr r6, r2, r5, lsl #30 mov r0, #0 add sb, sb, r3 bl func_ov61_0215d14c eor r1, r6, r7 mov r3, sb, lsr #0x1b and r1, r4, r1 mov r2, r4, lsr #0x2 orr r3, r3, sb, lsl #5 eor r1, r7, r1 add r1, r3, r1 add r3, r1, r0 ldr r0, _0215d894 ; =0x5a827999 add r1, sp, #0x10 add r3, r3, r0 orr r5, r2, r4, lsl #30 mov r0, #1 add r8, r8, r3 bl func_ov61_0215d14c eor r1, r5, r6 mov r2, r8, lsr #0x1b and r1, sb, r1 orr r2, r2, r8, lsl #5 eor r1, r6, r1 add r1, r2, r1 add r2, r1, r0 ldr r0, _0215d894 ; =0x5a827999 mov r1, sb, lsr #0x2 add r0, r2, r0 orr sb, r1, sb, lsl #30 add r7, r7, r0 add r1, sp, #0x10 mov r0, #2 bl func_ov61_0215d14c mov r1, r7, lsr #0x1b orr r2, r1, r7, lsl #5 eor r1, sb, r5 and r1, r8, r1 eor r1, r5, r1 add r1, r2, r1 add r2, r1, r0 ldr r0, _0215d894 ; =0x5a827999 mov r1, r8, lsr #0x2 add r0, r2, r0 orr r8, r1, r8, lsl #30 add r6, r6, r0 mov r0, #3 add r1, sp, #0x10 bl func_ov61_0215d14c mov r1, r6, lsr #0x1b orr r2, r1, r6, lsl #5 eor r1, r8, sb and r1, r7, r1 eor r1, sb, r1 add r1, r2, r1 add r2, r1, r0 ldr r0, _0215d894 ; =0x5a827999 mov r1, r7, lsr #0x2 add r0, r2, r0 add r5, r5, r0 mov r0, #0 ldr r4, _0215d898 ; =0x6ed9eba1 orr r7, r1, r7, lsl #30 mov sl, #4 str r0, [sp, #4] add fp, sp, #0x10 _0215d484: mov r0, sl mov r1, fp bl func_ov61_0215d14c mov r2, r5, lsr #0x1b eor r1, r6, r7 orr r2, r2, r5, lsl #5 eor r1, r8, r1 add r1, r2, r1 add r0, r1, r0 add r1, r0, r4 mov r0, r6, lsr #0x2 add sb, sb, r1 orr r6, r0, r6, lsl #30 add r0, sl, #1 mov r1, fp bl func_ov61_0215d14c mov r1, sb, lsr #0x1b orr r2, r1, sb, lsl #5 eor r1, r5, r6 eor r1, r7, r1 add r1, r2, r1 add r0, r1, r0 add r0, r0, r4 add r8, r8, r0 mov r0, r5, lsr #0x2 orr r5, r0, r5, lsl #30 add r0, sl, #2 and sl, r0, #0xf mov r0, sl mov r1, fp bl func_ov61_0215d14c mov r1, r8, lsr #0x1b orr r2, r1, r8, lsl #5 eor r1, sb, r5 eor r1, r6, r1 add r1, r2, r1 add r0, r1, r0 add r0, r0, r4 add r7, r7, r0 mov r0, sb, lsr #0x2 orr sb, r0, sb, lsl #30 add r0, sl, #1 mov r1, fp bl func_ov61_0215d14c mov r1, r7, lsr #0x1b orr r2, r1, r7, lsl #5 eor r1, r8, sb eor r1, r5, r1 add r1, r2, r1 add r0, r1, r0 add r0, r0, r4 add r6, r6, r0 mov r0, r8, lsr #0x2 orr r8, r0, r8, lsl #30 add r0, sl, #2 mov r1, fp bl func_ov61_0215d14c mov r1, r6, lsr #0x1b orr r2, r1, r6, lsl #5 eor r1, r7, r8 eor r1, sb, r1 add r1, r2, r1 add r0, r1, r0 add r0, r0, r4 add r5, r5, r0 mov r1, r7, lsr #0x2 ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] cmp r0, #4 orr r7, r1, r7, lsl #30 add sl, sl, #3 blt _0215d484 mov r0, #0 ldr r4, _0215d89c ; =0x8f1bbcdc str r0, [sp, #8] add fp, sp, #0x10 _0215d5b8: mov r0, sl mov r1, fp bl func_ov61_0215d14c orr r2, r7, r8 mov r1, r5, lsr #0x1b orr r1, r1, r5, lsl #5 and r3, r6, r2 and r2, r7, r8 orr r2, r3, r2 add r1, r1, r2 add r1, r1, r0 mov r0, r6, lsr #0x2 add r1, r1, r4 add sb, sb, r1 orr r6, r0, r6, lsl #30 add r0, sl, #1 mov r1, fp bl func_ov61_0215d14c mov r1, sb, lsr #0x1b orr r1, r1, sb, lsl #5 orr r2, r6, r7 and r3, r5, r2 and r2, r6, r7 orr r2, r3, r2 add r1, r1, r2 add r0, r1, r0 add r0, r0, r4 add r8, r8, r0 mov r0, r5, lsr #0x2 orr r5, r0, r5, lsl #30 add r0, sl, #2 mov r1, fp bl func_ov61_0215d14c mov r1, r8, lsr #0x1b orr r1, r1, r8, lsl #5 orr r2, r5, r6 and r3, sb, r2 and r2, r5, r6 orr r2, r3, r2 add r1, r1, r2 add r0, r1, r0 add r0, r0, r4 add r7, r7, r0 mov r0, sb, lsr #0x2 orr sb, r0, sb, lsl #30 add r0, sl, #3 and sl, r0, #0xf mov r0, sl mov r1, fp bl func_ov61_0215d14c mov r1, r7, lsr #0x1b orr r1, r1, r7, lsl #5 orr r2, sb, r5 and r3, r8, r2 and r2, sb, r5 orr r2, r3, r2 add r1, r1, r2 add r0, r1, r0 add r0, r0, r4 add r6, r6, r0 mov r0, r8, lsr #0x2 orr r8, r0, r8, lsl #30 add r0, sl, #1 mov r1, fp bl func_ov61_0215d14c mov r1, r6, lsr #0x1b orr r1, r1, r6, lsl #5 orr r2, r8, sb and r3, r7, r2 and r2, r8, sb orr r2, r3, r2 add r1, r1, r2 add r0, r1, r0 add r0, r0, r4 add r5, r5, r0 mov r1, r7, lsr #0x2 ldr r0, [sp, #8] add r0, r0, #1 str r0, [sp, #8] cmp r0, #4 orr r7, r1, r7, lsl #30 add sl, sl, #2 blt _0215d5b8 mov r0, #0 ldr r4, _0215d8a0 ; =0xca62c1d6 str r0, [sp, #0xc] add fp, sp, #0x10 _0215d714: mov r0, sl mov r1, fp bl func_ov61_0215d14c mov r2, r5, lsr #0x1b eor r1, r6, r7 orr r2, r2, r5, lsl #5 eor r1, r8, r1 add r1, r2, r1 add r0, r1, r0 add r1, r0, r4 mov r0, r6, lsr #0x2 add sb, sb, r1 orr r6, r0, r6, lsl #30 add r0, sl, #1 mov r1, fp bl func_ov61_0215d14c mov r1, sb, lsr #0x1b orr r2, r1, sb, lsl #5 eor r1, r5, r6 eor r1, r7, r1 add r1, r2, r1 add r0, r1, r0 add r0, r0, r4 add r8, r8, r0 mov r0, r5, lsr #0x2 orr r5, r0, r5, lsl #30 add r0, sl, #2 mov r1, fp bl func_ov61_0215d14c mov r1, r8, lsr #0x1b orr r2, r1, r8, lsl #5 eor r1, sb, r5 eor r1, r6, r1 add r1, r2, r1 add r0, r1, r0 add r0, r0, r4 add r7, r7, r0 mov r0, sb, lsr #0x2 orr sb, r0, sb, lsl #30 add r0, sl, #3 mov r1, fp bl func_ov61_0215d14c mov r1, r7, lsr #0x1b orr r2, r1, r7, lsl #5 eor r1, r8, sb eor r1, r5, r1 add r1, r2, r1 add r0, r1, r0 add r0, r0, r4 add r6, r6, r0 mov r0, r8, lsr #0x2 orr r8, r0, r8, lsl #30 add r0, sl, #4 and sl, r0, #0xf mov r0, sl mov r1, fp bl func_ov61_0215d14c mov r1, r6, lsr #0x1b orr r2, r1, r6, lsl #5 eor r1, r7, r8 eor r1, sb, r1 add r1, r2, r1 add r0, r1, r0 add r0, r0, r4 add r5, r5, r0 mov r1, r7, lsr #0x2 ldr r0, [sp, #0xc] add r0, r0, #1 str r0, [sp, #0xc] cmp r0, #4 orr r7, r1, r7, lsl #30 add sl, sl, #1 blt _0215d714 ldr r0, [sp] ldr r0, [r0] add r1, r0, r5 ldr r0, [sp] str r1, [r0] ldr r0, [r0, #4] add r1, r0, r6 ldr r0, [sp] str r1, [r0, #4] ldr r0, [r0, #8] add r1, r0, r7 ldr r0, [sp] str r1, [r0, #8] ldr r0, [r0, #0xc] add r1, r0, r8 ldr r0, [sp] str r1, [r0, #0xc] ldr r0, [r0, #0x10] add r1, r0, sb ldr r0, [sp] str r1, [r0, #0x10] add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215d21c _0215d894: .word 0x5a827999 _0215d898: .word 0x6ed9eba1 _0215d89c: .word 0x8f1bbcdc _0215d8a0: .word 0xca62c1d6 .global func_ov61_0215d8a4 arm_func_start func_ov61_0215d8a4 func_ov61_0215d8a4: ; 0x0215d8a4 stmdb sp!, {r4, lr} mov r1, #0 mov r2, #0x5c mov r4, r0 bl func_02007a44 ldr r0, _0215d8e4 ; =0x67452301 ldr r1, _0215d8e8 ; =0xefcdab89 str r0, [r4] ldr r0, _0215d8ec ; =0x98badcfe str r1, [r4, #4] ldr r1, _0215d8f0 ; =0x10325476 str r0, [r4, #8] ldr r0, _0215d8f4 ; =0xc3d2e1f0 str r1, [r4, #0xc] str r0, [r4, #0x10] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215d8a4 _0215d8e4: .word 0x67452301 _0215d8e8: .word 0xefcdab89 _0215d8ec: .word 0x98badcfe _0215d8f0: .word 0x10325476 _0215d8f4: .word 0xc3d2e1f0 .global func_ov61_0215d8f8 arm_func_start func_ov61_0215d8f8 func_ov61_0215d8f8: ; 0x0215d8f8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 ldr r3, [r8, #0x18] mov r6, r2 add r0, r3, r6, lsl #3 str r0, [r8, #0x18] cmp r0, r6, lsl #3 ldrlo r0, [r8, #0x14] mov r2, r3, lsr #0x3 addlo r0, r0, #1 strlo r0, [r8, #0x14] ldr r0, [r8, #0x14] and r4, r2, #0x3f rsb r5, r4, #0x40 add r0, r0, r6, lsr #29 mov r7, r1 str r0, [r8, #0x14] cmp r6, r5 blo _0215d994 add r1, r8, #0x1c mov r0, r7 mov r2, r5 add r1, r1, r4 bl func_02007ad8 mov r0, r8 add r1, r8, #0x1c mov r4, #0 bl func_ov61_0215d21c add r0, r5, #0x3f cmp r0, r6 bhs _0215d998 _0215d974: mov r0, r8 add r1, r7, r5 bl func_ov61_0215d21c add r5, r5, #0x40 add r0, r5, #0x3f cmp r0, r6 blo _0215d974 b _0215d998 _0215d994: mov r5, #0 _0215d998: add r1, r8, #0x1c add r0, r7, r5 add r1, r1, r4 sub r2, r6, r5 bl func_02007ad8 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_0215d8f8 .global func_ov61_0215d9b0 arm_func_start func_ov61_0215d9b0 func_ov61_0215d9b0: ; 0x0215d9b0 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 mov r0, r4 add r1, r5, #0x14 mov r2, #8 bl func_ov61_0215d190 ldr r0, [r5, #0x18] ldr r1, _0215da14 ; =data_ov61_0217be74 mov r0, r0, lsr #0x3 and r0, r0, #0x3f cmp r0, #0x38 rsblt r2, r0, #0x38 rsbge r2, r0, #0x78 mov r0, r5 bl func_ov61_0215d8f8 mov r0, r5 mov r1, r4 mov r2, #8 bl func_ov61_0215d8f8 mov r0, r4 mov r1, r5 mov r2, #0x14 bl func_ov61_0215d190 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215d9b0 _0215da14: .word data_ov61_0217be74 .global func_ov61_0215da18 arm_func_start func_ov61_0215da18 func_ov61_0215da18: ; 0x0215da18 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldr r1, _0215da44 ; =data_ov61_0217be75 mov r5, r0 mov r2, #0x2c bl func_ov61_0215d8f8 mov r0, r4 mov r1, r5 mov r2, #0x14 bl func_ov61_0215d190 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215da18 _0215da44: .word data_ov61_0217be75 .global func_ov61_0215da48 arm_func_start func_ov61_0215da48 func_ov61_0215da48: ; 0x0215da48 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r3, #0 strb r3, [r0] strb r3, [r0, #1] add r4, r0, #2 _0215da5c: strb r3, [r4, r3] add r3, r3, #1 cmp r3, #0x100 blt _0215da5c mov r6, #0 mov r5, r6 mov r7, r6 mov r0, r6 _0215da7c: ldrb lr, [r4, r7] ldrb ip, [r1, r6] add r3, r6, #1 and r6, r3, #0xff add r3, lr, ip add r3, r5, r3 and r5, r3, #0xff ldrb r3, [r4, r5] cmp r6, r2 movge r6, r0 strb r3, [r4, r7] add r7, r7, #1 strb lr, [r4, r5] cmp r7, #0x100 blt _0215da7c ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0215da48 .global func_ov61_0215dabc arm_func_start func_ov61_0215dabc func_ov61_0215dabc: ; 0x0215dabc stmdb sp!, {r4, r5, r6, lr} cmp r2, #0 add r4, r0, #2 ldrb ip, [r0] ldrb lr, [r0, #1] mov r3, #0 ble _0215db1c _0215dad8: add r5, ip, #1 and ip, r5, #0xff ldrb r6, [r4, ip] add r5, lr, r6 and lr, r5, #0xff ldrb r5, [r4, lr] strb r5, [r4, ip] add r5, r6, r5 strb r6, [r4, lr] and r5, r5, #0xff ldrb r6, [r1, r3] ldrb r5, [r4, r5] eor r5, r6, r5 strb r5, [r1, r3] add r3, r3, #1 cmp r3, r2 blt _0215dad8 _0215db1c: strb ip, [r0] strb lr, [r0, #1] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0215dabc .global func_ov61_0215db28 arm_func_start func_ov61_0215db28 func_ov61_0215db28: ; 0x0215db28 b _0215db30 _0215db2c: sub r1, r1, #1 arm_func_end func_ov61_0215db28 _0215db30: cmp r1, #0 beq _0215db48 add r2, r0, r1, lsl #1 ldrh r2, [r2, #-2] cmp r2, #0 beq _0215db2c _0215db48: mov r0, r1 bx lr .global func_ov61_0215db50 arm_func_start func_ov61_0215db50 func_ov61_0215db50: ; 0x0215db50 stmdb sp!, {r3, lr} sub r2, r1, #1 mov r2, r2, lsl #0x1 ldrh r2, [r0, r2] tst r2, #0x8000 mvnne r0, #0 ldmneia sp!, {r3, pc} bl func_ov61_0215db28 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_0215db50 .global func_ov61_0215db80 arm_func_start func_ov61_0215db80 func_ov61_0215db80: ; 0x0215db80 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r1 mov r5, r3 mov r8, r0 mov r6, r2 mov r0, r7 mov r1, r5 bl func_ov61_0215db28 mov r4, r0 mov r0, r6 mov r1, r5 bl func_ov61_0215db28 cmp r4, r0 movlt r4, r0 cmp r4, r5 addne r4, r4, #1 mov ip, #0 mov r3, ip cmp r4, #0 ble _0215dbf8 _0215dbd0: mov r2, r3, lsl #0x1 ldrh r1, [r7, r2] ldrh r0, [r6, r2] add r3, r3, #1 cmp r3, r4 add r0, r1, r0 add r0, ip, r0 strh r0, [r8, r2] mov ip, r0, lsr #0x10 blt _0215dbd0 _0215dbf8: cmp r8, r7 cmpne r8, r6 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} sub r1, r5, r3 add r0, r8, r3, lsl #1 mov r2, r1, lsl #0x1 mov r1, #0 bl func_02007a44 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_0215db80 .global func_ov61_0215dc1c arm_func_start func_ov61_0215dc1c func_ov61_0215dc1c: ; 0x0215dc1c stmdb sp!, {r4, lr} cmp r3, #0 mov r4, #0 ble _0215dc50 _0215dc2c: mov lr, r4, lsl #0x1 ldrh ip, [r1, lr] add r2, r2, ip strh r2, [r0, lr] movs r2, r2, lsr #0x10 beq _0215dc50 add r4, r4, #1 cmp r4, r3 blt _0215dc2c _0215dc50: cmp r0, r1 ldmeqia sp!, {r4, pc} add r4, r4, #1 cmp r4, r3 ldmgeia sp!, {r4, pc} _0215dc64: mov ip, r4, lsl #0x1 ldrh r2, [r1, ip] add r4, r4, #1 cmp r4, r3 strh r2, [r0, ip] blt _0215dc64 ldmia sp!, {r4, pc} arm_func_end func_ov61_0215dc1c .global func_ov61_0215dc80 arm_func_start func_ov61_0215dc80 func_ov61_0215dc80: ; 0x0215dc80 stmdb sp!, {r3, lr} mov r3, r1 cmp r3, #0 mov ip, #0 ble _0215dcb0 _0215dc94: mov r2, ip, lsl #0x1 ldrh r1, [r0, r2] add ip, ip, #1 cmp ip, r3 mvn r1, r1 strh r1, [r0, r2] blt _0215dc94 _0215dcb0: mov r1, r0 mov r2, #1 bl func_ov61_0215dc1c ldmia sp!, {r3, pc} arm_func_end func_ov61_0215dc80 .global func_ov61_0215dcc0 arm_func_start func_ov61_0215dcc0 func_ov61_0215dcc0: ; 0x0215dcc0 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r1 mov r5, r3 mov r8, r0 mov r6, r2 mov r0, r7 mov r1, r5 bl func_ov61_0215db28 mov r4, r0 mov r0, r6 mov r1, r5 bl func_ov61_0215db28 cmp r4, r0 movlt r4, r0 mov ip, #0 cmp r4, r5 addne r4, r4, #1 mov r3, ip b _0215dd2c _0215dd0c: mov r2, r3, lsl #0x1 ldrh r1, [r7, r2] ldrh r0, [r6, r2] add r3, r3, #1 sub r0, r1, r0 add r0, ip, r0 strh r0, [r8, r2] mov ip, r0, asr #0x10 _0215dd2c: cmp r3, r4 blt _0215dd0c cmp r3, r5 bge _0215dd44 cmp ip, #0 bne _0215dd0c _0215dd44: cmp r8, r7 cmpne r8, r6 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} sub r1, r5, r3 add r0, r8, r3, lsl #1 mov r2, r1, lsl #0x1 mov r1, #0 bl func_02007a44 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_0215dcc0 .global func_ov61_0215dd68 arm_func_start func_ov61_0215dd68 func_ov61_0215dd68: ; 0x0215dd68 stmdb sp!, {r4, lr} cmp r3, #0 mov r4, #0 ble _0215dda0 _0215dd78: mov lr, r4, lsl #0x1 ldrh ip, [r1, lr] sub ip, ip, r2 mov r2, ip, lsr #0x10 strh ip, [r0, lr] ands r2, r2, #1 beq _0215dda0 add r4, r4, #1 cmp r4, r3 blt _0215dd78 _0215dda0: cmp r0, r1 ldmeqia sp!, {r4, pc} add r4, r4, #1 cmp r4, r3 ldmgeia sp!, {r4, pc} _0215ddb4: mov ip, r4, lsl #0x1 ldrh r2, [r1, ip] add r4, r4, #1 cmp r4, r3 strh r2, [r0, ip] blt _0215ddb4 ldmia sp!, {r4, pc} arm_func_end func_ov61_0215dd68 .global func_ov61_0215ddd0 arm_func_start func_ov61_0215ddd0 func_ov61_0215ddd0: ; 0x0215ddd0 subs ip, r2, #1 bmi _0215de00 _0215ddd8: mov r2, ip, lsl #0x1 ldrh r3, [r1, r2] ldrh r2, [r0, r2] cmp r2, r3 movhi r0, #1 bxhi lr mvnlo r0, #0 bxlo lr subs ip, ip, #1 bpl _0215ddd8 _0215de00: mov r0, #0 bx lr arm_func_end func_ov61_0215ddd0 .global func_ov61_0215de08 arm_func_start func_ov61_0215de08 func_ov61_0215de08: ; 0x0215de08 stmdb sp!, {r3, lr} b _0215de28 _0215de10: mov lr, r2, lsl #0x1 ldrh ip, [r0, lr] add r2, r2, #1 add r1, r1, ip strh r1, [r0, lr] mov r1, r1, lsr #0x10 _0215de28: cmp r1, #0 ldmeqia sp!, {r3, pc} cmp r2, r3 blt _0215de10 ldmia sp!, {r3, pc} arm_func_end func_ov61_0215de08 .global func_ov61_0215de3c arm_func_start func_ov61_0215de3c func_ov61_0215de3c: ; 0x0215de3c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov r8, r3 mov sl, r1 mov sb, r2 mov r2, r8, lsl #0x1 mov r1, #0 str r0, [sp] bl func_02007a44 mov r0, sl mov r1, r8 bl func_ov61_0215db28 mov fp, r0 mov r0, sb mov r1, r8 bl func_ov61_0215db28 str r0, [sp, #4] cmp r0, #0 mov r5, #0 addle sp, sp, #8 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0215de90: mov r6, #0 sub r7, r8, r5 mov r4, r5, lsl #0x1 b _0215dec4 _0215dea0: mov r0, r6, lsl #0x1 ldrh r3, [sl, r0] ldrh r1, [sb, r4] ldr r0, [sp] add r2, r5, r6 mul r1, r3, r1 mov r3, r8 bl func_ov61_0215de08 add r6, r6, #1 _0215dec4: cmp r6, fp cmplt r6, r7 blt _0215dea0 ldr r0, [sp, #4] add r5, r5, #1 cmp r5, r0 blt _0215de90 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0215de3c .global func_ov61_0215dee8 arm_func_start func_ov61_0215dee8 func_ov61_0215dee8: ; 0x0215dee8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r1 mov r4, r3 mov r7, r0 mov r0, r6 mov r1, r4 mov r5, r2 bl func_ov61_0215db28 mov r3, #0 mov ip, r3 cmp r0, #0 ble _0215df38 _0215df18: mov r2, ip, lsl #0x1 ldrh r1, [r6, r2] add ip, ip, #1 cmp ip, r0 mla r1, r5, r1, r3 strh r1, [r7, r2] mov r3, r1, lsr #0x10 blt _0215df18 _0215df38: cmp ip, r4 movlt r0, ip, lsl #0x1 addlt ip, ip, #1 sub r1, r4, ip strlth r3, [r7, r0] mov r2, r1, lsl #0x1 add r0, r7, ip, lsl #1 mov r1, #0 bl func_02007a44 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0215dee8 .global func_ov61_0215df60 arm_func_start func_ov61_0215df60 func_ov61_0215df60: ; 0x0215df60 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r1 mov r8, r2 mov sl, r0 mov r0, sb mov r1, r8 bl func_ov61_0215db28 mov fp, r0 cmp r8, fp, lsl #1 mov r0, fp, lsl #0x1 ble _0215dfa0 sub r1, r8, r0 add r0, sl, r0, lsl #1 mov r2, r1, lsl #0x1 mov r1, #0 bl func_02007a44 _0215dfa0: cmp fp, #0 mov r4, #0 ble _0215dff4 mov r5, r4 sub r2, r8, #1 _0215dfb4: cmp r5, r8 bge _0215dff4 mov r0, r4, lsl #0x1 ldrh r3, [sb, r0] mov r0, r5, lsl #0x1 cmp r5, r2 mul r1, r3, r3 strh r1, [sl, r0] beq _0215dff4 add r4, r4, #1 mov r1, r1, lsr #0x10 add r0, sl, r0 strh r1, [r0, #2] cmp r4, fp add r5, r5, #2 blt _0215dfb4 _0215dff4: mov r6, #0 cmp fp, #0 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0215e000: mov r0, r6, lsl #0x1 add r4, r6, #1 str r0, [sp] b _0215e070 _0215e010: mov r0, r4, lsl #0x1 ldrh r1, [sb, r0] ldr r0, [sp] ldrh r0, [sb, r0] mul r7, r1, r0 ldr r0, _0215e090 ; =0x7fff8000 cmp r7, r0 mov r0, sl bhi _0215e048 mov r2, r5 mov r3, r8 mov r1, r7, lsl #0x1 bl func_ov61_0215de08 b _0215e06c _0215e048: mov r1, r7 mov r2, r5 mov r3, r8 bl func_ov61_0215de08 mov r1, r7 mov r2, r5 mov r0, sl mov r3, r8 bl func_ov61_0215de08 _0215e06c: add r4, r4, #1 _0215e070: cmp r4, fp addlt r5, r6, r4 cmplt r5, r8 blt _0215e010 add r6, r6, #1 cmp r6, fp blt _0215e000 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215df60 _0215e090: .word 0x7fff8000 .global func_ov61_0215e094 arm_func_start func_ov61_0215e094 func_ov61_0215e094: ; 0x0215e094 ldrh r1, [r0] mov r0, #0 bx lr arm_func_end func_ov61_0215e094 .global func_ov61_0215e0a0 arm_func_start func_ov61_0215e0a0 func_ov61_0215e0a0: ; 0x0215e0a0 ldrh r1, [r0] ldrh r0, [r0, #-2] mov r0, r0, lsl #0x10 bx lr arm_func_end func_ov61_0215e0a0 .global func_ov61_0215e0b0 arm_func_start func_ov61_0215e0b0 func_ov61_0215e0b0: ; 0x0215e0b0 ldrh r1, [r0] ldrh r2, [r0, #-2] ldrh r3, [r0, #-4] orr r0, r3, r2, lsl #16 bx lr arm_func_end func_ov61_0215e0b0 .global func_ov61_0215e0c4 arm_func_start func_ov61_0215e0c4 func_ov61_0215e0c4: ; 0x0215e0c4 ldrh r2, [r0] ldrh r3, [r0, #-2] orr r1, r3, r2, lsl #16 ldrh r2, [r0, #-4] ldrh r3, [r0, #-6] orr r0, r3, r2, lsl #16 bx lr arm_func_end func_ov61_0215e0c4 .global func_ov61_0215e0e0 arm_func_start func_ov61_0215e0e0 func_ov61_0215e0e0: ; 0x0215e0e0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x20 ldr sb, [sp, #0x48] ldr r8, [sp, #0x4c] str r1, [sp, #4] add r6, r8, sb, lsl #1 str r0, [sp] mov sl, r2 mov r0, r6 mov r2, sb, lsl #0x2 mov r1, #0 str r3, [sp, #8] add r7, r6, sb, lsl #1 bl func_02007a44 ldr r0, [sp, #4] mov r1, sb bl func_ov61_0215db28 mov fp, r0 mov r0, sl mov r1, sb bl func_ov61_0215db28 mov r5, r0 cmp fp, #0 cmpgt r5, #0 ble _0215e278 sub r0, sb, fp add r0, r5, r0 sub r4, r0, #1 cmp r4, sb blt _0215e16c ldr r0, [sp, #4] mov r1, r7 mov r2, sb, lsl #0x1 bl func_02007ad8 b _0215e278 _0215e16c: ldr r0, [sp, #4] add r1, r6, r4, lsl #1 mov r2, fp, lsl #0x1 bl func_02007ad8 cmp r5, #2 ble _0215e1a0 add r0, sl, r5, lsl #1 sub r0, r0, #2 mov fp, r5, lsl #0x1 bl func_ov61_0215e0b0 str r0, [sp, #0x18] str r1, [sp, #0x10] b _0215e1d4 _0215e1a0: add r0, sl, r5, lsl #1 cmp r5, #1 sub r0, r0, #2 ble _0215e1c4 mov fp, r5, lsl #0x1 bl func_ov61_0215e0a0 str r0, [sp, #0x18] str r1, [sp, #0x10] b _0215e1d4 _0215e1c4: mov fp, r5, lsl #0x1 bl func_ov61_0215e094 str r0, [sp, #0x18] str r1, [sp, #0x10] _0215e1d4: cmp r4, sb bge _0215e278 mov r0, sb, lsl #0x1 sub r0, r0, #1 mov r0, r0, lsl #0x1 str r0, [sp, #0x14] _0215e1ec: ldr r2, [sp, #0x14] mov r1, r6 add r0, r6, #2 bl func_020435b4 add r0, r7, fp bl func_ov61_0215e0c4 ldr r2, [sp, #0x18] ldr r3, [sp, #0x10] bl func_02002bac mov r5, r0 ldr r0, _0215e2bc ; =0x0000ffff cmp r5, r0 movhi r5, r0 _0215e220: mov r2, r5, lsl #0x10 mov r0, r8 mov r1, sl mov r2, r2, lsr #0x10 mov r3, sb bl func_ov61_0215dee8 mov r0, r7 mov r1, r8 mov r2, sb bl func_ov61_0215ddd0 cmp r0, #0 sublt r5, r5, #1 blt _0215e220 mov r0, r7 mov r1, r7 mov r2, r8 mov r3, sb bl func_ov61_0215dcc0 strh r5, [r6] add r4, r4, #1 cmp r4, sb blt _0215e1ec _0215e278: ldr r0, [sp] cmp r0, #0 beq _0215e294 ldr r1, [sp] mov r0, r6 mov r2, sb, lsl #0x1 bl func_02007ad8 _0215e294: ldr r0, [sp, #8] cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sp, #8] mov r0, r7 mov r2, sb, lsl #0x1 bl func_02007ad8 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215e0e0 _0215e2bc: .word 0x0000ffff .global func_ov61_0215e2c0 arm_func_start func_ov61_0215e2c0 func_ov61_0215e2c0: ; 0x0215e2c0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc ldr r4, _0215e44c ; =data_ov61_0217f428 mov r8, r3 ldr r3, [r4] mov sl, r0 mov r0, r8, lsl #0x3 ldr r7, [sp, #0x30] str r1, [sp, #8] mov sb, r2 blx r3 movs r4, r0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} sub r1, r8, #1 add r0, sl, #2 mov r2, r1, lsl #0x1 mov r1, #0 add r5, r4, r8, lsl #1 bl func_02007a44 mov r2, #1 mov r0, sb mov r1, r8 strh r2, [sl] bl func_ov61_0215db28 sub r0, r8, r0 mov r6, r0, lsl #0x4 cmp r6, r8, lsl #4 bhs _0215e374 mov r2, #0x8000 _0215e338: sub r0, r8, r6, asr #4 add r0, sb, r0, lsl #1 ldrh r0, [r0, #-2] and r1, r6, #0xf tst r0, r2, lsr r1 beq _0215e368 ldr r0, [sp, #8] mov r1, sl mov r2, r8, lsl #0x1 bl func_02007ad8 add r6, r6, #1 b _0215e374 _0215e368: add r6, r6, #1 cmp r6, r8, lsl #4 blo _0215e338 _0215e374: cmp r6, r8, lsl #4 bhs _0215e434 mov fp, r8, lsl #0x1 _0215e380: mov r0, r4 mov r1, sl mov r2, r8 bl func_ov61_0215df60 mov r0, r4 mov r1, sl mov r2, fp bl func_02007ad8 cmp r7, #0 beq _0215e3c4 str r8, [sp] mov r0, #0 mov r1, sl mov r2, r7 mov r3, sl str r5, [sp, #4] bl func_ov61_0215e0e0 _0215e3c4: sub r0, r8, r6, asr #4 add r0, sb, r0, lsl #1 ldrh r1, [r0, #-2] and r2, r6, #0xf mov r0, #0x8000 tst r1, r0, lsr r2 beq _0215e428 ldr r2, [sp, #8] mov r0, r4 mov r1, sl mov r3, r8 bl func_ov61_0215de3c mov r0, r4 mov r1, sl mov r2, fp bl func_02007ad8 cmp r7, #0 beq _0215e428 str r8, [sp] mov r0, #0 mov r1, sl mov r2, r7 mov r3, sl str r5, [sp, #4] bl func_ov61_0215e0e0 _0215e428: add r6, r6, #1 cmp r6, r8, lsl #4 blo _0215e380 _0215e434: ldr r1, _0215e450 ; =data_ov61_0217f454 mov r0, r4 ldr r1, [r1] blx r1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215e2c0 _0215e44c: .word data_ov61_0217f428 _0215e450: .word data_ov61_0217f454 .global func_ov61_0215e454 arm_func_start func_ov61_0215e454 func_ov61_0215e454: ; 0x0215e454 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 ldr sb, [sp, #0x38] mov sl, r3 add fp, sb, sl, lsl #1 add r4, fp, sl, lsl #1 add r5, r4, sl, lsl #1 add r6, r5, sl, lsl #1 add r7, r6, sl, lsl #1 str r0, [sp, #8] mov r0, r1 add r1, r7, sl, lsl #1 str r1, [sp, #0x10] mov r8, sl, lsl #0x1 str r2, [sp, #0xc] mov r1, sb mov r2, r8 bl func_02007ad8 ldr r0, [sp, #0xc] mov r1, r4 mov r2, r8 bl func_02007ad8 mov r0, #1 strh r0, [r4, r8] mov r0, sb mov r1, sl bl func_ov61_0215db50 cmp r0, #0 ble _0215e564 _0215e4c8: ldr r3, [sp, #0x10] str sl, [sp] str r3, [sp, #4] mov r0, fp mov r1, r4 mov r2, sb mov r3, r7 bl func_ov61_0215e0e0 mov r0, sb mov r1, r4 mov r2, r8 bl func_02007ad8 mov r0, r7 mov r1, sb mov r2, r8 bl func_02007ad8 mov r0, r7 mov r1, fp mov r2, r5 mov r3, sl bl func_ov61_0215de3c mov r0, r7 mov r1, r6 mov r2, r7 mov r3, sl bl func_ov61_0215dcc0 mov r0, r5 mov r1, r6 mov r2, r8 bl func_02007ad8 mov r0, r7 mov r1, r5 mov r2, r8 bl func_02007ad8 mov r0, sb mov r1, sl bl func_ov61_0215db50 cmp r0, #0 bgt _0215e4c8 _0215e564: ldr r2, [sp, #0xc] mov r0, r6 mov r1, r6 mov r3, sl bl func_ov61_0215db80 ldr r2, [sp, #0xc] ldr r3, [sp, #8] ldr r4, [sp, #0x10] str sl, [sp] mov r1, r6 mov r0, #0 str r4, [sp, #4] bl func_ov61_0215e0e0 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0215e454 .global func_ov61_0215e5a0 arm_func_start func_ov61_0215e5a0 func_ov61_0215e5a0: ; 0x0215e5a0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r3 mov r4, r6, lsl #0x1 mov r8, r2 mov r2, r4 mov r7, r0 mov sb, r1 ldr r5, [sp, #0x20] bl func_02007ad8 cmp r8, #1 bne _0215e5e0 mov r0, r7 mov r1, sb mov r2, r6 bl func_ov61_0215df60 b _0215e5fc _0215e5e0: cmp r8, #0 beq _0215e5fc mov r0, r7 mov r1, sb mov r2, r8 mov r3, r6 bl func_ov61_0215de3c _0215e5fc: ldr r0, [sp, #0x2c] ldr r2, [sp, #0x28] mov r1, r7 mov r3, r5 bl func_ov61_0215de3c sub r1, r6, r5 ldr r0, [sp, #0x2c] mov r8, r1, lsl #0x1 mov r2, r8 add r0, r0, r5, lsl #1 mov r1, #0 bl func_02007a44 ldr r0, [sp, #0x30] ldr r1, [sp, #0x2c] ldr r2, [sp, #0x24] mov r3, r6 bl func_ov61_0215de3c mov r0, r7 mov r1, r7 ldr r2, [sp, #0x30] mov r3, r6 bl func_ov61_0215db80 mov r2, r8 mov r0, r7 add r1, r7, r5, lsl #1 bl func_020435b4 add r0, r7, r6, lsl #1 sub r0, r0, r5, lsl #1 mov r2, r5, lsl #0x1 mov r1, #0 bl func_02007a44 mov r0, r7 ldr r1, [sp, #0x24] mov r2, r6 bl func_ov61_0215ddd0 cmp r0, #0 beq _0215e69c cmp r0, #1 beq _0215e6b0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0215e69c: mov r0, r7 mov r2, r4 mov r1, #0 bl func_02007a44 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0215e6b0: ldr r2, [sp, #0x24] mov r0, r7 mov r1, r7 mov r3, r6 bl func_ov61_0215dcc0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_0215e5a0 .global func_ov61_0215e6c8 arm_func_start func_ov61_0215e6c8 func_ov61_0215e6c8: ; 0x0215e6c8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c mov sl, r3 mov r3, #0x16 mul r4, sl, r3 ldr r3, _0215e8cc ; =data_ov61_0217f428 mov fp, r0 ldr r3, [r3] mov r0, r4 ldr sb, [sp, #0x50] str r1, [sp, #0x14] str r2, [sp, #0x18] blx r3 str r0, [sp, #0x28] cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r2, r4 mov r1, #0 bl func_02007a44 ldr r0, [sp, #0x28] mov r1, sl add r6, r0, sl, lsl #1 add r0, r6, sl, lsl #1 add r7, r0, sl, lsl #1 add r8, r7, sl, lsl #1 str r0, [sp, #0x24] add r0, r8, sl, lsl #1 str r0, [sp, #0x20] add r5, r0, sl, lsl #1 mov r0, sb bl func_ov61_0215db28 mov r4, r0 ldr r0, [sp, #0x28] mov r2, #1 mov r1, r4, lsl #0x1 strh r2, [r0, r1] ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] str r0, [sp] mov r0, r6 mov r2, sb mov r3, sl bl func_ov61_0215e454 ldr r1, [sp, #0x28] mov r0, r7 mov r2, r6 mov r3, sl bl func_ov61_0215de3c mov r0, r6 mov r1, r7 mov r2, #1 mov r3, sl bl func_ov61_0215dd68 str sl, [sp] mov r0, r6 mov r1, r6 mov r2, sb mov r3, #0 str r5, [sp, #4] bl func_ov61_0215e0e0 ldr r1, [sp, #0x14] ldr r0, [sp, #0x24] ldr r2, [sp, #0x28] mov r3, sl bl func_ov61_0215de3c ldr r1, [sp, #0x24] str sl, [sp] mov r0, #0 mov r2, sb mov r3, r1 str r5, [sp, #4] bl func_ov61_0215e0e0 str sl, [sp] ldr r1, [sp, #0x28] mov r0, #0 mov r2, sb mov r3, fp str r5, [sp, #4] bl func_ov61_0215e0e0 movs r0, r4, lsl #0x4 mov r5, #0 str r0, [sp, #0x1c] beq _0215e890 _0215e818: stmia sp, {r4, sb} str r6, [sp, #8] str r7, [sp, #0xc] ldr r1, [sp, #0x20] mov r0, fp mov r2, #1 mov r3, sl str r8, [sp, #0x10] bl func_ov61_0215e5a0 ldr r1, [sp, #0x18] sub r2, r4, r5, asr #4 add r1, r1, r2, lsl #1 ldrh r2, [r1, #-2] and r0, r5, #0xf mov r1, #0x8000 tst r2, r1, lsr r0 beq _0215e880 stmia sp, {r4, sb} str r6, [sp, #8] str r7, [sp, #0xc] ldr r1, [sp, #0x20] ldr r2, [sp, #0x24] mov r0, fp mov r3, sl str r8, [sp, #0x10] bl func_ov61_0215e5a0 _0215e880: ldr r0, [sp, #0x1c] add r5, r5, #1 cmp r5, r0 blo _0215e818 _0215e890: stmia sp, {r4, sb} str r6, [sp, #8] str r7, [sp, #0xc] ldr r1, [sp, #0x20] mov r0, fp mov r3, sl mov r2, #0 str r8, [sp, #0x10] bl func_ov61_0215e5a0 ldr r1, _0215e8d0 ; =data_ov61_0217f454 ldr r0, [sp, #0x28] ldr r1, [r1] blx r1 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0215e6c8 _0215e8cc: .word data_ov61_0217f428 _0215e8d0: .word data_ov61_0217f454 .global func_ov61_0215e8d4 arm_func_start func_ov61_0215e8d4 func_ov61_0215e8d4: ; 0x0215e8d4 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r2 mov r2, r3, lsl #0x1 mov r1, #0 mov r4, r0 bl func_02007a44 sub r0, r5, #1 cmp r5, #1 add r6, r6, r0 ble _0215e920 _0215e900: ldrb r1, [r6] ldrb r0, [r6, #-1] sub r5, r5, #2 cmp r5, #1 add r0, r1, r0, lsl #8 strh r0, [r4], #2 sub r6, r6, #2 bgt _0215e900 _0215e920: cmp r5, #0 ldrgtb r0, [r6] strgth r0, [r4] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0215e8d4 .global func_ov61_0215e930 arm_func_start func_ov61_0215e930 func_ov61_0215e930: ; 0x0215e930 sub r3, r2, #1 cmp r2, #1 add r0, r0, r3 ble _0215e964 _0215e940: ldrh r3, [r1] sub ip, r0, #1 sub r2, r2, #2 strb r3, [r0], #-2 ldrh r3, [r1], #2 cmp r2, #1 mov r3, r3, asr #0x8 strb r3, [ip] bgt _0215e940 _0215e964: cmp r2, #0 ldrgth r1, [r1] strgtb r1, [r0] bx lr arm_func_end func_ov61_0215e930 .global func_ov61_0215e974 arm_func_start func_ov61_0215e974 func_ov61_0215e974: ; 0x0215e974 ldr ip, _0215e97c ; =func_02050218 bx ip .align 2, 0 arm_func_end func_ov61_0215e974 _0215e97c: .word func_02050218 .global func_ov61_0215e980 arm_func_start func_ov61_0215e980 func_ov61_0215e980: ; 0x0215e980 ldr ip, _0215e988 ; =func_02050240 bx ip .align 2, 0 arm_func_end func_ov61_0215e980 _0215e988: .word func_02050240 .global func_ov61_0215e98c arm_func_start func_ov61_0215e98c func_ov61_0215e98c: ; 0x0215e98c ldr ip, _0215e994 ; =func_020502d4 bx ip .align 2, 0 arm_func_end func_ov61_0215e98c _0215e994: .word func_020502d4 .global func_ov61_0215e998 arm_func_start func_ov61_0215e998 func_ov61_0215e998: ; 0x0215e998 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 bl func_0200ee4c ldr r2, _0215eaac ; =data_ov61_02180fcc mov r4, r0 ldr r1, [r2] cmp r1, #0 beq _0215e9c8 bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0215e9c8: cmp r6, #0 bne _0215e9dc bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0215e9dc: tst r6, #0x1f beq _0215e9f0 bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0215e9f0: cmp r5, #0x2300 bhs _0215ea04 bl func_0200ee60 mov r0, #6 ldmia sp!, {r4, r5, r6, pc} _0215ea04: str r6, [r2] add r0, r6, #0x2000 mov r1, #1 str r1, [r0, #0x260] ldr r1, [r2] mov r0, #0 add r1, r1, #0x2200 strh r0, [r1, #0x80] ldr r1, [r2] add r1, r1, #0x2200 strh r0, [r1, #0x68] ldr r1, [r2] add r1, r1, #0x2000 strb r0, [r1, #0x26a] ldr r1, [r2] add r1, r1, #0x2000 strb r0, [r1, #0x26b] ldr r1, [r2] add r1, r1, #0x2200 strh r0, [r1, #0x82] ldr r1, [r2] add r1, r1, #0x2200 strh r0, [r1, #0xf8] bl func_ov61_0215f8fc bl func_ov61_02160f7c bl func_0200e880 cmp r0, #0 bne _0215ea78 blx func_0200e834 _0215ea78: bl func_0200ea5c cmp r0, #0 bne _0215ea88 blx func_0200ea34 _0215ea88: ldr r0, _0215eaac ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2cc add r0, r0, #0x2000 bl func_0200ea6c mov r0, r4 bl func_0200ee60 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0215e998 _0215eaac: .word data_ov61_02180fcc .global func_ov61_0215eab0 arm_func_start func_ov61_0215eab0 func_ov61_0215eab0: ; 0x0215eab0 stmdb sp!, {r3, lr} bl func_0200ee4c ldr r2, _0215eb04 ; =data_ov61_02180fcc ldr r1, [r2] cmp r1, #0 bne _0215ead4 bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, pc} _0215ead4: add r1, r1, #0x2000 ldr r1, [r1, #0x260] cmp r1, #1 beq _0215eaf0 bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, pc} _0215eaf0: mov r1, #0 str r1, [r2] bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0215eab0 _0215eb04: .word data_ov61_02180fcc .global func_ov61_0215eb08 arm_func_start func_ov61_0215eb08 func_ov61_0215eb08: ; 0x0215eb08 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 bl func_0200ee4c ldr r1, _0215ed00 ; =data_ov61_02180fcc mov r4, r0 ldr r1, [r1] cmp r1, #0 bne _0215eb38 bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0215eb38: add r1, r1, #0x2000 ldr r1, [r1, #0x260] cmp r1, #1 beq _0215eb5c cmp r1, #2 beq _0215eb6c cmp r1, #3 beq _0215eb78 b _0215eb84 _0215eb5c: mov r0, r6 mov r1, r5 bl func_ov61_0215f644 b _0215eb90 _0215eb6c: bl func_0200ee60 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _0215eb78: bl func_0200ee60 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0215eb84: bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0215eb90: ldr r0, _0215ed00 ; =data_ov61_02180fcc ldr r0, [r0] add r1, r0, #0x2000 ldr r1, [r1, #0x26c] mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl func_ov01_020eed40 cmp r0, #6 addls pc, pc, r0, lsl #2 b _0215ebfc _0215ebb8: ; jump table b _0215ec14 ; case 0 b _0215ebfc ; case 1 b _0215ebfc ; case 2 b _0215ebd4 ; case 3 b _0215ebec ; case 4 b _0215ebfc ; case 5 b _0215ebfc ; case 6 _0215ebd4: mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r4, r5, r6, pc} _0215ebec: mov r0, r4 bl func_0200ee60 mov r0, #5 ldmia sp!, {r4, r5, r6, pc} _0215ebfc: mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r4, r5, r6, pc} _0215ec14: bl func_ov01_020efa64 cmp r0, #0 bne _0215ec54 bl func_ov01_020eef50 cmp r0, #0 beq _0215ec44 mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r4, r5, r6, pc} _0215ec44: mov r0, r4 bl func_0200ee60 mov r0, #5 ldmia sp!, {r4, r5, r6, pc} _0215ec54: ldr r0, _0215ed04 ; =func_ov61_0215fbe8 bl func_ov01_020ef6e8 cmp r0, #0 beq _0215ec7c mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r4, r5, r6, pc} _0215ec7c: ldr r0, _0215ed08 ; =func_ov61_0215fc60 bl func_ov01_020efe20 cmp r0, #2 beq _0215eca0 cmp r0, #3 beq _0215ecd8 cmp r0, #8 beq _0215ecc0 b _0215ecd8 _0215eca0: mov r0, #2 bl func_ov61_0215fa44 ldr r0, _0215ed00 ; =data_ov61_02180fcc mov r1, #1 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215ecf0 _0215ecc0: mov r0, #0xc bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0215ecd8: mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r4, r5, r6, pc} _0215ecf0: mov r0, r4 bl func_0200ee60 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0215eb08 _0215ed00: .word data_ov61_02180fcc _0215ed04: .word func_ov61_0215fbe8 _0215ed08: .word func_ov61_0215fc60 .global func_ov61_0215ed0c arm_func_start func_ov61_0215ed0c func_ov61_0215ed0c: ; 0x0215ed0c stmdb sp!, {r4, lr} bl func_0200ee4c ldr r1, _0215edf4 ; =data_ov61_02180fcc mov r4, r0 ldr r1, [r1] cmp r1, #0 bne _0215ed34 bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, pc} _0215ed34: add r1, r1, #0x2000 ldr r1, [r1, #0x260] cmp r1, #1 beq _0215ed60 cmp r1, #3 beq _0215ed78 cmp r1, #4 bne _0215ed6c bl func_0200ee60 mov r0, #2 ldmia sp!, {r4, pc} _0215ed60: bl func_0200ee60 mov r0, #0 ldmia sp!, {r4, pc} _0215ed6c: bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, pc} _0215ed78: ldr r0, _0215edf8 ; =func_ov61_0215fc60 bl func_ov01_020eff00 cmp r0, #2 beq _0215ed9c cmp r0, #3 beq _0215edcc cmp r0, #8 beq _0215edbc b _0215edcc _0215ed9c: mov r0, #4 bl func_ov61_0215fa44 ldr r0, _0215edf4 ; =data_ov61_02180fcc mov r1, #2 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215ede4 _0215edbc: mov r0, r4 bl func_0200ee60 mov r0, #4 ldmia sp!, {r4, pc} _0215edcc: mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r4, pc} _0215ede4: mov r0, r4 bl func_0200ee60 mov r0, #3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215ed0c _0215edf4: .word data_ov61_02180fcc _0215edf8: .word func_ov61_0215fc60 .global func_ov61_0215edfc arm_func_start func_ov61_0215edfc func_ov61_0215edfc: ; 0x0215edfc stmdb sp!, {r3, lr} cmp r0, #0 cmpne r1, #0 bne _0215ee14 bl func_ov61_0215ef94 ldmia sp!, {r3, pc} _0215ee14: bl func_ov61_0215ee1c ldmia sp!, {r3, pc} arm_func_end func_ov61_0215edfc .global func_ov61_0215ee1c arm_func_start func_ov61_0215ee1c func_ov61_0215ee1c: ; 0x0215ee1c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl func_0200ee4c ldr r1, _0215ef8c ; =data_ov61_02180fcc mov r4, r0 ldr r1, [r1] cmp r1, #0 bne _0215ee50 bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215ee50: add r1, r1, #0x2000 ldr r1, [r1, #0x260] cmp r1, #3 beq _0215eec0 cmp r1, #5 beq _0215ee74 cmp r1, #6 beq _0215ee94 b _0215eeb4 _0215ee74: mov r0, r7 mov r1, r6 mov r2, r5 bl func_ov61_0215f764 mov r0, r4 bl func_0200ee60 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215ee94: mov r0, r7 mov r1, r6 mov r2, r5 bl func_ov61_0215f764 mov r0, r4 bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215eeb4: bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215eec0: mov r0, r7 mov r1, r6 mov r2, r5 bl func_ov61_0215f764 ldr r0, _0215ef8c ; =data_ov61_02180fcc ldr r0, [r0] add r1, r0, #0x2200 add r0, r0, #0x2000 ldrh r1, [r1, #0x8c] ldr r0, [r0, #0x288] bl func_0200e288 ldr r2, _0215ef8c ; =data_ov61_02180fcc ldr r0, _0215ef90 ; =func_ov61_0215ff1c ldr r1, [r2] add r1, r1, #0x2000 ldr r3, [r1, #0x284] add r3, r3, #1 str r3, [r1, #0x284] ldr r1, [r2] add r1, r1, #0x288 add r1, r1, #0x2000 bl func_ov01_020f02d8 cmp r0, #2 beq _0215ef34 cmp r0, #3 beq _0215ef64 cmp r0, #8 beq _0215ef54 b _0215ef64 _0215ef34: mov r0, #5 bl func_ov61_0215fa44 ldr r0, _0215ef8c ; =data_ov61_02180fcc mov r1, #3 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215ef7c _0215ef54: mov r0, r4 bl func_0200ee60 mov r0, #4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215ef64: mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215ef7c: mov r0, r4 bl func_0200ee60 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0215ee1c _0215ef8c: .word data_ov61_02180fcc _0215ef90: .word func_ov61_0215ff1c .global func_ov61_0215ef94 arm_func_start func_ov61_0215ef94 func_ov61_0215ef94: ; 0x0215ef94 stmdb sp!, {r4, lr} bl func_0200ee4c ldr r1, _0215f034 ; =data_ov61_02180fcc mov r4, r0 ldr r1, [r1] cmp r1, #0 bne _0215efbc bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, pc} _0215efbc: add r1, r1, #0x2000 ldr r1, [r1, #0x260] cmp r1, #3 beq _0215f00c cmp r1, #6 beq _0215efe0 cmp r1, #7 beq _0215f000 b _0215f018 _0215efe0: mov r0, #7 bl func_ov61_0215fa44 ldr r0, _0215f034 ; =data_ov61_02180fcc mov r1, #4 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215f024 _0215f000: bl func_0200ee60 mov r0, #2 ldmia sp!, {r4, pc} _0215f00c: bl func_0200ee60 mov r0, #0 ldmia sp!, {r4, pc} _0215f018: bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, pc} _0215f024: mov r0, r4 bl func_0200ee60 mov r0, #3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215ef94 _0215f034: .word data_ov61_02180fcc .global func_ov61_0215f038 arm_func_start func_ov61_0215f038 func_ov61_0215f038: ; 0x0215f038 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl func_0200ee4c ldr r2, _0215f230 ; =data_ov61_02180fcc mov r4, r0 ldr ip, [r2] cmp ip, #0 bne _0215f06c bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f06c: add r1, ip, #0x2000 ldr r3, [r1, #0x260] cmp r3, #3 beq _0215f090 cmp r3, #8 beq _0215f180 cmp r3, #9 beq _0215f18c b _0215f198 _0215f090: cmp r7, #0 bne _0215f0a4 bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f0a4: ldrh r3, [r7, #0x3c] cmp r3, #0 beq _0215f0bc bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f0bc: cmp r6, #0 beq _0215f134 ldrb r3, [r6] cmp r3, #4 ldrlob r0, [r6, #1] cmplo r0, #4 blo _0215f0e8 mov r0, r4 bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f0e8: strb r3, [r1, #0x250] ldr r0, [r2] ldrb r1, [r6, #1] add r0, r0, #0x2000 strb r1, [r0, #0x251] ldr r1, [r2] mov r2, #0x50 add r0, r1, #0x2000 ldrb r0, [r0, #0x250] cmp r0, #0 bne _0215f124 add r0, r1, #0x2200 mov r1, #0 bl func_02007a44 b _0215f144 _0215f124: add r0, r6, #2 add r1, r1, #0x2200 bl func_02007ad8 b _0215f144 _0215f134: add r0, ip, #0x2200 mov r1, #0 mov r2, #0x52 bl func_02007a44 _0215f144: ldr r1, _0215f230 ; =data_ov61_02180fcc mov r0, r7 ldr r1, [r1] mov r2, #0xc0 add r1, r1, #0x2140 bl func_02007ad8 ldr r1, _0215f230 ; =data_ov61_02180fcc mov r0, r5 ldr r1, [r1] add r1, r1, #0x2100 ldrh r2, [r1, #0x6e] orr r2, r2, #3 strh r2, [r1, #0x70] bl func_ov61_0215f598 b _0215f1a4 _0215f180: bl func_0200ee60 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f18c: bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f198: bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f1a4: ldr r1, _0215f234 ; =0x0000ffff ldr r0, _0215f238 ; =func_ov61_0215fc60 mov r3, r1 mov r2, #0x50 str r1, [sp] bl func_ov01_020f1a60 cmp r0, #2 beq _0215f1d8 cmp r0, #3 beq _0215f208 cmp r0, #8 beq _0215f1f8 b _0215f208 _0215f1d8: mov r0, #8 bl func_ov61_0215fa44 ldr r0, _0215f230 ; =data_ov61_02180fcc mov r1, #5 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215f220 _0215f1f8: mov r0, r4 bl func_0200ee60 mov r0, #4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f208: mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0215f220: mov r0, r4 bl func_0200ee60 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0215f038 _0215f230: .word data_ov61_02180fcc _0215f234: .word 0x0000ffff _0215f238: .word func_ov61_0215fc60 .global func_ov61_0215f23c arm_func_start func_ov61_0215f23c func_ov61_0215f23c: ; 0x0215f23c stmdb sp!, {r4, lr} bl func_0200ee4c ldr r1, _0215f350 ; =data_ov61_02180fcc mov r4, r0 ldr r1, [r1] cmp r1, #0 bne _0215f264 bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, pc} _0215f264: add r1, r1, #0x2000 ldr r2, [r1, #0x260] cmp r2, #3 beq _0215f290 cmp r2, #9 beq _0215f2a8 cmp r2, #0xa bne _0215f29c bl func_0200ee60 mov r0, #2 ldmia sp!, {r4, pc} _0215f290: bl func_0200ee60 mov r0, #0 ldmia sp!, {r4, pc} _0215f29c: bl func_0200ee60 mov r0, #1 ldmia sp!, {r4, pc} _0215f2a8: ldrb r0, [r1, #0x26b] cmp r0, #1 bne _0215f2d4 mov r0, #0xa bl func_ov61_0215fa44 ldr r0, _0215f350 ; =data_ov61_02180fcc mov r1, #6 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215f340 _0215f2d4: ldr r0, _0215f354 ; =func_ov61_021606b4 bl func_ov01_020f0c54 cmp r0, #2 beq _0215f2f8 cmp r0, #3 beq _0215f328 cmp r0, #8 beq _0215f318 b _0215f328 _0215f2f8: mov r0, #0xa bl func_ov61_0215fa44 ldr r0, _0215f350 ; =data_ov61_02180fcc mov r1, #6 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215f340 _0215f318: mov r0, r4 bl func_0200ee60 mov r0, #4 ldmia sp!, {r4, pc} _0215f328: mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r4, pc} _0215f340: mov r0, r4 bl func_0200ee60 mov r0, #3 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215f23c _0215f350: .word data_ov61_02180fcc _0215f354: .word func_ov61_021606b4 .global func_ov61_0215f358 arm_func_start func_ov61_0215f358 func_ov61_0215f358: ; 0x0215f358 stmdb sp!, {r3, r4, r5, lr} bl func_0200ee4c ldr r1, _0215f55c ; =data_ov61_02180fcc mov r4, r0 ldr r1, [r1] cmp r1, #0 bne _0215f380 bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _0215f380: add r1, r1, #0x2000 ldr r2, [r1, #0x260] cmp r2, #0xd addls pc, pc, r2, lsl #2 b _0215f410 _0215f394: ; jump table b _0215f410 ; case 0 b _0215f3d8 ; case 1 b _0215f410 ; case 2 b _0215f420 ; case 3 b _0215f410 ; case 4 b _0215f410 ; case 5 b _0215f3e4 ; case 6 b _0215f410 ; case 7 b _0215f410 ; case 8 b _0215f420 ; case 9 b _0215f410 ; case 10 b _0215f410 ; case 11 b _0215f420 ; case 12 b _0215f3cc ; case 13 _0215f3cc: bl func_0200ee60 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _0215f3d8: bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215f3e4: mov r0, #0xd bl func_ov61_0215fa44 ldr r1, _0215f55c ; =data_ov61_02180fcc mov r2, #9 ldr r1, [r1] mov r0, r4 add r1, r1, #0x2200 strh r2, [r1, #0x80] bl func_0200ee60 mov r0, #3 ldmia sp!, {r3, r4, r5, pc} _0215f410: mov r0, r4 bl func_0200ee60 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _0215f420: ldrb r0, [r1, #0x26b] cmp r0, #1 bne _0215f44c mov r0, #0xd bl func_ov61_0215fa44 ldr r0, _0215f55c ; =data_ov61_02180fcc mov r1, #9 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215f54c _0215f44c: bl func_ov01_020ef61c mov r5, r0 mov r1, #2 bl func_0200e288 ldrh r0, [r5] cmp r0, #0 beq _0215f47c cmp r0, #1 beq _0215f4b4 cmp r0, #2 beq _0215f4c0 b _0215f4cc _0215f47c: bl func_ov01_020eef50 cmp r0, #0 bne _0215f4e8 mov r0, #1 bl func_ov61_0215fa44 ldr r1, _0215f55c ; =data_ov61_02180fcc mov r2, #0 ldr r1, [r1] mov r0, r4 add r1, r1, #0x2200 strh r2, [r1, #0x80] bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215f4b4: ldr r0, _0215f560 ; =func_ov61_0215fc60 bl func_ov01_020efe80 b _0215f4e8 _0215f4c0: ldr r0, _0215f560 ; =func_ov61_0215fc60 bl func_ov01_020eff00 b _0215f4e8 _0215f4cc: ldr r1, _0215f55c ; =data_ov61_02180fcc ldr r0, _0215f564 ; =func_ov61_021607d0 ldr r1, [r1] mov r2, #1 add r1, r1, #0x2000 strb r2, [r1, #0x26b] bl func_ov01_020eff9c _0215f4e8: cmp r0, #2 beq _0215f504 cmp r0, #3 beq _0215f534 cmp r0, #8 beq _0215f524 b _0215f534 _0215f504: mov r0, #0xd bl func_ov61_0215fa44 ldr r0, _0215f55c ; =data_ov61_02180fcc mov r1, #9 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x80] b _0215f54c _0215f524: mov r0, r4 bl func_0200ee60 mov r0, #4 ldmia sp!, {r3, r4, r5, pc} _0215f534: mov r0, #0xb bl func_ov61_0215fa44 mov r0, r4 bl func_0200ee60 mov r0, #7 ldmia sp!, {r3, r4, r5, pc} _0215f54c: mov r0, r4 bl func_0200ee60 mov r0, #3 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215f358 _0215f55c: .word data_ov61_02180fcc _0215f560: .word func_ov61_0215fc60 _0215f564: .word func_ov61_021607d0 .global func_ov61_0215f568 arm_func_start func_ov61_0215f568 func_ov61_0215f568: ; 0x0215f568 stmdb sp!, {r4, lr} bl func_0200ee4c ldr r1, _0215f594 ; =data_ov61_02180fcc mov r4, #0 ldr r1, [r1] cmp r1, #0 addne r1, r1, #0x2000 ldrne r4, [r1, #0x260] bl func_0200ee60 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0215f568 _0215f594: .word data_ov61_02180fcc .global func_ov61_0215f598 arm_func_start func_ov61_0215f598 func_ov61_0215f598: ; 0x0215f598 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_0200ee4c ldr r1, _0215f62c ; =data_ov61_02180fcc mov r2, #0 ldr r3, [r1] add r1, r3, #0x2000 cmp r3, #0 ldr r4, [r1, #0x264] bne _0215f5cc bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0215f5cc: tst r5, #0x8000 beq _0215f5ec ldr r1, _0215f630 ; =0x00003ffe orr r2, r2, #0xfe tst r5, r1 orreq r5, r5, #0x82 orr r2, r2, #0x3f00 orreq r5, r5, #0xa000 _0215f5ec: tst r5, #0x20000 orrne r2, r2, #0x10000 tst r5, #0x80000 orrne r2, r2, #0x40000 tst r5, #0x200000 orrne r2, r2, #0x100000 tst r5, #0x800000 orrne r2, r2, #0x400000 mvn r1, r2 and r1, r4, r1 orr r2, r5, r1 add r1, r3, #0x2000 str r2, [r1, #0x264] bl func_0200ee60 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215f598 _0215f62c: .word data_ov61_02180fcc _0215f630: .word 0x00003ffe .global func_ov61_0215f634 arm_func_start func_ov61_0215f634 func_ov61_0215f634: ; 0x0215f634 ldr r0, _0215f640 ; =data_ov61_02180fcc ldr r0, [r0] bx lr .align 2, 0 arm_func_end func_ov61_0215f634 _0215f640: .word data_ov61_02180fcc .global func_ov61_0215f644 arm_func_start func_ov61_0215f644 func_ov61_0215f644: ; 0x0215f644 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 mov r4, r1 bne _0215f694 ldr r1, _0215f760 ; =data_ov61_02180fcc mov r3, #3 ldr r0, [r1] mov r2, #0 add r0, r0, #0x2000 str r3, [r0, #0x26c] ldr r0, [r1] add r0, r0, #0x2000 str r2, [r0, #0x270] ldr r0, [r1] add r0, r0, #0x2000 str r2, [r0, #0x274] ldr r0, [r1] add r0, r0, #0x2000 str r2, [r0, #0x278] b _0215f74c _0215f694: ldr r1, _0215f760 ; =data_ov61_02180fcc ldr r2, [r5] ldr r0, [r1] and r2, r2, #3 add r0, r0, #0x2000 str r2, [r0, #0x26c] ldr r3, [r5, #4] ldr r0, [r5, #8] and r2, r3, #3 rsb r2, r2, #4 and r2, r2, #3 add r2, r2, #0xc cmp r2, r0 ldr r0, [r1] bls _0215f6ec mov r2, #0 add r0, r0, #0x2000 str r2, [r0, #0x270] ldr r0, [r1] add r0, r0, #0x2000 str r2, [r0, #0x274] b _0215f738 _0215f6ec: add r2, r3, #3 bic r2, r2, #3 add r0, r0, #0x2000 str r2, [r0, #0x270] ldr r2, [r5, #4] ldr r0, [r1] and r2, r2, #3 rsb r2, r2, #4 ldr r3, [r5, #8] and r2, r2, #3 sub r2, r3, r2 add r0, r0, #0x2000 str r2, [r0, #0x274] ldr r0, [r1] mov r1, #0 add r2, r0, #0x2000 ldr r0, [r2, #0x270] ldr r2, [r2, #0x274] bl func_02007a44 _0215f738: ldr r0, _0215f760 ; =data_ov61_02180fcc ldr r1, [r5, #0xc] ldr r0, [r0] add r0, r0, #0x2000 str r1, [r0, #0x278] _0215f74c: ldr r0, _0215f760 ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2000 str r4, [r0, #0x27c] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215f644 _0215f760: .word data_ov61_02180fcc .global func_ov61_0215f764 arm_func_start func_ov61_0215f764 func_ov61_0215f764: ; 0x0215f764 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r0, r2 mov r4, r1 bl func_ov61_0215f598 ldr r2, _0215f8f0 ; =data_ov61_02180fcc mov r3, #0x400 ldr r1, [r2] mov r0, #0 add ip, r1, #0x1500 add r1, r1, #0x2000 str ip, [r1, #0x288] ldr r1, [r2] add r1, r1, #0x2200 strh r3, [r1, #0x8c] bl func_ov61_0215f91c ldr r1, _0215f8f0 ; =data_ov61_02180fcc mov r2, #1 mov r2, r2, lsl r0 ldr r0, [r1] mov r2, r2, asr #0x1 add r0, r0, #0x2200 strh r2, [r0, #0x8e] ldr r0, [r1] add r0, r0, #0x2200 ldrh r0, [r0, #0x68] cmp r0, #0 bne _0215f7d8 bl func_ov01_020efbc0 _0215f7d8: ldr r2, _0215f8f0 ; =data_ov61_02180fcc ldr r1, [r2] add r1, r1, #0x2200 strh r0, [r1, #0x90] ldr r1, [r2] add r0, r1, #0x2000 ldr r0, [r0, #0x264] and r0, r0, #0x300000 cmp r0, #0x300000 movne r2, #1 moveq r2, #0 add r0, r1, #0x2200 strh r2, [r0, #0x98] cmp r5, #0 mov r2, #6 bne _0215f834 ldr r1, _0215f8f0 ; =data_ov61_02180fcc ldr r0, _0215f8f4 ; =data_ov61_0217a30c ldr r1, [r1] add r1, r1, #0x92 add r1, r1, #0x2200 bl func_02007ad8 b _0215f84c _0215f834: ldr r1, _0215f8f0 ; =data_ov61_02180fcc mov r0, r5 ldr r1, [r1] add r1, r1, #0x92 add r1, r1, #0x2200 bl func_02007ad8 _0215f84c: cmp r4, #0 ldrne r0, _0215f8f8 ; =data_ov61_0217a314 mov r2, #0x20 cmpne r4, r0 bne _0215f890 ldr r1, _0215f8f0 ; =data_ov61_02180fcc ldr r0, _0215f8f8 ; =data_ov61_0217a314 ldr r1, [r1] add r1, r1, #0x29c add r1, r1, #0x2000 bl func_02007ad8 ldr r0, _0215f8f0 ; =data_ov61_02180fcc mov r1, #0 ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x9a] b _0215f8d8 _0215f890: ldr r1, _0215f8f0 ; =data_ov61_02180fcc mov r0, r4 ldr r1, [r1] add r1, r1, #0x29c add r1, r1, #0x2000 bl func_02007ad8 mov r1, #0 _0215f8ac: ldrb r0, [r4] cmp r0, #0 beq _0215f8c8 add r1, r1, #1 cmp r1, #0x20 add r4, r4, #1 blt _0215f8ac _0215f8c8: ldr r0, _0215f8f0 ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0x9a] _0215f8d8: ldr r0, _0215f8f0 ; =data_ov61_02180fcc mov r1, #0 ldr r0, [r0] add r0, r0, #0x2000 str r1, [r0, #0x284] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215f764 _0215f8f0: .word data_ov61_02180fcc _0215f8f4: .word data_ov61_0217a30c _0215f8f8: .word data_ov61_0217a314 .global func_ov61_0215f8fc arm_func_start func_ov61_0215f8fc func_ov61_0215f8fc: ; 0x0215f8fc ldr r0, _0215f914 ; =data_ov61_02180fcc ldr r1, _0215f918 ; =0x00aaa082 ldr r0, [r0] add r0, r0, #0x2000 str r1, [r0, #0x264] bx lr .align 2, 0 arm_func_end func_ov61_0215f8fc _0215f914: .word data_ov61_02180fcc _0215f918: .word 0x00aaa082 .global func_ov61_0215f91c arm_func_start func_ov61_0215f91c func_ov61_0215f91c: ; 0x0215f91c stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r2, _0215f9a4 ; =data_ov61_02180fcc ldr lr, _0215f9a8 ; =0x4ec4ec4f ldr r2, [r2] mov r1, r0 add r2, r2, #0x2000 ldr r7, [r2, #0x264] mov r6, #0 mov r5, #1 mov ip, #0xd _0215f944: mov r2, r1, lsr #0x1f smull r3, r4, lr, r1 add r4, r2, r4, asr #2 smull r2, r3, ip, r4 sub r4, r1, r2 add r2, r4, #1 tst r7, r5, lsl r2 bne _0215f974 add r6, r6, #1 cmp r6, #0xd add r1, r1, #1 blt _0215f944 _0215f974: add r3, r0, r6 ldr r2, _0215f9a8 ; =0x4ec4ec4f mov r0, r3, lsr #0x1f smull r1, ip, r2, r3 add ip, r0, ip, asr #2 mov r2, #0xd smull r0, r1, r2, ip sub ip, r3, r0 add r0, ip, #1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0215f91c _0215f9a4: .word data_ov61_02180fcc _0215f9a8: .word 0x4ec4ec4f .global func_ov61_0215f9ac arm_func_start func_ov61_0215f9ac func_ov61_0215f9ac: ; 0x0215f9ac stmdb sp!, {r3, r4, r5, lr} ldr ip, _0215f9ec ; =data_ov61_02180fcc mov r5, r0 ldr r0, [ip] mov r4, r1 add r1, r0, #0x2200 ldrsh r0, [r1, #0x80] mov ip, #0 mov lr, r2 strh ip, [r1, #0x80] str r3, [sp] mov r1, r5 mov r2, r4 mov r3, lr bl func_ov61_0215f9f0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215f9ac _0215f9ec: .word data_ov61_02180fcc .global func_ov61_0215f9f0 arm_func_start func_ov61_0215f9f0 func_ov61_0215f9f0: ; 0x0215f9f0 stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr ip, _0215fa40 ; =data_ov61_02180fcc ldr ip, [ip] add ip, ip, #0x2000 ldr lr, [ip, #0x27c] cmp lr, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, pc} ldr lr, [sp, #0x18] strh r0, [sp] str r2, [sp, #4] str r3, [sp, #8] str lr, [sp, #0xc] strh r1, [sp, #2] ldr r1, [ip, #0x27c] add r0, sp, #0 blx r1 add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0215f9f0 _0215fa40: .word data_ov61_02180fcc .global func_ov61_0215fa44 arm_func_start func_ov61_0215fa44 func_ov61_0215fa44: ; 0x0215fa44 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_0200ee4c ldr r1, _0215fad0 ; =data_ov61_02180fcc mov r4, r0 ldr r1, [r1] add r0, r1, #0x2000 ldr r0, [r0, #0x260] cmp r0, #9 bne _0215fa80 cmp r5, #9 beq _0215fa80 add r0, r1, #0x2cc add r0, r0, #0x2000 bl func_0200ec14 _0215fa80: ldr r0, _0215fad0 ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2000 ldr r1, [r0, #0x260] cmp r1, #0xb strne r5, [r0, #0x260] cmp r5, #9 bne _0215fac4 mov r2, #0 ldr r0, _0215fad0 ; =data_ov61_02180fcc str r2, [sp] ldr r0, [r0] ldr r1, _0215fad4 ; =0x022f5341 add r0, r0, #0x2cc ldr r3, _0215fad8 ; =func_ov61_0215fb50 add r0, r0, #0x2000 bl func_0200eba8 _0215fac4: mov r0, r4 bl func_0200ee60 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0215fa44 _0215fad0: .word data_ov61_02180fcc _0215fad4: .word 0x022f5341 _0215fad8: .word func_ov61_0215fb50 .global func_ov61_0215fadc arm_func_start func_ov61_0215fadc func_ov61_0215fadc: ; 0x0215fadc stmdb sp!, {r3, r4, lr} sub sp, sp, #4 bl func_0200ee4c ldr r1, _0215fb44 ; =data_ov61_02180fcc mov r4, r0 ldr r0, [r1] add r0, r0, #0x2cc add r0, r0, #0x2000 bl func_0200ec14 ldr r0, _0215fb44 ; =data_ov61_02180fcc ldr r1, [r0] add r0, r1, #0x2000 ldr r0, [r0, #0x260] cmp r0, #9 bne _0215fb34 add r0, r1, #0x2cc mov r2, #0 ldr r1, _0215fb48 ; =0x022f5341 ldr r3, _0215fb4c ; =func_ov61_0215fb50 add r0, r0, #0x2000 str r2, [sp] bl func_0200eba8 _0215fb34: mov r0, r4 bl func_0200ee60 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_0215fadc _0215fb44: .word data_ov61_02180fcc _0215fb48: .word 0x022f5341 _0215fb4c: .word func_ov61_0215fb50 .global func_ov61_0215fb50 arm_func_start func_ov61_0215fb50 func_ov61_0215fb50: ; 0x0215fb50 stmdb sp!, {r3, lr} bl func_ov61_02160ff0 bl func_ov61_0215fadc ldmia sp!, {r3, pc} arm_func_end func_ov61_0215fb50 .global func_ov61_0215fb60 arm_func_start func_ov61_0215fb60 func_ov61_0215fb60: ; 0x0215fb60 mov r1, r0 mov r0, #0 mov r3, #1 _0215fb6c: clz r2, r1 rsbs r2, r2, #0x1f bxlo lr bic r1, r1, r3, lsl r2 add r0, r0, #1 b _0215fb6c arm_func_end func_ov61_0215fb60 .global func_ov61_0215fb84 arm_func_start func_ov61_0215fb84 func_ov61_0215fb84: ; 0x0215fb84 clz r0, r0 bx lr arm_func_end func_ov61_0215fb84 .global func_ov61_0215fb8c arm_func_start func_ov61_0215fb8c func_ov61_0215fb8c: ; 0x0215fb8c stmdb sp!, {r3, lr} ldr r0, _0215fbe0 ; =data_ov61_02180fcc ldr r0, [r0] add r1, r0, #0x2000 ldrb r0, [r1, #0x26b] cmp r0, #0 ldmneia sp!, {r3, pc} mov r2, #1 ldr r0, _0215fbe4 ; =func_ov61_021607d0 strb r2, [r1, #0x26b] bl func_ov01_020eff9c cmp r0, #2 ldmeqia sp!, {r3, pc} mov r0, #0xb bl func_ov61_0215fa44 mov r1, #0 mov r2, r1 mov r0, #7 mov r3, #0x610 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0215fb8c _0215fbe0: .word data_ov61_02180fcc _0215fbe4: .word func_ov61_021607d0 .global func_ov61_0215fbe8 arm_func_start func_ov61_0215fbe8 func_ov61_0215fbe8: ; 0x0215fbe8 stmdb sp!, {r3, lr} ldrh r1, [r0, #2] cmp r1, #8 ldreqh r1, [r0, #4] cmpeq r1, #0x16 ldreqh r0, [r0, #6] cmpeq r0, #0x25 ldmneia sp!, {r3, pc} ldr r0, _0215fc5c ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2000 ldr r0, [r0, #0x260] sub r0, r0, #8 cmp r0, #4 addls pc, pc, r0, lsl #2 ldmia sp!, {r3, pc} _0215fc28: ; jump table b _0215fc3c ; case 0 b _0215fc48 ; case 1 b _0215fc50 ; case 2 ldmia sp!, {r3, pc} ; case 3 b _0215fc48 ; case 4 _0215fc3c: mov r0, #0xc bl func_ov61_0215fa44 ldmia sp!, {r3, pc} _0215fc48: bl func_ov61_0215fb8c ldmia sp!, {r3, pc} _0215fc50: mov r0, #0xc bl func_ov61_0215fa44 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0215fbe8 _0215fc5c: .word data_ov61_02180fcc .global func_ov61_0215fc60 arm_func_start func_ov61_0215fc60 func_ov61_0215fc60: ; 0x0215fc60 stmdb sp!, {r3, lr} ldrh r1, [r0, #2] mov r2, #0x14 cmp r1, #4 addls pc, pc, r1, lsl #2 b _0215fec0 _0215fc78: ; jump table b _0215fc8c ; case 0 b _0215fe88 ; case 1 b _0215fec0 ; case 2 b _0215fec0 ; case 3 b _0215fec0 ; case 4 _0215fc8c: ldrh r0, [r0] cmp r0, #0x19 bgt _0215fcc4 bge _0215fd88 cmp r0, #6 addls pc, pc, r0, lsl #2 b _0215fe00 _0215fca8: ; jump table b _0215fe00 ; case 0 b _0215fe00 ; case 1 b _0215fe00 ; case 2 b _0215fce0 ; case 3 b _0215fcf0 ; case 4 b _0215fd44 ; case 5 b _0215fd64 ; case 6 _0215fcc4: cmp r0, #0x1d bgt _0215fcd4 beq _0215fd74 b _0215fe00 _0215fcd4: cmp r0, #0x27 beq _0215fdb0 b _0215fe00 _0215fce0: ldr r0, _0215fef8 ; =func_ov61_0215fc60 bl func_ov01_020efec0 mov r2, r0 b _0215fe00 _0215fcf0: bl func_ov01_020eef50 cmp r0, #0 beq _0215fd04 cmp r0, #4 b _0215fd24 _0215fd04: mov r0, #1 bl func_ov61_0215fa44 mov r0, #0 ldr r3, _0215fefc ; =0x00000663 mov r1, r0 mov r2, r0 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _0215fd24: mov r0, #0xb bl func_ov61_0215fa44 mov r1, #0 ldr r3, _0215ff00 ; =0x0000066c mov r2, r1 mov r0, #7 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _0215fd44: mov r0, #3 bl func_ov61_0215fa44 mov r0, #0 ldr r3, _0215ff04 ; =0x00000673 mov r1, r0 mov r2, r0 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _0215fd64: ldr r0, _0215fef8 ; =func_ov61_0215fc60 bl func_ov01_020efe80 mov r2, r0 b _0215fe00 _0215fd74: ldr r0, _0215fef8 ; =func_ov61_0215fc60 mov r1, #0 bl func_ov01_020f1a10 mov r2, r0 b _0215fe00 _0215fd88: ldr r1, _0215ff08 ; =data_ov61_02180fcc ldr r0, _0215fef8 ; =func_ov61_0215fc60 ldr r3, [r1] add r2, r3, #0x2000 ldrb r1, [r2, #0x250] ldrb r2, [r2, #0x251] add r3, r3, #0x2200 bl func_ov01_020f18dc mov r2, r0 b _0215fe00 _0215fdb0: ldr r0, _0215ff08 ; =data_ov61_02180fcc ldr r2, [r0] add r0, r2, #0x2000 ldr r1, [r0, #0x264] and r0, r1, #0xc0000 cmp r0, #0xc0000 moveq r0, #1 movne r0, #0 mov r0, r0, lsl #0x10 mov ip, r0, lsr #0x10 and r1, r1, #0x30000 cmp r1, #0x30000 movne r3, #1 add r1, r2, #0x2140 ldr r0, _0215ff0c ; =func_ov61_02160278 moveq r3, #0 mov r2, #0 str ip, [sp] bl func_ov01_020f0468 mov r2, r0 _0215fe00: cmp r2, #2 ldmeqia sp!, {r3, pc} cmp r2, #3 beq _0215fe50 cmp r2, #8 bne _0215fe50 mov r0, #0xc bl func_ov61_0215fa44 ldr r0, _0215ff08 ; =data_ov61_02180fcc mov r2, #0 ldr r1, [r0] add r0, r1, #0x2200 ldrsh r0, [r0, #0x80] cmp r0, #5 addeq r1, r1, #0x2140 mov r0, #1 movne r1, #0 rsb r3, r0, #0x6b0 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _0215fe50: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _0215ff08 ; =data_ov61_02180fcc ldr r3, _0215ff10 ; =0x000006b8 ldr r1, [r0] mov r2, #0 add r0, r1, #0x2200 ldrsh r0, [r0, #0x80] cmp r0, #5 addeq r1, r1, #0x2140 movne r1, #0 mov r0, #7 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _0215fe88: mov r0, #0xc bl func_ov61_0215fa44 ldr r0, _0215ff08 ; =data_ov61_02180fcc ldr r3, _0215ff14 ; =0x000006de ldr r1, [r0] mov r2, #0 add r0, r1, #0x2200 ldrsh r0, [r0, #0x80] cmp r0, #5 addeq r1, r1, #0x2140 movne r1, #0 mov r0, #1 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _0215fec0: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _0215ff08 ; =data_ov61_02180fcc ldr r3, _0215ff18 ; =0x000006e8 ldr r1, [r0] mov r2, #0 add r0, r1, #0x2200 ldrsh r0, [r0, #0x80] cmp r0, #5 addeq r1, r1, #0x2140 movne r1, #0 mov r0, #7 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0215fc60 _0215fef8: .word func_ov61_0215fc60 _0215fefc: .word 0x00000663 _0215ff00: .word 0x0000066c _0215ff04: .word 0x00000673 _0215ff08: .word data_ov61_02180fcc _0215ff0c: .word func_ov61_02160278 _0215ff10: .word 0x000006b8 _0215ff14: .word 0x000006de _0215ff18: .word 0x000006e8 .global func_ov61_0215ff1c arm_func_start func_ov61_0215ff1c func_ov61_0215ff1c: ; 0x0215ff1c stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r5, r0 ldrh r0, [r5, #2] mov r4, #0x14 cmp r0, #4 addls pc, pc, r0, lsl #2 b _021601b4 _0215ff3c: ; jump table b _0215ff50 ; case 0 b _021601a8 ; case 1 b _021601b4 ; case 2 b _021601b4 ; case 3 b _021601b4 ; case 4 _0215ff50: ldr r0, _021601d8 ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2000 ldr r0, [r0, #0x260] cmp r0, #5 bne _0215ff84 mov r0, #6 bl func_ov61_0215fa44 mov r0, #0 ldr r3, _021601dc ; =0x00000704 mov r1, r0 mov r2, r0 bl func_ov61_0215f9ac _0215ff84: ldr r1, _021601d8 ; =data_ov61_02180fcc ldr r2, [r1] add r0, r2, #0x2000 ldr r0, [r0, #0x260] cmp r0, #6 beq _0215ffb0 cmp r0, #7 beq _02160128 cmp r0, #0xd beq _02160138 b _02160144 _0215ffb0: add r0, r2, #0x2200 mov r2, #7 strh r2, [r0, #0x80] ldrh r0, [r5, #8] cmp r0, #5 bne _0216003c ldr r0, [r1] add r1, r0, #0x2200 add r0, r0, #0x2000 ldrh r1, [r1, #0x8c] ldr r0, [r0, #0x288] bl func_0200e288 ldrh r0, [r5, #0xe] mov r4, #0 cmp r0, #0 ble _0216003c ldr r8, _021601e0 ; =0x0000071a mov r7, #7 mov r6, r4 _0215fffc: add r0, r5, r4, lsl #1 add r2, r5, r4, lsl #2 ldrh r1, [r0, #0x50] ldr r0, [r2, #0x10] bl func_ov61_02160c7c str r8, [sp] add r0, r5, r4, lsl #2 ldr r2, [r0, #0x10] mov r0, r7 mov r1, r6 mov r3, r5 bl func_ov61_0215f9f0 ldrh r0, [r5, #0xe] add r4, r4, #1 cmp r4, r0 blt _0215fffc _0216003c: ldr r0, _021601d8 ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2000 ldr r1, [r0, #0x264] and r0, r1, #0xc00000 cmp r0, #0xc00000 bne _021600a8 ldr r0, _021601e4 ; =0x00003ffe and r0, r1, r0 bl func_ov61_0215fb60 movs r1, r0 beq _021600a8 ldr r0, _021601d8 ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2000 ldr r6, [r0, #0x284] mov r0, r6 bl FastDivide cmp r1, #0 bne _021600a8 ldr r4, _021601e8 ; =0x00000728 mov r1, #0 mov r2, r6 mov r3, r1 mov r0, #8 str r4, [sp] bl func_ov61_0215f9f0 _021600a8: ldrh r0, [r5, #0xa] bl func_ov61_0215fb84 rsb r0, r0, #0x20 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl func_ov61_0215f91c ldr r1, _021601d8 ; =data_ov61_02180fcc mov r2, #1 mov r2, r2, lsl r0 ldr r0, [r1] mov r2, r2, asr #0x1 add r0, r0, #0x2200 strh r2, [r0, #0x8e] ldr r0, [r1] add r1, r0, #0x2200 add r0, r0, #0x2000 ldrh r1, [r1, #0x8c] ldr r0, [r0, #0x288] bl func_0200e288 ldr r2, _021601d8 ; =data_ov61_02180fcc ldr r0, _021601ec ; =func_ov61_0215ff1c ldr r1, [r2] add r1, r1, #0x2000 ldr r3, [r1, #0x284] add r3, r3, #1 str r3, [r1, #0x284] ldr r1, [r2] add r1, r1, #0x288 add r1, r1, #0x2000 bl func_ov01_020f02d8 mov r4, r0 b _02160144 _02160128: ldr r0, _021601f0 ; =func_ov61_02160200 bl func_ov01_020f0428 mov r4, r0 b _02160144 _02160138: bl func_ov61_0215fb8c add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02160144: cmp r4, #2 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} cmp r4, #3 beq _02160184 cmp r4, #8 bne _02160184 mov r0, #0xc bl func_ov61_0215fa44 mov r1, #0 ldr r3, _021601f4 ; =0x00000753 mov r2, r1 mov r0, #1 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02160184: mov r0, #0xb bl func_ov61_0215fa44 mov r1, #0 ldr r3, _021601f8 ; =0x0000075c mov r2, r1 mov r0, #7 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _021601a8: bl func_ov61_0215fb8c add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _021601b4: mov r0, #0xb bl func_ov61_0215fa44 mov r1, #0 ldr r3, _021601fc ; =0x0000076d mov r2, r1 mov r0, #7 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0215ff1c _021601d8: .word data_ov61_02180fcc _021601dc: .word 0x00000704 _021601e0: .word 0x0000071a _021601e4: .word 0x00003ffe _021601e8: .word 0x00000728 _021601ec: .word func_ov61_0215ff1c _021601f0: .word func_ov61_02160200 _021601f4: .word 0x00000753 _021601f8: .word 0x0000075c _021601fc: .word 0x0000076d .global func_ov61_02160200 arm_func_start func_ov61_02160200 func_ov61_02160200: ; 0x02160200 stmdb sp!, {r3, lr} ldrh r0, [r0, #2] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02160250 _02160214: ; jump table b _02160228 ; case 0 b _02160248 ; case 1 b _02160250 ; case 2 b _02160250 ; case 3 b _02160250 ; case 4 _02160228: mov r0, #3 bl func_ov61_0215fa44 mov r0, #0 ldr r3, _02160270 ; =0x00000783 mov r1, r0 mov r2, r0 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _02160248: bl func_ov61_0215fb8c ldmia sp!, {r3, pc} _02160250: mov r0, #0xb bl func_ov61_0215fa44 mov r1, #0 ldr r3, _02160274 ; =0x00000793 mov r2, r1 mov r0, #7 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02160200 _02160270: .word 0x00000783 _02160274: .word 0x00000793 .global func_ov61_02160278 arm_func_start func_ov61_02160278 func_ov61_02160278: ; 0x02160278 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #2] cmp r0, #0xc addls pc, pc, r0, lsl #2 b _02160498 _02160290: ; jump table b _021602c4 ; case 0 b _02160474 ; case 1 b _02160498 ; case 2 b _02160498 ; case 3 b _02160498 ; case 4 b _02160498 ; case 5 b _02160488 ; case 6 b _02160498 ; case 7 b _02160498 ; case 8 b _02160498 ; case 9 b _02160498 ; case 10 b _02160488 ; case 11 b _02160488 ; case 12 _021602c4: ldrh r0, [r4, #8] cmp r0, #9 bgt _02160304 cmp r0, #0 addge pc, pc, r0, lsl #2 b _0216044c _021602dc: ; jump table b _0216044c ; case 0 b _0216044c ; case 1 b _0216044c ; case 2 b _0216044c ; case 3 b _0216044c ; case 4 b _0216044c ; case 5 ldmia sp!, {r4, pc} ; case 6 b _02160380 ; case 7 b _02160310 ; case 8 b _02160310 ; case 9 _02160304: cmp r0, #0x1a ldmeqia sp!, {r4, pc} b _0216044c _02160310: ldr r1, _021604c0 ; =data_ov61_02180fcc ldr r2, [r1] add r0, r2, #0x2000 ldr r0, [r0, #0x260] sub r0, r0, #8 cmp r0, #4 addls pc, pc, r0, lsl #2 ldmia sp!, {r4, pc} _02160330: ; jump table b _02160350 ; case 0 b _0216035c ; case 1 b _02160344 ; case 2 ldmia sp!, {r4, pc} ; case 3 b _02160378 ; case 4 _02160344: add r0, r2, #0x2200 mov r1, #0 strh r1, [r0, #0x82] _02160350: mov r0, #0xc bl func_ov61_0215fa44 ldmia sp!, {r4, pc} _0216035c: add r0, r2, #0x2200 mov r2, #0 strh r2, [r0, #0x82] ldr r0, [r1] mov r1, #6 add r0, r0, #0x2200 strh r1, [r0, #0x80] _02160378: bl func_ov61_0215fb8c ldmia sp!, {r4, pc} _02160380: ldr r1, _021604c0 ; =data_ov61_02180fcc ldr r3, [r1] add r0, r3, #0x2000 ldr r0, [r0, #0x260] cmp r0, #0xc bne _021603a8 mov r0, #8 bl func_ov61_0215fa44 bl func_ov61_0215fb8c ldmia sp!, {r4, pc} _021603a8: ldrh r2, [r4, #0xa] cmp r2, #1 blo _02160444 ldr r0, _021604c4 ; =0x000007d7 cmp r2, r0 bhi _02160444 add r0, r3, #0x2200 strh r2, [r0, #0x82] ldr r1, [r1] ldr r0, _021604c8 ; =func_ov61_021605a4 add r1, r1, #0x1500 mov r2, #0x620 bl func_ov01_020f0ae8 cmp r0, #2 ldmeqia sp!, {r4, pc} cmp r0, #3 beq _0216041c cmp r0, #8 bne _0216041c mov r0, #0xc bl func_ov61_0215fa44 ldr r0, _021604c0 ; =data_ov61_02180fcc ldr r3, _021604cc ; =0x000007ed ldr r1, [r0] mov r0, #1 add r1, r1, #0x2140 mov r2, #0 bl func_ov61_0215f9ac ldmia sp!, {r4, pc} _0216041c: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _021604c0 ; =data_ov61_02180fcc ldr r3, _021604d0 ; =0x000007f6 ldr r1, [r0] mov r0, #7 add r1, r1, #0x2140 mov r2, #0 bl func_ov61_0215f9ac ldmia sp!, {r4, pc} _02160444: bl func_ov61_0215fb8c ldmia sp!, {r4, pc} _0216044c: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _021604c0 ; =data_ov61_02180fcc ldrh r2, [r4, #8] ldr r0, [r0] ldr r3, _021604d4 ; =0x00000804 add r1, r0, #0x2140 mov r0, #7 bl func_ov61_0215f9ac ldmia sp!, {r4, pc} _02160474: ldr r0, _021604c0 ; =data_ov61_02180fcc ldrh r1, [r4, #0xe] ldr r0, [r0] add r0, r0, #0x2200 strh r1, [r0, #0xf8] _02160488: mov r0, #8 bl func_ov61_0215fa44 bl func_ov61_0215fb8c ldmia sp!, {r4, pc} _02160498: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _021604c0 ; =data_ov61_02180fcc ldr r3, _021604d8 ; =0x0000081b ldr r1, [r0] mov r0, #7 add r1, r1, #0x2140 mov r2, #0 bl func_ov61_0215f9ac ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02160278 _021604c0: .word data_ov61_02180fcc _021604c4: .word 0x000007d7 _021604c8: .word func_ov61_021605a4 _021604cc: .word 0x000007ed _021604d0: .word 0x000007f6 _021604d4: .word 0x00000804 _021604d8: .word 0x0000081b .global func_ov61_021604dc arm_func_start func_ov61_021604dc func_ov61_021604dc: ; 0x021604dc stmdb sp!, {r3, lr} ldrh r0, [r0, #2] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02160570 _021604f0: ; jump table b _02160504 ; case 0 b _02160560 ; case 1 b _02160570 ; case 2 b _02160560 ; case 3 b _02160570 ; case 4 _02160504: ldr r0, _02160598 ; =data_ov61_02180fcc ldr r1, [r0] add r0, r1, #0x2000 ldr r0, [r0, #0x260] cmp r0, #0xc bne _0216052c mov r0, #0xa bl func_ov61_0215fa44 bl func_ov61_0215fb8c ldmia sp!, {r3, pc} _0216052c: add r1, r1, #0x2200 mov r2, #0 mov r0, #3 strh r2, [r1, #0x82] bl func_ov61_0215fa44 ldr r1, _02160598 ; =data_ov61_02180fcc mov r0, #0 ldr r1, [r1] ldr r3, _0216059c ; =0x0000083d mov r2, r0 add r1, r1, #0x2140 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _02160560: mov r0, #0xa bl func_ov61_0215fa44 bl func_ov61_0215fb8c ldmia sp!, {r3, pc} _02160570: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _02160598 ; =data_ov61_02180fcc ldr r3, _021605a0 ; =0x0000084f ldr r1, [r0] mov r0, #7 add r1, r1, #0x2140 mov r2, #0 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021604dc _02160598: .word data_ov61_02180fcc _0216059c: .word 0x0000083d _021605a0: .word 0x0000084f .global func_ov61_021605a4 arm_func_start func_ov61_021605a4 func_ov61_021605a4: ; 0x021605a4 stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #2] cmp r0, #0 beq _021605c0 cmp r0, #4 b _0216067c _021605c0: ldrh r0, [r4, #4] cmp r0, #0xe beq _021605d8 cmp r0, #0xf beq _02160628 b _02160654 _021605d8: ldr r0, _021606a4 ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2000 ldr r0, [r0, #0x260] cmp r0, #0xc bne _02160600 mov r0, #8 bl func_ov61_0215fa44 bl func_ov61_0215fb8c ldmia sp!, {r4, pc} _02160600: mov r0, #9 bl func_ov61_0215fa44 ldr r1, _021606a4 ; =data_ov61_02180fcc mov r0, #0 ldr r1, [r1] ldr r3, _021606a8 ; =0x00000872 mov r2, r0 add r1, r1, #0x2140 bl func_ov61_0215f9ac ldmia sp!, {r4, pc} _02160628: ldr r0, [r4, #8] ldrh r0, [r0, #0xe] mov r0, r0, asr #0x8 and r0, r0, #0xff bl func_ov61_02161484 ldr r0, [r4, #8] mov r1, #0x620 bl func_0200e288 ldr r0, [r4, #8] bl func_ov61_02160fbc ldmia sp!, {r4, pc} _02160654: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _021606a4 ; =data_ov61_02180fcc ldrh r2, [r4, #4] ldr r0, [r0] ldr r3, _021606ac ; =0x00000881 add r1, r0, #0x2140 mov r0, #7 bl func_ov61_0215f9ac ldmia sp!, {r4, pc} _0216067c: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _021606a4 ; =data_ov61_02180fcc ldr r3, _021606b0 ; =0x0000088c ldr r1, [r0] mov r0, #7 add r1, r1, #0x2140 mov r2, #0 bl func_ov61_0215f9ac ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021605a4 _021606a4: .word data_ov61_02180fcc _021606a8: .word 0x00000872 _021606ac: .word 0x00000881 _021606b0: .word 0x0000088c .global func_ov61_021606b4 arm_func_start func_ov61_021606b4 func_ov61_021606b4: ; 0x021606b4 stmdb sp!, {r3, lr} ldrh r0, [r0, #2] cmp r0, #4 addls pc, pc, r0, lsl #2 b _02160798 _021606c8: ; jump table b _021606dc ; case 0 b _02160788 ; case 1 b _02160798 ; case 2 b _02160788 ; case 3 b _02160798 ; case 4 _021606dc: ldr r0, _021607c0 ; =data_ov61_02180fcc ldr r0, [r0] add r0, r0, #0x2000 ldr r0, [r0, #0x260] cmp r0, #0xc bne _02160704 mov r0, #0xa bl func_ov61_0215fa44 bl func_ov61_0215fb8c ldmia sp!, {r3, pc} _02160704: ldr r0, _021607c4 ; =func_ov61_021604dc mov r1, #0 bl func_ov01_020f0534 cmp r0, #2 ldmeqia sp!, {r3, pc} cmp r0, #3 beq _02160750 cmp r0, #8 bne _02160760 mov r0, #0xc bl func_ov61_0215fa44 ldr r0, _021607c0 ; =data_ov61_02180fcc ldr r3, _021607c8 ; =0x000008b4 ldr r1, [r0] mov r0, #1 add r1, r1, #0x2140 mov r2, #0 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _02160750: mov r0, #0xa bl func_ov61_0215fa44 bl func_ov61_0215fb8c ldmia sp!, {r3, pc} _02160760: mov r0, #0xb bl func_ov61_0215fa44 ldr r1, _021607c0 ; =data_ov61_02180fcc mov r0, #7 ldr r1, [r1] mov r2, #0 add r1, r1, #0x2140 mov r3, #0x8c0 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} _02160788: mov r0, #0xa bl func_ov61_0215fa44 bl func_ov61_0215fb8c ldmia sp!, {r3, pc} _02160798: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _021607c0 ; =data_ov61_02180fcc ldr r3, _021607cc ; =0x000008d3 ldr r1, [r0] mov r0, #7 add r1, r1, #0x2140 mov r2, #0 bl func_ov61_0215f9ac ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021606b4 _021607c0: .word data_ov61_02180fcc _021607c4: .word func_ov61_021604dc _021607c8: .word 0x000008b4 _021607cc: .word 0x000008d3 .global func_ov61_021607d0 arm_func_start func_ov61_021607d0 func_ov61_021607d0: ; 0x021607d0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 bne _02160aa8 ldr r2, _02160acc ; =data_ov61_02180fcc mov r0, #0 ldr r1, [r2] add r1, r1, #0x2000 strb r0, [r1, #0x26b] ldr r1, [r2] add r1, r1, #0x2200 strh r0, [r1, #0x82] ldr r3, [r2] add r1, r3, #0x2000 ldr r1, [r1, #0x260] cmp r1, #0xd addls pc, pc, r1, lsl #2 b _02160a78 _0216081c: ; jump table b _02160a78 ; case 0 b _02160a78 ; case 1 b _02160a78 ; case 2 b _02160a78 ; case 3 b _02160a78 ; case 4 b _02160854 ; case 5 b _02160854 ; case 6 b _02160878 ; case 7 b _0216089c ; case 8 b _021609b4 ; case 9 b _021609e0 ; case 10 b _02160a78 ; case 11 b _021609b4 ; case 12 b _02160a0c ; case 13 _02160854: mov r0, #3 bl func_ov61_0215fa44 mov r1, #0 ldr r3, _02160ad0 ; =0x000008f5 mov r2, r1 mov r0, #1 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02160878: mov r0, #3 bl func_ov61_0215fa44 mov r0, #0 ldr r3, _02160ad4 ; =0x000008fb mov r1, r0 mov r2, r0 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _0216089c: add r1, r3, #0x2200 ldrh r4, [r1, #0xf8] strh r0, [r1, #0xf8] cmp r4, #0x12 bne _02160988 ldr r1, [r2] add r1, r1, #0x2100 ldrh r3, [r1, #0x70] and ip, r3, #0x24 cmp ip, #0x24 beq _02160988 orr r3, r3, #0x24 strh r3, [r1, #0x70] ldr lr, [r2] add r1, lr, #0x2000 ldr r2, [r1, #0x264] and r1, r2, #0xc0000 cmp r1, #0xc0000 moveq r0, #1 and r1, r2, #0x30000 cmp r1, #0x30000 mov r0, r0, lsl #0x10 mov ip, r0, lsr #0x10 movne r3, #1 ldr r0, _02160ad8 ; =func_ov61_02160278 moveq r3, #0 add r1, lr, #0x2140 mov r2, #0 str ip, [sp] bl func_ov01_020f0468 cmp r0, #2 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} cmp r0, #3 beq _0216095c cmp r0, #8 bne _0216095c mov r0, #0xc bl func_ov61_0215fa44 ldr r0, _02160acc ; =data_ov61_02180fcc ldr r3, _02160adc ; =0x0000091c ldr r0, [r0] mov r2, r4 add r1, r0, #0x2140 mov r0, #1 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _0216095c: mov r0, #0xb bl func_ov61_0215fa44 ldr r0, _02160acc ; =data_ov61_02180fcc ldr r3, _02160ae0 ; =0x00000925 ldr r0, [r0] mov r2, r4 add r1, r0, #0x2140 mov r0, #7 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02160988: mov r0, #3 bl func_ov61_0215fa44 ldr r0, _02160acc ; =data_ov61_02180fcc ldr r3, _02160ae4 ; =0x0000092d ldr r0, [r0] mov r2, r4 add r1, r0, #0x2140 mov r0, #1 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _021609b4: mov r0, #3 bl func_ov61_0215fa44 ldr r0, _02160acc ; =data_ov61_02180fcc ldr r3, _02160ae8 ; =0x00000935 ldr r1, [r0] mov r0, #0 add r1, r1, #0x2140 mov r2, #1 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _021609e0: mov r0, #3 bl func_ov61_0215fa44 ldr r1, _02160acc ; =data_ov61_02180fcc mov r0, #0 ldr r1, [r1] ldr r3, _02160aec ; =0x0000093c mov r2, r0 add r1, r1, #0x2140 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02160a0c: ldr r0, _02160af0 ; =func_ov61_0215fc60 bl func_ov01_020eff00 cmp r0, #2 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} cmp r0, #3 beq _02160a54 cmp r0, #8 bne _02160a54 mov r0, #0xc bl func_ov61_0215fa44 mov r1, #0 ldr r3, _02160af4 ; =0x0000094a mov r2, r1 mov r0, #1 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02160a54: mov r0, #0xb bl func_ov61_0215fa44 mov r1, #0 ldr r3, _02160af8 ; =0x00000953 mov r2, r1 mov r0, #7 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02160a78: mov r0, #0xb bl func_ov61_0215fa44 ldr r1, _02160acc ; =data_ov61_02180fcc mov r0, #7 ldr r1, [r1] rsb r3, r0, #0x960 add r1, r1, #0x2000 ldr r2, [r1, #0x260] mov r1, #0 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02160aa8: mov r0, #0xb bl func_ov61_0215fa44 mov r1, #0 mov r2, r1 mov r0, #7 mov r3, #0x960 bl func_ov61_0215f9ac add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_021607d0 _02160acc: .word data_ov61_02180fcc _02160ad0: .word 0x000008f5 _02160ad4: .word 0x000008fb _02160ad8: .word func_ov61_02160278 _02160adc: .word 0x0000091c _02160ae0: .word 0x00000925 _02160ae4: .word 0x0000092d _02160ae8: .word 0x00000935 _02160aec: .word 0x0000093c _02160af0: .word func_ov61_0215fc60 _02160af4: .word 0x0000094a _02160af8: .word 0x00000953 .global func_ov61_02160afc arm_func_start func_ov61_02160afc func_ov61_02160afc: ; 0x02160afc stmdb sp!, {r4, lr} bl func_0200ee4c mov r4, r0 bl func_ov61_0215f634 cmp r0, #0 bne _02160b20 mov r0, r4 bl func_0200ee60 ldmia sp!, {r4, pc} _02160b20: add r1, r0, #0x2000 ldr r0, [r1, #0x270] cmp r0, #0 beq _02160b44 ldr r2, [r1, #0x274] cmp r2, #0 ble _02160b44 mov r1, #0 bl func_02007a44 _02160b44: mov r0, r4 bl func_0200ee60 ldmia sp!, {r4, pc} arm_func_end func_ov61_02160afc .global func_ov61_02160b50 arm_func_start func_ov61_02160b50 func_ov61_02160b50: ; 0x02160b50 stmdb sp!, {r3, r4, r5, lr} bl func_0200ee4c mov r4, r0 bl func_ov61_0215f634 cmp r0, #0 mov r5, #0 bne _02160b7c mov r0, r4 bl func_0200ee60 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} _02160b7c: add r0, r0, #0x2000 ldr r1, [r0, #0x270] cmp r1, #0 beq _02160b98 ldr r0, [r0, #0x274] cmp r0, #0xc ldrhi r5, [r1] _02160b98: mov r0, r4 bl func_0200ee60 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02160b50 .global func_ov61_02160ba8 arm_func_start func_ov61_02160ba8 func_ov61_02160ba8: ; 0x02160ba8 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_0200ee4c mov r4, r0 bl func_ov61_0215f634 cmp r0, #0 bne _02160bd4 mov r0, r4 bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02160bd4: add r1, r0, #0x2000 cmp r5, #0 ldrb r1, [r1, #0x26a] beq _02160bfc cmp r1, #0 movne r5, #1 moveq r5, #0 add r0, r0, #0x2000 mov r1, #1 b _02160c10 _02160bfc: cmp r1, #0 movne r5, #1 moveq r5, #0 add r0, r0, #0x2000 mov r1, #0 _02160c10: strb r1, [r0, #0x26a] mov r0, r4 bl func_0200ee60 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02160ba8 .global func_ov61_02160c24 arm_func_start func_ov61_02160c24 func_ov61_02160c24: ; 0x02160c24 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl func_0200ee4c mov r5, r0 bl func_ov61_0215f634 cmp r0, #0 bne _02160c50 mov r0, r5 bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02160c50: mov r0, r4 bl func_ov61_02160e70 movs r4, r0 mov r0, r5 bne _02160c70 bl func_0200ee60 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02160c70: bl func_0200ee60 add r0, r4, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02160c24 .global func_ov61_02160c7c arm_func_start func_ov61_02160c7c func_ov61_02160c7c: ; 0x02160c7c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 mov r4, r1 bl func_ov61_0215f634 movs r6, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r0, r6, #0x2000 ldrb r0, [r0, #0x26a] cmp r0, #0 ldreqh r0, [r5, #0x3c] cmpeq r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r0, r5, #4 bl func_ov61_02160e04 movs r7, r0 bne _02160cc4 bl func_ov61_02160d08 mov r7, r0 _02160cc4: cmp r7, #0 addeq r0, r6, #0x2000 ldreq r0, [r0, #0x278] cmpeq r0, #1 bne _02160ce0 bl func_ov61_02160dd4 mov r7, r0 _02160ce0: cmp r7, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r5 add r1, r7, #0x10 mov r2, #0xc0 strh r4, [r7, #2] bl func_02007984 mov r0, r7 bl func_ov61_02160ec0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02160c7c .global func_ov61_02160d08 arm_func_start func_ov61_02160d08 func_ov61_02160d08: ; 0x02160d08 stmdb sp!, {r4, lr} bl func_ov61_0215f634 add r2, r0, #0x2000 ldr r1, [r2, #0x270] mov r0, #0 cmp r1, #0 ldmeqia sp!, {r4, pc} ldr r3, [r2, #0x274] cmp r3, #0xc ldmlsia sp!, {r4, pc} ldr r2, _02160dd0 ; =0x4ec4ec4f sub r3, r3, #0xc umull r2, ip, r3, r2 movs ip, ip, lsr #0x6 ldmeqia sp!, {r4, pc} ldr r2, [r1] cmp ip, r2 ldmlsia sp!, {r4, pc} mov lr, r0 cmp ip, #0 bls _02160d84 add r4, r1, #0xc mov r2, #0xd0 _02160d64: mul r0, lr, r2 ldrb r3, [r4, r0] add r0, r4, r0 cmp r3, #0 beq _02160d84 add lr, lr, #1 cmp lr, ip blo _02160d64 _02160d84: cmp lr, ip ldmhsia sp!, {r4, pc} mov r2, #1 strb r2, [r0] ldr r3, [r1] mov r2, #0 str r3, [r0, #4] str r2, [r0, #0xc] ldr r2, [r1, #8] str r2, [r0, #8] str r0, [r1, #8] ldr r2, [r0, #8] cmp r2, #0 strne r0, [r2, #0xc] streq r0, [r1, #4] ldr r2, [r1] add r2, r2, #1 str r2, [r1] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02160d08 _02160dd0: .word 0x4ec4ec4f .global func_ov61_02160dd4 arm_func_start func_ov61_02160dd4 func_ov61_02160dd4: ; 0x02160dd4 stmdb sp!, {r3, lr} bl func_ov61_0215f634 add r0, r0, #0x2000 ldr r1, [r0, #0x270] cmp r1, #0 beq _02160dfc ldr r0, [r0, #0x274] cmp r0, #0xc ldrhi r0, [r1, #4] ldmhiia sp!, {r3, pc} _02160dfc: mov r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02160dd4 .global func_ov61_02160e04 arm_func_start func_ov61_02160e04 func_ov61_02160e04: ; 0x02160e04 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov61_0215f634 add r0, r0, #0x2000 mov r4, #0 cmp r5, #0 ldr r1, [r0, #0x270] moveq r0, r4 ldmeqia sp!, {r3, r4, r5, pc} cmp r1, #0 beq _02160e68 ldr r0, [r0, #0x274] cmp r0, #0xc bls _02160e68 ldr r4, [r1, #4] cmp r4, #0 beq _02160e68 _02160e48: mov r1, r5 add r0, r4, #0x14 bl func_ov61_02161360 cmp r0, #0 bne _02160e68 ldr r4, [r4, #0xc] cmp r4, #0 bne _02160e48 _02160e68: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02160e04 .global func_ov61_02160e70 arm_func_start func_ov61_02160e70 func_ov61_02160e70: ; 0x02160e70 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0215f634 add r1, r0, #0x2000 ldr r2, [r1, #0x270] mov r0, #0 cmp r2, #0 ldmeqia sp!, {r4, pc} ldr r1, [r1, #0x274] cmp r1, #0xc ldmlsia sp!, {r4, pc} ldr r0, [r2, #4] cmp r0, #0 ldmeqia sp!, {r4, pc} _02160ea8: ldr r1, [r0, #4] cmp r1, r4 ldrne r0, [r0, #0xc] cmpne r0, #0 bne _02160ea8 ldmia sp!, {r4, pc} arm_func_end func_ov61_02160e70 .global func_ov61_02160ec0 arm_func_start func_ov61_02160ec0 func_ov61_02160ec0: ; 0x02160ec0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0215f634 add r1, r0, #0x2000 ldr r0, [r1, #0x270] cmp r4, #0 cmpne r0, #0 ldmeqia sp!, {r4, pc} ldr r1, [r1, #0x274] cmp r1, #0xc ldmlsia sp!, {r4, pc} ldr r3, [r0, #4] cmp r3, #0 beq _02160f38 _02160ef8: cmp r3, r4 bne _02160f2c ldr r2, [r3, #8] ldr r1, [r3, #0xc] cmp r2, #0 strne r1, [r2, #0xc] streq r1, [r0, #4] ldr r2, [r3, #0xc] ldr r1, [r3, #8] cmp r2, #0 strne r1, [r2, #8] streq r1, [r0, #8] b _02160f38 _02160f2c: ldr r3, [r3, #0xc] cmp r3, #0 bne _02160ef8 _02160f38: mov r1, #0 str r1, [r4, #0xc] ldr r1, [r0, #8] str r1, [r4, #8] str r4, [r0, #8] ldr r1, [r4, #8] cmp r1, #0 strne r4, [r1, #0xc] streq r4, [r0, #4] cmp r3, #0 ldmneia sp!, {r4, pc} ldr r1, [r0] str r1, [r4, #4] ldr r1, [r0] add r1, r1, #1 str r1, [r0] ldmia sp!, {r4, pc} arm_func_end func_ov61_02160ec0 .global func_ov61_02160f7c arm_func_start func_ov61_02160f7c func_ov61_02160f7c: ; 0x02160f7c stmdb sp!, {r3, lr} ldr r1, _02160fb4 ; =data_ov61_02180fd0 ldrb r0, [r1] cmp r0, #0 ldmneia sp!, {r3, pc} mov r0, #1 strb r0, [r1] mov r2, #0 str r2, [r1, #0x24] str r2, [r1, #8] ldr r0, _02160fb8 ; =data_ov61_02180fdc str r2, [r1, #4] bl func_0200e02c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02160f7c _02160fb4: .word data_ov61_02180fd0 _02160fb8: .word data_ov61_02180fdc .global func_ov61_02160fbc arm_func_start func_ov61_02160fbc func_ov61_02160fbc: ; 0x02160fbc stmdb sp!, {r3, lr} ldr r1, _02160fec ; =data_ov61_02180fd0 mov r2, r0 ldr ip, [r1, #0x28] cmp ip, #0 ldmeqia sp!, {r3, pc} ldrh r3, [r2, #6] add r0, r2, #0x1e add r1, r2, #0x18 add r2, r2, #0x2c blx ip ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02160fbc _02160fec: .word data_ov61_02180fd0 .global func_ov61_02160ff0 arm_func_start func_ov61_02160ff0 func_ov61_02160ff0: ; 0x02160ff0 stmdb sp!, {r4, lr} bl func_ov61_0215f634 movs r4, r0 ldmeqia sp!, {r4, pc} add r0, r4, #0x2000 ldr r1, [r0, #0x260] cmp r1, #9 ldmneia sp!, {r4, pc} ldrb r0, [r0, #0x26b] cmp r0, #1 ldmeqia sp!, {r4, pc} ldr r0, _02161058 ; =data_ov61_02180fdc bl func_ov61_021612d8 cmp r0, #0 ldmeqia sp!, {r4, pc} add r1, r4, #0x144 ldr r0, _0216105c ; =func_ov61_021612c4 add r1, r1, #0x2000 add r2, r4, #0xf00 mov r3, #0 bl func_ov01_020f0b88 cmp r0, #2 ldmeqia sp!, {r4, pc} ldr r0, _02161058 ; =data_ov61_02180fdc bl func_ov61_02161328 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02160ff0 _02161058: .word data_ov61_02180fdc _0216105c: .word func_ov61_021612c4 .global func_ov61_02161060 arm_func_start func_ov61_02161060 func_ov61_02161060: ; 0x02161060 stmdb sp!, {r3, r4, r5, lr} mov r5, #0 bl func_ov61_0215f634 mov r4, r0 bl func_0200ee4c cmp r4, #0 beq _02161098 add r1, r4, #0x2000 ldr r2, [r1, #0x260] cmp r2, #9 ldreqb r1, [r1, #0x26b] cmpeq r1, #0 addeq r1, r4, #0x144 addeq r5, r1, #0x2000 _02161098: bl func_0200ee60 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02161060 .global func_ov61_021610a4 arm_func_start func_ov61_021610a4 func_ov61_021610a4: ; 0x021610a4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, #0 mov r5, r0 mov r4, r7 bl func_ov61_0215f634 mov r6, r0 bl func_0200ee4c cmp r6, #0 beq _021610f0 add r1, r6, #0x2000 ldr r2, [r1, #0x260] cmp r2, #9 ldreqb r1, [r1, #0x26b] cmpeq r1, #0 bne _021610f0 add r1, r6, #0x2100 ldrh r4, [r1, #0x4a] add r1, r6, #0x14c add r7, r1, #0x2000 _021610f0: bl func_0200ee60 cmp r5, #0 strneh r4, [r5] mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_021610a4 .global func_ov61_02161104 arm_func_start func_ov61_02161104 func_ov61_02161104: ; 0x02161104 stmdb sp!, {r4, lr} mov r4, r0 bl func_0200ee4c ldr r1, _02161120 ; =data_ov61_02180fd0 str r4, [r1, #0x28] bl func_0200ee60 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02161104 _02161120: .word data_ov61_02180fd0 .global func_ov61_02161124 arm_func_start func_ov61_02161124 func_ov61_02161124: ; 0x02161124 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r1 mov r6, r2 bl func_0200ee4c mov r5, r0 bl func_ov61_0215f634 cmp r0, #0 bne _02161158 mov r0, r5 bl func_0200ee60 mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02161158: ldr r0, _02161274 ; =data_ov61_02180fdc bl func_0200e044 bl func_ov61_0215f634 movs r4, r0 bne _02161184 ldr r0, _02161274 ; =data_ov61_02180fdc bl func_0200e0c8 mov r0, r5 bl func_0200ee60 mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02161184: add r0, r4, #0x2000 ldr r1, [r0, #0x260] cmp r1, #9 bne _021611a0 ldrb r0, [r0, #0x26b] cmp r0, #1 bne _021611b8 _021611a0: ldr r0, _02161274 ; =data_ov61_02180fdc bl func_0200e0c8 mov r0, r5 bl func_0200ee60 mvn r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _021611b8: mov r0, r7 mov r2, r6 add r1, r4, #0xf00 bl func_02007ad8 mov r3, r6, lsl #0x10 ldr r0, _02161278 ; =func_ov61_02161284 mov r1, r8 add r2, r4, #0xf00 mov r3, r3, lsr #0x10 bl func_ov01_020f0b88 cmp r0, #8 addls pc, pc, r0, lsl #2 b _02161210 _021611ec: ; jump table b _02161210 ; case 0 b _02161210 ; case 1 b _02161228 ; case 2 b _02161210 ; case 3 b _02161210 ; case 4 b _02161210 ; case 5 b _02161210 ; case 6 b _02161210 ; case 7 b _02161210 ; case 8 _02161210: ldr r0, _02161274 ; =data_ov61_02180fdc bl func_0200e0c8 mov r0, r5 bl func_0200ee60 mvn r0, #4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02161228: ldr r0, _0216127c ; =data_ov61_02180fd4 bl func_0200d880 ldr r0, _02161280 ; =data_ov61_02180fd0 ldr r0, [r0, #0x24] cmp r0, #0 beq _0216125c cmp r0, #1 ldr r0, _02161274 ; =data_ov61_02180fdc bl func_0200e0c8 mov r0, r5 bl func_0200ee60 mvn r0, #4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216125c: ldr r0, _02161274 ; =data_ov61_02180fdc bl func_0200e0c8 mov r0, r5 bl func_0200ee60 mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02161124 _02161274: .word data_ov61_02180fdc _02161278: .word func_ov61_02161284 _0216127c: .word data_ov61_02180fd4 _02161280: .word data_ov61_02180fd0 .global func_ov61_02161284 arm_func_start func_ov61_02161284 func_ov61_02161284: ; 0x02161284 stmdb sp!, {r3, lr} ldrh r1, [r0] cmp r1, #0x12 ldmneia sp!, {r3, pc} ldrh r2, [r0, #2] ldr r1, _021612bc ; =data_ov61_02180fd0 str r2, [r1, #0x24] ldrh r0, [r0, #2] cmp r0, #0 bne _021612b0 bl func_ov61_0215fadc _021612b0: ldr r0, _021612c0 ; =data_ov61_02180fd4 bl func_0200d8d0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02161284 _021612bc: .word data_ov61_02180fd0 _021612c0: .word data_ov61_02180fd4 .global func_ov61_021612c4 arm_func_start func_ov61_021612c4 func_ov61_021612c4: ; 0x021612c4 ldr ip, _021612d0 ; =func_ov61_02161328 ldr r0, _021612d4 ; =data_ov61_02180fdc bx ip .align 2, 0 arm_func_end func_ov61_021612c4 _021612d0: .word func_ov61_02161328 _021612d4: .word data_ov61_02180fdc .global func_ov61_021612d8 arm_func_start func_ov61_021612d8 func_ov61_021612d8: ; 0x021612d8 ldr r2, [r0, #8] cmp r2, #0 bne _02161300 ldr r1, _02161324 ; =func_01ffa48c str r1, [r0, #8] ldr r1, [r0, #0xc] add r1, r1, #1 str r1, [r0, #0xc] mov r0, #1 bx lr _02161300: ldr r1, _02161324 ; =func_01ffa48c cmp r2, r1 movne r0, #0 bxne lr ldr r1, [r0, #0xc] add r1, r1, #1 str r1, [r0, #0xc] mov r0, #1 bx lr .align 2, 0 arm_func_end func_ov61_021612d8 _02161324: .word func_01ffa48c .global func_ov61_02161328 arm_func_start func_ov61_02161328 func_ov61_02161328: ; 0x02161328 stmdb sp!, {r3, lr} ldr r2, [r0, #8] ldr r1, _0216135c ; =func_01ffa48c cmp r2, r1 ldmneia sp!, {r3, pc} ldr r1, [r0, #0xc] subs r1, r1, #1 str r1, [r0, #0xc] ldmneia sp!, {r3, pc} mov r1, #0 str r1, [r0, #8] bl func_0200d8d0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02161328 _0216135c: .word func_01ffa48c .global func_ov61_02161360 arm_func_start func_ov61_02161360 func_ov61_02161360: ; 0x02161360 mov ip, #0 _02161364: ldrb r3, [r0, ip] ldrb r2, [r1, ip] cmp r3, r2 movne r0, #0 bxne lr add ip, ip, #1 cmp ip, #6 blt _02161364 mov r0, #1 bx lr arm_func_end func_ov61_02161360 .global func_ov61_0216138c arm_func_start func_ov61_0216138c func_ov61_0216138c: ; 0x0216138c stmdb sp!, {r3, r4, r5, lr} bl func_0200ee4c mov r4, r0 bl func_ov61_0215f634 cmp r0, #0 mov r5, #0 beq _021613c0 add r0, r0, #0x2000 ldr r0, [r0, #0x260] cmp r0, #9 bne _021613c0 bl func_ov61_02161450 mov r5, r0 _021613c0: mov r0, r4 bl func_0200ee60 mov r0, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0216138c .global func_ov61_021613d0 arm_func_start func_ov61_021613d0 func_ov61_021613d0: ; 0x021613d0 stmdb sp!, {r3, lr} ldr r1, _02161448 ; =data_ov61_02180ffc mov r0, #0 ldrb r1, [r1] cmp r1, #0x10 bls _02161414 ldr r3, _0216144c ; =data_ov61_02181000 mov r2, r0 _021613f0: ldrb r1, [r3], #1 add r2, r2, #1 cmp r2, #0x10 add r0, r0, r1 blt _021613f0 mov r1, r0, asr #0x3 add r0, r0, r1, lsr #28 mov r0, r0, asr #0x4 b _02161440 _02161414: cmp r1, #0 beq _02161440 mov ip, r0 ble _0216143c ldr r3, _0216144c ; =data_ov61_02181000 _02161428: ldrb r2, [r3], #1 add ip, ip, #1 cmp ip, r1 add r0, r0, r2 blt _02161428 _0216143c: bl func_02002c14 _02161440: and r0, r0, #0xff ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021613d0 _02161448: .word data_ov61_02180ffc _0216144c: .word data_ov61_02181000 .global func_ov61_02161450 arm_func_start func_ov61_02161450 func_ov61_02161450: ; 0x02161450 stmdb sp!, {r3, lr} bl func_ov61_021613d0 mov r1, #0 cmp r0, #0x1c movhs r1, #3 bhs _0216147c cmp r0, #0x16 movhs r1, #2 bhs _0216147c cmp r0, #0x10 movhs r1, #1 _0216147c: mov r0, r1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02161450 .global func_ov61_02161484 arm_func_start func_ov61_02161484 func_ov61_02161484: ; 0x02161484 stmdb sp!, {r3, lr} ldr r2, _021614dc ; =data_ov61_02180ffc tst r0, #2 ldrb ip, [r2] mov r0, r0, asr #0x2 addeq r0, r0, #0x19 mov r1, ip, lsr #0x1f and lr, r0, #0xff rsb r0, r1, ip, lsl #28 ldr r3, _021614e0 ; =data_ov61_02181000 add r0, r1, r0, ror #28 strb lr, [r3, r0] add r0, ip, #1 cmp ip, #0x10 strlob r0, [r2] ldmloia sp!, {r3, pc} mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #28 add r0, r1, r0, ror #28 add r0, r0, #0x10 strb r0, [r2] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02161484 _021614dc: .word data_ov61_02180ffc _021614e0: .word data_ov61_02181000 .global func_ov61_021614e4 arm_func_start func_ov61_021614e4 func_ov61_021614e4: ; 0x021614e4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r7, [sp, #0x28] ldr r6, [sp, #0x2c] movs sb, r1 mov sl, r0 mov fp, r2 mov r8, r3 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp sb, #1 mov r4, #0 mov r5, #1 bls _02161528 _02161518: mov r0, r5, lsl #0x1 add r5, r0, #1 cmp r5, sb blo _02161518 _02161528: ldr r2, [r6] add r0, r2, #1 str r0, [r6] ldrb r1, [r7] ldrb r0, [fp, r2] ldrb r1, [sl, r1] add r0, r1, r0 strb r0, [r7] ldr r0, [r6] cmp r0, r8 blo _02161568 mov r0, #0 str r0, [r6] ldrb r0, [r7] add r0, r0, r8 strb r0, [r7] _02161568: ldrb r0, [r7] add r4, r4, #1 cmp r4, #0xb and r0, r5, r0 bls _02161588 mov r1, sb bl FastDivide mov r0, r1 _02161588: cmp r0, sb bhi _02161528 and r0, r0, #0xff ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_021614e4 .global func_ov61_02161598 arm_func_start func_ov61_02161598 func_ov61_02161598: ; 0x02161598 mov r1, #1 strb r1, [r0, #0x100] mov r1, #3 strb r1, [r0, #0x101] mov r1, #5 strb r1, [r0, #0x102] mov r1, #7 strb r1, [r0, #0x103] mov r1, #0xb strb r1, [r0, #0x104] mov r1, #0 mov r2, #0xff _021615c8: strb r2, [r0, r1] add r1, r1, #1 cmp r1, #0x100 sub r2, r2, #1 blt _021615c8 bx lr arm_func_end func_ov61_02161598 .global func_ov61_021615e0 arm_func_start func_ov61_021615e0 func_ov61_021615e0: ; 0x021615e0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x10 mov r7, r2 mov sb, r0 mov r8, r1 cmp r7, #1 bhs _02161608 bl func_ov61_02161598 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02161608: mov r0, #0 _0216160c: strb r0, [sb, r0] add r0, r0, #1 cmp r0, #0x100 blt _0216160c mov r0, #0 str r0, [sp, #0xc] strb r0, [sp, #8] mov r6, #0xff add r5, sp, #8 add r4, sp, #0xc _02161634: str r5, [sp] mov r0, sb mov r1, r6 mov r2, r8 mov r3, r7 str r4, [sp, #4] bl func_ov61_021614e4 ldrb r2, [sb, r6] ldrb r1, [sb, r0] strb r1, [sb, r6] strb r2, [sb, r0] subs r6, r6, #1 bpl _02161634 ldrb r1, [sb, #1] mov r0, #0 strb r1, [sb, #0x100] ldrb r1, [sb, #3] strb r1, [sb, #0x101] ldrb r1, [sb, #5] strb r1, [sb, #0x102] ldrb r1, [sb, #7] strb r1, [sb, #0x103] ldrb r1, [sp, #8] ldrb r1, [sb, r1] strb r1, [sb, #0x104] strb r0, [sp, #8] str r0, [sp, #0xc] add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_021615e0 .global func_ov61_021616a8 arm_func_start func_ov61_021616a8 func_ov61_021616a8: ; 0x021616a8 stmdb sp!, {r4, lr} ldrb r4, [r0, #0x100] add r2, r4, #1 strb r2, [r0, #0x100] ldrb r3, [r0, #0x101] ldrb r2, [r0, r4] add r2, r3, r2 strb r2, [r0, #0x101] ldrb r3, [r0, #0x104] and r2, r2, #0xff ldrb r2, [r0, r2] ldrb r4, [r0, r3] strb r2, [r0, r3] ldrb r3, [r0, #0x103] ldrb r2, [r0, #0x101] ldrb r3, [r0, r3] strb r3, [r0, r2] ldrb r3, [r0, #0x100] ldrb r2, [r0, #0x103] ldrb r3, [r0, r3] strb r3, [r0, r2] ldrb r2, [r0, #0x100] strb r4, [r0, r2] ldrb r3, [r0, #0x102] ldrb r2, [r0, r4] add r4, r3, r2 strb r4, [r0, #0x102] ldrb r3, [r0, #0x103] ldrb r2, [r0, #0x104] ldrb ip, [r0, #0x101] ldrb lr, [r0, #0x100] and r4, r4, #0xff ldrb r3, [r0, r3] ldrb r2, [r0, r2] ldrb ip, [r0, ip] ldrb r4, [r0, r4] add r2, r3, r2 ldrb r3, [r0, lr] add r2, ip, r2 and r2, r2, #0xff add r3, r4, r3 ldrb r2, [r0, r2] and r3, r3, #0xff ldrb r3, [r0, r3] ldrb r2, [r0, r2] eor r3, r1, r3 eor r2, r3, r2 strb r2, [r0, #0x103] strb r1, [r0, #0x104] ldrb r0, [r0, #0x103] ldmia sp!, {r4, pc} arm_func_end func_ov61_021616a8 .global func_ov61_02161774 arm_func_start func_ov61_02161774 func_ov61_02161774: ; 0x02161774 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r2 mov r7, r0 mov r6, r1 mov r4, #0 cmp r5, #0 ldmleia sp!, {r3, r4, r5, r6, r7, pc} _02161790: ldrb r1, [r6, r4] mov r0, r7 bl func_ov61_021616a8 strb r0, [r6, r4] add r4, r4, #1 cmp r4, r5 blt _02161790 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02161774 .global func_ov61_021617b0 arm_func_start func_ov61_021617b0 func_ov61_021617b0: ; 0x021617b0 ldr r2, [r0, #4] cmp r2, #0 strne r1, [r2, #0x20] str r1, [r0, #4] mov r2, #0 str r2, [r1, #0x20] ldr r2, [r0] cmp r2, #0 streq r1, [r0] ldr r1, [r0, #8] add r1, r1, #1 str r1, [r0, #8] bx lr arm_func_end func_ov61_021617b0 .global func_ov61_021617e4 arm_func_start func_ov61_021617e4 func_ov61_021617e4: ; 0x021617e4 ldr r2, [r0] str r2, [r1, #0x20] str r1, [r0] ldr r2, [r0, #4] cmp r2, #0 streq r1, [r0, #4] ldr r1, [r0, #8] add r1, r1, #1 str r1, [r0, #8] bx lr arm_func_end func_ov61_021617e4 .global func_ov61_0216180c arm_func_start func_ov61_0216180c func_ov61_0216180c: ; 0x0216180c ldr r2, [r0] cmp r2, #0 beq _02161838 ldr r1, [r2, #0x20] str r1, [r0] cmp r1, #0 moveq r1, #0 streq r1, [r0, #4] ldr r1, [r0, #8] sub r1, r1, #1 str r1, [r0, #8] _02161838: mov r0, r2 bx lr arm_func_end func_ov61_0216180c .global func_ov61_02161840 arm_func_start func_ov61_02161840 func_ov61_02161840: ; 0x02161840 ldr r2, [r0] mov r3, #0 cmp r2, #0 beq _021618a4 _02161850: cmp r2, r1 bne _02161894 cmp r3, #0 ldrne r1, [r2, #0x20] strne r1, [r3, #0x20] ldr r1, [r0] cmp r1, r2 ldreq r1, [r2, #0x20] streq r1, [r0] ldr r1, [r0, #4] cmp r1, r2 streq r3, [r0, #4] ldr r1, [r0, #8] sub r1, r1, #1 str r1, [r0, #8] mov r0, #1 bx lr _02161894: mov r3, r2 ldr r2, [r2, #0x20] cmp r2, #0 bne _02161850 _021618a4: mov r0, #0 bx lr arm_func_end func_ov61_02161840 .global func_ov61_021618ac arm_func_start func_ov61_021618ac func_ov61_021618ac: ; 0x021618ac mov r1, #0 str r1, [r0, #4] str r1, [r0] str r1, [r0, #8] bx lr arm_func_end func_ov61_021618ac .global func_ov61_021618c0 arm_func_start func_ov61_021618c0 func_ov61_021618c0: ; 0x021618c0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x110 mov r5, r0 mov r4, r1 add r0, r5, #8 bl func_ov61_021617b0 bl func_ov61_021665e8 str r0, [r4, #0x1c] mov r0, #2 strb r0, [sp, #9] ldrb r1, [r4, #0x14] tst r1, #0x20 addne sp, sp, #0x110 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [r5] cmp r0, #1 bne _021619c4 mov r2, #0xfe mov r1, #0xfd mov r0, #0 strb r2, [sp, #0x10] strb r1, [sp, #0x11] strb r0, [sp, #0x12] ldrb r2, [r4, #0x1c] ldrb r1, [r4, #0x1d] add r3, sp, #0x13 strb r2, [r3] strb r1, [r3, #1] ldrb r2, [r4, #0x1e] ldrb r1, [r4, #0x1f] strb r2, [r3, #2] strb r1, [r3, #3] ldrb r1, [r4, #0x14] tst r1, #4 beq _021619ac ldr r1, [r5, #0x40] strb r1, [sp, #0x17] ldr r3, [r5, #0x40] cmp r3, #0 ble _02161984 add r2, sp, #0x10 _02161964: add r1, r5, r0 ldrb r1, [r1, #0x2c] add r0, r0, #1 strb r1, [r2, #8] ldr r3, [r5, #0x40] add r2, r2, #1 cmp r0, r3 blt _02161964 _02161984: add r1, sp, #0x10 add r0, r3, #8 mov r2, #0 strb r2, [r1, r0] ldr r0, [r5, #0x40] add r0, r0, #9 strb r2, [r1, r0] ldr r0, [r5, #0x40] add r2, r0, #0xa b _02161a34 _021619ac: mov r0, #0xff strb r0, [sp, #0x17] strb r0, [sp, #0x18] strb r0, [sp, #0x19] mov r2, #0xa b _02161a34 _021619c4: tst r1, #4 add ip, sp, #0x10 beq _02161a08 ldr r3, _02161a98 ; =data_ov61_0217beb4 mov r2, #6 _021619d8: ldrb r1, [r3] ldrb r0, [r3, #1] add r3, r3, #2 strb r1, [ip] strb r0, [ip, #1] add ip, ip, #2 subs r2, r2, #1 bne _021619d8 ldrb r0, [r3] mov r2, #0xd strb r0, [ip] b _02161a34 _02161a08: ldr r3, _02161a9c ; =data_ov61_0217bec4 mov r2, #4 _02161a10: ldrb r1, [r3] ldrb r0, [r3, #1] add r3, r3, #2 strb r1, [ip] strb r0, [ip, #1] add ip, ip, #2 subs r2, r2, #1 bne _02161a10 mov r2, #8 _02161a34: ldr r1, [r4] ldr r0, [r5, #0x28] cmp r1, r0 bne _02161a64 ldrb r0, [r4, #0x15] tst r0, #2 beq _02161a64 ldr r0, [r4, #8] str r0, [sp, #0xc] ldrh r0, [r4, #0xc] strh r0, [sp, #0xa] b _02161a70 _02161a64: str r1, [sp, #0xc] ldrh r0, [r4, #4] strh r0, [sp, #0xa] _02161a70: add r1, sp, #8 str r1, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, [r5, #0x20] add r1, sp, #0x10 mov r3, #0 bl func_ov61_02166c04 add sp, sp, #0x110 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021618c0 _02161a98: .word data_ov61_0217beb4 _02161a9c: .word data_ov61_0217bec4 .global func_ov61_02161aa0 arm_func_start func_ov61_02161aa0 func_ov61_02161aa0: ; 0x02161aa0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 cmp r3, #0 bne _02161ac8 ldr r0, _02161b10 ; =data_ov61_02181024 ldr r0, [r0] cmp r0, #1 ldmneia sp!, {r4, r5, r6, pc} _02161ac8: bl func_ov61_0216664c stmia r6, {r4, r5} mov r2, #0 ldr r3, [sp, #0x10] str r2, [r6, #0x40] ldr r1, [sp, #0x14] str r3, [r6, #0x44] str r1, [r6, #0x48] mov r0, #2 mov r1, r0 str r2, [r6, #0x28] bl func_ov61_02166a84 str r0, [r6, #0x20] add r0, r6, #0x14 bl func_ov61_021618ac add r0, r6, #8 bl func_ov61_021618ac ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02161aa0 _02161b10: .word data_ov61_02181024 .global func_ov61_02161b14 arm_func_start func_ov61_02161b14 func_ov61_02161b14: ; 0x02161b14 str r1, [r0, #0x28] bx lr arm_func_end func_ov61_02161b14 .global func_ov61_02161b1c arm_func_start func_ov61_02161b1c func_ov61_02161b1c: ; 0x02161b1c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x14 bl func_ov61_021618ac add r0, r4, #8 bl func_ov61_021618ac ldmia sp!, {r4, pc} arm_func_end func_ov61_02161b1c .global func_ov61_02161b38 arm_func_start func_ov61_02161b38 func_ov61_02161b38: ; 0x02161b38 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x20] bl func_ov61_02166a98 mvn r1, #0 add r0, r4, #0x14 str r1, [r4, #0x20] bl func_ov61_021618ac add r0, r4, #8 bl func_ov61_021618ac ldmia sp!, {r4, pc} arm_func_end func_ov61_02161b38 .global func_ov61_02161b64 arm_func_start func_ov61_02161b64 func_ov61_02161b64: ; 0x02161b64 stmdb sp!, {r3, lr} ldrb ip, [r1, #0x14] cmp r3, #0 and ip, ip, #0xc3 strb ip, [r1, #0x14] bne _02161b8c ldrb r3, [r1, #0x14] orr r3, r3, #4 strb r3, [r1, #0x14] b _02161bac _02161b8c: cmp r3, #1 bne _02161ba4 ldrb r3, [r1, #0x14] orr r3, r3, #8 strb r3, [r1, #0x14] b _02161bac _02161ba4: cmp r3, #2 ldmeqia sp!, {r3, pc} _02161bac: ldr ip, [r0, #0x10] ldr r3, [r0, #4] cmp ip, r3 bge _02161bc4 bl func_ov61_021618c0 ldmia sp!, {r3, pc} _02161bc4: cmp r2, #0 add r0, r0, #0x14 beq _02161bd8 bl func_ov61_021617e4 ldmia sp!, {r3, pc} _02161bd8: bl func_ov61_021617b0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02161b64 .global func_ov61_02161be0 arm_func_start func_ov61_02161be0 func_ov61_02161be0: ; 0x02161be0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r8, r2 ldrsb r2, [r8] mov sl, r0 mov sb, r1 mov r7, r3 cmp r2, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldrb r0, [sb, #0x14] add r8, r8, #5 sub r7, r7, #5 tst r0, #4 beq _02161c7c ldr r0, [sl, #0x40] mov r6, #0 cmp r0, #0 ble _02161c6c ldr r4, _02161cdc ; =data_ov61_0217e4e8 _02161c28: mov r0, r8 mov r1, r7 bl func_ov61_02163490 movs r5, r0 bmi _02161c6c add r0, sl, r6 ldrb r1, [r0, #0x2c] mov r0, sb mov r2, r8 ldr r1, [r4, r1, lsl #2] bl func_ov61_0216218c ldr r0, [sl, #0x40] add r6, r6, #1 cmp r6, r0 add r8, r8, r5 sub r7, r7, r5 blt _02161c28 _02161c6c: ldrb r0, [sb, #0x14] orr r0, r0, #0x41 strb r0, [sb, #0x14] b _02161c98 _02161c7c: mov r0, sb mov r1, r8 mov r2, r7 bl func_ov61_02162500 ldrb r0, [sb, #0x14] orr r0, r0, #0x43 strb r0, [sb, #0x14] _02161c98: ldrb r0, [sb, #0x14] and r0, r0, #0xf3 strb r0, [sb, #0x14] bl func_ov61_021665e8 ldr r2, [sb, #0x1c] mov r1, sb sub r0, r0, r2 str r0, [sb, #0x1c] add r0, sl, #8 bl func_ov61_02161840 ldr r3, [sl, #0x48] ldr r4, [sl, #0x44] mov r0, sl mov r2, sb mov r1, #0 blx r4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02161be0 _02161cdc: .word data_ov61_0217e4e8 .global func_ov61_02161ce0 arm_func_start func_ov61_02161ce0 func_ov61_02161ce0: ; 0x02161ce0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r1 mov r7, r2 mov r5, r0 ldr r1, _02161d74 ; =data_ov61_0217bed0 mov r0, r7 bl func_020472f0 cmp r0, #0 movne r6, #1 moveq r6, #0 mov r0, r4 mov r1, r7 bl func_ov61_02162480 cmp r6, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldrb r0, [r4, #0x14] tst r0, #4 orrne r0, r0, #0x41 orreq r0, r0, #0x42 strb r0, [r4, #0x14] ldrb r0, [r4, #0x14] and r0, r0, #0xf3 strb r0, [r4, #0x14] bl func_ov61_021665e8 ldr r2, [r4, #0x1c] mov r1, r4 sub r0, r0, r2 str r0, [r4, #0x1c] add r0, r5, #8 bl func_ov61_02161840 ldr r3, [r5, #0x48] ldr ip, [r5, #0x44] mov r0, r5 mov r2, r4 mov r1, #0 blx ip ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02161ce0 _02161d74: .word data_ov61_0217bed0 .global func_ov61_02161d78 arm_func_start func_ov61_02161d78 func_ov61_02161d78: ; 0x02161d78 mov r0, #1 bx lr arm_func_end func_ov61_02161d78 .global func_ov61_02161d80 arm_func_start func_ov61_02161d80 func_ov61_02161d80: ; 0x02161d80 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x14 sub sp, sp, #0x800 movs r8, r1 mov r1, #8 mov sb, r0 str r1, [sp, #8] ldrne r7, [sb, #0x24] ldreq r7, [sb, #0x20] mov r0, r7 bl func_ov61_02166914 cmp r0, #0 addeq sp, sp, #0x14 addeq sp, sp, #0x800 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} _02161dbc: add r0, sp, #0xc str r0, [sp] add r4, sp, #8 ldr r2, _02161f10 ; =0x000007ff add r1, sp, #0x14 mov r0, r7 mov r3, #0 str r4, [sp, #4] bl func_ov61_02166bc0 mov r5, r0 mvn r0, #0 cmp r5, r0 addeq sp, sp, #0x14 addeq sp, sp, #0x800 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} add r4, sp, #0x14 mov r0, #0 strb r0, [r4, r5] ldr r6, [sb, #8] cmp r6, #0 beq _02161ef4 _02161e10: cmp r8, #0 beq _02161e34 ldrb r0, [r6, #0x15] tst r0, #8 beq _02161e34 ldr r1, [r6, #0x10] ldr r0, [sp, #0x10] cmp r1, r0 beq _02161e8c _02161e34: ldr r3, [sp, #0x10] ldr r2, [r6] cmp r2, r3 bne _02161e5c ldrh r1, [r6, #4] ldrh r0, [sp, #0xe] cmp r1, r0 beq _02161e8c cmp r8, #0 bne _02161e8c _02161e5c: ldr r0, [sb, #0x28] cmp r2, r0 bne _02161ee8 ldrb r0, [r6, #0x15] tst r0, #2 beq _02161ee8 ldr r0, [r6, #8] cmp r0, r3 ldreqh r1, [r6, #0xc] ldreqh r0, [sp, #0xe] cmpeq r1, r0 bne _02161ee8 _02161e8c: cmp r8, #0 beq _02161eb4 mov r0, sb mov r1, r6 mov r2, r4 mov r3, r5 bl func_ov61_02161d78 cmp r0, #0 bne _02161ef4 b _02161ee8 _02161eb4: ldr r0, [sb] add r2, sp, #0x14 cmp r0, #1 mov r0, sb bne _02161ed8 mov r1, r6 mov r3, r5 bl func_ov61_02161be0 b _02161ef4 _02161ed8: mov r1, r6 mov r3, r5 bl func_ov61_02161ce0 b _02161ef4 _02161ee8: ldr r6, [r6, #0x20] cmp r6, #0 bne _02161e10 _02161ef4: mov r0, r7 bl func_ov61_02166914 cmp r0, #0 bne _02161dbc add sp, sp, #0x14 add sp, sp, #0x800 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02161d80 _02161f10: .word 0x000007ff .global func_ov61_02161f14 arm_func_start func_ov61_02161f14 func_ov61_02161f14: ; 0x02161f14 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r6, r0 bl func_ov61_021665e8 ldr r3, [r6, #8] mov r5, r0 cmp r3, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r4, _02161fa0 ; =0x000009c4 mov r7, #1 _02161f38: ldr r0, [r3, #0x1c] add r0, r0, #0x1c4 add r0, r0, #0x800 cmp r5, r0 ldmlsia sp!, {r3, r4, r5, r6, r7, pc} ldrb r2, [r3, #0x15] mov r0, r6 mov r1, r7 orr r2, r2, #0x10 strb r2, [r3, #0x15] ldr r2, [r6, #8] str r4, [r2, #0x1c] ldr r3, [r6, #8] ldrb r2, [r3, #0x15] and r2, r2, #0xd3 strb r2, [r3, #0x15] ldr r2, [r6, #8] ldr r3, [r6, #0x48] ldr ip, [r6, #0x44] blx ip add r0, r6, #8 bl func_ov61_0216180c ldr r3, [r6, #8] cmp r3, #0 bne _02161f38 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02161f14 _02161fa0: .word 0x000009c4 .global func_ov61_02161fa4 arm_func_start func_ov61_02161fa4 func_ov61_02161fa4: ; 0x02161fa4 stmdb sp!, {r4, lr} mov r4, r0 b _02161fc4 _02161fb0: add r0, r4, #0x14 bl func_ov61_0216180c mov r1, r0 mov r0, r4 bl func_ov61_021618c0 _02161fc4: ldr r1, [r4, #0x10] ldr r0, [r4, #4] cmp r1, r0 ldmgeia sp!, {r4, pc} ldr r0, [r4, #0x1c] cmp r0, #0 bgt _02161fb0 ldmia sp!, {r4, pc} arm_func_end func_ov61_02161fa4 .global func_ov61_02161fe4 arm_func_start func_ov61_02161fe4 func_ov61_02161fe4: ; 0x02161fe4 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x10] cmp r1, #0 ldmeqia sp!, {r4, pc} mov r1, #0 bl func_ov61_02161d80 mov r0, r4 bl func_ov61_02161f14 ldr r0, [r4, #0x1c] cmp r0, #0 ble _0216201c mov r0, r4 bl func_ov61_02161fa4 _0216201c: ldr r0, [r4, #0x10] cmp r0, #0 ldmneia sp!, {r4, pc} ldr r3, [r4, #0x48] ldr ip, [r4, #0x44] mov r0, r4 mov r1, #2 mov r2, #0 blx ip ldmia sp!, {r4, pc} arm_func_end func_ov61_02161fe4 .global func_ov61_02162044 arm_func_start func_ov61_02162044 func_ov61_02162044: ; 0x02162044 ldr r3, [r0, #0x40] cmp r3, #0x14 bxge lr add r2, r3, #1 str r2, [r0, #0x40] add r0, r0, r3 strb r1, [r0, #0x2c] bx lr arm_func_end func_ov61_02162044 .global func_ov61_02162064 arm_func_start func_ov61_02162064 func_ov61_02162064: ; 0x02162064 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 add r0, r5, #8 mov r4, r1 bl func_ov61_02161840 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r1, r4 add r0, r5, #0x14 bl func_ov61_02161840 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02162064 .global func_ov61_02162090 arm_func_start func_ov61_02162090 func_ov61_02162090: ; 0x02162090 ldr ip, _0216209c ; =func_ov61_021626d8 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov61_02162090 _0216209c: .word func_ov61_021626d8 .global func_ov61_021620a0 arm_func_start func_ov61_021620a0 func_ov61_021620a0: ; 0x021620a0 ldr ip, _021620b0 ; =func_0204de94 ldr r0, [r0] ldr r1, [r1] bx ip .align 2, 0 arm_func_end func_ov61_021620a0 _021620b0: .word func_0204de94 .global func_ov61_021620b4 arm_func_start func_ov61_021620b4 func_ov61_021620b4: ; 0x021620b4 ldr ip, _021620c0 ; =func_ov61_0213e13c ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov61_021620b4 _021620c0: .word func_ov61_0213e13c .global func_ov61_021620c4 arm_func_start func_ov61_021620c4 func_ov61_021620c4: ; 0x021620c4 stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r0, _02162118 ; =data_ov61_02181010 ldr r0, [r0, #8] cmp r0, #0 bne _02162108 ldr r0, _0216211c ; =func_ov61_021620a0 ldr ip, _02162120 ; =func_ov61_021620b4 str r0, [sp] ldr r3, _02162124 ; =func_ov61_02162090 mov r0, #8 mov r1, #0x64 mov r2, #2 str ip, [sp, #4] bl func_ov61_02166064 ldr r1, _02162118 ; =data_ov61_02181010 str r0, [r1, #8] _02162108: ldr r0, _02162118 ; =data_ov61_02181010 ldr r0, [r0, #8] add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021620c4 _02162118: .word data_ov61_02181010 _0216211c: .word func_ov61_021620a0 _02162120: .word func_ov61_021620b4 _02162124: .word func_ov61_02162090 .global func_ov61_02162128 arm_func_start func_ov61_02162128 func_ov61_02162128: ; 0x02162128 stmdb sp!, {r3, lr} ldr r0, _02162164 ; =data_ov61_02181010 ldr r0, [r0, #8] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_02166218 cmp r0, #0 ldmneia sp!, {r3, pc} ldr r0, _02162164 ; =data_ov61_02181010 ldr r0, [r0, #8] bl func_ov61_021661a4 ldr r0, _02162164 ; =data_ov61_02181010 mov r1, #0 str r1, [r0, #8] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02162128 _02162164: .word data_ov61_02181010 .global func_ov61_02162168 arm_func_start func_ov61_02162168 func_ov61_02162168: ; 0x02162168 stmdb sp!, {r4, lr} ldr r4, [r0] ldr r0, [r4, #0x18] bl func_ov61_021661a4 mov r1, #0 mov r0, r4 str r1, [r4, #0x18] bl func_ov61_0213e13c ldmia sp!, {r4, pc} arm_func_end func_ov61_02162168 .global func_ov61_0216218c arm_func_start func_ov61_0216218c func_ov61_0216218c: ; 0x0216218c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 mov r4, r2 mov r0, #0 bl func_ov61_021633a4 str r0, [sp] mov r1, r4 mov r0, #0 bl func_ov61_021633a4 str r0, [sp, #4] ldr r0, [r5, #0x18] add r1, sp, #0 bl func_ov61_0216628c add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0216218c .global func_ov61_021621cc arm_func_start func_ov61_021621cc func_ov61_021621cc: ; 0x021621cc stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r4, r1 mov r5, r0 ldr r1, _02162200 ; =data_ov61_0217bf00 add r0, sp, #0 bl func_020459b8 add r2, sp, #0 mov r0, r5 mov r1, r4 bl func_ov61_0216218c add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021621cc _02162200: .word data_ov61_0217bf00 .global func_ov61_02162204 arm_func_start func_ov61_02162204 func_ov61_02162204: ; 0x02162204 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 movs r6, r0 mov r5, r1 mov r4, r2 bne _02162230 ldr r0, _02162264 ; =data_ov61_0217bf04 ldr r1, _02162268 ; =data_ov61_0217bf0c ldr r2, _0216226c ; =data_ov61_0217bee8 mov r3, #0x97 bl func_02042f80 _02162230: cmp r6, #0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} str r5, [sp] ldr r0, [r6, #0x18] add r1, sp, #0 bl func_ov61_021663d8 cmp r0, #0 ldrne r4, [r0, #4] mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02162204 _02162264: .word data_ov61_0217bf04 _02162268: .word data_ov61_0217bf0c _0216226c: .word data_ov61_0217bee8 .global func_ov61_02162270 arm_func_start func_ov61_02162270 func_ov61_02162270: ; 0x02162270 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mov r6, r0 ldr r1, _021622f8 ; =data_ov61_0217bf18 mov r0, r5 mov r4, r2 bl func_0204716c cmp r0, #0 mov r0, r6 bne _021622a0 bl func_ov61_02162778 ldmia sp!, {r4, r5, r6, pc} _021622a0: mov r1, r5 mov r2, #0 bl func_ov61_02162204 cmp r0, #0 beq _021622e8 ldrb r2, [r0] cmp r2, #0 blt _021622c8 cmp r2, #0x80 blt _021622d0 _021622c8: mov r1, #0 b _021622e0 _021622d0: ldr r1, _021622fc ; =data_02056d98 mov r2, r2, lsl #0x1 ldrh r1, [r1, r2] and r1, r1, #8 _021622e0: cmp r1, #0 bne _021622f0 _021622e8: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} _021622f0: bl func_0204902c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02162270 _021622f8: .word data_ov61_0217bf18 _021622fc: .word data_02056d98 .global func_ov61_02162300 arm_func_start func_ov61_02162300 func_ov61_02162300: ; 0x02162300 stmdb sp!, {r3, r4, r5, lr} mov r5, r2 mov r2, #0 mov r4, r3 bl func_ov61_02162204 cmp r0, #0 beq _02162328 bl func_02048688 mov r5, r0 mov r4, r1 _02162328: mov r0, r5 mov r1, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02162300 .global func_ov61_02162334 arm_func_start func_ov61_02162334 func_ov61_02162334: ; 0x02162334 ldr r0, [r0] bx lr arm_func_end func_ov61_02162334 .global func_ov61_0216233c arm_func_start func_ov61_0216233c func_ov61_0216233c: ; 0x0216233c ldrh r0, [r0, #4] mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx lr arm_func_end func_ov61_0216233c .global func_ov61_02162360 arm_func_start func_ov61_02162360 func_ov61_02162360: ; 0x02162360 ldrh r0, [r0, #4] bx lr arm_func_end func_ov61_02162360 .global func_ov61_02162368 arm_func_start func_ov61_02162368 func_ov61_02162368: ; 0x02162368 ldrb r0, [r0, #0x15] and r0, r0, #2 cmp r0, #2 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov61_02162368 .global func_ov61_02162380 arm_func_start func_ov61_02162380 func_ov61_02162380: ; 0x02162380 ldr r0, [r0, #8] bx lr arm_func_end func_ov61_02162380 .global func_ov61_02162388 arm_func_start func_ov61_02162388 func_ov61_02162388: ; 0x02162388 ldrh r0, [r0, #0xc] mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bx lr arm_func_end func_ov61_02162388 .global func_ov61_021623ac arm_func_start func_ov61_021623ac func_ov61_021623ac: ; 0x021623ac str r1, [r0, #0x20] bx lr arm_func_end func_ov61_021623ac .global func_ov61_021623b4 arm_func_start func_ov61_021623b4 func_ov61_021623b4: ; 0x021623b4 ldr r0, [r0, #0x20] bx lr arm_func_end func_ov61_021623b4 .global func_ov61_021623bc arm_func_start func_ov61_021623bc func_ov61_021623bc: ; 0x021623bc stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 ldr r1, _02162418 ; =data_ov61_0217a334 add r4, sp, #0 ldr r2, [r1] ldr r1, [r1, #4] mov r6, r0 str r2, [sp] str r1, [sp, #4] mov r5, #0 _021623e4: ldr r1, [r4, r5, lsl #2] mov r0, r6 bl func_0204716c cmp r0, #0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} add r5, r5, #1 cmp r5, #2 blo _021623e4 mov r0, #1 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021623bc _02162418: .word data_ov61_0217a334 .global func_ov61_0216241c arm_func_start func_ov61_0216241c func_ov61_0216241c: ; 0x0216241c cmp r0, #0 ldrne r2, _0216247c ; =data_ov61_02181010 strne r0, [r2] ldr r2, _0216247c ; =data_ov61_02181010 ldr r0, [r2] mov ip, r0 b _02162440 _02162438: add ip, ip, #1 str ip, [r2] _02162440: ldrsb r3, [ip] cmp r3, #0 cmpne r3, r1 bne _02162438 cmp ip, r0 moveq r0, #0 cmp r3, #0 bxeq lr ldr r1, _0216247c ; =data_ov61_02181010 mov r2, #0 ldr r3, [r1] strb r2, [ip] add r2, r3, #1 str r2, [r1] bx lr .align 2, 0 arm_func_end func_ov61_0216241c _0216247c: .word data_ov61_02181010 .global func_ov61_02162480 arm_func_start func_ov61_02162480 func_ov61_02162480: ; 0x02162480 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 add r0, r1, #1 mov r1, #0x5c bl func_ov61_0216241c movs r8, r0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r4, #0 mov fp, #0x5c ldr r5, _021624fc ; =data_ov61_0217bf20 mov r7, r4 mov r6, fp _021624b0: mov r0, r7 mov r1, r6 bl func_ov61_0216241c movs sb, r0 mov r0, r8 moveq sb, r5 bl func_ov61_021623bc cmp r0, #0 beq _021624e4 mov r0, sl mov r1, r8 mov r2, sb bl func_ov61_0216218c _021624e4: mov r0, r4 mov r1, fp bl func_ov61_0216241c movs r8, r0 bne _021624b0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02162480 _021624fc: .word data_ov61_0217bf20 .global func_ov61_02162500 arm_func_start func_ov61_02162500 func_ov61_02162500: ; 0x02162500 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x8c mov sl, r1 ldrsb r1, [sl] mov fp, r0 mov sb, r2 cmp r1, #0 beq _02162580 _02162520: mov r0, sl mov r1, sb bl func_ov61_02163490 cmp r0, #0 addlt sp, sp, #0x8c ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r4, sl sub sb, sb, r0 add sl, sl, r0 mov r0, sl mov r1, sb bl func_ov61_02163490 cmp r0, #0 addlt sp, sp, #0x8c ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r2, sl mov r1, r4 add sl, sl, r0 sub sb, sb, r0 mov r0, fp bl func_ov61_0216218c ldrsb r0, [sl] cmp r0, #0 bne _02162520 _02162580: mov r0, #0 add sl, sl, #1 sub sb, sb, #1 str r0, [sp] _02162590: cmp sb, #2 addlt sp, sp, #0x8c ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r1, [sl] ldrb r0, [sl, #1] add r2, sp, #8 add sl, sl, #2 strb r1, [r2] strb r0, [r2, #1] ldrh r0, [sp, #8] str sl, [sp, #4] sub sb, sb, #2 mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 strh r0, [sp, #8] ldrsb r0, [sl] mov r5, #0 cmp r0, #0 beq _02162620 _021625e8: mov r0, sl mov r1, sb bl func_ov61_02163490 cmp r0, #0 addlt sp, sp, #0x8c ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r0, #0x64 addgt sp, sp, #0x8c ldmgtia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrsb r1, [sl, r0]! add r5, r5, #1 sub sb, sb, r0 cmp r1, #0 bne _021625e8 _02162620: ldrh r0, [sp, #8] add sl, sl, #1 sub sb, sb, #1 cmp r0, #0 mov r6, #0 ble _021626b8 _02162638: ldr r8, [sp, #4] mov r7, #0 cmp r5, #0 ble _021626a8 _02162648: mov r0, sl mov r1, sb bl func_ov61_02163490 movs r4, r0 addmi sp, sp, #0x8c ldmmiia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _021626d4 ; =data_ov61_0217bf24 add r0, sp, #0xa mov r2, r8 mov r3, r6 bl func_020459b8 mov r0, fp add r1, sp, #0xa mov r2, sl bl func_ov61_0216218c mov r0, r8 add sl, sl, r4 sub sb, sb, r4 bl func_02047008 add r0, r0, #1 add r7, r7, #1 add r8, r8, r0 cmp r7, r5 blt _02162648 _021626a8: ldrh r0, [sp, #8] add r6, r6, #1 cmp r6, r0 blt _02162638 _021626b8: ldr r0, [sp] add r0, r0, #1 str r0, [sp] cmp r0, #2 blt _02162590 add sp, sp, #0x8c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02162500 _021626d4: .word data_ov61_0217bf24 .global func_ov61_021626d8 arm_func_start func_ov61_021626d8 func_ov61_021626d8: ; 0x021626d8 stmdb sp!, {r3, lr} ldrsb lr, [r0] mov ip, #0 cmp lr, #0 beq _02162718 ldr r3, _02162728 ; =data_02056c98 ldr r2, _0216272c ; =0x9ccf9319 _021626f4: cmp lr, #0 blt _02162708 cmp lr, #0x80 bge _02162708 ldrb lr, [r3, lr] _02162708: mla ip, r2, ip, lr ldrsb lr, [r0, #1]! cmp lr, #0 bne _021626f4 _02162718: mov r0, ip bl FastDivide mov r0, r1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021626d8 _02162728: .word data_02056c98 _0216272c: .word 0x9ccf9319 .global func_ov61_02162730 arm_func_start func_ov61_02162730 func_ov61_02162730: ; 0x02162730 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4] mov r0, #0 bl func_ov61_02163414 ldr r1, [r4, #4] mov r0, #0 bl func_ov61_02163414 ldmia sp!, {r4, pc} arm_func_end func_ov61_02162730 .global func_ov61_02162754 arm_func_start func_ov61_02162754 func_ov61_02162754: ; 0x02162754 ldr ip, _02162760 ; =func_ov61_021626d8 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov61_02162754 _02162760: .word func_ov61_021626d8 .global func_ov61_02162764 arm_func_start func_ov61_02162764 func_ov61_02162764: ; 0x02162764 ldr ip, _02162774 ; =func_0204de94 ldr r0, [r0] ldr r1, [r1] bx ip .align 2, 0 arm_func_end func_ov61_02162764 _02162774: .word func_0204de94 .global func_ov61_02162778 arm_func_start func_ov61_02162778 func_ov61_02162778: ; 0x02162778 ldr r0, [r0, #0x1c] bx lr arm_func_end func_ov61_02162778 .global func_ov61_02162780 arm_func_start func_ov61_02162780 func_ov61_02162780: ; 0x02162780 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r0, #0x24 mov r6, r1 mov r5, r2 bl func_ov61_0213e10c movs r4, r0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, _02162820 ; =func_ov61_02162764 ldr ip, _02162824 ; =func_ov61_02162730 str r1, [sp] mov r0, #8 ldr r3, _02162828 ; =func_ov61_02162754 mov r1, r0 mov r2, #4 str ip, [sp, #4] bl func_ov61_02166064 str r0, [r4, #0x18] cmp r0, #0 bne _021627ec mov r0, r4 bl func_ov61_0213e13c add sp, sp, #8 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _021627ec: mov r1, #0 strb r1, [r4, #0x14] strb r1, [r4, #0x15] str r1, [r4, #0x20] str r1, [r4, #0x1c] str r1, [r4, #0x10] str r6, [r4] strh r5, [r4, #4] str r1, [r4, #8] mov r0, r4 strh r1, [r4, #0xc] add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02162780 _02162820: .word func_ov61_02162764 _02162824: .word func_ov61_02162730 _02162828: .word func_ov61_02162754 .global func_ov61_0216282c arm_func_start func_ov61_0216282c func_ov61_0216282c: ; 0x0216282c strb r1, [r0, #0x15] bx lr arm_func_end func_ov61_0216282c .global func_ov61_02162834 arm_func_start func_ov61_02162834 func_ov61_02162834: ; 0x02162834 str r1, [r0, #8] strh r2, [r0, #0xc] bx lr arm_func_end func_ov61_02162834 .global func_ov61_02162840 arm_func_start func_ov61_02162840 func_ov61_02162840: ; 0x02162840 str r1, [r0, #0x10] bx lr arm_func_end func_ov61_02162840 .global func_ov61_02162848 arm_func_start func_ov61_02162848 func_ov61_02162848: ; 0x02162848 strb r1, [r0, #0x14] bx lr arm_func_end func_ov61_02162848 .global func_ov61_02162850 arm_func_start func_ov61_02162850 func_ov61_02162850: ; 0x02162850 ldrb r0, [r0, #0x14] bx lr arm_func_end func_ov61_02162850 .global func_ov61_02162858 arm_func_start func_ov61_02162858 func_ov61_02162858: ; 0x02162858 ldr r1, _02162870 ; =data_ov61_02181010 ldr r1, [r1, #4] cmp r0, r1 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_02162858 _02162870: .word data_ov61_02181010 .global func_ov61_02162874 arm_func_start func_ov61_02162874 func_ov61_02162874: ; 0x02162874 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r2 mov r4, r3 cmp r1, #6 addls pc, pc, r1, lsl #2 b _021629f8 _02162890: ; jump table b _021628ac ; case 0 b _02162924 ; case 1 b _02162958 ; case 2 b _0216298c ; case 3 b _021629f8 ; case 4 b _021629d0 ; case 5 b _021629ec ; case 6 _021628ac: ldr r3, [r4, #0x634] ldr ip, [r4, #0x630] mov r0, r4 mov r1, #0 blx ip ldrb r0, [r5, #0x14] tst r0, #3 beq _021628d4 tst r0, #0x40 bne _021629f8 _021628d4: tst r0, #0x2c ldreq r0, [r4, #0x624] cmpeq r0, #0 bne _021629f8 ldrb r0, [r5, #0x15] tst r0, #1 beq _0216290c ldr r0, [r4, #0x4c] cmp r0, #0 ldrne r0, [r4, #0x40] cmpne r0, #0 moveq r3, #1 movne r3, #0 b _02162910 _0216290c: mov r3, #2 _02162910: mov r0, r4 mov r1, r5 mov r2, #0 bl func_ov61_02161b64 b _021629f8 _02162924: ldrb r0, [r5, #0x14] ldr r3, [r4, #0x634] ldr ip, [r4, #0x630] tst r0, #0x43 bne _02162948 mov r0, r4 mov r1, #2 blx ip b _021629f8 _02162948: mov r0, r4 mov r1, #1 blx ip b _021629f8 _02162958: ldrb r0, [r5, #0x14] tst r0, #0x2c beq _02162970 mov r0, r4 mov r1, r5 bl func_ov61_02162064 _02162970: ldr r3, [r4, #0x634] ldr ip, [r4, #0x630] mov r0, r4 mov r2, r5 mov r1, #3 blx ip b _021629f8 _0216298c: ldr r1, [r4, #0x620] cmp r1, #0 beq _0216299c bl func_ov61_02163dc4 _0216299c: ldr r0, [r6, #4] bl func_ov61_02165a68 cmp r0, #0 ldrne r0, [r4, #0x10] cmpne r0, #0 bne _021629f8 ldr r3, [r4, #0x634] ldr ip, [r4, #0x630] mov r0, r4 mov r1, #4 mov r2, #0 blx ip b _021629f8 _021629d0: ldr r3, [r4, #0x634] ldr ip, [r4, #0x630] mov r0, r4 mov r1, #5 mov r2, #0 blx ip b _021629f8 _021629ec: ldr r1, [r4, #0x4ec] mov r0, r4 bl func_ov61_02161b14 _021629f8: cmp r5, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, [r5] ldr r0, [r4, #0x628] cmp r1, r0 ldmneia sp!, {r4, r5, r6, pc} add r0, r4, #0x600 ldrh r1, [r5, #4] ldrh r0, [r0, #0x2c] cmp r1, r0 moveq r0, #0 streq r0, [r4, #0x628] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02162874 .global func_ov61_02162a2c arm_func_start func_ov61_02162a2c func_ov61_02162a2c: ; 0x02162a2c stmdb sp!, {r3, r4, r5, lr} mov r5, r2 mov r4, r3 cmp r1, #0 beq _02162a6c cmp r1, #1 beq _02162a54 cmp r1, #2 beq _02162a84 b _02162a98 _02162a54: ldr r3, [r4, #0x634] ldr ip, [r4, #0x630] mov r0, r4 mov r1, #2 blx ip b _02162a98 _02162a6c: ldr r3, [r4, #0x634] ldr ip, [r4, #0x630] mov r0, r4 mov r1, #1 blx ip b _02162a98 _02162a84: ldr r3, [r4, #0x634] ldr ip, [r4, #0x630] mov r0, r4 mov r1, #4 blx ip _02162a98: cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r5] ldr r0, [r4, #0x628] cmp r1, r0 ldmneia sp!, {r3, r4, r5, pc} add r0, r4, #0x600 ldrh r1, [r5, #4] ldrh r0, [r0, #0x2c] cmp r1, r0 moveq r0, #0 streq r0, [r4, #0x628] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02162a2c .global func_ov61_02162acc arm_func_start func_ov61_02162acc func_ov61_02162acc: ; 0x02162acc stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 ldr r4, [sp, #0x30] mov r8, r0 mov r7, r1 mov r6, r2 mov r5, r3 cmp r4, #0 bne _02162b08 ldr r0, _02162b90 ; =data_ov61_02181024 ldr r0, [r0] cmp r0, #1 addne sp, sp, #0x10 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _02162b08: ldr r0, _02162b94 ; =0x00000638 bl func_ov61_0213e10c movs r4, r0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, [sp, #0x34] ldr r0, [sp, #0x38] str r1, [r4, #0x630] str r0, [r4, #0x634] mov r0, #0 str r0, [r4, #0x624] ldr r1, [sp, #0x30] str r5, [sp] ldr r0, _02162b98 ; =func_ov61_02162874 str r1, [sp, #4] str r0, [sp, #8] mov r1, r8 mov r2, r7 mov r3, r6 add r0, r4, #0x4c str r4, [sp, #0xc] bl func_ov61_021634c0 ldr r0, _02162b9c ; =func_ov61_02162a2c ldr r1, [sp, #0x28] str r0, [sp] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] mov r0, r4 str r4, [sp, #4] bl func_ov61_02161aa0 mov r0, r4 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02162acc _02162b90: .word data_ov61_02181024 _02162b94: .word 0x00000638 _02162b98: .word func_ov61_02162874 _02162b9c: .word func_ov61_02162a2c .global func_ov61_02162ba0 arm_func_start func_ov61_02162ba0 func_ov61_02162ba0: ; 0x02162ba0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x4c bl func_ov61_02163e28 mov r0, r4 bl func_ov61_02161b38 mov r0, r4 bl func_ov61_0213e13c ldmia sp!, {r4, pc} arm_func_end func_ov61_02162ba0 .global func_ov61_02162bc4 arm_func_start func_ov61_02162bc4 func_ov61_02162bc4: ; 0x02162bc4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x108 ldr r8, [sp, #0x130] mov sl, r0 str r1, [sp, #4] add r4, sp, #8 mov sb, r3 mov r1, #0x40 mov r0, #0 _02162be8: strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r4, r4, #4 subs r1, r1, #1 bne _02162be8 mov r5, #0 str r2, [sl, #0x620] mov r6, r5 str r5, [sl, #0x40] cmp r8, #0 ble _02162c70 ldr r4, _02162cec ; =data_ov61_0217e4e8 add fp, sp, #8 _02162c24: ldrb r0, [sb, r6] ldr r7, [r4, r0, lsl #2] mov r0, r7 bl func_02047008 add r0, r5, r0 add r0, r0, #1 cmp r0, #0x100 bge _02162c70 ldr r1, _02162cf0 ; =data_ov61_0217bf2c mov r2, r7 add r0, fp, r5 bl func_020459b8 add r5, r5, r0 ldrb r1, [sb, r6] mov r0, sl bl func_ov61_02162044 add r6, r6, #1 cmp r6, r8 blt _02162c24 _02162c70: ldr r4, [sp, #0x13c] ldr r2, [sp, #0x134] ldr r3, [sp, #0x138] add r1, sp, #8 add r0, sl, #0x4c str r4, [sp] bl func_ov61_02163aac cmp r0, #0 addne sp, sp, #0x108 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sp, #4] cmp r1, #0 addne sp, sp, #0x108 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r4, #0xa b _02162cc0 _02162cb0: mov r0, r4 bl func_ov61_02166640 mov r0, sl bl func_ov61_02162df4 _02162cc0: ldr r1, [sl, #0x4c] cmp r1, #3 beq _02162cb0 ldr r1, [sl, #0x10] cmp r1, #0 addle sp, sp, #0x108 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r0, #0 beq _02162cb0 add sp, sp, #0x108 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02162bc4 _02162cec: .word data_ov61_0217e4e8 _02162cf0: .word data_ov61_0217bf2c .global func_ov61_02162cf4 arm_func_start func_ov61_02162cf4 func_ov61_02162cf4: ; 0x02162cf4 stmdb sp!, {r3, lr} sub sp, sp, #0x10 ldr lr, [sp, #0x18] ldr ip, [sp, #0x1c] str lr, [sp] str ip, [sp, #4] mov lr, #0x80 ldr ip, [sp, #0x20] str lr, [sp, #8] str ip, [sp, #0xc] bl func_ov61_02162bc4 add sp, sp, #0x10 ldmia sp!, {r3, pc} arm_func_end func_ov61_02162cf4 .global func_ov61_02162d28 arm_func_start func_ov61_02162d28 func_ov61_02162d28: ; 0x02162d28 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r5, r0 mov r6, r2 mov r0, r1 mov r4, r3 bl func_ov61_02166cc4 mov r3, r6, asr #0x8 mov r2, r6, lsl #0x8 ldr ip, [sp, #0x18] mov r1, r0 str ip, [sp] and r3, r3, #0xff and r0, r2, #0xff00 orr r0, r3, r0 mov r2, r0, lsl #0x10 mov r3, r4 add r0, r5, #0x4c mov r2, r2, lsr #0x10 bl func_ov61_02165198 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02162d28 .global func_ov61_02162d80 arm_func_start func_ov61_02162d80 func_ov61_02162d80: ; 0x02162d80 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r6, r2 mov r0, r1 mov r4, r3 bl func_ov61_02166cc4 mov r3, r6, asr #0x8 mov r2, r6, lsl #0x8 mov r1, r0 and r3, r3, #0xff and r0, r2, #0xff00 orr r0, r3, r0 mov r2, r0, lsl #0x10 mov r3, r4 add r0, r5, #0x4c mov r2, r2, lsr #0x10 bl func_ov61_021652c0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02162d80 .global func_ov61_02162dc8 arm_func_start func_ov61_02162dc8 func_ov61_02162dc8: ; 0x02162dc8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x4c bl func_ov61_02163164 mov r1, r0 mvn r0, #0 cmp r1, r0 ldmeqia sp!, {r4, pc} add r0, r4, #0x4c bl func_ov61_0216325c ldmia sp!, {r4, pc} arm_func_end func_ov61_02162dc8 .global func_ov61_02162df4 arm_func_start func_ov61_02162df4 func_ov61_02162df4: ; 0x02162df4 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02161fe4 add r0, r4, #0x4c bl func_ov61_0216549c ldmia sp!, {r4, pc} arm_func_end func_ov61_02162df4 .global func_ov61_02162e0c arm_func_start func_ov61_02162e0c func_ov61_02162e0c: ; 0x02162e0c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x4c bl func_ov61_02163dc4 mov r0, r4 bl func_ov61_02161b1c ldmia sp!, {r4, pc} arm_func_end func_ov61_02162e0c .global func_ov61_02162e28 arm_func_start func_ov61_02162e28 func_ov61_02162e28: ; 0x02162e28 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02162e0c add r0, r4, #0x4c bl func_ov61_02163324 ldmia sp!, {r4, pc} arm_func_end func_ov61_02162e28 .global func_ov61_02162e40 arm_func_start func_ov61_02162e40 func_ov61_02162e40: ; 0x02162e40 ldr r1, [r0, #0x10] cmp r1, #0 movgt r0, #2 bxgt lr ldr r0, [r0, #0x4c] cmp r0, #3 cmpne r0, #0 moveq r0, #1 bxeq lr cmp r0, #1 moveq r0, #0 movne r0, #3 bx lr arm_func_end func_ov61_02162e40 .global func_ov61_02162e74 arm_func_start func_ov61_02162e74 func_ov61_02162e74: ; 0x02162e74 ldr ip, _02162e80 ; =func_ov61_021632b8 add r0, r0, #0x4c bx ip .align 2, 0 arm_func_end func_ov61_02162e74 _02162e80: .word func_ov61_021632b8 .global func_ov61_02162e84 arm_func_start func_ov61_02162e84 func_ov61_02162e84: ; 0x02162e84 ldr ip, _02162e90 ; =func_ov61_021632a8 add r0, r0, #0x4c bx ip .align 2, 0 arm_func_end func_ov61_02162e84 _02162e90: .word func_ov61_021632a8 .global func_ov61_02162e94 arm_func_start func_ov61_02162e94 func_ov61_02162e94: ; 0x02162e94 ldr ip, _02162ea0 ; =func_ov61_021630b0 add r0, r0, #0x4c bx ip .align 2, 0 arm_func_end func_ov61_02162e94 _02162ea0: .word func_ov61_021630b0 .global func_ov61_02162ea4 arm_func_start func_ov61_02162ea4 func_ov61_02162ea4: ; 0x02162ea4 ldr r0, [r0, #0x4ec] bx lr arm_func_end func_ov61_02162ea4 .global func_ov61_02162eac arm_func_start func_ov61_02162eac func_ov61_02162eac: ; 0x02162eac stmdb sp!, {r3, r4, r5, lr} ldr r2, _02162f04 ; =data_ov61_0218101c ldr r0, [r0] ldr r2, [r2] ldr r5, [r1] ldr r1, [r2, #0x498] mov r2, #0 bl func_ov61_02162270 ldr r1, _02162f04 ; =data_ov61_0218101c mov r4, r0 ldr r1, [r1] mov r0, r5 ldr r1, [r1, #0x498] mov r2, #0 bl func_ov61_02162270 ldr r1, _02162f04 ; =data_ov61_0218101c sub r0, r4, r0 ldr r1, [r1] ldr r1, [r1, #0x49c] cmp r1, #0 rsbeq r0, r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02162eac _02162f04: .word data_ov61_0218101c .global func_ov61_02162f08 arm_func_start func_ov61_02162f08 func_ov61_02162f08: ; 0x02162f08 stmdb sp!, {r4, r5, r6, lr} ldr r3, _02162fdc ; =data_ov61_0218101c mov r2, #0 ldr r3, [r3] ldr r5, [r1] ldr r0, [r0] ldr r1, [r3, #0x498] mov r3, r2 bl func_ov61_02162300 ldr r3, _02162fdc ; =data_ov61_0218101c mov r2, #0 mov r4, r0 ldr r0, [r3] mov r6, r1 ldr r1, [r0, #0x498] mov r0, r5 mov r3, r2 bl func_ov61_02162300 mov r2, r0 mov r3, r1 mov r0, r4 mov r1, r6 bl func_020016e8 ldr r2, _02162fdc ; =data_ov61_0218101c mov r4, r0 ldr r0, [r2] mov r5, r1 ldr r0, [r0, #0x49c] cmp r0, #0 bne _02162f9c mov r0, #0 mov r1, r0 mov r2, r4 mov r3, r5 bl func_020016e8 mov r4, r0 mov r5, r1 _02162f9c: mov r0, r4 mov r1, r5 bl func_02000f78 mov r1, #0 bl func_0200200c movhi r0, #1 ldmhiia sp!, {r4, r5, r6, pc} mov r0, r4 mov r1, r5 bl func_02000f78 mov r1, #0 bl func_02002068 movlo r0, #1 movhs r0, #0 rsb r0, r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02162f08 _02162fdc: .word data_ov61_0218101c .global func_ov61_02162fe0 arm_func_start func_ov61_02162fe0 func_ov61_02162fe0: ; 0x02162fe0 stmdb sp!, {r3, r4, r5, lr} ldr r2, _02163040 ; =data_ov61_0218101c mov r5, r1 ldr r1, [r2] ldr r0, [r0] ldr r1, [r1, #0x498] ldr r2, _02163044 ; =data_ov61_0217bfbc bl func_ov61_02162204 ldr r1, _02163040 ; =data_ov61_0218101c mov r4, r0 ldr r1, [r1] ldr r0, [r5] ldr r1, [r1, #0x498] ldr r2, _02163044 ; =data_ov61_0217bfbc bl func_ov61_02162204 mov r1, r0 mov r0, r4 bl func_0204716c ldr r1, _02163040 ; =data_ov61_0218101c ldr r1, [r1] ldr r1, [r1, #0x49c] cmp r1, #0 rsbeq r0, r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02162fe0 _02163040: .word data_ov61_0218101c _02163044: .word data_ov61_0217bfbc .global func_ov61_02163048 arm_func_start func_ov61_02163048 func_ov61_02163048: ; 0x02163048 stmdb sp!, {r3, r4, r5, lr} ldr r2, _021630a8 ; =data_ov61_0218101c mov r5, r1 ldr r1, [r2] ldr r0, [r0] ldr r1, [r1, #0x498] ldr r2, _021630ac ; =data_ov61_0217bfbc bl func_ov61_02162204 ldr r1, _021630a8 ; =data_ov61_0218101c mov r4, r0 ldr r1, [r1] ldr r0, [r5] ldr r1, [r1, #0x498] ldr r2, _021630ac ; =data_ov61_0217bfbc bl func_ov61_02162204 mov r1, r0 mov r0, r4 bl func_0204de94 ldr r1, _021630a8 ; =data_ov61_0218101c ldr r1, [r1] ldr r1, [r1, #0x49c] cmp r1, #0 rsbeq r0, r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02163048 _021630a8: .word data_ov61_0218101c _021630ac: .word data_ov61_0217bfbc .global func_ov61_021630b0 arm_func_start func_ov61_021630b0 func_ov61_021630b0: ; 0x021630b0 cmp r3, #3 addls pc, pc, r3, lsl #2 b _021630ec _021630bc: ; jump table b _021630cc ; case 0 b _021630d4 ; case 1 b _021630dc ; case 2 b _021630e4 ; case 3 _021630cc: ldr r3, _02163110 ; =func_ov61_02162eac b _021630f0 _021630d4: ldr r3, _02163114 ; =func_ov61_02162f08 b _021630f0 _021630dc: ldr r3, _02163118 ; =func_ov61_02162fe0 b _021630f0 _021630e4: ldr r3, _0216311c ; =func_ov61_02163048 b _021630f0 _021630ec: ldr r3, _0216311c ; =func_ov61_02163048 _021630f0: str r2, [r0, #0x498] str r1, [r0, #0x49c] ldr r2, _02163120 ; =data_ov61_0218101c ldr ip, _02163124 ; =func_ov61_02165da4 str r0, [r2] mov r1, r3 ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov61_021630b0 _02163110: .word func_ov61_02162eac _02163114: .word func_ov61_02162f08 _02163118: .word func_ov61_02162fe0 _0216311c: .word func_ov61_02163048 _02163120: .word data_ov61_0218101c _02163124: .word func_ov61_02165da4 .global func_ov61_02163128 arm_func_start func_ov61_02163128 func_ov61_02163128: ; 0x02163128 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #4] add r1, sp, #0xc bl func_ov61_02165ad8 ldr r2, [sp, #0xc] ldr r3, [r4, #0x494] ldr ip, [r4, #0x488] mov r0, r4 mov r1, #0 blx ip ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_02163128 .global func_ov61_02163164 arm_func_start func_ov61_02163164 func_ov61_02163164: ; 0x02163164 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r0, [r7, #4] mov r6, r1 bl func_ov61_02165a68 mov r4, r0 cmp r4, #0 mov r5, #0 ble _021631b0 _02163188: ldr r0, [r7, #4] mov r1, r5 bl func_ov61_02165a70 ldr r0, [r0] cmp r6, r0 moveq r0, r5 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r5, r5, #1 cmp r5, r4 blt _02163188 _021631b0: mvn r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02163164 .global func_ov61_021631b8 arm_func_start func_ov61_021631b8 func_ov61_021631b8: ; 0x021631b8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 ldr r0, [sb, #4] mov r8, r1 mov r7, r2 bl func_ov61_02165a68 mov r4, r0 cmp r4, #0 mov r6, #0 ble _02163220 _021631e0: ldr r0, [sb, #4] mov r1, r6 bl func_ov61_02165a70 ldr r5, [r0] mov r0, r5 bl func_ov61_02162334 cmp r8, r0 bne _02163214 mov r0, r5 bl func_ov61_02162360 cmp r7, r0 moveq r0, r6 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02163214: add r6, r6, #1 cmp r6, r4 blt _021631e0 _02163220: mvn r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_021631b8 .global func_ov61_02163228 arm_func_start func_ov61_02163228 func_ov61_02163228: ; 0x02163228 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldr r1, [r5, #0x5d0] mov r0, r4 cmp r1, #0 bne _02163250 mov r1, #0 bl func_ov61_021623ac b _02163254 _02163250: bl func_ov61_021623ac _02163254: str r4, [r5, #0x5d0] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02163228 .global func_ov61_0216325c arm_func_start func_ov61_0216325c func_ov61_0216325c: ; 0x0216325c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r0, [r6, #4] mov r5, r1 bl func_ov61_02165a70 ldr r4, [r0] ldr r3, [r6, #0x494] ldr ip, [r6, #0x488] mov r0, r6 mov r2, r4 mov r1, #2 blx ip ldr r0, [r6, #4] mov r1, r5 bl func_ov61_02165cec mov r0, r6 mov r1, r4 bl func_ov61_02163228 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216325c .global func_ov61_021632a8 arm_func_start func_ov61_021632a8 func_ov61_021632a8: ; 0x021632a8 ldr ip, _021632b4 ; =func_ov61_02165a68 ldr r0, [r0, #4] bx ip .align 2, 0 arm_func_end func_ov61_021632a8 _021632b4: .word func_ov61_02165a68 .global func_ov61_021632b8 arm_func_start func_ov61_021632b8 func_ov61_021632b8: ; 0x021632b8 stmdb sp!, {r3, lr} ldr r0, [r0, #4] bl func_ov61_02165a70 ldr r0, [r0] ldmia sp!, {r3, pc} arm_func_end func_ov61_021632b8 .global func_ov61_021632cc arm_func_start func_ov61_021632cc func_ov61_021632cc: ; 0x021632cc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 ldr r5, [r6, #0x5d0] cmp r5, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} str r5, [sp] beq _02163314 add r4, sp, #0 _021632f4: mov r0, r5 bl func_ov61_021623b4 mov r5, r0 mov r0, r4 bl func_ov61_02162168 str r5, [sp] cmp r5, #0 bne _021632f4 _02163314: mov r0, #0 str r0, [r6, #0x5d0] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_021632cc .global func_ov61_02163324 arm_func_start func_ov61_02163324 func_ov61_02163324: ; 0x02163324 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r0, [r6, #4] bl func_ov61_02165a68 mov r5, r0 cmp r5, #0 mov r4, #0 ble _02163368 _02163344: ldr r0, [r6, #4] mov r1, r4 bl func_ov61_02165a70 ldr r1, [r0] mov r0, r6 bl func_ov61_02163228 add r4, r4, #1 cmp r4, r5 blt _02163344 _02163368: ldr r0, [r6, #4] bl func_ov61_02165f54 mov r0, r6 bl func_ov61_021632cc ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02163324 .global func_ov61_0216337c arm_func_start func_ov61_0216337c func_ov61_0216337c: ; 0x0216337c stmdb sp!, {r4, lr} mov r4, r0 mov r0, #4 mov r1, #0x64 mov r2, #0 bl func_ov61_02165938 str r0, [r4, #4] mov r0, #0 str r0, [r4, #0x5d0] ldmia sp!, {r4, pc} arm_func_end func_ov61_0216337c .global func_ov61_021633a4 arm_func_start func_ov61_021633a4 func_ov61_021633a4: ; 0x021633a4 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r4, r1 mov r5, r0 str r4, [sp] bl func_ov61_021620c4 add r1, sp, #0 bl func_ov61_021663d8 cmp r0, #0 beq _021633e4 ldr r1, [r0, #4] add sp, sp, #8 add r1, r1, #1 str r1, [r0, #4] ldr r0, [r0] ldmia sp!, {r3, r4, r5, pc} _021633e4: mov r0, r4 bl func_ov61_02166654 str r0, [sp] mov r1, #1 mov r0, r5 str r1, [sp, #4] bl func_ov61_021620c4 add r1, sp, #0 bl func_ov61_0216628c ldr r0, [sp] add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_021633a4 .global func_ov61_02163414 arm_func_start func_ov61_02163414 func_ov61_02163414: ; 0x02163414 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov r5, r0 str r1, [sp] bl func_ov61_021620c4 add r1, sp, #0 bl func_ov61_021663d8 movs r4, r0 bne _0216344c ldr r0, _02163484 ; =data_ov61_0217bfc0 ldr r1, _02163488 ; =data_ov61_0217bfcc ldr r2, _0216348c ; =data_ov61_0217bf34 mov r3, #0xf4 bl func_02042f80 _0216344c: cmp r4, #0 addeq sp, sp, #8 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #4] subs r0, r0, #1 addne sp, sp, #8 str r0, [r4, #4] ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov61_021620c4 add r1, sp, #0 bl func_ov61_02166334 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02163414 _02163484: .word data_ov61_0217bfc0 _02163488: .word data_ov61_0217bfcc _0216348c: .word data_ov61_0217bf34 .global func_ov61_02163490 arm_func_start func_ov61_02163490 func_ov61_02163490: ; 0x02163490 cmp r1, #0 mov r3, #0 ble _021634b8 _0216349c: ldrsb r2, [r0, r3] cmp r2, #0 addeq r0, r3, #1 bxeq lr add r3, r3, #1 cmp r3, r1 blt _0216349c _021634b8: mvn r0, #0 bx lr arm_func_end func_ov61_02163490 .global func_ov61_021634c0 arm_func_start func_ov61_021634c0 func_ov61_021634c0: ; 0x021634c0 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bne _021634ec ldr r0, _021635d0 ; =data_ov61_0217bfdc ldr r1, _021635d4 ; =data_ov61_0217bfcc ldr r2, _021635d8 ; =data_ov61_0217bf64 mov r3, #0x11c bl func_02042f80 _021634ec: ldr r0, [sp, #0x1c] cmp r0, #0 bne _02163508 ldr r0, _021635dc ; =data_ov61_02181024 ldr r0, [r0] cmp r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _02163508: mov r1, #1 mov r0, r7 str r1, [r7] bl func_ov61_0216337c mov r0, r7 bl func_ov61_021620c4 mov r1, r6 add r0, r7, #0xc bl func_02047024 mov r1, r5 add r0, r7, #0x30 bl func_02047024 mov r1, r4 add r0, r7, #0x54 bl func_02047024 ldr r1, [sp, #0x20] mov r0, #0 str r1, [r7, #0x488] str r0, [r7, #0x48c] cmp r1, #0 bne _02163570 ldr r0, _021635e0 ; =data_ov61_0217bfec ldr r1, _021635d4 ; =data_ov61_0217bfcc ldr r2, _021635d8 ; =data_ov61_0217bf64 ldr r3, _021635e4 ; =0x00000132 bl func_02042f80 _02163570: ldr r0, [sp, #0x24] ldr r1, _021635e8 ; =data_ov61_0217bfbc str r0, [r7, #0x494] mov r3, #0 str r1, [r7, #0x498] str r3, [r7, #0x4a0] sub r0, r3, #1 str r0, [r7, #0x4b0] str r3, [r7, #0x7c] str r3, [r7, #0x80] str r3, [r7, #8] str r0, [r7, #0x484] str r3, [r7, #0x480] ldr r2, [sp, #0x18] str r3, [r7, #0x4a4] mov r0, r7 str r2, [r7, #0x4b8] bl func_ov61_02164518 mov r0, #0 str r0, [r7, #0x5cc] bl func_ov61_021665e8 bl func_02045b7c bl func_ov61_0216664c ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021634c0 _021635d0: .word data_ov61_0217bfdc _021635d4: .word data_ov61_0217bfcc _021635d8: .word data_ov61_0217bf64 _021635dc: .word data_ov61_02181024 _021635e0: .word data_ov61_0217bfec _021635e4: .word 0x00000132 _021635e8: .word data_ov61_0217bfbc .global func_ov61_021635ec arm_func_start func_ov61_021635ec func_ov61_021635ec: ; 0x021635ec stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldr r5, [r4, #0x80] cmp r5, #0 ble _02163678 ldr r0, _021636a0 ; =data_ov61_0217bf30 ldr r6, [r0] mov r0, r6 bl func_02047008 cmp r5, r0 bls _02163678 ldr r0, _021636a0 ; =data_ov61_0217bf30 ldr r5, [r4, #0x7c] ldr r7, [r0] mov r0, r7 bl func_02047008 mov r2, r0 mov r0, r5 mov r1, r7 bl func_02047280 cmp r0, #0 bne _02163678 mov r0, r6 bl func_02047008 mov r1, r0 mov r0, r4 add r1, r5, r1 bl func_ov61_02164518 ldr r0, _021636a4 ; =data_ov61_02181014 ldr r3, [r4, #0x494] ldr r2, [r0] ldr ip, [r4, #0x488] mov r0, r4 mov r1, #5 blx ip _02163678: ldr r0, _021636a4 ; =data_ov61_02181014 ldr r3, [r4, #0x494] ldr r2, [r0] ldr ip, [r4, #0x488] mov r0, r4 mov r1, #4 blx ip mov r0, r4 bl func_ov61_02163dc4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021635ec _021636a0: .word data_ov61_0217bf30 _021636a4: .word data_ov61_02181014 .global func_ov61_021636a8 arm_func_start func_ov61_021636a8 func_ov61_021636a8: ; 0x021636a8 stmdb sp!, {r3, lr} ldrsb lr, [r0] mov ip, #0 cmp lr, #0 beq _021636e8 ldr r3, _021636f8 ; =data_02056c98 ldr r2, _021636fc ; =0x9ccf9319 _021636c4: cmp lr, #0 blt _021636d8 cmp lr, #0x80 bge _021636d8 ldrb lr, [r3, lr] _021636d8: mla ip, r2, ip, lr ldrsb lr, [r0, #1]! cmp lr, #0 bne _021636c4 _021636e8: mov r0, ip bl FastDivide mov r0, r1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021636a8 _021636f8: .word data_02056c98 _021636fc: .word 0x9ccf9319 .global func_ov61_02163700 arm_func_start func_ov61_02163700 func_ov61_02163700: ; 0x02163700 stmdb sp!, {r4, lr} sub sp, sp, #0x88 mov r4, r0 add r0, r4, #0xc mov r1, #0x14 bl func_ov61_021636a8 ldr r1, _02163820 ; =data_ov61_0218101c mov r3, r0 ldr r1, [r1, #4] add r0, sp, #8 cmp r1, #0 beq _02163738 bl func_02047024 b _02163744 _02163738: ldr r1, _02163824 ; =data_ov61_0217c000 add r2, r4, #0xc bl func_020459b8 _02163744: ldr r1, _02163828 ; =0x0000ee70 mov r2, #2 add r0, sp, #8 strb r2, [sp, #1] strh r1, [sp, #2] bl func_ov61_02166cc4 mvn r1, #0 str r0, [sp, #4] cmp r0, r1 bne _021637b0 add r0, sp, #8 bl func_ov61_021590ac cmp r0, #0 addeq sp, sp, #0x88 moveq r0, #2 ldmeqia sp!, {r4, pc} ldr r0, [r0, #0xc] add r3, sp, #4 ldr r2, [r0] ldrb r1, [r2] ldrb r0, [r2, #1] strb r1, [r3] strb r0, [r3, #1] ldrb r1, [r2, #2] ldrb r0, [r2, #3] strb r1, [r3, #2] strb r0, [r3, #3] _021637b0: ldr r0, [r4, #0x4b0] mvn r1, #0 cmp r0, r1 bne _021637e8 mov r0, #2 mov r1, #1 mov r2, #0 bl func_ov61_02166a84 mvn r1, #0 cmp r0, r1 str r0, [r4, #0x4b0] addeq sp, sp, #0x88 moveq r0, #1 ldmeqia sp!, {r4, pc} _021637e8: add r1, sp, #0 mov r2, #8 bl func_ov61_02166b20 cmp r0, #0 addeq sp, sp, #0x88 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x4b0] bl func_ov61_02166a98 mvn r0, #0 str r0, [r4, #0x4b0] mov r0, #3 add sp, sp, #0x88 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02163700 _02163820: .word data_ov61_0218101c _02163824: .word data_ov61_0217c000 _02163828: .word 0x0000ee70 .global func_ov61_0216382c arm_func_start func_ov61_0216382c func_ov61_0216382c: ; 0x0216382c stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r7, r1 ldreq r7, _02163878 ; =data_ov61_0217bfbc mov r4, r0 mov r0, r7 mov r6, r2 bl func_02047008 add r5, r0, #1 ldr r0, [r4] mov r1, r7 mov r2, r5 bl func_02043594 ldr r0, [r6] add r0, r0, r5 str r0, [r6] ldr r0, [r4] add r0, r0, r5 str r0, [r4] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216382c _02163878: .word data_ov61_0217bfbc .global func_ov61_0216387c arm_func_start func_ov61_0216387c func_ov61_0216387c: ; 0x0216387c ldr r3, [r0] strb r1, [r3] ldr r1, [r2] add r1, r1, #1 str r1, [r2] ldr r1, [r0] add r1, r1, #1 str r1, [r0] bx lr arm_func_end func_ov61_0216387c .global func_ov61_021638a0 arm_func_start func_ov61_021638a0 func_ov61_021638a0: ; 0x021638a0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} add ip, sp, #0xc ldrb r3, [ip] ldrb r1, [ip, #1] ldr lr, [r0] strb r3, [lr] strb r1, [lr, #1] ldrb r3, [ip, #2] ldrb r1, [ip, #3] strb r3, [lr, #2] strb r1, [lr, #3] ldr r1, [r2] add r1, r1, #4 str r1, [r2] ldr r1, [r0] add r1, r1, #4 str r1, [r0] ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_021638a0 .global func_ov61_021638f4 arm_func_start func_ov61_021638f4 func_ov61_021638f4: ; 0x021638f4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r0, [r6] mov r4, r3 mov r5, r2 bl func_02043594 ldr r0, [r4] add r0, r0, r5 str r0, [r4] ldr r0, [r6] add r0, r0, r5 str r0, [r6] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021638f4 .global func_ov61_02163928 arm_func_start func_ov61_02163928 func_ov61_02163928: ; 0x02163928 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 bl func_02045b48 ldr r5, _02163a10 ; =0x2c0b02c1 mov r8, #0 smull r2, r4, r5, r0 mov r1, r0, lsr #0x1f add r4, r1, r4, asr #4 mov r3, #0x5d smull r1, r2, r3, r4 sub r4, r0, r1 add r0, r4, #0x21 mov r7, #1 strb r0, [sl, #0x74] mov fp, r8 mov r6, r7 mov r4, r3 _0216396c: add sb, sl, r7 ldrsb r3, [sb, #0x73] ldrsb r0, [sl, #0x74] cmp r3, r0 eor r3, r7, r3 movlt r1, r6 and r3, r3, #1 movge r1, fp cmp r0, #0x4f movlt r2, #1 and r0, r0, #1 eor r3, r8, r3 movge r2, #0 eor r0, r0, r3 eor r0, r0, r2 eor r8, r0, r1 bl func_02045b48 smull r2, r3, r5, r0 mov r1, r0, lsr #0x1f add r3, r1, r3, asr #4 smull r1, r2, r4, r3 sub r3, r0, r1 add r0, r3, #0x21 cmp r8, #0 strb r0, [sb, #0x74] beq _021639e0 ldrsb r0, [sb, #0x74] tst r0, #1 beq _021639f4 _021639e0: cmp r8, #0 ldreqsb r0, [sb, #0x74] andeq r0, r0, #1 cmpeq r0, #1 bne _02163a00 _021639f4: ldrsb r0, [sb, #0x74] add r0, r0, #1 strb r0, [sb, #0x74] _02163a00: add r7, r7, #1 cmp r7, #8 blt _0216396c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02163928 _02163a10: .word 0x2c0b02c1 .global func_ov61_02163a14 arm_func_start func_ov61_02163a14 func_ov61_02163a14: ; 0x02163a14 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 mov sb, r1 mov r8, r2 mov r7, #1 mov fp, #2 mov r5, #0 _02163a30: ldr r0, [sl, #0x4b0] mov r1, sb mov r2, r8 mov r3, r5 sub r7, r7, #1 bl func_ov61_02166bf0 mov r6, r0 cmp r6, #0 bgt _02163a9c cmp r7, #0 blt _02163a9c mov r0, sl bl func_ov61_02163dc4 mov r1, #0 mov r2, r1 mov r0, sl mov r3, fp str r2, [sp] bl func_ov61_02163aac movs r4, r0 beq _02163a94 mov r0, sl bl func_ov61_021635ec mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02163a94: cmp r7, #0 bge _02163a30 _02163a9c: cmp r6, #0 movle r0, #3 movgt r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_02163a14 .global func_ov61_02163aac arm_func_start func_ov61_02163aac func_ov61_02163aac: ; 0x02163aac stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x30c mov r5, r0 ldr r0, [r5] mov r7, r1 mov r6, r2 mov r4, r3 cmp r0, #1 beq _02163ae4 ldr r0, _02163d08 ; =data_ov61_0217c01c ldr r1, _02163d0c ; =data_ov61_0217bfcc ldr r2, _02163d10 ; =data_ov61_0217bfa0 ldr r3, _02163d14 ; =0x0000020a bl func_02042f80 _02163ae4: cmp r7, #0 ldreq r7, _02163d18 ; =data_ov61_0217bfbc cmp r6, #0 ldreq r6, _02163d18 ; =data_ov61_0217bfbc mov r0, r7 bl func_02047008 cmp r0, #0x100 addhi sp, sp, #0x30c movhi r0, #6 ldmhiia sp!, {r4, r5, r6, r7, pc} mov r0, r6 bl func_02047008 cmp r0, #0x100 addhi sp, sp, #0x30c movhi r0, #6 ldmhiia sp!, {r4, r5, r6, r7, pc} mov r0, r5 bl func_ov61_02163700 cmp r0, #0 addne sp, sp, #0x30c ldmneia sp!, {r4, r5, r6, r7, pc} mov r0, r5 str r4, [r5, #0x5c4] bl func_ov61_02163928 add r3, sp, #0xe mov ip, #2 add r0, sp, #4 add r2, sp, #8 mov r1, #0 str ip, [sp, #8] str r3, [sp, #4] bl func_ov61_0216387c add r0, sp, #4 add r2, sp, #8 mov r1, #1 bl func_ov61_0216387c add r0, sp, #4 mov r1, #3 add r2, sp, #8 bl func_ov61_0216387c ldr r1, [r5, #0x4b8] add r0, sp, #4 add r2, sp, #8 bl func_ov61_021638a0 add r0, sp, #4 add r1, r5, #0xc add r2, sp, #8 bl func_ov61_0216382c add r0, sp, #4 add r1, r5, #0x30 add r2, sp, #8 bl func_ov61_0216382c add r0, sp, #4 add r1, r5, #0x74 mov r2, #8 add r3, sp, #8 bl func_ov61_021638f4 mov r1, r6 add r0, sp, #4 add r2, sp, #8 bl func_ov61_0216382c mov r1, r7 add r0, sp, #4 add r2, sp, #8 bl func_ov61_0216382c mov r1, r4, lsl #0x18 and ip, r1, #0xff000000 mov r1, r4, lsl #0x8 and r3, r1, #0xff0000 mov r1, r4, lsr #0x18 and r2, r1, #0xff mov r1, r4, lsr #0x8 and r1, r1, #0xff00 orr r1, r2, r1 orr r1, r3, r1 add r0, sp, #4 orr r1, ip, r1 add r2, sp, #8 bl func_ov61_021638a0 ldr r0, [r5, #0x5c4] tst r0, #8 beq _02163c3c ldr r1, [r5, #0x4a4] add r0, sp, #4 add r2, sp, #8 bl func_ov61_021638a0 _02163c3c: ldr r0, [r5, #0x5c4] tst r0, #0x80 beq _02163c58 ldr r1, [sp, #0x320] add r0, sp, #4 add r2, sp, #8 bl func_ov61_021638a0 _02163c58: ldr r2, [sp, #8] add r4, sp, #0 mov r0, r2, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 strh r0, [sp] ldrb r3, [r4] add r1, sp, #0xc ldrb r0, [r4, #1] strb r3, [r1] mov r3, #0 strb r0, [r1, #1] ldr r0, [r5, #0x4b0] bl func_ov61_02166bf0 cmp r0, #0 bgt _02163cbc mov r0, r5 bl func_ov61_02163dc4 add sp, sp, #0x30c mov r0, #3 ldmia sp!, {r4, r5, r6, r7, pc} _02163cbc: mov r0, #3 str r0, [r5] mov r0, #0 str r0, [r5, #0x5c8] ldr r0, [r5, #0x7c] cmp r0, #0 bne _02163cfc mov r0, #0x1000 bl func_ov61_0213e10c cmp r0, #0 str r0, [r5, #0x7c] addeq sp, sp, #0x30c moveq r0, #5 ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, #0 str r0, [r5, #0x80] _02163cfc: mov r0, #0 add sp, sp, #0x30c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02163aac _02163d08: .word data_ov61_0217c01c _02163d0c: .word data_ov61_0217bfcc _02163d10: .word data_ov61_0217bfa0 _02163d14: .word 0x0000020a _02163d18: .word data_ov61_0217bfbc .global func_ov61_02163d1c arm_func_start func_ov61_02163d1c func_ov61_02163d1c: ; 0x02163d1c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x480] mov r4, #0 cmp r0, #0 ble _02163d54 _02163d34: add r0, r5, r4, lsl #2 ldr r1, [r0, #0x84] mov r0, r5 bl func_ov61_02163414 ldr r0, [r5, #0x480] add r4, r4, #1 cmp r4, r0 blt _02163d34 _02163d54: mov r0, #0 str r0, [r5, #0x480] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02163d1c .global func_ov61_02163d60 arm_func_start func_ov61_02163d60 func_ov61_02163d60: ; 0x02163d60 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #8] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r4, #0 bl func_ov61_02165a68 cmp r0, #0 ble _02163db0 _02163d84: ldr r0, [r5, #8] mov r1, r4 bl func_ov61_02165a70 ldr r1, [r0] mov r0, r5 bl func_ov61_02163414 ldr r0, [r5, #8] add r4, r4, #1 bl func_ov61_02165a68 cmp r4, r0 blt _02163d84 _02163db0: ldr r0, [r5, #8] bl func_ov61_021659fc mov r0, #0 str r0, [r5, #8] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02163d60 .global func_ov61_02163dc4 arm_func_start func_ov61_02163dc4 func_ov61_02163dc4: ; 0x02163dc4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x7c] cmp r0, #0 beq _02163ddc bl func_ov61_0213e13c _02163ddc: mov r1, #0 str r1, [r4, #0x7c] str r1, [r4, #0x80] ldr r0, [r4, #0x4b0] sub r1, r1, #1 cmp r0, r1 beq _02163dfc bl func_ov61_02166a98 _02163dfc: mvn r1, #0 mov r0, r4 str r1, [r4, #0x4b0] mov r1, #1 str r1, [r4] bl func_ov61_02163d60 mvn r1, #0 mov r0, r4 str r1, [r4, #0x484] bl func_ov61_02163d1c ldmia sp!, {r4, pc} arm_func_end func_ov61_02163dc4 .global func_ov61_02163e28 arm_func_start func_ov61_02163e28 func_ov61_02163e28: ; 0x02163e28 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02163dc4 mov r0, r4 bl func_ov61_02163324 mov r0, r4 bl func_ov61_02162128 ldr r0, [r4, #4] cmp r0, #0 beq _02163e54 bl func_ov61_021659fc _02163e54: mov r0, #0 str r0, [r4, #4] ldmia sp!, {r4, pc} arm_func_end func_ov61_02163e28 .global func_ov61_02163e60 arm_func_start func_ov61_02163e60 func_ov61_02163e60: ; 0x02163e60 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 mov r7, r2 add r0, sb, #0x54 mov r8, r1 bl func_02047008 mov r5, r0 cmp r7, #0 add r6, sb, #0x54 mov r4, #0 ble _02163ee8 _02163e8c: mov r0, r4 mov r1, r5 bl func_02002c14 ldrsb r1, [r6, r1] mov r2, r4, lsr #0x1f rsb r0, r2, r4, lsl #29 mul r3, r4, r1 mov r1, r3, lsr #0x1f add r2, r2, r0, ror #29 rsb r0, r1, r3, lsl #29 add r2, sb, r2 add r3, r1, r0, ror #29 ldrsb r0, [r8, r4] ldrsb r1, [r2, #0x74] add r2, sb, r3 add r4, r4, #1 eor r0, r1, r0 ldrsb r1, [r2, #0x74] mov r0, r0, lsl #0x18 cmp r4, r7 eor r0, r1, r0, asr #24 strb r0, [r2, #0x74] blt _02163e8c _02163ee8: add r0, sb, #0xbc add r0, r0, #0x400 add r1, sb, #0x74 mov r2, #8 bl func_ov61_021615e0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02163e60 .global func_ov61_02163f00 arm_func_start func_ov61_02163f00 func_ov61_02163f00: ; 0x02163f00 mov r1, #5 tst r0, #2 addne r1, r1, #4 tst r0, #8 addne r1, r1, #4 tst r0, #0x10 addne r1, r1, #2 tst r0, #0x20 addne r1, r1, #2 mov r0, r1 bx lr arm_func_end func_ov61_02163f00 .global func_ov61_02163f2c arm_func_start func_ov61_02163f2c func_ov61_02163f2c: ; 0x02163f2c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 b _02163f7c _02163f3c: mov r0, r5 mov r1, r4 bl func_ov61_02163490 cmp r0, #0 movlt r0, #0 ldmltia sp!, {r3, r4, r5, pc} sub r4, r4, r0 add r5, r5, r0 mov r0, r5 mov r1, r4 bl func_ov61_02163490 cmp r0, #0 movlt r0, #0 ldmltia sp!, {r3, r4, r5, pc} add r5, r5, r0 sub r4, r4, r0 _02163f7c: cmp r4, #0 ble _02163f90 ldrsb r0, [r5] cmp r0, #0 bne _02163f3c _02163f90: cmp r4, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldrsb r0, [r5] cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02163f2c .global func_ov61_02163fb0 arm_func_start func_ov61_02163fb0 func_ov61_02163fb0: ; 0x02163fb0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r0 ldr r0, [r8, #8] mov r7, r1 mov r6, r2 bl func_ov61_02165a68 mov r4, r0 cmp r4, #0 mov r5, #0 ble _02164094 mvn sb, #0 _02163fdc: ldr r0, [r8, #8] mov r1, r5 bl func_ov61_02165a70 ldr r0, [r0, #4] cmp r0, #0 beq _02164020 cmp r0, #1 beq _02164008 cmp r0, #2 beq _02164014 b _02164060 _02164008: add r7, r7, #1 sub r6, r6, #1 b _0216407c _02164014: add r7, r7, #2 sub r6, r6, #2 b _0216407c _02164020: cmp r6, #1 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldrb r0, [r7], #1 sub r6, r6, #1 cmp r0, #0xff bne _0216407c mov r0, r7 mov r1, r6 bl func_ov61_02163490 cmp r0, sb moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r7, r7, r0 sub r6, r6, r0 b _0216407c _02164060: ldr r0, _0216409c ; =data_ov61_0217c03c ldr r1, _021640a0 ; =data_ov61_0217bfcc ldr r2, _021640a4 ; =data_ov61_0217bf54 ldr r3, _021640a8 ; =0x00000317 bl func_02042f80 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0216407c: cmp r6, #0 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r5, r5, #1 cmp r5, r4 blt _02163fdc _02164094: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02163fb0 _0216409c: .word data_ov61_0217c03c _021640a0: .word data_ov61_0217bfcc _021640a4: .word data_ov61_0217bf54 _021640a8: .word 0x00000317 .global func_ov61_021640ac arm_func_start func_ov61_021640ac func_ov61_021640ac: ; 0x021640ac stmdb sp!, {r4, lr} cmp r2, #5 ldmltia sp!, {r4, pc} ldrb r4, [r1] ldrb lr, [r1, #1] ldrb ip, [r1, #2] tst r4, #0x10 strb lr, [r3] strb ip, [r3, #1] ldrb lr, [r1, #3] ldrb ip, [r1, #4] strb lr, [r3, #2] strb ip, [r3, #3] beq _02164108 sub r0, r2, #5 cmp r0, #2 ldmltia sp!, {r4, pc} ldrb r2, [r1, #5] ldrb r0, [r1, #6] ldr r1, [sp, #8] strb r2, [r1] strb r0, [r1, #1] ldmia sp!, {r4, pc} _02164108: add r0, r0, #0x400 ldrh r1, [r0, #0xa8] ldr r0, [sp, #8] strh r1, [r0] ldmia sp!, {r4, pc} arm_func_end func_ov61_021640ac .global func_ov61_0216411c arm_func_start func_ov61_0216411c func_ov61_0216411c: ; 0x0216411c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 mov r8, r2 ldrb r2, [r8], #5 mov sb, r1 mov sl, r0 mov r7, r3 str r2, [sp] mov r0, sb mov r1, r2 str r7, [sp, #4] ldr r6, [sp, #0x38] bl func_ov61_0216282c ldr r0, [sp] sub r7, r7, #5 tst r0, #0x10 ldr r0, [sp] addne r8, r8, #2 subne r7, r7, #2 tst r0, #2 moveq r0, #0 streq r0, [sp, #0xc] beq _021641a4 ldrb r1, [r8] ldrb r0, [r8, #1] add r2, sp, #0xc sub r7, r7, #4 strb r1, [r2] strb r0, [r2, #1] ldrb r1, [r8, #2] ldrb r0, [r8, #3] add r8, r8, #4 strb r1, [r2, #2] strb r0, [r2, #3] _021641a4: ldr r0, [sp] tst r0, #0x20 addeq r0, sl, #0x400 ldreqh r0, [r0, #0xa8] streqh r0, [sp, #8] beq _021641d8 ldrb r1, [r8] ldrb r0, [r8, #1] add r2, sp, #8 add r8, r8, #2 strb r1, [r2] strb r0, [r2, #1] sub r7, r7, #2 _021641d8: ldrh r2, [sp, #8] ldr r1, [sp, #0xc] mov r0, sb bl func_ov61_02162834 ldr r0, [sp] tst r0, #8 beq _0216422c ldrb r2, [r8] ldrb r1, [r8, #1] add r3, sp, #0xc mov r0, sb strb r2, [r3] strb r1, [r3, #1] ldrb r2, [r8, #2] ldrb r1, [r8, #3] add r8, r8, #4 sub r7, r7, #4 strb r2, [r3, #2] strb r1, [r3, #3] ldr r1, [sp, #0xc] bl func_ov61_02162840 _0216422c: ldr r0, [sp] tst r0, #0x40 beq _0216435c ldr r0, [sl, #8] bl func_ov61_02165a68 mov r4, r0 cmp r4, #0 mov r5, #0 ble _02164344 add fp, sp, #0xa _02164254: ldr r0, [sl, #8] mov r1, r5 bl func_ov61_02165a70 mov r1, r0 ldr r0, [r1, #4] cmp r0, #0 beq _021642e4 cmp r0, #1 beq _02164284 cmp r0, #2 beq _0216429c b _02164338 _02164284: ldrb r2, [r8], #1 ldr r1, [r1] mov r0, sb bl func_ov61_021621cc sub r7, r7, #1 b _02164338 _0216429c: ldrb r3, [r8] ldrb r2, [r8, #1] mov r0, sb strb r3, [fp] strb r2, [fp, #1] ldrh r3, [sp, #0xa] ldr r1, [r1] mov r2, r3, asr #0x8 and r2, r2, #0xff mov r3, r3, lsl #0x8 and r3, r3, #0xff00 orr r2, r2, r3 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 bl func_ov61_021621cc add r8, r8, #2 sub r7, r7, #2 b _02164338 _021642e4: cmp r6, #0 ldrneb r0, [r8], #1 subne r7, r7, #1 moveq r0, #0xff cmp r0, #0xff bne _02164324 ldr r1, [r1] mov r0, sb mov r2, r8 bl func_ov61_0216218c mov r0, r8 bl func_02047008 add r0, r0, #1 add r8, r8, r0 sub r7, r7, r0 b _02164338 _02164324: add r0, sl, r0, lsl #2 ldr r1, [r1] ldr r2, [r0, #0x84] mov r0, sb bl func_ov61_0216218c _02164338: add r5, r5, #1 cmp r5, r4 blt _02164254 _02164344: mov r0, sb bl func_ov61_02162850 orr r1, r0, #1 mov r0, sb and r1, r1, #0xff bl func_ov61_02162848 _0216435c: ldr r0, [sp] tst r0, #0x80 beq _021643d8 b _021643a8 _0216436c: mov r0, r8 mov r4, r8 bl func_02047008 add r3, r0, #1 add r8, r8, r3 mov r0, sb mov r1, r4 mov r2, r8 sub r7, r7, r3 bl func_ov61_0216218c mov r0, r8 bl func_02047008 add r0, r0, #1 add r8, r8, r0 sub r7, r7, r0 _021643a8: ldrsb r0, [r8] cmp r0, #0 beq _021643bc cmp r7, #0 bgt _0216436c _021643bc: mov r0, sb sub r7, r7, #1 bl func_ov61_02162850 orr r1, r0, #2 mov r0, sb and r1, r1, #0xff bl func_ov61_02162848 _021643d8: ldr r0, [sp, #4] sub r0, r0, r7 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0216411c .global func_ov61_021643e8 arm_func_start func_ov61_021643e8 func_ov61_021643e8: ; 0x021643e8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov r4, r2 cmp r4, #1 mov r6, r0 mov r5, r1 addlt sp, sp, #0xc movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} ldrb r8, [r5] mov r0, r8 bl func_ov61_02163f00 mov r7, r0 cmp r4, r7 addlt sp, sp, #0xc movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} tst r8, #0x40 beq _02164454 mov r0, r6 add r1, r5, r7 sub r2, r4, r7 bl func_ov61_02163fb0 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} _02164454: tst r8, #0x80 beq _02164478 add r0, r5, r7 sub r1, r4, r7 bl func_ov61_02163f2c cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} _02164478: ldr r1, _02164514 ; =data_ov61_0217c040 add r0, r5, #1 mov r2, #4 bl func_0204366c cmp r0, #0 addeq sp, sp, #0xc mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} add r7, sp, #4 add r3, sp, #8 mov r0, r6 mov r1, r5 mov r2, r4 str r7, [sp] bl func_ov61_021640ac ldrh r2, [sp, #4] ldr r1, [sp, #8] mov r0, r6 bl func_ov61_02162780 mov r7, r0 bl func_ov61_02162858 cmp r0, #0 addne sp, sp, #0xc mvnne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} mov ip, #1 mov r0, r6 mov r1, r7 mov r2, r5 mov r3, r4 str ip, [sp] bl func_ov61_0216411c mov r4, r0 mov r0, r6 mov r1, r7 bl func_ov61_02163128 mov r0, r4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021643e8 _02164514: .word data_ov61_0217c040 .global func_ov61_02164518 arm_func_start func_ov61_02164518 func_ov61_02164518: ; 0x02164518 str r1, [r0, #0x4ac] bx lr arm_func_end func_ov61_02164518 .global func_ov61_02164520 arm_func_start func_ov61_02164520 func_ov61_02164520: ; 0x02164520 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 mov r7, r0 ldr r1, [r7, #0x5c8] ldr r5, [r7, #0x7c] ldr r6, [r7, #0x80] cmp r1, #4 addls pc, pc, r1, lsl #2 b _021648e0 _02164544: ; jump table b _02164558 ; case 0 b _021645b8 ; case 1 b _021646b8 ; case 2 b _021647a4 ; case 3 b _02164850 ; case 4 _02164558: cmp r6, #1 blt _021648e0 ldrb r1, [r5] eor r1, r1, #0xec add r3, r1, #2 cmp r6, r3 blt _021648e0 sub r1, r3, #1 ldrb r1, [r5, r1] eor r2, r1, #0xea add r4, r3, r2 cmp r6, r4 blt _021648e0 add r1, r5, r3 bl func_ov61_02163e60 add r5, r5, r4 sub r6, r6, r4 add r0, r7, #0xbc mov r3, #1 mov r1, r5 mov r2, r6 add r0, r0, #0x400 str r3, [r7, #0x5c8] bl func_ov61_02161774 _021645b8: cmp r6, #6 blt _021648e0 ldrb r3, [r5] ldrb r1, [r5, #1] ldr r2, _02164934 ; =data_ov61_02181014 mov r0, r7 strb r3, [r7, #0x4a0] strb r1, [r7, #0x4a1] ldrb r4, [r5, #2] ldrb r3, [r5, #3] mov r1, #6 strb r4, [r7, #0x4a2] strb r3, [r7, #0x4a3] ldr r2, [r2] ldr r3, [r7, #0x494] ldr r4, [r7, #0x488] blx r4 ldrb r3, [r5, #4] ldrb r2, [r5, #5] add r0, r7, #0x400 ldr r1, _02164938 ; =0x0000ffff strb r3, [r7, #0x4a8] strb r2, [r7, #0x4a9] ldrh r0, [r0, #0xa8] cmp r0, r1 bne _0216466c add r0, r5, #6 sub r1, r6, #6 bl func_ov61_02163490 mvn r1, #0 cmp r0, r1 beq _021648e0 mov r0, r7 add r1, r5, #6 bl func_ov61_02164518 ldr r0, _02164934 ; =data_ov61_02181014 ldr r3, [r7, #0x494] ldr r2, [r0] ldr r4, [r7, #0x488] mov r0, r7 mov r1, #5 blx r4 ldr r0, [r7, #0x7c] cmp r0, #0 beq _021648e0 _0216466c: ldr r0, [r7, #0x5c4] add r5, r5, #6 tst r0, #2 sub r6, r6, #6 bne _02164694 add r0, r7, #0x400 ldrh r1, [r0, #0xa8] ldr r0, _02164938 ; =0x0000ffff cmp r1, r0 bne _021646a8 _02164694: mov r0, #5 str r0, [r7, #0x5c8] mov r0, #2 str r0, [r7] b _021648e0 _021646a8: mov r0, #2 str r0, [r7, #0x5c8] sub r0, r0, #3 str r0, [r7, #0x484] _021646b8: ldr r1, [r7, #0x484] mvn r0, #0 cmp r1, r0 bne _02164700 cmp r6, #1 blt _021648e0 ldrb r1, [r5] mov r0, #8 mov r2, #0 str r1, [r7, #0x484] bl func_ov61_02165938 cmp r0, #0 str r0, [r7, #8] addeq sp, sp, #8 moveq r0, #5 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r5, r5, #1 sub r6, r6, #1 _02164700: ldr r0, [r7, #8] bl func_ov61_02165a68 ldr r1, [r7, #0x484] cmp r1, r0 ble _02164780 add r8, sp, #0 mvn r4, #0 _0216471c: cmp r6, #2 blt _02164780 add r0, r5, #1 sub r1, r6, #1 bl func_ov61_02163490 mov sb, r0 cmp sb, r4 beq _02164780 ldrb r2, [r5] mov r0, r7 add r1, r5, #1 str r2, [sp, #4] bl func_ov61_021633a4 str r0, [sp] ldr r0, [r7, #8] mov r1, r8 bl func_ov61_02165ad8 add r1, sb, #1 ldr r0, [r7, #8] add r5, r5, r1 sub r6, r6, r1 bl func_ov61_02165a68 ldr r1, [r7, #0x484] cmp r1, r0 bgt _0216471c _02164780: ldr r0, [r7, #8] bl func_ov61_02165a68 ldr r1, [r7, #0x484] cmp r1, r0 bgt _021648e0 mov r0, #3 str r0, [r7, #0x5c8] sub r0, r0, #4 str r0, [r7, #0x484] _021647a4: ldr r1, [r7, #0x484] mvn r0, #0 cmp r1, r0 bne _021647d0 cmp r6, #1 blt _021648e0 ldrb r1, [r5], #1 mov r0, #0 sub r6, r6, #1 str r1, [r7, #0x484] str r0, [r7, #0x480] _021647d0: ldr r1, [r7, #0x484] ldr r0, [r7, #0x480] cmp r1, r0 ble _02164838 mvn r8, #0 _021647e4: mov r0, r5 mov r1, r6 bl func_ov61_02163490 mov r4, r0 cmp r4, r8 beq _02164838 mov r0, r7 mov r1, r5 bl func_ov61_021633a4 ldr r1, [r7, #0x480] add r5, r5, r4 mov r2, r1 add r1, r1, #1 str r1, [r7, #0x480] add r1, r7, r2, lsl #2 str r0, [r1, #0x84] ldr r1, [r7, #0x484] ldr r0, [r7, #0x480] sub r6, r6, r4 cmp r1, r0 bgt _021647e4 _02164838: ldr r1, [r7, #0x484] ldr r0, [r7, #0x480] cmp r1, r0 bgt _021648e0 mov r0, #4 str r0, [r7, #0x5c8] _02164850: cmp r6, #5 blt _021648e0 mvn r4, #0 sub r8, r4, #1 mov sb, #0 _02164864: mov r0, r7 mov r1, r5 mov r2, r6 bl func_ov61_021643e8 cmp r0, r8 addeq sp, sp, #8 moveq r0, #5 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r0, r4 bne _021648c4 mov r0, #5 str r0, [r7, #0x5c8] mov r0, #2 str r0, [r7] ldr r0, _02164934 ; =data_ov61_02181014 ldr r3, [r7, #0x494] ldr r2, [r0] ldr r4, [r7, #0x488] mov r0, r7 mov r1, #3 sub r6, r6, #5 add r5, r5, #5 blx r4 b _021648e0 _021648c4: ldr r1, [r7, #0x7c] add r5, r5, r0 cmp r1, #0 sub r6, r6, r0 moveq r0, sb cmp r0, #0 bne _02164864 _021648e0: cmp r6, #0 bge _021648fc ldr r0, _0216493c ; =data_ov61_0217c048 ldr r1, _02164940 ; =data_ov61_0217bfcc ldr r2, _02164944 ; =data_ov61_0217bf8c ldr r3, _02164948 ; =0x000004af bl func_02042f80 _021648fc: ldr r0, [r7, #0x7c] cmp r0, #0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r6, #0 beq _02164924 mov r1, r5 mov r2, r6 bl func_020435b4 _02164924: str r6, [r7, #0x80] mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02164520 _02164934: .word data_ov61_02181014 _02164938: .word 0x0000ffff _0216493c: .word data_ov61_0217c048 _02164940: .word data_ov61_0217bfcc _02164944: .word data_ov61_0217bf8c _02164948: .word 0x000004af .global func_ov61_0216494c arm_func_start func_ov61_0216494c func_ov61_0216494c: ; 0x0216494c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 ldr r3, [sl, #8] mov sb, r1 mov r8, r2 cmp r3, #0 sub r8, r8, #1 ldrb r7, [sb], #1 beq _02164978 bl func_ov61_02163d60 _02164978: mov r1, r7 mov r0, #8 mov r2, #0 bl func_ov61_02165938 cmp r0, #0 str r0, [sl, #8] addeq sp, sp, #8 moveq r0, #5 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} cmp r7, #0 mov r6, #0 ble _02164a1c add fp, sp, #0 mvn r4, #0 _021649b0: cmp r8, #2 addlt sp, sp, #8 movlt r0, #4 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, sb, #1 sub r1, r8, #1 bl func_ov61_02163490 mov r5, r0 cmp r5, r4 addeq sp, sp, #8 moveq r0, #4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r2, [sb] mov r0, sl add r1, sb, #1 str r2, [sp, #4] bl func_ov61_021633a4 str r0, [sp] ldr r0, [sl, #8] mov r1, fp bl func_ov61_02165ad8 add r0, r5, #1 add r6, r6, #1 cmp r6, r7 add sb, sb, r0 sub r8, r8, r0 blt _021649b0 _02164a1c: mov r0, #0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_0216494c .global func_ov61_02164a28 arm_func_start func_ov61_02164a28 func_ov61_02164a28: ; 0x02164a28 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x24 mov r8, r2 cmp r8, #2 mov sl, r0 mov sb, r1 addlt sp, sp, #0x24 movlt r0, #4 ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r0, [sb, #1] sub r8, r8, #2 mov fp, #0 str r0, [sp, #0xc] ldrb r0, [sb], #2 str r0, [sp, #0x14] ldr r0, [sp, #0xc] cmp r0, #0 ble _02164ba4 add r7, sp, #0x20 add r6, sp, #0x1c mvn r4, #0 _02164a7c: mov r0, sb mov r1, r8 str sb, [sp, #0x10] bl func_ov61_02163490 cmp r0, r4 addeq sp, sp, #0x24 moveq r0, #4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} sub r3, r8, r0 cmp r3, #0xb add r2, sb, r0 addlt sp, sp, #0x24 movlt r0, #4 ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r1, [r2] ldrb r0, [r2, #1] sub r8, r3, #0xa add sb, r2, #0xa strb r1, [r7] strb r0, [r7, #1] ldrb r5, [r2, #2] ldrb r3, [r2, #3] mov r0, sb mov r1, r8 strb r3, [r7, #3] strb r5, [r7, #2] ldrb ip, [r2, #4] ldrb r5, [r2, #5] add r3, sp, #0x18 strb ip, [r3] strb r5, [r3, #1] ldrb r5, [r2, #6] ldrb r3, [r2, #7] strb r5, [r6] strb r3, [r6, #1] ldrb r3, [r2, #8] ldrb r2, [r2, #9] strb r3, [r6, #2] strb r2, [r6, #3] ldr ip, [sp, #0x1c] mov r2, ip, lsl #0x18 and r5, r2, #0xff000000 mov r2, ip, lsl #0x8 and r3, r2, #0xff0000 mov r2, ip, lsr #0x18 mov ip, ip, lsr #0x8 and r2, r2, #0xff and ip, ip, #0xff00 orr r2, r2, ip orr r2, r3, r2 orr r2, r5, r2 str r2, [sp, #0x1c] bl func_ov61_02163490 mov r5, r0 cmp r5, r4 addeq sp, sp, #0x24 moveq r0, #4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sp, #0x1c] mov r0, sl stmia sp, {r1, sb} ldr r2, [sl, #0x494] ldr r1, [sp, #0x10] str r2, [sp, #8] ldrh r3, [sp, #0x18] ldr r2, [sp, #0x20] ldr ip, [sl, #0x490] blx ip ldr r0, [sp, #0xc] add fp, fp, #1 cmp fp, r0 add sb, sb, r5 sub r8, r8, r5 blt _02164a7c _02164ba4: ldr r0, [sp, #0x14] cmp r0, #0 beq _02164bd8 mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r2, [sl, #0x494] mov r0, sl str r2, [sp, #8] ldr r4, [sl, #0x490] mov r2, r1 mov r3, r1 blx r4 _02164bd8: mov r0, #0 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_02164a28 .global func_ov61_02164be4 arm_func_start func_ov61_02164be4 func_ov61_02164be4: ; 0x02164be4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x54 mov r8, r2 cmp r8, #0xb mov sl, r0 mov sb, r1 addlt sp, sp, #0x54 movlt r0, #4 ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r2, [sb] ldrb r1, [sb, #1] add r3, sp, #0xc add r4, sp, #8 strb r2, [r3] strb r1, [r3, #1] ldrb r2, [sb, #2] ldrb r1, [sb, #3] strb r1, [r3, #3] strb r2, [r3, #2] ldrb r3, [sb, #4] ldrb r2, [sb, #5] ldr r1, [sp, #0xc] strb r3, [r4] strb r2, [r4, #1] ldrh r2, [sp, #8] bl func_ov61_021631b8 mov r1, r0 mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x54 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, sl bl func_ov61_021632b8 ldrb r2, [sb, #6] ldrb r1, [sb, #7] add r3, sp, #0x10 mov fp, r0 strb r2, [r3] strb r1, [r3, #1] ldrb r1, [sb, #8] ldrb r0, [sb, #9] sub r8, r8, #0xb mov r7, #0 strb r1, [r3, #2] strb r0, [r3, #3] ldr r3, [sp, #0x10] add r5, sp, #0x14 mov r1, r3, lsr #0x18 mov r0, r3, lsr #0x8 mov r2, r3, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 mov r3, r3, lsl #0x18 orr r0, r1, r0 and r2, r2, #0xff0000 and r1, r3, #0xff000000 orr r0, r2, r0 orr r0, r1, r0 str r0, [sp, #0x10] ldrb r6, [sb, #0xa] add sb, sb, #0xb mvn r4, #0 b _02164d18 _02164ce4: cmp r8, #1 blt _02164d24 mov r0, sb mov r1, r8 bl func_ov61_02163490 cmp r0, r4 addeq sp, sp, #0x54 moveq r0, #4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} str sb, [r5, r7, lsl #2] add sb, sb, r0 sub r8, r8, r0 add r7, r7, #1 _02164d18: cmp r7, r6 cmplt r7, #0x10 blt _02164ce4 _02164d24: ldr r4, [sl, #0x48c] cmp r4, #0 addeq sp, sp, #0x54 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r1, sp, #0x14 str r1, [sp] ldr r2, [sl, #0x494] mov r0, sl str r2, [sp, #4] ldr r2, [sp, #0x10] mov r1, fp mov r3, r7 blx r4 mov r0, #0 add sp, sp, #0x54 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_02164be4 .global func_ov61_02164d68 arm_func_start func_ov61_02164d68 func_ov61_02164d68: ; 0x02164d68 stmdb sp!, {r4, lr} sub sp, sp, #8 cmp r2, #6 mov r4, r0 addlt sp, sp, #8 movlt r0, #4 ldmltia sp!, {r4, pc} ldrb r3, [r1] ldrb r2, [r1, #1] add lr, sp, #4 add ip, sp, #0 strb r3, [lr] strb r2, [lr, #1] ldrb r3, [r1, #2] ldrb r2, [r1, #3] strb r3, [lr, #2] strb r2, [lr, #3] ldrb r3, [r1, #4] ldrb r2, [r1, #5] ldr r1, [sp, #4] strb r3, [ip] strb r2, [ip, #1] ldrh r2, [sp] bl func_ov61_021631b8 mov r1, r0 mvn r0, #0 cmp r1, r0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov61_0216325c mov r0, #0 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov61_02164d68 .global func_ov61_02164df4 arm_func_start func_ov61_02164df4 func_ov61_02164df4: ; 0x02164df4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov r6, r2 cmp r6, #5 mov r8, r0 mov r7, r1 addlt sp, sp, #0xc movlt r0, #4 ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} add r4, sp, #4 add r3, sp, #8 str r4, [sp] bl func_ov61_021640ac ldrh r2, [sp, #4] ldr r1, [sp, #8] mov r0, r8 bl func_ov61_021631b8 mov r5, r0 mvn r0, #0 cmp r5, r0 bne _02164e74 ldrh r2, [sp, #4] ldr r1, [sp, #8] mov r0, r8 bl func_ov61_02162780 mov r4, r0 bl func_ov61_02162858 cmp r0, #0 beq _02164e84 add sp, sp, #0xc mov r0, #5 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02164e74: mov r0, r8 mov r1, r5 bl func_ov61_021632b8 mov r4, r0 _02164e84: mov ip, #0 mov r0, r8 mov r1, r4 mov r2, r7 mov r3, r6 str ip, [sp] bl func_ov61_0216411c cmp r0, #0 addlt sp, sp, #0xc movlt r0, #4 ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc} mvn r0, #0 cmp r5, r0 bne _02164ec8 mov r0, r8 mov r1, r4 bl func_ov61_02163128 _02164ec8: ldr r3, [r8, #0x494] ldr r5, [r8, #0x488] mov r0, r8 mov r2, r4 mov r1, #1 blx r5 mov r0, #0 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_02164df4 .global func_ov61_02164eec arm_func_start func_ov61_02164eec func_ov61_02164eec: ; 0x02164eec stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sb, r0 ldr r0, [sb, #0x80] mov r8, #0 cmp r0, #3 blt _02165088 ldr r5, _021650a0 ; =data_ov61_0217c054 ldr r4, _021650a4 ; =data_ov61_0217bfcc ldr sl, _021650a8 ; =data_ov61_0217bf78 ldr fp, _021650ac ; =0x000005b4 mov r6, r8 add r7, sp, #0 _02164f1c: ldr r0, [sb, #0x7c] ldrb r1, [r0] ldrb r0, [r0, #1] strb r1, [r7] strb r0, [r7, #1] ldrh r0, [sp] mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 strh r0, [sp] ldrh r2, [sp] cmp r2, #0x1000 movhi r8, #4 bhi _02165088 ldr r0, [sb, #0x80] cmp r0, r2 movlt r0, #0 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sb, #0x7c] ldrsb r0, [r1, #2] cmp r0, #6 addls pc, pc, r0, lsl #2 b _0216502c _02164f80: ; jump table b _0216502c ; case 0 b _02164f9c ; case 1 b _02164fb4 ; case 2 b _02164fcc ; case 3 b _02164fe8 ; case 4 b _02165000 ; case 5 b _02165018 ; case 6 _02164f9c: mov r0, sb add r1, r1, #3 sub r2, r2, #3 bl func_ov61_0216494c mov r8, r0 b _0216502c _02164fb4: mov r0, sb add r1, r1, #3 sub r2, r2, #3 bl func_ov61_02164df4 mov r8, r0 b _0216502c _02164fcc: ldr r0, [sb, #0x4b0] mov r3, r6 bl func_ov61_02166bf0 cmp r0, #0 bgt _0216502c mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02164fe8: mov r0, sb add r1, r1, #3 sub r2, r2, #3 bl func_ov61_02164d68 mov r8, r0 b _0216502c _02165000: mov r0, sb add r1, r1, #3 sub r2, r2, #3 bl func_ov61_02164be4 mov r8, r0 b _0216502c _02165018: mov r0, sb add r1, r1, #3 sub r2, r2, #3 bl func_ov61_02164a28 mov r8, r0 _0216502c: ldrh r0, [sp] ldr r1, [sb, #0x80] subs r0, r1, r0 str r0, [sb, #0x80] bpl _02165054 mov r0, r5 mov r1, r4 mov r2, sl mov r3, fp bl func_02042f80 _02165054: ldr r2, [sb, #0x80] cmp r2, #0 ldrne r0, [sb, #0x7c] cmpne r0, #0 beq _02165074 ldrh r1, [sp] add r1, r0, r1 bl func_020435b4 _02165074: cmp r8, #0 bne _02165088 ldr r0, [sb, #0x80] cmp r0, #3 bge _02164f1c _02165088: cmp r8, #0 beq _02165098 mov r0, sb bl func_ov61_021635ec _02165098: mov r0, r8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02164eec _021650a0: .word data_ov61_0217c054 _021650a4: .word data_ov61_0217bfcc _021650a8: .word data_ov61_0217bf78 _021650ac: .word 0x000005b4 .global func_ov61_021650b0 arm_func_start func_ov61_021650b0 func_ov61_021650b0: ; 0x021650b0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r0, [r6, #0x4b0] bl func_ov61_02166914 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r5, [r6, #0x80] ldr r1, [r6, #0x7c] ldr r0, [r6, #0x4b0] add r1, r1, r5 rsb r2, r5, #0x1000 mov r3, #0 bl func_ov61_02166bac add r1, r0, #1 cmp r1, #1 bhi _02165104 mov r0, r6 bl func_ov61_021635ec mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _02165104: ldr r1, [r6, #0x80] mov r4, #0 add r0, r1, r0 str r0, [r6, #0x80] ldr r0, [r6] cmp r0, #2 beq _0216512c ldr r0, [r6, #0x5c8] cmp r0, #0 ble _02165148 _0216512c: ldr r1, [r6, #0x7c] ldr r2, [r6, #0x80] add r0, r6, #0xbc add r0, r0, #0x400 add r1, r1, r5 sub r2, r2, r5 bl func_ov61_02161774 _02165148: ldr r0, [r6] cmp r0, #3 bne _02165160 mov r0, r6 bl func_ov61_02164520 mov r4, r0 _02165160: cmp r4, #0 movne r0, r4 ldmneia sp!, {r4, r5, r6, pc} ldr r0, [r6] cmp r0, #2 bne _02165190 ldr r0, [r6, #0x80] cmp r0, #0 ble _02165190 mov r0, r6 bl func_ov61_02164eec ldmia sp!, {r4, r5, r6, pc} _02165190: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021650b0 .global func_ov61_02165198 arm_func_start func_ov61_02165198 func_ov61_02165198: ; 0x02165198 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 mov r5, r0 ldr r1, [r5] mov r4, r3 cmp r1, #1 bne _021651cc mov r1, #0 mov r2, r1 mov r3, #2 str r1, [sp] bl func_ov61_02163aac _021651cc: ldr r0, [r5] cmp r0, #1 addeq sp, sp, #0x18 moveq r0, #3 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} addeq sp, sp, #0x10 bxeq lr ldr r0, [sp, #0x50] add r6, sp, #0x44 add r0, r0, #9 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r2, r0, asr #0x8 mov r1, r0, lsl #0x8 and r2, r2, #0xff and r1, r1, #0xff00 orr r1, r2, r1 strh r1, [sp, #4] add r2, sp, #4 ldrb r3, [r2] add r0, sp, #0x48 add r1, sp, #6 ldrb r2, [r2, #1] strb r3, [r1] mov fp, #2 strb r2, [r1, #1] ldrb sb, [r6] add sl, sp, #9 ldrb r8, [r6, #1] ldrb r7, [r6, #2] ldrb r6, [r6, #3] ldrb ip, [r0] ldrb r3, [r0, #1] add lr, sp, #0xd mov r0, r5 mov r2, #9 strb fp, [sp, #8] strb sb, [sl] strb r8, [sl, #1] strb r7, [sl, #2] strb r6, [sl, #3] strb ip, [lr] strb r3, [lr, #1] bl func_ov61_02163a14 cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} addne sp, sp, #0x10 bxne lr ldr r0, [r5, #0x4b0] ldr r2, [sp, #0x50] mov r1, r4 mov r3, #0 bl func_ov61_02166bf0 cmp r0, #0 movlt r0, #3 movge r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_02165198 .global func_ov61_021652c0 arm_func_start func_ov61_021652c0 func_ov61_021652c0: ; 0x021652c0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10 ldr r5, [sp, #0x44] mov r7, #0xfd mov r4, r5, lsr #0x18 mov r8, r5, lsl #0x18 mov r3, r5, lsr #0x8 mov r6, r5, lsl #0x8 and r5, r4, #0xff and r4, r3, #0xff00 orr sb, r5, r4 and r3, r6, #0xff0000 mov r6, #0xfc mov r5, #0x1e mov r4, #0x66 mov lr, #0x6a mov fp, #0xb2 strb r4, [sp, #7] and r8, r8, #0xff000000 orr r3, r3, sb orr r8, r8, r3 add r3, sp, #0x44 str r8, [sp, #0x44] strb r7, [sp, #4] ldrb sl, [r3] add ip, sp, #0xa ldrb sb, [r3, #1] ldrb r8, [r3, #2] ldrb r7, [r3, #3] add r3, sp, #4 strb r6, [sp, #5] strb r5, [sp, #6] strb lr, [sp, #8] strb fp, [sp, #9] strb sl, [ip] strb sb, [ip, #1] strb r8, [ip, #2] strb r7, [ip, #3] mov r4, #0xa str r4, [sp] bl func_ov61_02165198 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_021652c0 .global func_ov61_02165378 arm_func_start func_ov61_02165378 func_ov61_02165378: ; 0x02165378 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x5f0 mov r1, #8 mov sl, r0 str r1, [sp, #8] ldr r0, [sl, #0x4b0] bl func_ov61_02166914 cmp r0, #0 beq _02165440 ldr r6, _02165494 ; =0x000005db add sb, sp, #0xc add r8, sp, #8 add r7, sp, #0x14 mov fp, #0 mvn r4, #0 _021653b4: str sb, [sp] str r8, [sp, #4] ldr r0, [sl, #0x4b0] mov r1, r7 mov r2, r6 mov r3, fp bl func_ov61_02166bc0 cmp r0, r4 beq _02165430 ldrh r2, [sp, #0xe] ldr r1, [sp, #0x10] mov r0, sl bl func_ov61_021631b8 cmp r0, r4 bne _02165430 ldrh r2, [sp, #0xe] ldr r1, [sp, #0x10] mov r0, sl bl func_ov61_02162780 mov r5, r0 bl func_ov61_02162858 cmp r0, #0 addne sp, sp, #0x5f0 movne r0, #5 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, r5 mov r1, #0x11 bl func_ov61_0216282c mov r0, sl mov r1, r5 bl func_ov61_02163128 _02165430: ldr r0, [sl, #0x4b0] bl func_ov61_02166914 cmp r0, #0 bne _021653b4 _02165440: bl func_ov61_021665e8 ldr r1, [sl, #0x4b4] sub r0, r0, r1 cmp r0, #0x7d0 bls _02165488 ldr r0, [sl, #0x4b0] bl func_ov61_02166a98 mvn r0, #0 str r0, [sl, #0x4b0] mov r0, #1 str r0, [sl] ldr r0, _02165498 ; =data_ov61_02181014 ldr r3, [sl, #0x494] ldr r2, [r0] ldr r4, [sl, #0x488] mov r0, sl mov r1, #3 blx r4 _02165488: mov r0, #0 add sp, sp, #0x5f0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02165378 _02165494: .word 0x000005db _02165498: .word data_ov61_02181014 .global func_ov61_0216549c arm_func_start func_ov61_0216549c func_ov61_0216549c: ; 0x0216549c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_021632cc ldr r0, [r4] cmp r0, #3 addls pc, pc, r0, lsl #2 b _021654e0 _021654b8: ; jump table b _021654d4 ; case 0 b _021654e0 ; case 1 b _021654c8 ; case 2 b _021654c8 ; case 3 _021654c8: mov r0, r4 bl func_ov61_021650b0 ldmia sp!, {r4, pc} _021654d4: mov r0, r4 bl func_ov61_02165378 ldmia sp!, {r4, pc} _021654e0: mov r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_0216549c .global func_ov61_021654e8 arm_func_start func_ov61_021654e8 func_ov61_021654e8: ; 0x021654e8 stmdb sp!, {r3, r4, r5, lr} mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r3, r1, asr #0x8 mov r1, r1, lsl #0x8 mov r4, r2 mov ip, #2 and r2, r3, #0xff and r1, r1, #0xff00 strb ip, [r4, #1] orr r1, r2, r1 mov r5, r0 strh r1, [r4, #2] bl func_ov61_02166cc4 mvn r1, #0 str r0, [r4, #4] cmp r0, r1 bne _02165554 mov r0, r5 bl func_ov61_021590ac cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r0, #0xc] ldr r0, [r0] ldr r0, [r0] str r0, [r4, #4] _02165554: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_021654e8 .global func_ov61_0216555c arm_func_start func_ov61_0216555c func_ov61_0216555c: ; 0x0216555c stmdb sp!, {r3, lr} sub sp, sp, #8 ldr r1, _021655a0 ; =data_ov61_0218102c mov r0, #8 str r1, [sp] ldr r1, _021655a4 ; =data_ov61_02181024 str r0, [sp, #4] ldr r0, [r1, #4] ldr r2, [r1, #0x50] ldr r1, _021655a8 ; =data_ov61_02181034 mov r3, #0 bl func_ov61_02166c04 bl func_ov61_021665e8 ldr r1, _021655a4 ; =data_ov61_02181024 str r0, [r1, #0x54] add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0216555c _021655a0: .word data_ov61_0218102c _021655a4: .word data_ov61_02181024 _021655a8: .word data_ov61_02181034 .global func_ov61_021655ac arm_func_start func_ov61_021655ac func_ov61_021655ac: ; 0x021655ac stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x40 mov r4, r0 ldr r0, _02165688 ; =data_ov61_021810c0 mov r1, r4 bl func_02047024 ldr r0, _0216568c ; =data_ov61_02181024 mvn r1, #0 str r1, [r0, #4] bl func_ov61_0216664c ldr r0, _02165690 ; =data_ov61_02181080 ldrsb r5, [r0] cmp r5, #0 bne _021655f4 ldr r1, _02165694 ; =data_ov61_0217c06c add r0, sp, #0 mov r2, r4 bl func_020459b8 _021655f4: cmp r5, #0 ldrne r0, _02165690 ; =data_ov61_02181080 ldr r1, _02165698 ; =0x00006cfc ldr r2, _0216569c ; =data_ov61_0218102c addeq r0, sp, #0 bl func_ov61_021654e8 cmp r0, #0 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, pc} mov r0, #2 mov r1, r0 mov r2, #0 bl func_ov61_02166a84 ldr r2, _0216568c ; =data_ov61_02181024 mvn r1, #0 cmp r0, r1 str r0, [r2, #4] addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, pc} mov r1, #9 mov r0, r4 strb r1, [r2, #0x10] bl func_02047008 mov r5, r0 ldr r0, _021656a0 ; =data_ov61_02181039 mov r1, r4 add r2, r5, #1 bl func_02043594 ldr r0, _0216568c ; =data_ov61_02181024 add r1, r5, #6 str r1, [r0, #0x50] bl func_ov61_0216555c ldr r0, _0216568c ; =data_ov61_02181024 mov r1, #0 str r1, [r0, #0x58] add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021655ac _02165688: .word data_ov61_021810c0 _0216568c: .word data_ov61_02181024 _02165690: .word data_ov61_02181080 _02165694: .word data_ov61_0217c06c _02165698: .word 0x00006cfc _0216569c: .word data_ov61_0218102c _021656a0: .word data_ov61_02181039 .global func_ov61_021656a4 arm_func_start func_ov61_021656a4 func_ov61_021656a4: ; 0x021656a4 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 cmp r1, #7 mov r6, r2 mov r4, r3 movlt r0, #1 ldmltia sp!, {r4, r5, r6, pc} ldr r1, _02165750 ; =data_ov61_02181030 add r0, r6, #4 mov r2, #4 bl func_0204366c cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _02165754 ; =data_ov61_02181024 ldrh r1, [r6, #2] ldrh r0, [r0, #0xa] cmp r1, r0 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} ldr r1, _02165758 ; =data_ov61_0217c090 mov r0, r5 mov r2, #3 bl func_0204366c cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} ldrsb r2, [r5, #3] ldrsb r1, [r5, #4] ldrsb r0, [r5, #5] mov r3, r2, lsl #0x18 mov r2, r1, lsl #0x10 mov r1, r0, lsl #0x8 and r3, r3, #0xff000000 and r2, r2, #0xff0000 ldrb r0, [r5, #6] orr r2, r3, r2 and r1, r1, #0xff00 orr r1, r2, r1 orr r0, r1, r0 str r0, [r4] mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021656a4 _02165750: .word data_ov61_02181030 _02165754: .word data_ov61_02181024 _02165758: .word data_ov61_0217c090 .global func_ov61_0216575c arm_func_start func_ov61_0216575c func_ov61_0216575c: ; 0x0216575c stmdb sp!, {r3, lr} sub sp, sp, #0x58 ldr r2, _02165894 ; =data_ov61_02181024 mov r3, #8 ldr r0, [r2, #4] sub r1, r3, #9 cmp r0, r1 str r3, [sp, #0xc] moveq r0, #1 streq r0, [r2] addeq sp, sp, #0x58 ldmeqia sp!, {r3, pc} bl func_ov61_02166914 cmp r0, #0 beq _02165834 add r0, sp, #0x10 str r0, [sp] add r1, sp, #0xc str r1, [sp, #4] ldr r0, _02165894 ; =data_ov61_02181024 add r1, sp, #0x18 ldr r0, [r0, #4] mov r2, #0x40 mov r3, #0 bl func_ov61_02166bc0 mov r1, r0 add r0, sp, #0x18 add r2, sp, #0x10 add r3, sp, #8 bl func_ov61_021656a4 cmp r0, #0 bne _02165834 ldr r0, _02165894 ; =data_ov61_02181024 ldr r0, [r0, #4] bl func_ov61_02166a98 ldr r0, [sp, #8] tst r0, #1 beq _02165804 ldr r0, _02165894 ; =data_ov61_02181024 mov r1, #2 str r1, [r0] b _02165824 _02165804: tst r0, #2 ldreq r0, _02165894 ; =data_ov61_02181024 moveq r1, #1 streq r1, [r0] beq _02165824 ldr r0, _02165894 ; =data_ov61_02181024 mov r1, #3 str r1, [r0] _02165824: ldr r0, _02165894 ; =data_ov61_02181024 add sp, sp, #0x58 ldr r0, [r0] ldmia sp!, {r3, pc} _02165834: bl func_ov61_021665e8 ldr r1, _02165894 ; =data_ov61_02181024 ldr r2, [r1, #0x54] add r2, r2, #0x7d0 cmp r0, r2 bls _02165888 ldr r0, [r1, #0x58] cmp r0, #1 bne _02165874 ldr r0, [r1, #4] bl func_ov61_02166a98 ldr r1, _02165894 ; =data_ov61_02181024 mov r0, #1 str r0, [r1] add sp, sp, #0x58 ldmia sp!, {r3, pc} _02165874: bl func_ov61_0216555c ldr r0, _02165894 ; =data_ov61_02181024 ldr r1, [r0, #0x58] add r1, r1, #1 str r1, [r0, #0x58] _02165888: mov r0, #0 add sp, sp, #0x58 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0216575c _02165894: .word data_ov61_02181024 .global func_ov61_02165898 arm_func_start func_ov61_02165898 func_ov61_02165898: ; 0x02165898 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4, #0x10] cmp r2, #0 ldmeqia sp!, {r4, pc} bl func_ov61_02165a70 ldr r1, [r4, #0x10] blx r1 ldmia sp!, {r4, pc} arm_func_end func_ov61_02165898 .global func_ov61_021658bc arm_func_start func_ov61_021658bc func_ov61_021658bc: ; 0x021658bc stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #4] ldr r0, [r4, #0xc] add r2, r1, r0 str r2, [r4, #4] ldr r0, [r4, #8] mul r1, r2, r0 ldr r0, [r4, #0x14] bl func_ov61_0213e120 str r0, [r4, #0x14] cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, _02165908 ; =data_ov61_0217c14c ldr r1, _0216590c ; =data_ov61_0217c158 ldr r2, _02165910 ; =data_ov61_0217c0b8 mov r3, #0x41 bl func_02042f80 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021658bc _02165908: .word data_ov61_0217c14c _0216590c: .word data_ov61_0217c158 _02165910: .word data_ov61_0217c0b8 .global func_ov61_02165914 arm_func_start func_ov61_02165914 func_ov61_02165914: ; 0x02165914 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 mov r1, r2 bl func_ov61_02165a70 ldr r2, [r5, #8] mov r1, r4 bl func_02043594 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02165914 .global func_ov61_02165938 arm_func_start func_ov61_02165938 func_ov61_02165938: ; 0x02165938 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r0, #0x18 mov r6, r1 mov r5, r2 bl func_ov61_0213e10c movs r4, r0 bne _0216596c ldr r0, _021659e8 ; =data_ov61_0217c164 ldr r1, _021659ec ; =data_ov61_0217c158 ldr r2, _021659f0 ; =data_ov61_0217c0a0 mov r3, #0x52 bl func_02042f80 _0216596c: cmp r7, #0 bne _02165988 ldr r0, _021659f4 ; =data_ov61_0217c16c ldr r1, _021659ec ; =data_ov61_0217c158 ldr r2, _021659f0 ; =data_ov61_0217c0a0 mov r3, #0x53 bl func_02042f80 _02165988: cmp r6, #0 moveq r6, #8 mov r0, #0 stmia r4, {r0, r6, r7} str r6, [r4, #0xc] str r5, [r4, #0x10] ldr r1, [r4, #4] cmp r1, #0 beq _021659dc ldr r0, [r4, #8] mul r0, r1, r0 bl func_ov61_0213e10c str r0, [r4, #0x14] cmp r0, #0 bne _021659e0 ldr r0, _021659f8 ; =data_ov61_0217c14c ldr r1, _021659ec ; =data_ov61_0217c158 ldr r2, _021659f0 ; =data_ov61_0217c0a0 mov r3, #0x5e bl func_02042f80 b _021659e0 _021659dc: str r0, [r4, #0x14] _021659e0: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02165938 _021659e8: .word data_ov61_0217c164 _021659ec: .word data_ov61_0217c158 _021659f0: .word data_ov61_0217c0a0 _021659f4: .word data_ov61_0217c16c _021659f8: .word data_ov61_0217c14c .global func_ov61_021659fc arm_func_start func_ov61_021659fc func_ov61_021659fc: ; 0x021659fc stmdb sp!, {r3, r4, r5, lr} movs r5, r0 bne _02165a1c ldr r0, _02165a5c ; =data_ov61_0217c164 ldr r1, _02165a60 ; =data_ov61_0217c158 ldr r2, _02165a64 ; =data_ov61_0217c0ac mov r3, #0x69 bl func_02042f80 _02165a1c: ldr r0, [r5] mov r4, #0 cmp r0, #0 ble _02165a48 _02165a2c: mov r0, r5 mov r1, r4 bl func_ov61_02165898 ldr r0, [r5] add r4, r4, #1 cmp r4, r0 blt _02165a2c _02165a48: ldr r0, [r5, #0x14] bl func_ov61_0213e13c mov r0, r5 bl func_ov61_0213e13c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021659fc _02165a5c: .word data_ov61_0217c164 _02165a60: .word data_ov61_0217c158 _02165a64: .word data_ov61_0217c0ac .global func_ov61_02165a68 arm_func_start func_ov61_02165a68 func_ov61_02165a68: ; 0x02165a68 ldr r0, [r0] bx lr arm_func_end func_ov61_02165a68 .global func_ov61_02165a70 arm_func_start func_ov61_02165a70 func_ov61_02165a70: ; 0x02165a70 stmdb sp!, {r3, r4, r5, lr} movs r4, r1 mov r5, r0 bmi _02165a8c ldr r0, [r5] cmp r4, r0 blt _02165aa0 _02165a8c: ldr r0, _02165acc ; =data_ov61_0217c178 ldr r1, _02165ad0 ; =data_ov61_0217c158 ldr r2, _02165ad4 ; =data_ov61_0217c094 mov r3, #0x94 bl func_02042f80 _02165aa0: cmp r4, #0 blt _02165ab4 ldr r0, [r5] cmp r4, r0 blt _02165abc _02165ab4: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02165abc: ldr r0, [r5, #0x14] ldr r1, [r5, #8] mla r0, r1, r4, r0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02165a70 _02165acc: .word data_ov61_0217c178 _02165ad0: .word data_ov61_0217c158 _02165ad4: .word data_ov61_0217c094 .global func_ov61_02165ad8 arm_func_start func_ov61_02165ad8 func_ov61_02165ad8: ; 0x02165ad8 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 mov r4, r1 bne _02165afc ldr r0, _02165b18 ; =data_ov61_0217c164 ldr r1, _02165b1c ; =data_ov61_0217c158 ldr r2, _02165b20 ; =data_ov61_0217c0c4 mov r3, #0xa0 bl func_02042f80 _02165afc: cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, [r5] mov r0, r5 mov r1, r4 bl func_ov61_02165b24 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02165ad8 _02165b18: .word data_ov61_0217c164 _02165b1c: .word data_ov61_0217c158 _02165b20: .word data_ov61_0217c0c4 .global func_ov61_02165b24 arm_func_start func_ov61_02165b24 func_ov61_02165b24: ; 0x02165b24 stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r4, r2 mov r6, r0 mov r5, r1 bmi _02165b44 ldr r0, [r6] cmp r4, r0 ble _02165b58 _02165b44: ldr r0, _02165bd0 ; =data_ov61_0217c198 ldr r1, _02165bd4 ; =data_ov61_0217c158 ldr r2, _02165bd8 ; =data_ov61_0217c0f0 mov r3, #0xa7 bl func_02042f80 _02165b58: ldr r1, [r6] ldr r0, [r6, #4] cmp r1, r0 bne _02165b70 mov r0, r6 bl func_ov61_021658bc _02165b70: ldr r0, [r6] add r0, r0, #1 sub r8, r0, #1 str r0, [r6] cmp r4, r8 bge _02165bbc mov r0, r6 add r1, r4, #1 bl func_ov61_02165a70 mov r7, r0 mov r0, r6 mov r1, r4 bl func_ov61_02165a70 mov r1, r0 ldr r3, [r6, #8] sub r0, r8, r4 mul r2, r3, r0 mov r0, r7 bl func_020435b4 _02165bbc: mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02165914 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02165b24 _02165bd0: .word data_ov61_0217c198 _02165bd4: .word data_ov61_0217c158 _02165bd8: .word data_ov61_0217c0f0 .global func_ov61_02165bdc arm_func_start func_ov61_02165bdc func_ov61_02165bdc: ; 0x02165bdc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc movs r4, r2 mov r6, r0 mov r5, r1 bne _02165c08 ldr r0, _02165c50 ; =data_ov61_0217c1b8 ldr r1, _02165c54 ; =data_ov61_0217c158 ldr r2, _02165c58 ; =data_ov61_0217c124 mov r3, #0xb7 bl func_02042f80 _02165c08: add r0, sp, #8 str r4, [sp] str r0, [sp, #4] ldr r1, [r6, #0x14] ldr r2, [r6] ldr r3, [r6, #8] mov r0, r5 bl func_ov61_02165fd8 ldr r2, [r6, #0x14] ldr r1, [r6, #8] sub r0, r0, r2 bl func_02002c14 mov r2, r0 mov r0, r6 mov r1, r5 bl func_ov61_02165b24 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02165bdc _02165c50: .word data_ov61_0217c1b8 _02165c54: .word data_ov61_0217c158 _02165c58: .word data_ov61_0217c124 .global func_ov61_02165c5c arm_func_start func_ov61_02165c5c func_ov61_02165c5c: ; 0x02165c5c stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r7, r1 mov r4, r0 bmi _02165c78 ldr r0, [r4] cmp r7, r0 blt _02165c8c _02165c78: ldr r0, _02165ce0 ; =data_ov61_0217c178 ldr r1, _02165ce4 ; =data_ov61_0217c158 ldr r2, _02165ce8 ; =data_ov61_0217c0d0 mov r3, #0xc0 bl func_02042f80 _02165c8c: ldr r0, [r4] sub r6, r0, #1 cmp r7, r6 bge _02165cd0 mov r0, r4 mov r1, r7 bl func_ov61_02165a70 mov r5, r0 mov r0, r4 add r1, r7, #1 bl func_ov61_02165a70 mov r1, r0 ldr r3, [r4, #8] sub r0, r6, r7 mul r2, r3, r0 mov r0, r5 bl func_020435b4 _02165cd0: ldr r0, [r4] sub r0, r0, #1 str r0, [r4] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02165c5c _02165ce0: .word data_ov61_0217c178 _02165ce4: .word data_ov61_0217c158 _02165ce8: .word data_ov61_0217c0d0 .global func_ov61_02165cec arm_func_start func_ov61_02165cec func_ov61_02165cec: ; 0x02165cec stmdb sp!, {r3, r4, r5, lr} movs r4, r1 mov r5, r0 bmi _02165d08 ldr r0, [r5] cmp r4, r0 blt _02165d1c _02165d08: ldr r0, _02165d38 ; =data_ov61_0217c178 ldr r1, _02165d3c ; =data_ov61_0217c158 ldr r2, _02165d40 ; =data_ov61_0217c0e0 mov r3, #0xca bl func_02042f80 _02165d1c: mov r0, r5 mov r1, r4 bl func_ov61_02165898 mov r0, r5 mov r1, r4 bl func_ov61_02165c5c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02165cec _02165d38: .word data_ov61_0217c178 _02165d3c: .word data_ov61_0217c158 _02165d40: .word data_ov61_0217c0e0 .global func_ov61_02165d44 arm_func_start func_ov61_02165d44 func_ov61_02165d44: ; 0x02165d44 stmdb sp!, {r4, r5, r6, lr} movs r4, r2 mov r6, r0 mov r5, r1 bmi _02165d64 ldr r0, [r6] cmp r4, r0 blt _02165d78 _02165d64: ldr r0, _02165d98 ; =data_ov61_0217c178 ldr r1, _02165d9c ; =data_ov61_0217c158 ldr r2, _02165da0 ; =data_ov61_0217c100 mov r3, #0xd3 bl func_02042f80 _02165d78: mov r0, r6 mov r1, r4 bl func_ov61_02165898 mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02165914 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02165d44 _02165d98: .word data_ov61_0217c178 _02165d9c: .word data_ov61_0217c158 _02165da0: .word data_ov61_0217c100 .global func_ov61_02165da4 arm_func_start func_ov61_02165da4 func_ov61_02165da4: ; 0x02165da4 ldr ip, _02165dc0 ; =func_020459e4 mov r2, r0 mov r3, r1 ldr r0, [r2, #0x14] ldr r1, [r2] ldr r2, [r2, #8] bx ip .align 2, 0 arm_func_end func_ov61_02165da4 _02165dc0: .word func_020459e4 .global func_ov61_02165dc4 arm_func_start func_ov61_02165dc4 func_ov61_02165dc4: ; 0x02165dc4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov ip, #1 movs r7, r0 str ip, [sp, #8] ldrne r8, [r7] mov r6, r1 cmpne r8, #0 mov r5, r2 mov r4, r3 addeq sp, sp, #0xc mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r1, [sp, #0x28] cmp r1, #0 mov r1, r4 beq _02165e30 bl func_ov61_02165a70 add r1, sp, #8 str r5, [sp] str r1, [sp, #4] mov r1, r0 ldr r3, [r7, #8] mov r0, r6 sub r2, r8, r4 bl func_ov61_02165fd8 b _02165e4c _02165e30: bl func_ov61_02165a70 str r5, [sp] mov r1, r0 ldr r3, [r7, #8] mov r0, r6 sub r2, r8, r4 bl func_ov61_02165f80 _02165e4c: cmp r0, #0 ldrne r1, [sp, #8] cmpne r1, #0 addeq sp, sp, #0xc mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r2, [r7, #0x14] ldr r1, [r7, #8] sub r0, r0, r2 bl func_02002c14 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_02165dc4 .global func_ov61_02165e7c arm_func_start func_ov61_02165e7c func_ov61_02165e7c: ; 0x02165e7c stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r6, r1 mov r7, r0 mov r5, r2 bne _02165ea4 ldr r0, _02165ed0 ; =data_ov61_0217c1c4 ldr r1, _02165ed4 ; =data_ov61_0217c158 ldr r2, _02165ed8 ; =data_ov61_0217c110 mov r3, #0x104 bl func_02042f80 _02165ea4: ldr r0, [r7] subs r4, r0, #1 ldmmiia sp!, {r3, r4, r5, r6, r7, pc} _02165eb0: mov r0, r7 mov r1, r4 bl func_ov61_02165a70 mov r1, r5 blx r6 subs r4, r4, #1 bpl _02165eb0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02165e7c _02165ed0: .word data_ov61_0217c1c4 _02165ed4: .word data_ov61_0217c158 _02165ed8: .word data_ov61_0217c110 .global func_ov61_02165edc arm_func_start func_ov61_02165edc func_ov61_02165edc: ; 0x02165edc stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r7, r1 mov r8, r0 mov r6, r2 bne _02165f04 ldr r0, _02165f44 ; =data_ov61_0217c1c4 ldr r1, _02165f48 ; =data_ov61_0217c158 ldr r2, _02165f4c ; =data_ov61_0217c138 ldr r3, _02165f50 ; =0x00000121 bl func_02042f80 _02165f04: ldr r0, [r8] subs r5, r0, #1 bmi _02165f3c _02165f10: mov r0, r8 mov r1, r5 bl func_ov61_02165a70 mov r1, r6 mov r4, r0 blx r7 cmp r0, #0 moveq r0, r4 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} subs r5, r5, #1 bpl _02165f10 _02165f3c: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02165edc _02165f44: .word data_ov61_0217c1c4 _02165f48: .word data_ov61_0217c158 _02165f4c: .word data_ov61_0217c138 _02165f50: .word 0x00000121 .global func_ov61_02165f54 arm_func_start func_ov61_02165f54 func_ov61_02165f54: ; 0x02165f54 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov61_02165a68 subs r4, r0, #1 ldmmiia sp!, {r3, r4, r5, pc} _02165f68: mov r0, r5 mov r1, r4 bl func_ov61_02165cec subs r4, r4, #1 bpl _02165f68 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02165f54 .global func_ov61_02165f80 arm_func_start func_ov61_02165f80 func_ov61_02165f80: ; 0x02165f80 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r8, r2 mov sl, r0 mov sb, r1 mov r7, r3 cmp r8, #0 ldr r6, [sp, #0x20] mov r4, #0 ble _02165fd0 mov r5, r4 _02165fa8: mov r0, sl add r1, sb, r5 blx r6 cmp r0, #0 mlaeq r0, r7, r4, sb ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add r4, r4, #1 cmp r4, r8 add r5, r5, r7 blt _02165fa8 _02165fd0: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov61_02165f80 .global func_ov61_02165fd8 arm_func_start func_ov61_02165fd8 func_ov61_02165fd8: ; 0x02165fd8 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} ldr r7, [sp, #0x2c] mov r4, #0 mov fp, r0 mov sl, r1 mov sb, r3 str r4, [r7] subs r5, r2, #1 ldr r8, [sp, #0x28] bmi _02166034 _02166000: add r0, r4, r5 mov r6, r0, asr #0x1 mla r0, r6, sb, sl mov r1, fp blx r8 cmp r0, #0 moveq r1, #1 streq r1, [r7] cmp r0, #0 addlt r4, r6, #1 subge r5, r6, #1 cmp r4, r5 ble _02166000 _02166034: mla r0, r4, sb, sl ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_02165fd8 .global func_ov61_0216603c arm_func_start func_ov61_0216603c func_ov61_0216603c: ; 0x0216603c stmdb sp!, {r3, lr} sub sp, sp, #8 ldr ip, [sp, #0x10] str r3, [sp] mov r3, r2 mov r2, #4 str ip, [sp, #4] bl func_ov61_02166064 add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end func_ov61_0216603c .global func_ov61_02166064 arm_func_start func_ov61_02166064 func_ov61_02166064: ; 0x02166064 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} movs r7, r3 mov sl, r0 mov sb, r1 mov r8, r2 ldr r6, [sp, #0x24] bne _02166094 ldr r0, _02166184 ; =data_ov61_0217c230 ldr r1, _02166188 ; =data_ov61_0217c238 ldr r2, _0216618c ; =data_ov61_0217c1c8 mov r3, #0x38 bl func_02042f80 _02166094: ldr r0, [sp, #0x20] cmp r0, #0 bne _021660b4 ldr r0, _02166190 ; =data_ov61_0217c244 ldr r1, _02166188 ; =data_ov61_0217c238 ldr r2, _0216618c ; =data_ov61_0217c1c8 mov r3, #0x39 bl func_02042f80 _021660b4: cmp sl, #0 bne _021660d0 ldr r0, _02166194 ; =data_ov61_0217c24c ldr r1, _02166188 ; =data_ov61_0217c238 ldr r2, _0216618c ; =data_ov61_0217c1c8 mov r3, #0x3a bl func_02042f80 _021660d0: cmp sb, #0 bne _021660ec ldr r0, _02166198 ; =data_ov61_0217c258 ldr r1, _02166188 ; =data_ov61_0217c238 ldr r2, _0216618c ; =data_ov61_0217c1c8 mov r3, #0x3b bl func_02042f80 _021660ec: mov r0, #0x14 bl func_ov61_0213e10c movs r4, r0 bne _02166110 ldr r0, _0216619c ; =data_ov61_0217c264 ldr r1, _02166188 ; =data_ov61_0217c238 ldr r2, _0216618c ; =data_ov61_0217c1c8 mov r3, #0x3e bl func_02042f80 _02166110: mov r0, sb, lsl #0x2 bl func_ov61_0213e10c str r0, [r4] cmp r0, #0 bne _02166138 ldr r0, _021661a0 ; =data_ov61_0217c26c ldr r1, _02166188 ; =data_ov61_0217c238 ldr r2, _0216618c ; =data_ov61_0217c1c8 mov r3, #0x41 bl func_02042f80 _02166138: cmp sb, #0 mov r5, #0 ble _02166168 _02166144: mov r0, sl mov r1, r8 mov r2, r6 bl func_ov61_02165938 ldr r1, [r4] str r0, [r1, r5, lsl #2] add r5, r5, #1 cmp r5, sb blt _02166144 _02166168: str sb, [r4, #4] ldr r0, [sp, #0x20] str r6, [r4, #8] str r0, [r4, #0x10] mov r0, r4 str r7, [r4, #0xc] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02166064 _02166184: .word data_ov61_0217c230 _02166188: .word data_ov61_0217c238 _0216618c: .word data_ov61_0217c1c8 _02166190: .word data_ov61_0217c244 _02166194: .word data_ov61_0217c24c _02166198: .word data_ov61_0217c258 _0216619c: .word data_ov61_0217c264 _021661a0: .word data_ov61_0217c26c .global func_ov61_021661a4 arm_func_start func_ov61_021661a4 func_ov61_021661a4: ; 0x021661a4 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 bne _021661c4 ldr r0, _0216620c ; =data_ov61_0217c264 ldr r1, _02166210 ; =data_ov61_0217c238 ldr r2, _02166214 ; =data_ov61_0217c1d4 mov r3, #0x51 bl func_02042f80 _021661c4: cmp r5, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #4] mov r4, #0 cmp r0, #0 ble _021661f8 _021661dc: ldr r0, [r5] ldr r0, [r0, r4, lsl #2] bl func_ov61_021659fc ldr r0, [r5, #4] add r4, r4, #1 cmp r4, r0 blt _021661dc _021661f8: ldr r0, [r5] bl func_ov61_0213e13c mov r0, r5 bl func_ov61_0213e13c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021661a4 _0216620c: .word data_ov61_0217c264 _02166210: .word data_ov61_0217c238 _02166214: .word data_ov61_0217c1d4 .global func_ov61_02166218 arm_func_start func_ov61_02166218 func_ov61_02166218: ; 0x02166218 stmdb sp!, {r4, r5, r6, lr} movs r6, r0 mov r5, #0 bne _0216623c ldr r0, _02166280 ; =data_ov61_0217c264 ldr r1, _02166284 ; =data_ov61_0217c238 ldr r2, _02166288 ; =data_ov61_0217c1ec mov r3, #0x61 bl func_02042f80 _0216623c: cmp r6, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r6, #4] mov r4, #0 cmp r0, #0 ble _02166278 _02166258: ldr r0, [r6] ldr r0, [r0, r4, lsl #2] bl func_ov61_02165a68 ldr r1, [r6, #4] add r4, r4, #1 cmp r4, r1 add r5, r5, r0 blt _02166258 _02166278: mov r0, r5 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02166218 _02166280: .word data_ov61_0217c264 _02166284: .word data_ov61_0217c238 _02166288: .word data_ov61_0217c1ec .global func_ov61_0216628c arm_func_start func_ov61_0216628c func_ov61_0216628c: ; 0x0216628c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 movs r6, r0 mov r5, r1 bne _021662b4 ldr r0, _02166328 ; =data_ov61_0217c264 ldr r1, _0216632c ; =data_ov61_0217c238 ldr r2, _02166330 ; =data_ov61_0217c1e0 mov r3, #0x71 bl func_02042f80 _021662b4: cmp r6, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [r6, #4] ldr r2, [r6, #0xc] mov r0, r5 blx r2 mov r3, #0 str r3, [sp] ldr r1, [r6] mov r4, r0 ldr r0, [r1, r4, lsl #2] ldr r2, [r6, #0x10] mov r1, r5 bl func_ov61_02165dc4 mov r2, r0 mvn r0, #0 cmp r2, r0 ldr r0, [r6] mov r1, r5 bne _02166318 ldr r0, [r0, r4, lsl #2] bl func_ov61_02165ad8 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} _02166318: ldr r0, [r0, r4, lsl #2] bl func_ov61_02165d44 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216628c _02166328: .word data_ov61_0217c264 _0216632c: .word data_ov61_0217c238 _02166330: .word data_ov61_0217c1e0 .global func_ov61_02166334 arm_func_start func_ov61_02166334 func_ov61_02166334: ; 0x02166334 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 movs r6, r0 mov r5, r1 bne _0216635c ldr r0, _021663cc ; =data_ov61_0217c264 ldr r1, _021663d0 ; =data_ov61_0217c238 ldr r2, _021663d4 ; =data_ov61_0217c1f8 mov r3, #0x82 bl func_02042f80 _0216635c: cmp r6, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [r6, #4] ldr r2, [r6, #0xc] mov r0, r5 blx r2 mov r3, #0 str r3, [sp] ldr r1, [r6] mov r4, r0 ldr r0, [r1, r4, lsl #2] ldr r2, [r6, #0x10] mov r1, r5 bl func_ov61_02165dc4 mov r1, r0 mvn r0, #0 cmp r1, r0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, [r6] ldr r0, [r0, r4, lsl #2] bl func_ov61_02165cec mov r0, #1 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02166334 _021663cc: .word data_ov61_0217c264 _021663d0: .word data_ov61_0217c238 _021663d4: .word data_ov61_0217c1f8 .global func_ov61_021663d8 arm_func_start func_ov61_021663d8 func_ov61_021663d8: ; 0x021663d8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 movs r6, r0 mov r5, r1 bne _02166400 ldr r0, _0216646c ; =data_ov61_0217c264 ldr r1, _02166470 ; =data_ov61_0217c238 ldr r2, _02166474 ; =data_ov61_0217c204 mov r3, #0x94 bl func_02042f80 _02166400: cmp r6, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [r6, #4] ldr r2, [r6, #0xc] mov r0, r5 blx r2 mov r3, #0 str r3, [sp] ldr r1, [r6] mov r4, r0 ldr r0, [r1, r4, lsl #2] ldr r2, [r6, #0x10] mov r1, r5 bl func_ov61_02165dc4 mov r1, r0 mvn r0, #0 cmp r1, r0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, [r6] ldr r0, [r0, r4, lsl #2] bl func_ov61_02165a70 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021663d8 _0216646c: .word data_ov61_0217c264 _02166470: .word data_ov61_0217c238 _02166474: .word data_ov61_0217c204 .global func_ov61_02166478 arm_func_start func_ov61_02166478 func_ov61_02166478: ; 0x02166478 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r6, r1 mov r7, r0 mov r5, r2 bne _021664a0 ldr r0, _021664d8 ; =data_ov61_0217c27c ldr r1, _021664dc ; =data_ov61_0217c238 ldr r2, _021664e0 ; =data_ov61_0217c210 mov r3, #0xb6 bl func_02042f80 _021664a0: ldr r0, [r7, #4] mov r4, #0 cmp r0, #0 ldmleia sp!, {r3, r4, r5, r6, r7, pc} _021664b0: ldr r0, [r7] mov r1, r6 ldr r0, [r0, r4, lsl #2] mov r2, r5 bl func_ov61_02165e7c ldr r0, [r7, #4] add r4, r4, #1 cmp r4, r0 blt _021664b0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02166478 _021664d8: .word data_ov61_0217c27c _021664dc: .word data_ov61_0217c238 _021664e0: .word data_ov61_0217c210 .global func_ov61_021664e4 arm_func_start func_ov61_021664e4 func_ov61_021664e4: ; 0x021664e4 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r6, r1 mov r7, r0 mov r5, r2 bne _0216650c ldr r0, _02166550 ; =data_ov61_0217c27c ldr r1, _02166554 ; =data_ov61_0217c238 ldr r2, _02166558 ; =data_ov61_0217c220 mov r3, #0xd3 bl func_02042f80 _0216650c: ldr r0, [r7, #4] mov r4, #0 cmp r0, #0 ble _02166548 _0216651c: ldr r0, [r7] mov r1, r6 ldr r0, [r0, r4, lsl #2] mov r2, r5 bl func_ov61_02165edc cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r7, #4] add r4, r4, #1 cmp r4, r0 blt _0216651c _02166548: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021664e4 _02166550: .word data_ov61_0217c27c _02166554: .word data_ov61_0217c238 _02166558: .word data_ov61_0217c220 .global func_ov61_0216655c arm_func_start func_ov61_0216655c func_ov61_0216655c: ; 0x0216655c stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r5, #0 ldr r4, _02166598 ; =data_ov61_0217c280 mov r8, r0 mov r7, r1 mov r6, r5 _02166574: ldrb r2, [r8, r5] mov r1, r4 add r0, r7, r6 bl func_020459b8 add r5, r5, #1 cmp r5, #0x10 add r6, r6, #2 blo _02166574 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0216655c _02166598: .word data_ov61_0217c280 .global func_ov61_0216659c arm_func_start func_ov61_0216659c func_ov61_0216659c: ; 0x0216659c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x68 mov r6, r0 add r0, sp, #0x10 mov r5, r1 mov r4, r2 bl func_ov61_0215e974 add r0, sp, #0x10 mov r1, r6 mov r2, r5 bl func_ov61_0215e980 add r0, sp, #0 add r1, sp, #0x10 bl func_ov61_0215e98c add r0, sp, #0 mov r1, r4 bl func_ov61_0216655c add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216659c .global func_ov61_021665e8 arm_func_start func_ov61_021665e8 func_ov61_021665e8: ; 0x021665e8 stmdb sp!, {r3, lr} bl func_0200e880 cmp r0, #1 beq _0216660c ldr r0, _0216662c ; =data_ov61_0217c2a4 ldr r1, _02166630 ; =data_ov61_0217c2c4 ldr r2, _02166634 ; =data_ov61_0217c294 ldr r3, _02166638 ; =0x00000109 bl func_02042f80 _0216660c: bl func_0200e8f8 mov r1, r1, lsl #0x6 orr r1, r1, r0, lsr #26 ldr r2, _0216663c ; =0x000082ea mov r0, r0, lsl #0x6 mov r3, #0 bl func_02002bac ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021665e8 _0216662c: .word data_ov61_0217c2a4 _02166630: .word data_ov61_0217c2c4 _02166634: .word data_ov61_0217c294 _02166638: .word 0x00000109 _0216663c: .word 0x000082ea .global func_ov61_02166640 arm_func_start func_ov61_02166640 func_ov61_02166640: ; 0x02166640 ldr ip, _02166648 ; =func_0200db28 bx ip .align 2, 0 arm_func_end func_ov61_02166640 _02166648: .word func_0200db28 .global func_ov61_0216664c arm_func_start func_ov61_0216664c func_ov61_0216664c: ; 0x0216664c bx lr arm_func_end func_ov61_0216664c .global func_ov61_02166650 arm_func_start func_ov61_02166650 func_ov61_02166650: ; 0x02166650 bx lr arm_func_end func_ov61_02166650 .global func_ov61_02166654 arm_func_start func_ov61_02166654 func_ov61_02166654: ; 0x02166654 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} bl func_02047008 add r0, r0, #1 bl func_ov61_0213e10c movs r4, r0 beq _02166680 mov r1, r5 bl func_02047024 _02166680: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02166654 .global func_ov61_02166688 arm_func_start func_ov61_02166688 func_ov61_02166688: ; 0x02166688 ldrsb r3, [r0] mov r2, r0 cmp r3, #0 beq _021666c0 ldr r1, _021666c8 ; =data_02056c98 _0216669c: cmp r3, #0 blt _021666b0 cmp r3, #0x80 bge _021666b0 ldrb r3, [r1, r3] _021666b0: strb r3, [r0] ldrsb r3, [r0, #1]! cmp r3, #0 bne _0216669c _021666c0: mov r0, r2 bx lr .align 2, 0 arm_func_end func_ov61_02166688 _021666c8: .word data_02056c98 .global func_ov61_021666cc arm_func_start func_ov61_021666cc func_ov61_021666cc: ; 0x021666cc stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r1, #3 mov r2, #0 mov r5, r0 bl func_ov61_0215932c cmp r4, #0 bicne r2, r0, #4 orreq r2, r0, #4 mov r0, r5 mov r1, #4 bl func_ov61_0215932c cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_021666cc .global func_ov61_0216670c arm_func_start func_ov61_0216670c func_ov61_0216670c: ; 0x0216670c stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} ldr r1, _02166748 ; =0x0000ffff mov ip, #4 ldr r2, _0216674c ; =0x00001002 add r3, sp, #0xc str ip, [sp] bl func_ov61_02166c84 mvn r1, #0 cmp r0, r1 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov61_0216670c _02166748: .word 0x0000ffff _0216674c: .word 0x00001002 .global func_ov61_02166750 arm_func_start func_ov61_02166750 func_ov61_02166750: ; 0x02166750 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} ldr r1, _0216678c ; =0x0000ffff mov ip, #4 add r3, sp, #0xc rsb r2, r1, #0x11000 str ip, [sp] bl func_ov61_02166c84 mvn r1, #0 cmp r0, r1 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov61_02166750 _0216678c: .word 0x0000ffff .global func_ov61_02166790 arm_func_start func_ov61_02166790 func_ov61_02166790: ; 0x02166790 stmdb sp!, {lr} sub sp, sp, #0xc mov r1, #4 str r1, [sp, #4] add ip, sp, #4 ldr r1, _021667d0 ; =0x0000ffff ldr r2, _021667d4 ; =0x00001002 add r3, sp, #8 str ip, [sp] bl func_ov61_02166c5c mvn r1, #0 cmp r0, r1 ldrne r1, [sp, #8] mov r0, r1 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov61_02166790 _021667d0: .word 0x0000ffff _021667d4: .word 0x00001002 .global func_ov61_021667d8 arm_func_start func_ov61_021667d8 func_ov61_021667d8: ; 0x021667d8 stmdb sp!, {lr} sub sp, sp, #0xc ldr r1, _02166818 ; =0x0000ffff mov r2, #4 str r2, [sp, #4] add ip, sp, #4 add r3, sp, #8 rsb r2, r1, #0x11000 str ip, [sp] bl func_ov61_02166c5c mvn r1, #0 cmp r0, r1 ldrne r1, [sp, #8] mov r0, r1 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov61_021667d8 _02166818: .word 0x0000ffff .global func_ov61_0216681c arm_func_start func_ov61_0216681c func_ov61_0216681c: ; 0x0216681c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 movs r6, r1 mov r1, #0 strh r1, [sp, #4] str r0, [sp] ldrnesh r0, [sp, #4] mov r5, r2 mov r2, #0 orrne r0, r0, #1 strneh r0, [sp, #4] cmp r5, #0 ldrnesh r0, [sp, #4] mov r4, r3 mov r3, r2 orrne r0, r0, #8 strneh r0, [sp, #4] add r0, sp, #0 mov r1, #1 strh r2, [sp, #6] bl func_ov61_02159678 cmp r0, #0 addlt sp, sp, #8 mvnlt r0, #0 ldmltia sp!, {r4, r5, r6, pc} cmp r6, #0 beq _021668ac cmp r0, #0 ble _021668a4 ldrsh r1, [sp, #6] tst r1, #0x41 movne r1, #1 strne r1, [r6] bne _021668ac _021668a4: mov r1, #0 str r1, [r6] _021668ac: cmp r5, #0 beq _021668d8 cmp r0, #0 ble _021668d0 ldrsh r1, [sp, #6] tst r1, #8 movne r1, #1 strne r1, [r5] bne _021668d8 _021668d0: mov r1, #0 str r1, [r5] _021668d8: cmp r4, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, r5, r6, pc} cmp r0, #0 ble _02166904 ldrsh r1, [sp, #6] tst r1, #0x20 movne r1, #1 addne sp, sp, #8 strne r1, [r4] ldmneia sp!, {r4, r5, r6, pc} _02166904: mov r1, #0 str r1, [r4] add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216681c .global func_ov61_02166914 arm_func_start func_ov61_02166914 func_ov61_02166914: ; 0x02166914 stmdb sp!, {r3, lr} mov r2, #0 add r1, sp, #0 mov r3, r2 str r2, [sp] bl func_ov61_0216681c cmp r0, #1 ldreq r0, [sp] movne r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02166914 .global func_ov61_0216693c arm_func_start func_ov61_0216693c func_ov61_0216693c: ; 0x0216693c stmdb sp!, {r3, lr} mov r1, #0 add r2, sp, #0 mov r3, r1 str r1, [sp] bl func_ov61_0216681c cmp r0, #1 ldreq r0, [sp] movne r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_0216693c .global func_ov61_02166964 arm_func_start func_ov61_02166964 func_ov61_02166964: ; 0x02166964 stmdb sp!, {r3, lr} ldr r2, _021669d8 ; =data_ov61_0217c2d0 ldr r0, _021669dc ; =data_ov61_02181100 ldr r1, _021669e0 ; =data_ov61_02181100 str r2, [r0, #8] str r1, [r0, #0xc] mov r1, #2 strh r1, [r0, #0x10] mov r2, #0 ldr r1, _021669e4 ; =data_ov61_0218112c strh r2, [r0, #0x12] str r1, [r0, #0x14] str r2, [r0, #0x18] bl func_ov61_02158be8 ldr r1, _021669e8 ; =data_ov61_02181118 bl func_ov61_02159658 ldr r1, _021669dc ; =data_ov61_02181100 ldr r0, [r1, #0x18] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r2, _021669e8 ; =data_ov61_02181118 mov r0, #4 str r2, [r1, #0x2c] strh r0, [r1, #0x12] mov r2, #0 ldr r0, _021669ec ; =data_ov61_02181108 str r2, [r1, #0x30] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02166964 _021669d8: .word data_ov61_0217c2d0 _021669dc: .word data_ov61_02181100 _021669e0: .word data_ov61_02181100 _021669e4: .word data_ov61_0218112c _021669e8: .word data_ov61_02181118 _021669ec: .word data_ov61_02181108 .global func_ov61_021669f0 arm_func_start func_ov61_021669f0 func_ov61_021669f0: ; 0x021669f0 ldr r3, [r0] mov r1, r3, lsr #0x18 mov r0, r3, lsr #0x8 mov r2, r3, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 mov r3, r3, lsl #0x18 orr r0, r1, r0 and r2, r2, #0xff0000 and r1, r3, #0xff000000 orr r0, r2, r0 orr r1, r1, r0 mov r0, r1, lsr #0x18 and r2, r0, #0xff mov r0, r1, lsr #0x10 and r0, r0, #0xff cmp r2, #0xa moveq r0, #1 bxeq lr cmp r2, #0xac bne _02166a58 cmp r0, #0x10 blt _02166a58 cmp r0, #0x1f movle r0, #1 bxle lr _02166a58: cmp r2, #0xc0 cmpeq r0, #0xa8 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov61_021669f0 .global func_ov61_02166a6c arm_func_start func_ov61_02166a6c func_ov61_02166a6c: ; 0x02166a6c cmp r0, #0 ldrlt r2, _02166a80 ; =data_ov61_02181100 strlt r0, [r2, #4] movlt r0, r1 bx lr .align 2, 0 arm_func_end func_ov61_02166a6c _02166a80: .word data_ov61_02181100 .global func_ov61_02166a84 arm_func_start func_ov61_02166a84 func_ov61_02166a84: ; 0x02166a84 stmdb sp!, {r3, lr} bl func_ov61_02158e84 mvn r1, #0 bl func_ov61_02166a6c ldmia sp!, {r3, pc} arm_func_end func_ov61_02166a84 .global func_ov61_02166a98 arm_func_start func_ov61_02166a98 func_ov61_02166a98: ; 0x02166a98 stmdb sp!, {r3, lr} bl func_ov61_021590a0 mvn r1, #0 bl func_ov61_02166a6c ldmia sp!, {r3, pc} arm_func_end func_ov61_02166a98 .global func_ov61_02166aac arm_func_start func_ov61_02166aac func_ov61_02166aac: ; 0x02166aac stmdb sp!, {r3, lr} bl func_ov61_02159094 mvn r1, #0 bl func_ov61_02166a6c ldmia sp!, {r3, pc} arm_func_end func_ov61_02166aac .global func_ov61_02166ac0 arm_func_start func_ov61_02166ac0 func_ov61_02166ac0: ; 0x02166ac0 stmdb sp!, {r4, lr} sub sp, sp, #8 ldrh r3, [r1, #2] cmp r3, #0 addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r4, pc} add r4, sp, #0 mov lr, #4 _02166ae4: ldrb ip, [r1] ldrb r3, [r1, #1] add r1, r1, #2 subs lr, lr, #1 strb ip, [r4] strb r3, [r4, #1] add r4, r4, #2 bne _02166ae4 add r1, sp, #0 strb r2, [sp] bl func_ov61_02158eb0 mvn r1, #0 bl func_ov61_02166a6c add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov61_02166ac0 .global func_ov61_02166b20 arm_func_start func_ov61_02166b20 func_ov61_02166b20: ; 0x02166b20 stmdb sp!, {r4, lr} sub sp, sp, #8 add r4, sp, #0 mov lr, #4 _02166b30: ldrb ip, [r1] ldrb r3, [r1, #1] add r1, r1, #2 subs lr, lr, #1 strb ip, [r4] strb r3, [r4, #1] add r4, r4, #2 bne _02166b30 add r1, sp, #0 strb r2, [sp] bl func_ov61_02158edc mvn r1, #0 bl func_ov61_02166a6c add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov61_02166b20 .global func_ov61_02166b6c arm_func_start func_ov61_02166b6c func_ov61_02166b6c: ; 0x02166b6c stmdb sp!, {r3, lr} bl func_ov61_021592a4 mvn r1, #0 bl func_ov61_02166a6c ldmia sp!, {r3, pc} arm_func_end func_ov61_02166b6c .global func_ov61_02166b80 arm_func_start func_ov61_02166b80 func_ov61_02166b80: ; 0x02166b80 stmdb sp!, {r3, r4, r5, lr} mov r4, r2 ldr r2, [r4] mov r5, r1 strb r2, [r5] bl func_ov61_021592b0 ldrb r2, [r5] mvn r1, #0 str r2, [r4] bl func_ov61_02166a6c ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02166b80 .global func_ov61_02166bac arm_func_start func_ov61_02166bac func_ov61_02166bac: ; 0x02166bac stmdb sp!, {r3, lr} bl func_ov61_02158f38 mvn r1, #0 bl func_ov61_02166a6c ldmia sp!, {r3, pc} arm_func_end func_ov61_02166bac .global func_ov61_02166bc0 arm_func_start func_ov61_02166bc0 func_ov61_02166bc0: ; 0x02166bc0 stmdb sp!, {r3, r4, r5, lr} ldr r4, [sp, #0x14] ldr r5, [sp, #0x10] ldr ip, [r4] strb ip, [r5] str r5, [sp] bl func_ov61_02158f5c ldrb r2, [r5] mvn r1, #0 str r2, [r4] bl func_ov61_02166a6c ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02166bc0 .global func_ov61_02166bf0 arm_func_start func_ov61_02166bf0 func_ov61_02166bf0: ; 0x02166bf0 stmdb sp!, {r3, lr} bl func_ov61_02158fec mvn r1, #0 bl func_ov61_02166a6c ldmia sp!, {r3, pc} arm_func_end func_ov61_02166bf0 .global func_ov61_02166c04 arm_func_start func_ov61_02166c04 func_ov61_02166c04: ; 0x02166c04 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc ldr r5, [sp, #0x20] add r6, sp, #4 mov r4, #4 _02166c18: ldrb lr, [r5] ldrb ip, [r5, #1] add r5, r5, #2 subs r4, r4, #1 strb lr, [r6] strb ip, [r6, #1] add r6, r6, #2 bne _02166c18 ldr lr, [sp, #0x24] add ip, sp, #4 strb lr, [sp, #4] str ip, [sp] bl func_ov61_02159010 mvn r1, #0 bl func_ov61_02166a6c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02166c04 .global func_ov61_02166c5c arm_func_start func_ov61_02166c5c func_ov61_02166c5c: ; 0x02166c5c stmdb sp!, {r3, lr} ldr r1, [sp, #8] mov r0, r3 ldr r2, [r1] mov r1, #0 bl func_02007a44 mov r0, #0 sub r1, r0, #1 bl func_ov61_02166a6c ldmia sp!, {r3, pc} arm_func_end func_ov61_02166c5c .global func_ov61_02166c84 arm_func_start func_ov61_02166c84 func_ov61_02166c84: ; 0x02166c84 ldr ip, _02166c94 ; =func_ov61_02166a6c mov r0, #0 sub r1, r0, #1 bx ip .align 2, 0 arm_func_end func_ov61_02166c84 _02166c94: .word func_ov61_02166a6c .global func_ov61_02166c98 arm_func_start func_ov61_02166c98 func_ov61_02166c98: ; 0x02166c98 stmdb sp!, {r3, r4, r5, lr} mov r4, r2 ldr r2, [r4] mov r5, r1 strb r2, [r5] bl func_ov61_0215916c ldrb r2, [r5] mvn r1, #0 str r2, [r4] bl func_ov61_02166a6c ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02166c98 .global func_ov61_02166cc4 arm_func_start func_ov61_02166cc4 func_ov61_02166cc4: ; 0x02166cc4 stmdb sp!, {r3, lr} add r1, sp, #0 bl func_ov61_02159584 cmp r0, #0 mvneq r0, #0 ldrne r0, [sp] ldmia sp!, {r3, pc} arm_func_end func_ov61_02166cc4 .global func_ov61_02166ce0 arm_func_start func_ov61_02166ce0 func_ov61_02166ce0: ; 0x02166ce0 ldr r0, _02166cec ; =data_ov61_02181100 ldr r0, [r0, #4] bx lr .align 2, 0 arm_func_end func_ov61_02166ce0 _02166cec: .word data_ov61_02181100 .global func_ov61_02166cf0 arm_func_start func_ov61_02166cf0 func_ov61_02166cf0: ; 0x02166cf0 stmdb sp!, {r4, lr} mov r4, r0 bl func_0200e880 cmp r0, #1 beq _02166d18 ldr r0, _02166d40 ; =data_ov61_0217c2a4 ldr r1, _02166d44 ; =data_ov61_0217c2c4 ldr r2, _02166d48 ; =data_ov61_0217c28c ldr r3, _02166d4c ; =0x00000667 bl func_02042f80 _02166d18: bl func_0200e8f8 mov r1, r1, lsl #0x6 orr r1, r1, r0, lsr #26 ldr r2, _02166d50 ; =0x01ff6210 mov r0, r0, lsl #0x6 mov r3, #0 bl func_02002bac cmp r4, #0 strne r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02166cf0 _02166d40: .word data_ov61_0217c2a4 _02166d44: .word data_ov61_0217c2c4 _02166d48: .word data_ov61_0217c28c _02166d4c: .word 0x00000667 _02166d50: .word 0x01ff6210 .global func_ov61_02166d54 arm_func_start func_ov61_02166d54 func_ov61_02166d54: ; 0x02166d54 ldr r2, _02166d9c ; =0x000041a7 mov r1, r0, lsl #0x10 mov r0, r0, lsr #0x10 mul r3, r0, r2 mov r1, r1, lsr #0x10 mul r2, r1, r2 mov r0, r3, lsl #0x11 add r0, r2, r0, lsr #1 mvn r1, #0x80000000 cmp r0, r1 bichi r0, r0, #0x80000000 addhi r0, r0, #1 add r0, r0, r3, lsr #15 mvn r1, #0x80000000 cmp r0, r1 bichi r0, r0, #0x80000000 addhi r0, r0, #1 bx lr .align 2, 0 arm_func_end func_ov61_02166d54 _02166d9c: .word 0x000041a7 .global func_ov61_02166da0 arm_func_start func_ov61_02166da0 func_ov61_02166da0: ; 0x02166da0 stmdb sp!, {r3, lr} ldr r0, _02166dbc ; =data_ov61_0217c288 ldr r0, [r0] bl func_ov61_02166d54 ldr r1, _02166dbc ; =data_ov61_0217c288 str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02166da0 _02166dbc: .word data_ov61_0217c288 .global func_ov61_02166dc0 arm_func_start func_ov61_02166dc0 func_ov61_02166dc0: ; 0x02166dc0 cmp r0, #0 bicne r1, r0, #0x80000000 ldr r0, _02166dd8 ; =data_ov61_0217c288 moveq r1, #1 str r1, [r0] bx lr .align 2, 0 arm_func_end func_ov61_02166dc0 _02166dd8: .word data_ov61_0217c288 .global func_ov61_02166ddc arm_func_start func_ov61_02166ddc func_ov61_02166ddc: ; 0x02166ddc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 subs r4, r1, r5 ldmeqia sp!, {r3, r4, r5, pc} bl func_ov61_02166da0 mov r1, r4 bl func_02002c14 add r0, r1, r5 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02166ddc .global func_ov61_02166e00 arm_func_start func_ov61_02166e00 func_ov61_02166e00: ; 0x02166e00 stmdb sp!, {r3, lr} cmp r2, #0 mov ip, #0 ble _02166e28 add lr, sp, #0 _02166e14: ldrsb r3, [r0, ip] add ip, ip, #1 cmp ip, r2 strb r3, [lr], #1 blt _02166e14 _02166e28: cmp ip, #3 bge _02166e4c add r0, sp, #0 add r2, r0, ip mov r0, #0 _02166e3c: add ip, ip, #1 cmp ip, #3 strb r0, [r2], #1 blt _02166e3c _02166e4c: ldrb r0, [sp] mov r0, r0, asr #0x2 strb r0, [r1] ldrb r2, [sp] ldrb r0, [sp, #1] mov r2, r2, lsl #0x1e mov r0, r0, asr #0x4 orr r0, r0, r2, lsr #26 strb r0, [r1, #1] ldrb r2, [sp, #1] ldrb r0, [sp, #2] mov r2, r2, lsl #0x1c mov r0, r0, asr #0x6 orr r0, r0, r2, lsr #26 strb r0, [r1, #2] ldrb r0, [sp, #2] and r0, r0, #0x3f strb r0, [r1, #3] ldmia sp!, {r3, pc} arm_func_end func_ov61_02166e00 .global func_ov61_02166e98 arm_func_start func_ov61_02166e98 func_ov61_02166e98: ; 0x02166e98 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r7, r1 mov r6, r2 mov sl, r0 mov r5, r7 mov sb, r6 cmp r3, #1 beq _02166ec4 cmp r3, #2 beq _02166ecc b _02166ed4 _02166ec4: ldr r4, _02166fc0 ; =data_ov61_0217a33c b _02166ed8 _02166ecc: ldr r4, _02166fc4 ; =data_ov61_0217a340 b _02166ed8 _02166ed4: ldr r4, _02166fc8 ; =data_ov61_0217a344 _02166ed8: cmp r6, #0 ble _02166f10 mov r8, #3 _02166ee4: cmp r6, #3 movge r2, r8 movlt r2, r6 mov r0, sl mov r1, r7 bl func_ov61_02166e00 sub sb, sb, #3 cmp sb, #0 add r7, r7, #4 add sl, sl, #3 bgt _02166ee4 _02166f10: ldr r1, _02166fcc ; =0x55555556 mov r2, #3 smull r0, r3, r1, r6 add r3, r3, r6, lsr #31 smull r0, r1, r2, r3 sub r3, r6, r0 mov r1, r7 cmp r3, #1 subeq r1, r7, #2 beq _02166f40 cmp r3, #2 subeq r1, r7, #1 _02166f40: mov r0, #0 strb r0, [r7] cmp r7, r5 ldmlsia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02166f50: sub r7, r7, #1 cmp r7, r1 ldrhssb r0, [r4, #2] strhsb r0, [r7] bhs _02166fb4 ldrsb r0, [r7] cmp r0, #0x19 addle r0, r0, #0x41 strleb r0, [r7] ble _02166fb4 cmp r0, #0x33 addle r0, r0, #0x47 strleb r0, [r7] ble _02166fb4 cmp r0, #0x3d suble r0, r0, #4 strleb r0, [r7] ble _02166fb4 cmp r0, #0x3e ldreqsb r0, [r4] streqb r0, [r7] beq _02166fb4 cmp r0, #0x3f ldreqsb r0, [r4, #1] streqb r0, [r7] _02166fb4: cmp r7, r5 bhi _02166f50 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02166e98 _02166fc0: .word data_ov61_0217a33c _02166fc4: .word data_ov61_0217a340 _02166fc8: .word data_ov61_0217a344 _02166fcc: .word 0x55555556 .global func_ov61_02166fd0 arm_func_start func_ov61_02166fd0 func_ov61_02166fd0: ; 0x02166fd0 stmdb sp!, {r3, lr} ldr r3, _02166ffc ; =data_ov61_02181024 ldr r3, [r3] cmp r3, #1 movne r0, #2 ldmneia sp!, {r3, pc} cmp r0, #0 moveq r0, #2 ldmeqia sp!, {r3, pc} bl func_ov61_02167b74 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02166fd0 _02166ffc: .word data_ov61_02181024 .global func_ov61_02167000 arm_func_start func_ov61_02167000 func_ov61_02167000: ; 0x02167000 stmdb sp!, {r3, lr} cmp r0, #0 ldrne r1, [r0] cmpne r1, #0 ldmeqia sp!, {r3, pc} bl func_ov61_02167cbc ldmia sp!, {r3, pc} arm_func_end func_ov61_02167000 .global func_ov61_0216701c arm_func_start func_ov61_0216701c func_ov61_0216701c: ; 0x0216701c stmdb sp!, {r3, lr} cmp r0, #0 ldrne r1, [r0] cmpne r1, #0 moveq r0, #2 ldmeqia sp!, {r3, pc} ldr r1, [r1, #0x108] cmp r1, #0 movne r0, #0 ldmneia sp!, {r3, pc} mov r1, #0 bl func_ov61_02168158 ldmia sp!, {r3, pc} arm_func_end func_ov61_0216701c .global func_ov61_02167050 arm_func_start func_ov61_02167050 func_ov61_02167050: ; 0x02167050 stmdb sp!, {r3, lr} cmp r0, #0 ldrne ip, [r0] cmpne ip, #0 moveq r0, #2 ldmeqia sp!, {r3, pc} cmp r1, #0 blt _02167078 cmp r1, #6 blt _02167088 _02167078: ldr r1, _0216709c ; =data_ov61_0217c2f0 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, pc} _02167088: add r0, ip, r1, lsl #3 str r2, [r0, #0x1a4] str r3, [r0, #0x1a8] mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02167050 _0216709c: .word data_ov61_0217c2f0 .global func_ov61_021670a0 arm_func_start func_ov61_021670a0 func_ov61_021670a0: ; 0x021670a0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x44 movs lr, r0 ldrne ip, [lr] cmpne ip, #0 addeq sp, sp, #0x44 moveq r0, #2 ldmeqia sp!, {r3, r4, pc} cmp r1, #0 ldrnesb r4, [r1] cmpne r4, #0 addeq sp, sp, #0x44 moveq r0, #2 ldmeqia sp!, {r3, r4, pc} cmp r2, #0 ldrnesb r4, [r2] cmpne r4, #0 addeq sp, sp, #0x44 moveq r0, #2 ldmeqia sp!, {r3, r4, pc} ldr r4, [sp, #0x54] cmp r4, #0 bne _02167110 ldr r1, _0216719c ; =data_ov61_0217c300 bl func_ov61_02171b10 add sp, sp, #0x44 mov r0, #2 ldmia sp!, {r3, r4, pc} _02167110: ldr ip, [ip, #0x108] cmp ip, #0 beq _02167158 add r3, sp, #0x24 mov r0, #0 mov r2, r3 mov r1, r0 stmia r2!, {r0, r1} stmia r2!, {r0, r1} stmia r2!, {r0, r1} stmia r2, {r0, r1} ldr r2, [sp, #0x58] mov r0, lr mov r1, r3 blx r4 add sp, sp, #0x44 mov r0, #0 ldmia sp!, {r3, r4, pc} _02167158: ldr lr, _021671a0 ; =data_ov61_0217c310 mov ip, #0 str lr, [sp] stmib sp, {r1, r2, ip} str r3, [sp, #0x10] str ip, [sp, #0x14] ldr r1, [sp, #0x50] ldr ip, [sp, #0x58] str r1, [sp, #0x18] str r4, [sp, #0x1c] mov r1, lr mov r2, lr mov r3, lr str ip, [sp, #0x20] bl func_ov61_0216a464 add sp, sp, #0x44 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_021670a0 _0216719c: .word data_ov61_0217c300 _021671a0: .word data_ov61_0217c310 .global func_ov61_021671a4 arm_func_start func_ov61_021671a4 func_ov61_021671a4: ; 0x021671a4 stmdb sp!, {r4, lr} movs r4, r0 ldrne r1, [r4] cmpne r1, #0 ldmeqia sp!, {r4, pc} ldr r1, [r1, #0x108] cmp r1, #0 ldmneia sp!, {r4, pc} mov r1, #1 bl func_ov61_0216b504 mov r0, r4 bl func_ov61_02167d18 ldmia sp!, {r4, pc} arm_func_end func_ov61_021671a4 .global func_ov61_021671d8 arm_func_start func_ov61_021671d8 func_ov61_021671d8: ; 0x021671d8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x2c cmp r0, #0 ldrne r4, [r0] cmpne r4, #0 addeq sp, sp, #0x2c moveq r0, #2 ldmeqia sp!, {r3, r4, pc} ldr ip, [sp, #0x48] cmp ip, #0 bne _02167218 ldr r1, _02167298 ; =data_ov61_0217c300 bl func_ov61_02171b10 add sp, sp, #0x2c mov r0, #2 ldmia sp!, {r3, r4, pc} _02167218: ldr r4, [r4, #0x108] cmp r4, #0 beq _02167258 add r1, sp, #0x1c mov r4, #0 ldr r2, [sp, #0x4c] ldr r3, _0216729c ; =0x00000601 str r4, [r1, #8] str r4, [r1] str r4, [r1, #4] str r4, [r1, #0xc] str r3, [sp, #0x24] blx ip add sp, sp, #0x2c mov r0, r4 ldmia sp!, {r3, r4, pc} _02167258: ldr r4, [sp, #0x38] ldr lr, [sp, #0x3c] str r4, [sp] ldr r4, [sp, #0x40] str lr, [sp, #4] str r4, [sp, #8] mov r4, #0 ldr lr, [sp, #0x44] str r4, [sp, #0xc] str lr, [sp, #0x10] ldr lr, [sp, #0x4c] str ip, [sp, #0x14] str lr, [sp, #0x18] bl func_ov61_0216f5b0 add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_021671d8 _02167298: .word data_ov61_0217c300 _0216729c: .word 0x00000601 .global func_ov61_021672a0 arm_func_start func_ov61_021672a0 func_ov61_021672a0: ; 0x021672a0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x20c movs r5, r0 ldrne r4, [r5] cmpne r4, #0 cmpne r1, #0 addeq sp, sp, #0x20c moveq r0, #2 ldmeqia sp!, {r4, r5, pc} ldr lr, [sp, #0x218] cmp lr, #0 bne _021672e4 ldr r1, _02167374 ; =data_ov61_0217c300 bl func_ov61_02171b10 add sp, sp, #0x20c mov r0, #2 ldmia sp!, {r4, r5, pc} _021672e4: ldr ip, [r4, #0x108] cmp ip, #0 beq _0216733c mov r0, #0 add lr, sp, #8 mov r1, r0 mov r2, r0 mov r3, r0 mov ip, #0x10 _02167308: stmia lr!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _02167308 ldr r2, [sp, #0x21c] str r0, [lr] ldr r3, [sp, #0x218] add r1, sp, #8 mov r0, r5 blx r3 add sp, sp, #0x20c mov r0, #0 ldmia sp!, {r4, r5, pc} _0216733c: ldr ip, [r4, #0x1d8] cmp ip, #4 bne _0216735c ldr r1, _02167378 ; =data_ov61_0217c314 bl func_ov61_02171b10 add sp, sp, #0x20c mov r0, #2 ldmia sp!, {r4, r5, pc} _0216735c: ldr ip, [sp, #0x21c] str lr, [sp] str ip, [sp, #4] bl func_ov61_0216d168 add sp, sp, #0x20c ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021672a0 _02167374: .word data_ov61_0217c300 _02167378: .word data_ov61_0217c314 .global func_ov61_0216737c arm_func_start func_ov61_0216737c func_ov61_0216737c: ; 0x0216737c stmdb sp!, {r3, lr} cmp r0, #0 ldrne ip, [r0] cmpne ip, #0 moveq r0, #2 ldmeqia sp!, {r3, pc} ldr r3, [ip, #0x108] cmp r3, #0 movne r0, #0 ldmneia sp!, {r3, pc} ldr r3, [ip, #0x1d8] cmp r3, #4 bne _021673c0 ldr r1, _021673c8 ; =data_ov61_0217c314 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, pc} _021673c0: bl func_ov61_0216c8f8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0216737c _021673c8: .word data_ov61_0217c314 .global func_ov61_021673cc arm_func_start func_ov61_021673cc func_ov61_021673cc: ; 0x021673cc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 sub sp, sp, #0x400 movs r6, r0 ldrne r4, [r6] mov r5, r1 cmpne r4, #0 addeq sp, sp, #4 addeq sp, sp, #0x400 moveq r0, #2 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [r4, #0x108] cmp r1, #0 addne sp, sp, #4 addne sp, sp, #0x400 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r1, [r4, #0x1d8] cmp r1, #4 bne _02167434 ldr r1, _02167520 ; =data_ov61_0217c314 bl func_ov61_02171b10 add sp, sp, #4 add sp, sp, #0x400 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, pc} _02167434: cmp r2, #0 bne _02167454 ldr r1, _02167524 ; =data_ov61_0217c344 bl func_ov61_02171b10 add sp, sp, #4 add sp, sp, #0x400 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, pc} _02167454: mov r1, r2 ldr r2, _02167528 ; =0x00000401 add r0, sp, #0 bl func_ov61_021715c8 ldrsb r0, [sp] cmp r0, #0 beq _02167490 add r2, sp, #0 mov r1, #0x2f _02167478: ldrsb r0, [r2] cmp r0, #0x5c streqb r1, [r2] ldrsb r0, [r2, #1]! cmp r0, #0 bne _02167478 _02167490: ldr r2, _0216752c ; =data_ov61_0217c354 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, _02167530 ; =data_ov61_0217c360 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _02167534 ; =data_ov61_0217c36c mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r2, r5 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _02167538 ; =data_ov61_0217c37c mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 add r2, sp, #0 bl func_ov61_0216936c ldr r2, _0216753c ; =data_ov61_0217c388 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, #0 add sp, sp, #4 add sp, sp, #0x400 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021673cc _02167520: .word data_ov61_0217c314 _02167524: .word data_ov61_0217c344 _02167528: .word 0x00000401 _0216752c: .word data_ov61_0217c354 _02167530: .word data_ov61_0217c360 _02167534: .word data_ov61_0217c36c _02167538: .word data_ov61_0217c37c _0216753c: .word data_ov61_0217c388 .global func_ov61_02167540 arm_func_start func_ov61_02167540 func_ov61_02167540: ; 0x02167540 stmdb sp!, {r3, lr} cmp r0, #0 ldrne r3, [r0] cmpne r3, #0 moveq r0, #2 ldmeqia sp!, {r3, pc} ldr r2, [r3, #0x108] cmp r2, #0 movne r0, #0 ldmneia sp!, {r3, pc} ldr r2, [r3, #0x1d8] cmp r2, #4 bne _02167584 ldr r1, _0216758c ; =data_ov61_0217c314 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, pc} _02167584: bl func_ov61_02168f2c ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02167540 _0216758c: .word data_ov61_0217c314 .global func_ov61_02167590 arm_func_start func_ov61_02167590 func_ov61_02167590: ; 0x02167590 stmdb sp!, {r3, r4, r5, lr} movs r4, r0 ldrne r5, [r4] cmpne r5, #0 moveq r0, #2 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, [r5, #0x108] cmp r2, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r2, [r5, #0x1d8] cmp r2, #4 bne _021675d4 ldr r1, _0216764c ; =data_ov61_0217c314 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _021675d4: add r2, sp, #0 bl func_ov61_0216f050 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [sp] ldr r0, [r1, #0x14] sub r0, r0, #1 str r0, [r1, #0x14] ldr r0, [r5, #0x100] cmp r0, #0 bne _02167644 ldr r1, [sp] ldr r0, [r1, #0x14] cmp r0, #0 bgt _02167644 ldr r0, [r1, #0x10] bl func_ov61_0213e13c ldr r0, [sp] mov r1, #0 str r1, [r0, #0x10] ldr r0, [sp] bl func_ov61_0216f238 cmp r0, #0 beq _02167644 ldr r1, [sp] mov r0, r4 bl func_ov61_0216f0c0 _02167644: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02167590 _0216764c: .word data_ov61_0217c314 .global func_ov61_02167650 arm_func_start func_ov61_02167650 func_ov61_02167650: ; 0x02167650 cmp r0, #0 ldrne r2, [r0] cmpne r2, #0 moveq r0, #2 bxeq lr ldr r0, [r2, #0x108] cmp r0, #0 mov r0, #0 strne r0, [r1] ldreq r2, [r2, #0x430] streq r2, [r1] bx lr arm_func_end func_ov61_02167650 .global func_ov61_02167680 arm_func_start func_ov61_02167680 func_ov61_02167680: ; 0x02167680 stmdb sp!, {r4, r5, r6, lr} movs r4, r0 ldrne r3, [r4] mov r5, r2 cmpne r3, #0 moveq r0, #2 ldmeqia sp!, {r4, r5, r6, pc} ldr r2, [r3, #0x108] cmp r2, #0 beq _021676c0 mov r0, r5 mov r1, #0 mov r2, #0x210 bl func_02043600 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _021676c0: cmp r5, #0 bne _021676d8 ldr r1, _021677a8 ; =data_ov61_0217c390 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _021676d8: cmp r1, #0 ldr r2, [r3, #0x430] blt _021676ec cmp r1, r2 blt _02167700 _021676ec: ldr r1, _021677ac ; =data_ov61_0217c3a0 mov r0, r4 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _02167700: bl func_ov61_0216f208 movs r6, r0 bne _02167720 ldr r1, _021677ac ; =data_ov61_0217c3a0 mov r0, r4 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _02167720: ldr r4, [r6, #8] cmp r4, #0 bne _02167740 ldr r0, _021677b0 ; =data_ov61_0217c3b0 ldr r1, _021677b4 ; =data_ov61_0217c3bc ldr r2, _021677b8 ; =data_ov61_0217c2dc ldr r3, _021677bc ; =0x000005cf bl func_02042f80 _02167740: ldr r0, [r6] str r0, [r5] ldr r0, [r4, #4] str r0, [r5, #4] ldr r1, [r4, #8] cmp r1, #0 moveq r0, #0 streqb r0, [r1] beq _02167770 add r0, r5, #8 mov r2, #0x100 bl func_ov61_021715c8 _02167770: ldr r1, [r4, #0xc] cmp r1, #0 moveq r0, #0 streqb r0, [r1] beq _02167790 add r0, r5, #0x108 mov r2, #0x100 bl func_ov61_021715c8 _02167790: ldr r1, [r4, #0x10] mov r0, #0 str r1, [r5, #0x208] ldr r1, [r4, #0x14] str r1, [r5, #0x20c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02167680 _021677a8: .word data_ov61_0217c390 _021677ac: .word data_ov61_0217c3a0 _021677b0: .word data_ov61_0217c3b0 _021677b4: .word data_ov61_0217c3bc _021677b8: .word data_ov61_0217c2dc _021677bc: .word 0x000005cf .global func_ov61_021677c0 arm_func_start func_ov61_021677c0 func_ov61_021677c0: ; 0x021677c0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r2 cmp r0, #0 ldrne r2, [r0] cmpne r2, #0 addeq sp, sp, #4 moveq r0, #2 ldmeqia sp!, {r3, r4, pc} ldr r2, [r2, #0x108] cmp r2, #0 movne r0, #0 addne sp, sp, #4 strne r0, [r4] ldmneia sp!, {r3, r4, pc} add r2, sp, #0 bl func_ov61_0216f050 cmp r0, #0 ldrne r0, [sp] ldrne r0, [r0, #8] cmpne r0, #0 ldrne r0, [r0] strne r0, [r4] mvneq r0, #0 streq r0, [r4] mov r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_021677c0 .global func_ov61_02167830 arm_func_start func_ov61_02167830 func_ov61_02167830: ; 0x02167830 stmdb sp!, {r3, lr} cmp r0, #0 ldrne r2, [r0] cmpne r2, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} ldr r2, [r2, #0x108] cmp r2, #0 movne r0, #0 ldmneia sp!, {r3, pc} add r2, sp, #0 bl func_ov61_0216f050 cmp r0, #0 ldrne r0, [sp] ldrne r0, [r0, #8] cmpne r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02167830 .global func_ov61_0216787c arm_func_start func_ov61_0216787c func_ov61_0216787c: ; 0x0216787c stmdb sp!, {r3, lr} cmp r0, #0 ldrne r3, [r0] cmpne r3, #0 moveq r0, #2 ldmeqia sp!, {r3, pc} ldr r2, [r3, #0x108] cmp r2, #0 movne r0, #0 ldmneia sp!, {r3, pc} ldr r2, [r3, #0x1d8] cmp r2, #4 bne _021678c0 ldr r1, _021678d0 ; =data_ov61_0217c314 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, pc} _021678c0: bl func_ov61_0216901c cmp r0, #0 moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0216787c _021678d0: .word data_ov61_0217c314 .global func_ov61_021678d4 arm_func_start func_ov61_021678d4 func_ov61_021678d4: ; 0x021678d4 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x200 movs r7, r0 ldrne r4, [r7] mov r6, r1 cmpne r4, #0 mov r5, r3 addeq sp, sp, #0x200 moveq r0, #2 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r4, #0x108] cmp r1, #0 addne sp, sp, #0x200 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r4, #0x1d8] cmp r1, #4 bne _02167930 ldr r1, _02167ae0 ; =data_ov61_0217c314 bl func_ov61_02171b10 add sp, sp, #0x200 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02167930: cmp r2, #0 bne _0216794c ldr r1, _02167ae4 ; =data_ov61_0217c3c4 bl func_ov61_02171b10 add sp, sp, #0x200 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216794c: cmp r5, #0 bne _02167968 ldr r1, _02167ae8 ; =data_ov61_0217c3dc bl func_ov61_02171b10 add sp, sp, #0x200 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02167968: mov r1, r2 add r0, sp, #0x100 mov r2, #0x100 bl func_ov61_021715c8 add r0, sp, #0x100 ldrsb r0, [r0] cmp r0, #0 beq _021679a8 add r2, sp, #0x100 mov r1, #0x2f _02167990: ldrsb r0, [r2] cmp r0, #0x5c streqb r1, [r2] ldrsb r0, [r2, #1]! cmp r0, #0 bne _02167990 _021679a8: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldrsb r0, [sp] cmp r0, #0 beq _021679e4 add r2, sp, #0 mov r1, #0x2f _021679cc: ldrsb r0, [r2] cmp r0, #0x5c streqb r1, [r2] ldrsb r0, [r2, #1]! cmp r0, #0 bne _021679cc _021679e4: ldr r0, [r4, #0x214] cmp r6, r0 bne _02167a20 add r0, sp, #0x100 add r1, r4, #0x218 bl func_0204716c cmp r0, #0 bne _02167a20 add r0, sp, #0 add r1, r4, #0x318 bl func_0204716c cmp r0, #0 addeq sp, sp, #0x200 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02167a20: add r1, sp, #0x100 add r0, r4, #0x218 mov r2, #0x100 str r6, [r4, #0x214] bl func_ov61_021715c8 add r1, sp, #0 add r0, r4, #0x318 mov r2, #0x100 bl func_ov61_021715c8 ldr r2, _02167aec ; =data_ov61_0217c3f4 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r7 mov r2, r6 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _02167af0 ; =data_ov61_0217c360 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _02167af4 ; =data_ov61_0217c400 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r7 add r1, r4, #0x1f4 add r2, sp, #0x100 bl func_ov61_0216936c ldr r2, _02167af8 ; =data_ov61_0217c410 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r7 add r1, r4, #0x1f4 add r2, sp, #0 bl func_ov61_0216936c ldr r2, _02167afc ; =data_ov61_0217c388 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, #0 add sp, sp, #0x200 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021678d4 _02167ae0: .word data_ov61_0217c314 _02167ae4: .word data_ov61_0217c3c4 _02167ae8: .word data_ov61_0217c3dc _02167aec: .word data_ov61_0217c3f4 _02167af0: .word data_ov61_0217c360 _02167af4: .word data_ov61_0217c400 _02167af8: .word data_ov61_0217c410 _02167afc: .word data_ov61_0217c388 .global func_ov61_02167b00 arm_func_start func_ov61_02167b00 func_ov61_02167b00: ; 0x02167b00 stmdb sp!, {r3, lr} cmp r0, #0 ldrne ip, [r0] mov r3, r2 cmpne ip, #0 moveq r0, #2 ldmeqia sp!, {r3, pc} ldr r2, [ip, #0x108] cmp r2, #0 movne r0, #0 ldmneia sp!, {r3, pc} ldr r2, [ip, #0x1d8] cmp r2, #4 bne _02167b48 ldr r1, _02167b6c ; =data_ov61_0217c314 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, pc} _02167b48: cmp r3, #0 bne _02167b60 ldr r1, _02167b70 ; =data_ov61_0217c41c bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, pc} _02167b60: mov r2, #1 bl func_ov61_02168e44 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02167b00 _02167b6c: .word data_ov61_0217c314 _02167b70: .word data_ov61_0217c41c .global func_ov61_02167b74 arm_func_start func_ov61_02167b74 func_ov61_02167b74: ; 0x02167b74 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 mov r0, #0 str r0, [r6] mov r0, #0x490 mov r5, r1 mov r4, r2 bl func_ov61_0213e10c str r0, [sp] cmp r0, #0 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, pc} mov r1, #0 mov r2, #0x490 bl func_02043600 ldr r0, [sp] mov r3, #0 strb r3, [r0] ldr r0, [sp] mov r2, #1 str r3, [r0, #0x418] ldr r1, [sp] add r0, sp, #0 str r2, [r1, #0x100] ldr r1, [sp] str r3, [r1, #0x104] ldr r1, [sp] str r3, [r1, #0x108] ldr r1, [sp] str r3, [r1, #0x10c] ldr r1, [sp] str r5, [r1, #0x46c] ldr r1, [sp] str r4, [r1, #0x470] bl func_ov61_0216edb4 cmp r0, #0 bne _02167c2c ldr r0, [sp] bl func_ov61_0213e13c mov r0, #0 str r0, [sp] add sp, sp, #4 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, pc} _02167c2c: ldr r0, [sp] mov r1, #0 str r1, [r0, #0x420] mov r3, r1 _02167c3c: ldr r0, [sp] add r0, r0, r1, lsl #3 str r3, [r0, #0x1a4] ldr r0, [sp] add r0, r0, r1, lsl #3 add r1, r1, #1 str r3, [r0, #0x1a8] cmp r1, #6 blt _02167c3c ldr r2, [sp] ldr r1, _02167cb8 ; =data_ov61_0217c43c add r0, sp, #0 str r3, [r2, #0x460] bl func_ov61_0217163c add r0, sp, #0 bl func_ov61_02167d18 movs r4, r0 beq _02167c98 add r0, sp, #0 bl func_ov61_02167cbc add sp, sp, #4 mov r0, r4 ldmia sp!, {r3, r4, r5, r6, pc} _02167c98: bl func_ov61_0216664c bl func_ov61_021665e8 bl func_02045b7c ldr r1, [sp] mov r0, #0 str r1, [r6] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02167b74 _02167cb8: .word data_ov61_0217c43c .global func_ov61_02167cbc arm_func_start func_ov61_02167cbc func_ov61_02167cbc: ; 0x02167cbc stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5] mov r1, #1 bl func_ov61_0216b504 ldr r0, [r4, #0x460] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x460] ldr r0, [r4, #0x428] bl func_ov61_021661a4 mov r0, r4 bl func_ov61_0213e13c mov r0, #0 str r0, [r5] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02167cbc .global func_ov61_02167cfc arm_func_start func_ov61_02167cfc func_ov61_02167cfc: ; 0x02167cfc mov r0, #0 str r0, [r1, #8] str r0, [r1, #0x10] str r0, [r1, #0x14] str r0, [r1, #0x18] mov r0, #1 bx lr arm_func_end func_ov61_02167cfc .global func_ov61_02167d18 arm_func_start func_ov61_02167d18 func_ov61_02167d18: ; 0x02167d18 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5] mov r1, #0 strb r1, [r4, #0x110] strb r1, [r4, #0x12f] strb r1, [r4, #0x144] sub r0, r1, #1 str r0, [r4, #0x1d4] str r1, [r4, #0x1d8] str r1, [r4, #0x1e4] str r1, [r4, #0x1e8] str r1, [r4, #0x1e0] ldr r0, [r4, #0x1dc] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x1dc] str r0, [r4, #0x1f0] ldr r0, [r4, #0x1ec] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x1ec] str r0, [r4, #0x1fc] str r0, [r4, #0x200] str r0, [r4, #0x1f8] ldr r0, [r4, #0x1f4] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x1f4] str r0, [r4, #0x448] str r0, [r4, #0x44c] str r0, [r4, #0x444] ldr r0, [r4, #0x440] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x440] str r0, [r4, #0x458] str r0, [r4, #0x45c] str r0, [r4, #0x454] ldr r0, [r4, #0x450] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x450] sub r0, r0, #1 str r0, [r4, #0x204] mov r0, #2 str r0, [r4, #0x20c] ldr r1, [r4, #0x424] cmp r1, #0 beq _02167df4 _02167de0: mov r0, r5 bl func_ov61_0216d950 ldr r1, [r4, #0x424] cmp r1, #0 bne _02167de0 _02167df4: mov r2, #0 str r2, [r4, #0x424] ldr r1, _02167e3c ; =func_ov61_02167cfc mov r0, r5 str r2, [r4, #0x430] bl func_ov61_0216f19c mov r0, #0 str r0, [r4, #0x19c] str r0, [r4, #0x1a0] str r0, [r4, #0x198] str r0, [r4, #0x210] str r0, [r4, #0x41c] str r0, [r4, #0x434] sub r1, r0, #1 str r1, [r4, #0x214] strb r0, [r4, #0x218] strb r0, [r4, #0x318] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02167d18 _02167e3c: .word func_ov61_02167cfc .global func_ov61_02167e40 arm_func_start func_ov61_02167e40 func_ov61_02167e40: ; 0x02167e40 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov r1, #0 mov r4, r0 str r1, [sp, #8] ldr sl, [r4] _02167e58: mov r0, r4 add r1, sl, #0x1f4 bl func_ov61_0216c2e4 mov r1, #1 ldr r0, _0216812c ; =data_ov61_0217c460 str r1, [sp] str r0, [sp, #4] ldr r1, [sl, #0x1d4] add r3, sp, #8 mov r0, r4 add r2, sl, #0x1f4 bl func_ov61_021698fc cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r1, sp, #8 ldr r0, _0216812c ; =data_ov61_0217c460 str r1, [sp] str r0, [sp, #4] ldr r1, [sl, #0x1d4] add r3, sp, #0xc mov r0, r4 add r2, sl, #0x1dc bl func_ov61_021696d4 cmp r0, #0 beq _02167ef8 cmp r0, #3 addne sp, sp, #0x14 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r2, _02168130 ; =data_ov61_0217c464 mov r0, r4 mov r1, #5 bl func_ov61_02171aec mov r0, r4 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x14 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02167ef8: ldr r0, [sl, #0x1dc] ldr r1, _02168134 ; =data_ov61_0217c490 bl func_020472f0 movs r5, r0 beq _021680c8 ldr r6, _02168138 ; =data_ov61_0217c4b4 ldr r8, _0216813c ; =data_ov61_0217c498 add fp, sp, #0x10 mov r7, #0x800 mov sb, #0 _02167f20: strb sb, [r5] mov r0, r4 mov r1, r8 ldr r2, [sl, #0x1dc] bl func_ov61_0217163c ldr r0, [sl, #0x1dc] sub r1, r5, r0 str r1, [sp, #0xc] ldr r0, [sl, #0x1f0] cmp r1, r0 ble _02167f90 ldr r0, [sl, #0x1f0] cmp r1, #0x800 movlt r1, r7 add r0, r0, r1 str r0, [sl, #0x1f0] add r1, r0, #1 ldr r0, [sl, #0x1ec] bl func_ov61_0213e120 cmp r0, #0 bne _02167f8c ldr r1, _02168140 ; =data_ov61_0217c4a4 mov r0, r4 bl func_ov61_02171b10 add sp, sp, #0x14 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02167f8c: str r0, [sl, #0x1ec] _02167f90: ldr r2, [sp, #0xc] ldr r0, [sl, #0x1ec] ldr r1, [sl, #0x1dc] add r2, r2, #1 bl func_02043594 ldr r0, [sl, #0x1dc] add r1, r5, #7 ldr r2, [sl, #0x1e4] sub r0, r1, r0 sub r0, r2, r0 str r0, [sl, #0x1e4] add r2, r0, #1 ldr r0, [sl, #0x1dc] bl func_020435b4 ldr r5, [sl, #0x1ec] mov r1, r6 mov r0, r5 bl func_020472f0 cmp r0, #0 beq _02168038 add r0, r0, #4 bl func_0204902c mov r5, r0 mov r0, r4 mov r1, fp mov r2, r5 bl func_ov61_0216d9a0 cmp r0, #0 bne _02168018 ldr r1, _02168144 ; =data_ov61_0217c4bc mov r2, r5 mov r0, r4 bl func_ov61_0217163c b _021680b4 _02168018: mov r0, r4 ldr r1, [sp, #0x10] ldr r2, [sl, #0x1ec] bl func_ov61_0216da28 cmp r0, #0 beq _021680b4 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168038: mov r1, r5 mov r0, r4 mov r2, #1 bl func_ov61_02171648 cmp r0, #0 addne sp, sp, #0x14 movne r0, #4 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r5, [sl, #0x1ec] ldr r1, _02168148 ; =data_ov61_0217c4e4 mov r0, r5 mov r2, #4 bl func_02047280 cmp r0, #0 bne _02168090 mov r1, r5 mov r0, r4 bl func_ov61_021683b4 cmp r0, #0 beq _021680b4 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168090: ldr r1, _0216814c ; =data_ov61_0217c4ec mov r0, r5 mov r2, #0xa bl func_02047280 cmp r0, #0 beq _021680b4 ldr r1, _02168150 ; =data_ov61_0217c4f4 mov r0, r4 bl func_ov61_0217163c _021680b4: ldr r0, [sl, #0x1dc] ldr r1, _02168134 ; =data_ov61_0217c490 bl func_020472f0 movs r5, r0 bne _02167f20 _021680c8: ldr r0, [sp, #8] cmp r0, #0 beq _02168100 ldr r2, _02168154 ; =data_ov61_0217c524 mov r0, r4 mov r1, #7 bl func_ov61_02171aec mov r0, r4 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x14 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168100: mov r0, r4 bl func_ov61_0216d9ec movs r5, r0 beq _02168118 mov r0, #0xa bl func_ov61_02166640 _02168118: cmp r5, #0 bne _02167e58 mov r0, #0 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02167e40 _0216812c: .word data_ov61_0217c460 _02168130: .word data_ov61_0217c464 _02168134: .word data_ov61_0217c490 _02168138: .word data_ov61_0217c4b4 _0216813c: .word data_ov61_0217c498 _02168140: .word data_ov61_0217c4a4 _02168144: .word data_ov61_0217c4bc _02168148: .word data_ov61_0217c4e4 _0216814c: .word data_ov61_0217c4ec _02168150: .word data_ov61_0217c4f4 _02168154: .word data_ov61_0217c524 .global func_ov61_02168158 arm_func_start func_ov61_02168158 func_ov61_02168158: ; 0x02168158 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldr r6, [sl] mov sb, r1 ldr r0, [r6, #0x1d8] mov r7, #0 cmp r0, #4 bls _0216818c ldr r0, _021682f8 ; =data_ov61_0217c54c ldr r1, _021682fc ; =data_ov61_0217c644 ldr r2, _02168300 ; =data_ov61_0217c430 ldr r3, _02168304 ; =0x000001b6 bl func_02042f80 _0216818c: ldr r0, [r6, #0x1d8] cmp r0, #1 bne _0216822c mov r4, #0 mov r5, #1 mov fp, #0xa _021681a4: mov r0, sl bl func_ov61_0216b39c movs r7, r0 bne _021681cc cmp sb, #0 beq _021681cc ldr r0, [r6, #0x1d8] cmp r0, #1 moveq r8, r5 beq _021681d0 _021681cc: mov r8, r4 _021681d0: cmp r8, #0 beq _021681e0 mov r0, fp bl func_ov61_02166640 _021681e0: cmp r8, #0 bne _021681a4 cmp r7, #0 beq _0216822c add r1, sp, #0 mov r0, sl mov r2, #1 bl func_ov61_0216d9a0 cmp r0, #0 beq _02168218 ldr r0, [sp] mov r1, #4 str r1, [r0, #0x1c] b _0216822c _02168218: ldr r0, _02168308 ; =data_ov61_0217c64c ldr r1, _021682fc ; =data_ov61_0217c644 ldr r2, _02168300 ; =data_ov61_0217c430 mov r3, #0x1dc bl func_02042f80 _0216822c: ldr r0, [r6, #0x1d8] sub r0, r0, #2 cmp r0, #1 bhi _02168264 cmp r7, #0 bne _02168250 mov r0, sl bl func_ov61_02167e40 mov r7, r0 _02168250: cmp r7, #0 bne _02168264 mov r0, sl bl func_ov61_0216e668 mov r7, r0 _02168264: cmp r7, #0 bne _02168278 mov r0, sl bl func_ov61_0217124c mov r7, r0 _02168278: ldr r1, [r6, #0x424] str r1, [sp] cmp r1, #0 beq _021682c4 _02168288: ldr r0, [r1, #0x1c] cmp r0, #0 ldreq r0, [r1, #0x20] streq r0, [sp] beq _021682b8 mov r0, sl bl func_ov61_0216d4b0 ldr r1, [sp] mov r0, sl ldr r2, [r1, #0x20] str r2, [sp] bl func_ov61_0216d950 _021682b8: ldr r1, [sp] cmp r1, #0 bne _02168288 _021682c4: mov r0, sl mov r1, sb bl func_ov61_02169fa0 cmp r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [r6, #0x41c] cmp r0, #0 beq _021682f0 mov r0, sl mov r1, #0 bl func_ov61_0216b504 _021682f0: mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02168158 _021682f8: .word data_ov61_0217c54c _021682fc: .word data_ov61_0217c644 _02168300: .word data_ov61_0217c430 _02168304: .word 0x000001b6 _02168308: .word data_ov61_0217c64c .global func_ov61_0216830c arm_func_start func_ov61_0216830c func_ov61_0216830c: ; 0x0216830c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r4, [r6] ldr r2, _021683a0 ; =data_ov61_0217c660 mov r5, r1 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, _021683a4 ; =data_ov61_0217c66c mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _021683a8 ; =data_ov61_0217c678 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 ldr r2, [r5] bl func_ov61_0216939c mov r0, r6 add r1, r4, #0x1f4 ldr r2, _021683ac ; =data_ov61_0217c688 bl func_ov61_0216936c ldr r2, [r5, #0x10] mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 ldr r2, _021683b0 ; =data_ov61_0217c690 bl func_ov61_0216936c mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216830c _021683a0: .word data_ov61_0217c660 _021683a4: .word data_ov61_0217c66c _021683a8: .word data_ov61_0217c678 _021683ac: .word data_ov61_0217c688 _021683b0: .word data_ov61_0217c690 .global func_ov61_021683b4 arm_func_start func_ov61_021683b4 func_ov61_021683b4: ; 0x021683b4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x138 sub sp, sp, #0x1000 mov r7, r1 mov sl, r0 ldr r1, _02168d28 ; =data_ov61_0217c698 add r2, sp, #0x138 mov r0, r7 mov r3, #0x1000 ldr r8, [sl] bl func_ov61_02171720 cmp r0, #0 bne _02168418 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168418: add r0, sp, #0x138 bl func_0204902c mov r4, r0 ldr r1, _02168d30 ; =data_ov61_0217c6d0 add r2, sp, #0x138 mov r0, r7 mov r3, #0x1000 bl func_ov61_02171720 cmp r0, #0 bne _02168470 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168470: add r0, sp, #0x138 bl func_0204902c mov r6, r0 ldr r1, _02168d34 ; =data_ov61_0217c6d4 add r2, sp, #0x138 mov r0, r7 mov r3, #0x1000 bl func_ov61_02171720 cmp r0, #0 beq _021684a4 add r0, sp, #0x138 bl func_0204902c b _021684ac _021684a4: mov r0, #0 bl func_ov61_02166cf0 _021684ac: mov sb, r0 cmp r4, #0x64 bgt _021684dc bge _021687c8 cmp r4, #2 bgt _02168d18 cmp r4, #1 blt _02168d18 beq _021684fc cmp r4, #2 beq _02168608 b _02168d18 _021684dc: cmp r4, #0x66 bgt _02168d18 cmp r4, #0x65 blt _02168d18 beq _02168b28 cmp r4, #0x66 beq _02168cb8 b _02168d18 _021684fc: ldr r1, [r8, #0x1bc] ldr r0, [r8, #0x1c0] str r1, [sp, #0x20] str r0, [sp, #0x24] cmp r1, #0 beq _02168d18 mov r0, #0xc bl func_ov61_0213e10c movs r4, r0 bne _02168540 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168540: ldr r1, _02168d3c ; =data_ov61_0217c6ec add r2, sp, #0x138 mov r0, r7 mov r3, #0x1000 bl func_ov61_02171720 cmp r0, #0 bne _0216858c ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216858c: add r0, sp, #0x138 bl func_02047008 add r0, r0, #1 bl func_ov61_0213e10c str r0, [r4, #8] cmp r0, #0 bne _021685c4 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021685c4: add r1, sp, #0x138 bl func_02047024 stmia r4, {r6, sb} mov r2, #0 str r2, [sp] mov r2, #2 add r1, sp, #0x20 str r2, [sp, #4] mov r0, sl mov r3, r4 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _02168d18 add sp, sp, #0x138 add sp, sp, #0x1000 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168608: mov r0, sl mov r1, r6 bl func_ov61_0216ef6c movs r5, r0 bne _02168638 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168638: ldr r1, _02168d3c ; =data_ov61_0217c6ec add r2, sp, #0x138 mov r0, r7 mov r3, #0x1000 bl func_ov61_02171720 cmp r0, #0 bne _02168684 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168684: ldr r1, _02168d40 ; =data_ov61_0217c6f4 add r0, sp, #0x138 bl func_020472f0 movs r4, r0 bne _021686c8 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021686c8: mov r1, #0 add r0, r4, #8 strb r1, [r4] bl func_02047008 cmp r0, #0x20 beq _02168710 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168710: ldr r0, [r5, #0x10] bl func_ov61_0213e13c mov r0, #0 str r0, [r5, #0x10] add r0, r4, #8 bl func_ov61_02166654 str r0, [r5, #0x10] ldr r0, [r5, #0x14] add r0, r0, #1 str r0, [r5, #0x14] ldr r1, [r8, #0x1ac] ldr r0, [r8, #0x1b0] str r1, [sp, #8] str r0, [sp, #0xc] cmp r1, #0 beq _02168d18 ldr r0, _02168d44 ; =0x0000040c bl func_ov61_0213e10c movs r4, r0 bne _0216877c ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216877c: ldr r2, _02168d48 ; =0x00000401 add r1, sp, #0x138 add r0, r4, #8 bl func_ov61_021715c8 stmia r4, {r6, sb} mov r2, #0 str r2, [sp] mov r2, #6 add r1, sp, #8 str r2, [sp, #4] mov r0, sl mov r3, r4 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _02168d18 add sp, sp, #0x138 add sp, sp, #0x1000 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021687c8: mov r0, sl mov r1, r6 bl func_ov61_0216ef6c movs r4, r0 bne _021687f8 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021687f8: ldr r0, [r4, #8] cmp r0, #0 bne _0216886c mov r0, #0x18 bl func_ov61_0213e10c str r0, [r4, #8] cmp r0, #0 bne _02168834 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168834: mov r2, #6 mov r1, #0 _0216883c: strb r1, [r0] strb r1, [r0, #1] strb r1, [r0, #2] strb r1, [r0, #3] add r0, r0, #4 subs r2, r2, #1 bne _0216883c ldr r1, [r8, #0x430] add r0, r1, #1 str r0, [r8, #0x430] ldr r0, [r4, #8] str r1, [r0] _0216886c: ldr r1, _02168d3c ; =data_ov61_0217c6ec mov r0, r7 add r2, sp, #0x138 mov r3, #0x1000 ldr r7, [r4, #8] bl func_ov61_02171720 cmp r0, #0 bne _021688bc ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021688bc: ldr r1, _02168d4c ; =data_ov61_0217c700 add r0, sp, #0x138 add r2, sp, #0x28 mov r3, #0x10 bl func_ov61_02171720 cmp r0, #0 bne _02168908 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168908: add r0, sp, #0x28 bl func_0204902c str r0, [r7, #4] ldr r0, [r7, #8] bl func_ov61_0213e13c mov r0, #0 str r0, [r7, #8] ldr r1, _02168d50 ; =data_ov61_0217c704 add r0, sp, #0x138 add r2, sp, #0x38 mov r3, #0x100 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streqb r0, [sp, #0x38] add r0, sp, #0x38 bl func_ov61_02166654 str r0, [r7, #8] cmp r0, #0 bne _02168974 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168974: ldr r0, [r7, #0xc] bl func_ov61_0213e13c mov r4, #0 ldr r1, _02168d54 ; =data_ov61_0217c70c add r0, sp, #0x138 add r2, sp, #0x38 mov r3, #0x100 str r4, [r7, #0xc] bl func_ov61_02171720 cmp r0, #0 moveq r0, r4 streqb r0, [sp, #0x38] add r0, sp, #0x38 bl func_ov61_02166654 str r0, [r7, #0xc] cmp r0, #0 bne _021689d4 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021689d4: ldr r1, _02168d58 ; =data_ov61_0217c714 add r0, sp, #0x138 add r2, sp, #0x28 mov r3, #0x10 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 beq _02168a4c add r0, sp, #0x28 bl func_0204902c mov r5, r0 add r0, sp, #0x28 bl func_0204902c mov r4, r0 add r0, sp, #0x28 bl func_0204902c mov fp, r0 add r0, sp, #0x28 bl func_0204902c mov r1, fp, lsr #0x18 mov r0, r0, lsr #0x8 mov r2, r4, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 mov r3, r5, lsl #0x18 orr r0, r1, r0 and r2, r2, #0xff0000 and r1, r3, #0xff000000 orr r0, r2, r0 orr r0, r1, r0 _02168a4c: ldr r1, _02168d5c ; =data_ov61_0217c71c str r0, [r7, #0x10] add r0, sp, #0x138 add r2, sp, #0x28 mov r3, #0x10 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 beq _02168a9c add r0, sp, #0x28 bl func_0204902c mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 _02168a9c: str r0, [r7, #0x14] ldr r1, [r8, #0x1b4] ldr r0, [r8, #0x1b8] str r1, [sp, #0x10] str r0, [sp, #0x14] cmp r1, #0 beq _02168d18 mov r0, #0xc bl func_ov61_0213e10c movs r3, r0 bne _02168ae4 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168ae4: str r6, [r3] ldr r0, [r7] mov r2, #0 str r0, [r3, #8] str sb, [r3, #4] str r2, [sp] mov r2, #5 add r1, sp, #0x10 str r2, [sp, #4] mov r0, sl ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _02168d18 add sp, sp, #0x138 add sp, sp, #0x1000 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168b28: ldr r1, _02168d3c ; =data_ov61_0217c6ec add r2, sp, #0x138 mov r0, r7 mov r3, #0x1000 bl func_ov61_02171720 cmp r0, #0 bne _02168b74 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168b74: ldr r1, _02168d5c ; =data_ov61_0217c71c add r0, sp, #0x138 bl func_020472f0 cmp r0, #0 bne _02168bb8 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168bb8: ldrsb r1, [r0, #3] cmp r1, #0 bne _02168bf4 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168bf4: add r0, r0, #3 bl func_0204902c mov r4, r0 ldr r1, _02168d60 ; =data_ov61_0217c720 add r0, sp, #0x138 bl func_020472f0 movs r1, r0 moveq r0, #0 streqb r0, [sp, #0x38] beq _02168c2c add r0, sp, #0x38 add r1, r1, #3 mov r2, #0x100 bl func_ov61_021715c8 _02168c2c: ldr r1, [r8, #0x1c4] ldr r0, [r8, #0x1c8] str r1, [sp, #0x18] str r0, [sp, #0x1c] cmp r1, #0 beq _02168d18 mov r0, #0x108 bl func_ov61_0213e10c movs r5, r0 bne _02168c70 ldr r1, _02168d38 ; =data_ov61_0217c6dc mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168c70: str r6, [r5] add r1, sp, #0x38 add r0, r5, #8 str r4, [r5, #4] bl func_02047024 mov r2, #0 str r2, [sp] add r1, sp, #0x18 str r2, [sp, #4] mov r0, sl mov r3, r5 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _02168d18 add sp, sp, #0x138 add sp, sp, #0x1000 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168cb8: ldr r1, _02168d3c ; =data_ov61_0217c6ec add r2, sp, #0x138 mov r0, r7 mov r3, #0x1000 bl func_ov61_02171720 cmp r0, #0 bne _02168d04 ldr r2, _02168d2c ; =data_ov61_0217c6a0 mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x138 add sp, sp, #0x1000 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02168d04: ldr r3, _02168d64 ; =data_ov61_0217c724 mov r0, sl mov r1, r6 mov r2, #0x67 bl func_ov61_02168e44 _02168d18: mov r0, #0 add sp, sp, #0x138 add sp, sp, #0x1000 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021683b4 _02168d28: .word data_ov61_0217c698 _02168d2c: .word data_ov61_0217c6a0 _02168d30: .word data_ov61_0217c6d0 _02168d34: .word data_ov61_0217c6d4 _02168d38: .word data_ov61_0217c6dc _02168d3c: .word data_ov61_0217c6ec _02168d40: .word data_ov61_0217c6f4 _02168d44: .word 0x0000040c _02168d48: .word 0x00000401 _02168d4c: .word data_ov61_0217c700 _02168d50: .word data_ov61_0217c704 _02168d54: .word data_ov61_0217c70c _02168d58: .word data_ov61_0217c714 _02168d5c: .word data_ov61_0217c71c _02168d60: .word data_ov61_0217c720 _02168d64: .word data_ov61_0217c724 .global func_ov61_02168d68 arm_func_start func_ov61_02168d68 func_ov61_02168d68: ; 0x02168d68 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0xdb0 mov r7, r0 mov r5, r2 mov r6, r1 ldr r2, _02168e2c ; =0x00000dad add r0, sp, #0 mov r1, r3 ldr r4, [r7] bl func_ov61_021715c8 ldr r2, _02168e30 ; =data_ov61_0217c698 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r7 mov r2, r5 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _02168e34 ; =data_ov61_0217c66c mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _02168e38 ; =data_ov61_0217c728 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r2, r6 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _02168e3c ; =data_ov61_0217c6ec mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r7 add r1, r4, #0x1f4 add r2, sp, #0 bl func_ov61_0216936c ldr r2, _02168e40 ; =data_ov61_0217c690 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, #0 add sp, sp, #0xdb0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02168d68 _02168e2c: .word 0x00000dad _02168e30: .word data_ov61_0217c698 _02168e34: .word data_ov61_0217c66c _02168e38: .word data_ov61_0217c728 _02168e3c: .word data_ov61_0217c6ec _02168e40: .word data_ov61_0217c690 .global func_ov61_02168e44 arm_func_start func_ov61_02168e44 func_ov61_02168e44: ; 0x02168e44 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bl func_ov61_0216e758 movs r8, r0 bne _02168f08 add r2, sp, #0 mov r0, r7 mov r1, r6 bl func_ov61_0216f050 cmp r0, #0 ldrne r0, [sp] ldrne r0, [r0, #8] cmpne r0, #0 ldrne r0, [r0, #0x14] cmpne r0, #0 mov r0, r7 bne _02168eb0 mov r1, r6 mov r2, r5 mov r3, r4 bl func_ov61_02168d68 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02168eb0: mov r1, r6 mov r2, #1 bl func_ov61_0216e7ac movs r8, r0 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, [sp] mov r1, r8 ldr r0, [r0, #0x18] cmp r0, #0 mov r0, r7 bne _02168ef8 bl func_ov61_0216e82c cmp r0, #0 beq _02168f08 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02168ef8: bl func_ov61_0216e890 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} _02168f08: mov r0, r7 mov r1, r8 mov r2, r5 mov r3, r4 bl func_ov61_0216ea1c cmp r0, #0 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_02168e44 .global func_ov61_02168f2c arm_func_start func_ov61_02168f2c func_ov61_02168f2c: ; 0x02168f2c stmdb sp!, {r3, r4, r5, lr} mov r4, r0 add r2, sp, #0 ldr r5, [r4] bl func_ov61_0216f050 cmp r0, #0 bne _02168f5c ldr r1, _02168ff4 ; =data_ov61_0217c72c mov r0, r4 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _02168f5c: ldr r1, [sp] ldr r0, [r1, #0x10] cmp r0, #0 bne _02168f80 ldr r1, _02168ff4 ; =data_ov61_0217c72c mov r0, r4 bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, r4, r5, pc} _02168f80: mov r0, r4 bl func_ov61_0216830c cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [sp] ldr r0, [r1, #0x14] sub r0, r0, #1 str r0, [r1, #0x14] ldr r0, [r5, #0x100] cmp r0, #0 bne _02168fec ldr r1, [sp] ldr r0, [r1, #0x14] cmp r0, #0 bgt _02168fec ldr r0, [r1, #0x10] bl func_ov61_0213e13c ldr r0, [sp] mov r1, #0 str r1, [r0, #0x10] ldr r0, [sp] bl func_ov61_0216f238 cmp r0, #0 beq _02168fec ldr r1, [sp] mov r0, r4 bl func_ov61_0216f0c0 _02168fec: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02168f2c _02168ff4: .word data_ov61_0217c72c .global func_ov61_02168ff8 arm_func_start func_ov61_02168ff8 func_ov61_02168ff8: ; 0x02168ff8 ldr r1, [r1, #8] cmp r1, #0 beq _02169014 ldr r0, [r1] cmp r0, r2 subgt r0, r0, #1 strgt r0, [r1] _02169014: mov r0, #1 bx lr arm_func_end func_ov61_02168ff8 .global func_ov61_0216901c arm_func_start func_ov61_0216901c func_ov61_0216901c: ; 0x0216901c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 add r2, sp, #0 ldr r4, [r6] bl func_ov61_0216f050 cmp r0, #0 bne _02169054 ldr r1, _0216919c ; =data_ov61_0217c72c mov r0, r6 bl func_ov61_02171b10 add sp, sp, #4 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, pc} _02169054: ldr r2, _021691a0 ; =data_ov61_0217c740 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, _021691a4 ; =data_ov61_0217c66c mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _021691a8 ; =data_ov61_0217c74c mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 ldr r2, [sp] ldr r2, [r2] bl func_ov61_0216939c mov r0, r6 add r1, r4, #0x1f4 ldr r2, _021691ac ; =data_ov61_0217c690 bl func_ov61_0216936c ldr r0, [sp] ldr r0, [r0, #8] cmp r0, #0 beq _02169190 ldr r5, [r0] cmp r5, #0 bge _021690e8 ldr r0, _021691b0 ; =data_ov61_0217c75c ldr r1, _021691b4 ; =data_ov61_0217c768 ldr r2, _021691b8 ; =data_ov61_0217c650 ldr r3, _021691bc ; =0x000001fd bl func_02042f80 _021690e8: ldr r0, [sp] ldr r0, [r0, #8] ldr r0, [r0, #8] bl func_ov61_0213e13c ldr r0, [sp] mov r1, #0 ldr r0, [r0, #8] str r1, [r0, #8] ldr r0, [sp] ldr r0, [r0, #8] ldr r0, [r0, #0xc] bl func_ov61_0213e13c ldr r0, [sp] mov r1, #0 ldr r0, [r0, #8] str r1, [r0, #0xc] ldr r0, [sp] ldr r0, [r0, #8] bl func_ov61_0213e13c ldr r0, [sp] mov r1, #0 str r1, [r0, #8] ldr r0, [sp] bl func_ov61_0216f238 cmp r0, #0 beq _0216915c ldr r1, [sp] mov r0, r6 bl func_ov61_0216f0c0 _0216915c: ldr r0, [r4, #0x430] subs r0, r0, #1 str r0, [r4, #0x430] bpl _02169180 ldr r0, _021691c0 ; =data_ov61_0217c774 ldr r1, _021691b4 ; =data_ov61_0217c768 ldr r2, _021691b8 ; =data_ov61_0217c650 mov r3, #0x204 bl func_02042f80 _02169180: ldr r1, _021691c4 ; =func_ov61_02168ff8 mov r0, r6 mov r2, r5 bl func_ov61_0216f19c _02169190: mov r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216901c _0216919c: .word data_ov61_0217c72c _021691a0: .word data_ov61_0217c740 _021691a4: .word data_ov61_0217c66c _021691a8: .word data_ov61_0217c74c _021691ac: .word data_ov61_0217c690 _021691b0: .word data_ov61_0217c75c _021691b4: .word data_ov61_0217c768 _021691b8: .word data_ov61_0217c650 _021691bc: .word 0x000001fd _021691c0: .word data_ov61_0217c774 _021691c4: .word func_ov61_02168ff8 .global func_ov61_021691c8 arm_func_start func_ov61_021691c8 func_ov61_021691c8: ; 0x021691c8 stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r4, r1 mov r8, r0 mov r7, r2 bne _021691f0 ldr r0, _02169250 ; =data_ov61_0217c828 ldr r1, _02169254 ; =data_ov61_0217c840 ldr r2, _02169258 ; =data_ov61_0217c7d8 mov r3, #0x25 bl func_02042f80 _021691f0: ldr r5, [r4, #8] ldmia r4, {r0, r6} cmp r6, r5 bne _02169228 add r6, r6, #0x800 add r1, r6, #1 bl func_ov61_0213e120 cmp r0, #0 bne _02169228 ldr r1, _0216925c ; =data_ov61_0217c84c mov r0, r8 bl func_ov61_02171b10 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02169228: strb r7, [r0, r5] add r1, r5, #1 mov r2, #0 strb r2, [r0, r1] ldr r1, [r4, #8] add r1, r1, #1 str r1, [r4, #8] stmia r4, {r0, r6} mov r0, r2 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021691c8 _02169250: .word data_ov61_0217c828 _02169254: .word data_ov61_0217c840 _02169258: .word data_ov61_0217c7d8 _0216925c: .word data_ov61_0217c84c .global func_ov61_02169260 arm_func_start func_ov61_02169260 func_ov61_02169260: ; 0x02169260 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} movs r8, r2 mov sl, r0 mov sb, r1 mov r7, r3 bne _0216928c ldr r0, _02169354 ; =data_ov61_0217c85c ldr r1, _02169358 ; =data_ov61_0217c840 ldr r2, _0216935c ; =data_ov61_0217c80c mov r3, #0x51 bl func_02042f80 _0216928c: cmp r7, #0 bge _021692a8 ldr r0, _02169360 ; =data_ov61_0217c86c ldr r1, _02169358 ; =data_ov61_0217c840 ldr r2, _0216935c ; =data_ov61_0217c80c mov r3, #0x52 bl func_02042f80 _021692a8: cmp sb, #0 bne _021692c4 ldr r0, _02169364 ; =data_ov61_0217c828 ldr r1, _02169358 ; =data_ov61_0217c840 ldr r2, _0216935c ; =data_ov61_0217c80c mov r3, #0x53 bl func_02042f80 _021692c4: cmp r8, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r4, [sb, #8] ldr r5, [sb, #4] ldr r6, [sb] sub r0, r5, r4 cmp r0, r7 bge _02169320 cmp r7, #0x800 movlt r0, #0x800 movge r0, r7 add r5, r5, r0 mov r0, r6 add r1, r5, #1 bl func_ov61_0213e120 movs r6, r0 bne _02169320 ldr r1, _02169368 ; =data_ov61_0217c84c mov r0, sl bl func_ov61_02171b10 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02169320: mov r1, r8 mov r2, r7 add r0, r6, r4 bl func_02043594 add r1, r4, r7 mov r0, #0 strb r0, [r6, r1] ldr r1, [sb, #8] add r1, r1, r7 str r1, [sb, #8] str r5, [sb, #4] str r6, [sb] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02169260 _02169354: .word data_ov61_0217c85c _02169358: .word data_ov61_0217c840 _0216935c: .word data_ov61_0217c80c _02169360: .word data_ov61_0217c86c _02169364: .word data_ov61_0217c828 _02169368: .word data_ov61_0217c84c .global func_ov61_0216936c arm_func_start func_ov61_0216936c func_ov61_0216936c: ; 0x0216936c stmdb sp!, {r4, r5, r6, lr} mov r4, r2 mov r6, r0 mov r5, r1 mov r0, r4 bl func_02047008 mov r3, r0 mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02169260 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216936c .global func_ov61_0216939c arm_func_start func_ov61_0216939c func_ov61_0216939c: ; 0x0216939c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r4, r1 mov r5, r0 ldr r1, _021693d0 ; =data_ov61_0217c87c add r0, sp, #0 bl func_020459b8 add r2, sp, #0 mov r0, r5 mov r1, r4 bl func_ov61_0216936c add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0216939c _021693d0: .word data_ov61_0217c87c .global func_ov61_021693d4 arm_func_start func_ov61_021693d4 func_ov61_021693d4: ; 0x021693d4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r1 mov r7, r0 mov r1, r2 mov r2, r3 mov r0, r8 mov r3, #0 ldr r6, [sp, #0x18] ldr r5, [sp, #0x1c] ldr r4, [sp, #0x20] bl func_ov61_02166bf0 mvn r1, #0 cmp r0, r1 bne _02169480 mov r0, r8 bl func_ov61_02166ce0 mvn r2, #5 cmp r0, r2 subne r1, r2, #0x14 cmpne r0, r1 subne r1, r2, #0x46 cmpne r0, r1 beq _02169470 ldrsb r0, [r4] cmp r0, #0x50 ldreqsb r0, [r4, #1] cmpeq r0, #0x52 moveq r0, #3 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r2, _021694bc ; =data_ov61_0217c880 mov r0, r7 mov r1, #5 bl func_ov61_02171aec mov r0, r7 mov r1, #3 mov r2, #0 bl func_ov61_02169c10 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02169470: mov r0, #0 str r0, [r5] str r0, [r6] b _021694b4 _02169480: cmp r0, #0 strne r0, [r5] movne r0, #0 strne r0, [r6] bne _021694b4 ldr r1, _021694c0 ; =data_ov61_0217c8a8 mov r0, r7 mov r2, r4 bl func_ov61_0217163c mov r0, #0 str r0, [r5] mov r0, #1 str r0, [r6] _021694b4: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_021693d4 _021694bc: .word data_ov61_0217c880 _021694c0: .word data_ov61_0217c8a8 .global func_ov61_021694c4 arm_func_start func_ov61_021694c4 func_ov61_021694c4: ; 0x021694c4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r4, r1 ldr r1, [r4, #0x28] mov r5, r0 cmp r1, #0 bne _021694f8 ldr r0, _02169594 ; =data_ov61_0217c8cc ldr r1, _02169598 ; =data_ov61_0217c840 ldr r2, _0216959c ; =data_ov61_0217c7c4 mov r3, #0xde bl func_02042f80 _021694f8: ldr r1, [r4, #0x30] ldr r0, [r4, #0x34] subs r0, r1, r0 bne _02169574 ldr r0, [r4, #0x38] bl func_ov61_02165a68 cmp r0, #0 bne _02169574 add r0, sp, #0x10 str r0, [sp] add r1, sp, #0xc ldr r0, _021695a0 ; =data_ov61_0217c8f0 str r1, [sp, #4] str r0, [sp, #8] ldr r1, [r4, #8] add r2, sp, #0x28 mov r0, r5 mov r3, #1 bl func_ov61_021693d4 cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r4, r5, lr} addne sp, sp, #0x10 bxne lr ldr r0, [sp, #0xc] cmp r0, #0 addne sp, sp, #0x14 movne r0, #0 ldmneia sp!, {r4, r5, lr} addne sp, sp, #0x10 bxne lr _02169574: ldrsb r2, [sp, #0x28] mov r0, r5 add r1, r4, #0x28 bl func_ov61_021691c8 add sp, sp, #0x14 ldmia sp!, {r4, r5, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov61_021694c4 _02169594: .word data_ov61_0217c8cc _02169598: .word data_ov61_0217c840 _0216959c: .word data_ov61_0217c7c4 _021695a0: .word data_ov61_0217c8f0 .global func_ov61_021695a4 arm_func_start func_ov61_021695a4 func_ov61_021695a4: ; 0x021695a4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov sb, r1 ldr r1, [sb, #0x28] mov sl, r0 mov r8, r2 mov r7, r3 cmp r1, #0 bne _021695dc ldr r0, _02169694 ; =data_ov61_0217c8cc ldr r1, _02169698 ; =data_ov61_0217c840 ldr r2, _0216969c ; =data_ov61_0217c7f0 mov r3, #0xfb bl func_02042f80 _021695dc: cmp r7, #0 mov r6, #0 addeq sp, sp, #0x14 moveq r0, r6 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sb, #0x30] ldr r0, [sb, #0x34] subs r0, r1, r0 bne _02169660 ldr r0, [sb, #0x38] bl func_ov61_02165a68 cmp r0, #0 bne _02169660 ldr fp, _021696a0 ; =data_ov61_0217c8f0 add r5, sp, #0x10 add r4, sp, #0xc _0216961c: str r5, [sp] stmib sp, {r4, fp} ldr r1, [sb, #8] mov r0, sl mov r3, r7 add r2, r8, r6 bl func_ov61_021693d4 cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #0xc] cmp r0, #0 subne r7, r7, r0 addne r6, r6, r0 cmp r0, #0 cmpne r7, #0 bne _0216961c _02169660: cmp r7, #0 beq _02169688 mov r0, sl mov r3, r7 add r1, sb, #0x28 add r2, r8, r6 bl func_ov61_02169260 cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02169688: mov r0, #0 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021695a4 _02169694: .word data_ov61_0217c8cc _02169698: .word data_ov61_0217c840 _0216969c: .word data_ov61_0217c7f0 _021696a0: .word data_ov61_0217c8f0 .global func_ov61_021696a4 arm_func_start func_ov61_021696a4 func_ov61_021696a4: ; 0x021696a4 stmdb sp!, {r4, r5, r6, lr} mov r4, r2 mov r6, r0 mov r5, r1 mov r0, r4 bl func_02047008 mov r3, r0 mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_021695a4 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021696a4 .global func_ov61_021696d4 arm_func_start func_ov61_021696d4 func_ov61_021696d4: ; 0x021696d4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x18 str r0, [sp] ldr r0, [sp, #0x44] mov sl, r1 mvn r1, #0 str r2, [sp, #4] str r3, [sp, #8] cmp sl, r1 str r0, [sp, #0x44] bne _02169714 ldr r0, _021698c8 ; =data_ov61_0217c8f4 ldr r1, _021698cc ; =data_ov61_0217c840 ldr r2, _021698d0 ; =data_ov61_0217c7a0 mov r3, #0x150 bl func_02042f80 _02169714: ldr r0, [sp, #4] cmp r0, #0 bne _02169734 ldr r0, _021698d4 ; =data_ov61_0217c90c ldr r1, _021698cc ; =data_ov61_0217c840 ldr r2, _021698d0 ; =data_ov61_0217c7a0 ldr r3, _021698d8 ; =0x00000151 bl func_02042f80 _02169734: ldr r0, [sp, #8] cmp r0, #0 bne _02169754 ldr r0, _021698dc ; =data_ov61_0217c920 ldr r1, _021698cc ; =data_ov61_0217c840 ldr r2, _021698d0 ; =data_ov61_0217c7a0 ldr r3, _021698e0 ; =0x00000152 bl func_02042f80 _02169754: ldr r0, [sp, #0x40] cmp r0, #0 bne _02169774 ldr r0, _021698e4 ; =data_ov61_0217c934 ldr r1, _021698cc ; =data_ov61_0217c840 ldr r2, _021698d0 ; =data_ov61_0217c7a0 ldr r3, _021698e8 ; =0x00000153 bl func_02042f80 _02169774: ldr r0, [sp, #4] mvn r4, #0 ldr r6, [r0, #8] ldmia r0, {r5, r7} sub r0, r4, #0x4b str r0, [sp, #0x14] sub r0, r4, #0x19 mov sb, #0 str r0, [sp, #0x10] sub r0, r4, #5 mov fp, sb str r0, [sp, #0xc] _021697a4: add r0, r6, #0x800 cmp r0, r7 ble _021697e0 mov r7, r0 add r1, r0, #1 mov r0, r5 bl func_ov61_0213e120 movs r5, r0 bne _021697e0 ldr r1, _021698ec ; =data_ov61_0217c84c ldr r0, [sp] bl func_ov61_02171b10 add sp, sp, #0x18 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021697e0: mov r0, sl add r1, r5, r6 sub r2, r7, r6 mov r3, #0 bl func_ov61_02166bac mov r8, r0 cmp r8, r4 bne _0216983c mov r0, sl bl func_ov61_02166ce0 ldr r1, [sp, #0xc] cmp r0, r1 ldrne r1, [sp, #0x10] cmpne r0, r1 ldrne r1, [sp, #0x14] cmpne r0, r1 beq _02169860 ldr r1, _021698f0 ; =data_ov61_0217c948 ldr r0, [sp] bl func_ov61_02171b10 add sp, sp, #0x18 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216983c: cmp r8, #0 addne r6, r6, r8 addne sb, sb, r8 bne _02169860 ldr r0, [sp] ldr r1, _021698f4 ; =data_ov61_0217c974 ldr r2, [sp, #0x44] mov fp, #1 bl func_ov61_0217163c _02169860: mov r0, #0 cmp r8, r4 strb r0, [r5, r6] beq _02169880 cmp fp, #0 bne _02169880 cmp sb, #0x20000 blt _021697a4 _02169880: cmp sb, #0 beq _0216989c ldr r1, _021698f8 ; =data_ov61_0217c998 ldr r0, [sp] ldr r2, [sp, #0x44] mov r3, sb bl func_ov61_0217163c _0216989c: ldr r0, [sp, #4] ldr r1, [sp, #0x40] str r5, [r0] str r6, [r0, #8] str r7, [r0, #4] ldr r0, [sp, #8] str sb, [r0] str fp, [r1] mov r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021696d4 _021698c8: .word data_ov61_0217c8f4 _021698cc: .word data_ov61_0217c840 _021698d0: .word data_ov61_0217c7a0 _021698d4: .word data_ov61_0217c90c _021698d8: .word 0x00000151 _021698dc: .word data_ov61_0217c920 _021698e0: .word 0x00000152 _021698e4: .word data_ov61_0217c934 _021698e8: .word 0x00000153 _021698ec: .word data_ov61_0217c84c _021698f0: .word data_ov61_0217c948 _021698f4: .word data_ov61_0217c974 _021698f8: .word data_ov61_0217c998 .global func_ov61_021698fc arm_func_start func_ov61_021698fc func_ov61_021698fc: ; 0x021698fc stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c mov sl, r0 str r2, [sp, #0xc] mov sb, r1 str r3, [sp, #0x10] movs r0, r2 ldr r8, [sp, #0x44] bne _02169934 ldr r0, _02169a58 ; =data_ov61_0217c828 ldr r1, _02169a5c ; =data_ov61_0217c840 ldr r2, _02169a60 ; =data_ov61_0217c7b0 ldr r3, _02169a64 ; =0x000001b9 bl func_02042f80 _02169934: ldr r0, [sp, #0xc] mov r4, #0 ldr fp, [r0, #8] ldr r7, [r0, #0xc] ldr r6, [r0] subs r5, fp, r7 addeq sp, sp, #0x1c moveq r0, r4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02169958: add r0, sp, #0x18 str r0, [sp] add r1, r7, r4 add r0, sp, #0x14 str r0, [sp, #4] add r2, r6, r1 mov r0, sl mov r1, sb mov r3, r5 str r8, [sp, #8] bl func_ov61_021693d4 cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #0x14] cmp r0, #0 subne r5, r5, r0 addne r4, r4, r0 cmp r0, #0 cmpne r5, #0 bne _02169958 ldr r0, [sp, #0x40] cmp r0, #0 beq _021699d8 cmp r4, #0 ble _021699dc mov r0, r6 add r1, r6, r4 add r2, r5, #1 bl func_020435b4 sub fp, fp, r4 b _021699dc _021699d8: add r7, r7, r4 _021699dc: cmp fp, #0 bge _021699f8 ldr r0, _02169a68 ; =data_ov61_0217c9ac ldr r1, _02169a5c ; =data_ov61_0217c840 ldr r2, _02169a60 ; =data_ov61_0217c7b0 ldr r3, _02169a6c ; =0x000001de bl func_02042f80 _021699f8: cmp r7, #0 bge _02169a14 ldr r0, _02169a70 ; =data_ov61_0217c9b8 ldr r1, _02169a5c ; =data_ov61_0217c840 ldr r2, _02169a60 ; =data_ov61_0217c7b0 ldr r3, _02169a74 ; =0x000001df bl func_02042f80 _02169a14: cmp r7, fp ble _02169a30 ldr r0, _02169a78 ; =data_ov61_0217c9c4 ldr r1, _02169a5c ; =data_ov61_0217c840 ldr r2, _02169a60 ; =data_ov61_0217c7b0 mov r3, #0x1e0 bl func_02042f80 _02169a30: ldr r0, [sp, #0xc] str fp, [r0, #8] str r7, [r0, #0xc] ldr r0, [sp, #0x10] cmp r0, #0 ldrne r1, [sp, #0x18] strne r1, [r0] mov r0, #0 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021698fc _02169a58: .word data_ov61_0217c828 _02169a5c: .word data_ov61_0217c840 _02169a60: .word data_ov61_0217c7b0 _02169a64: .word 0x000001b9 _02169a68: .word data_ov61_0217c9ac _02169a6c: .word 0x000001de _02169a70: .word data_ov61_0217c9b8 _02169a74: .word 0x000001df _02169a78: .word data_ov61_0217c9c4 .global func_ov61_02169a7c arm_func_start func_ov61_02169a7c func_ov61_02169a7c: ; 0x02169a7c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r5, r2 mov r0, #0 mov r6, r1 str r0, [r5] ldr r1, [r6, #8] mov r7, r3 cmp r1, #5 addlt sp, sp, #0x10 ldmltia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r6] mov r1, #0xa bl func_020472b4 movs r4, r0 beq _02169ba0 ldr r1, _02169bac ; =data_ov61_0217c9d0 sub r0, r4, #5 mov r2, #5 bl func_02047280 cmp r0, #0 addne sp, sp, #0x10 movne r0, #3 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #0 strb r0, [r4] ldr r0, [r6] ldr r1, _02169bb0 ; =data_ov61_0217c9d8 add r2, sp, #0 mov r3, #0x10 bl func_ov61_02171720 cmp r0, #0 addeq sp, sp, #0x10 moveq r0, #3 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r0, sp, #0 bl func_0204902c str r0, [r7] ldr r0, [r6] ldr r1, _02169bb4 ; =data_ov61_0217c9dc add r2, sp, #0 mov r3, #0x10 bl func_ov61_02171720 cmp r0, #0 addeq sp, sp, #0x10 moveq r0, #3 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} add r0, sp, #0 bl func_0204902c ldr r2, [r6] add r1, r0, #1 sub r2, r4, r2 ldr r3, [r6, #8] add r2, r1, r2 cmp r3, r2 ble _02169b98 ldrsb r2, [r4, r1] cmp r2, #0 addne sp, sp, #0x10 movne r0, #3 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r3, r4, #1 ldr r2, [sp, #0x28] str r3, [r5] str r0, [r2] ldr r0, [r6] sub r0, r4, r0 add r0, r1, r0 add r0, r0, #1 str r0, [r6, #0xc] b _02169ba0 _02169b98: mov r0, #0xa strb r0, [r4] _02169ba0: mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02169a7c _02169bac: .word data_ov61_0217c9d0 _02169bb0: .word data_ov61_0217c9d8 _02169bb4: .word data_ov61_0217c9dc .global func_ov61_02169bb8 arm_func_start func_ov61_02169bb8 func_ov61_02169bb8: ; 0x02169bb8 stmdb sp!, {r4, lr} movs r4, r1 ldrne r0, [r4] cmpne r0, #0 ldrne r1, [r4, #0xc] cmpne r1, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #8] subs r2, r0, r1 str r2, [r4, #8] beq _02169bf8 ldr r0, [r4] ldr r1, [r4, #0xc] add r1, r0, r1 bl func_020435b4 _02169bf8: ldr r2, [r4] ldr r1, [r4, #8] mov r0, #0 strb r0, [r2, r1] str r0, [r4, #0xc] ldmia sp!, {r4, pc} arm_func_end func_ov61_02169bb8 .global func_ov61_02169c10 arm_func_start func_ov61_02169c10 func_ov61_02169c10: ; 0x02169c10 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r4, r0 ldr r5, [r4] mov r7, r1 mov r6, r2 cmp r5, #0 bne _02169c44 ldr r0, _02169cf0 ; =data_ov61_0217ca0c ldr r1, _02169cf4 ; =data_ov61_0217ca20 ldr r2, _02169cf8 ; =data_ov61_0217c9f4 mov r3, #0x23 bl func_02042f80 _02169c44: cmp r7, #0 bne _02169c60 ldr r0, _02169cfc ; =data_ov61_0217ca30 ldr r1, _02169cf4 ; =data_ov61_0217ca20 ldr r2, _02169cf8 ; =data_ov61_0217c9f4 mov r3, #0x24 bl func_02042f80 _02169c60: cmp r6, #1 cmpne r6, #0 beq _02169c80 ldr r0, _02169d00 ; =data_ov61_0217ca48 ldr r1, _02169cf4 ; =data_ov61_0217ca20 ldr r2, _02169cf8 ; =data_ov61_0217c9f4 mov r3, #0x25 bl func_02042f80 _02169c80: cmp r6, #1 moveq r0, #1 streq r0, [r5, #0x41c] ldr r1, [r5, #0x1a4] ldr r0, [r5, #0x1a8] str r1, [sp, #8] str r0, [sp, #0xc] cmp r1, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #0x10 bl func_ov61_0213e10c movs r3, r0 beq _02169cc8 str r7, [r3] str r6, [r3, #0xc] ldr r0, [r5, #0x418] stmib r3, {r0, r5} _02169cc8: mov r2, #0 str r2, [sp] mov r2, #1 add r1, sp, #8 str r2, [sp, #4] mov r0, r4 ldmia r1, {r1, r2} bl func_ov61_02169d04 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02169c10 _02169cf0: .word data_ov61_0217ca0c _02169cf4: .word data_ov61_0217ca20 _02169cf8: .word data_ov61_0217c9f4 _02169cfc: .word data_ov61_0217ca30 _02169d00: .word data_ov61_0217ca48 .global func_ov61_02169d04 arm_func_start func_ov61_02169d04 func_ov61_02169d04: ; 0x02169d04 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #0x18 mov r5, r3 ldr r4, [r6] bl func_ov61_0213e10c cmp r0, #0 bne _02169d44 ldr r1, _02169da4 ; =data_ov61_0217ca78 mov r0, r6 bl func_ov61_02171b10 mov r0, #1 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr _02169d44: ldr r1, [sp, #0x14] ldr r2, [sp, #0x18] str r1, [r0] ldr r1, [sp, #0x20] stmib r0, {r2, r5} cmp r1, #0 ldrne r1, [r1, #0x18] ldr r2, [sp, #0x24] moveq r1, #0 str r1, [r0, #0x10] mov r1, #0 str r2, [r0, #0xc] str r1, [r0, #0x14] ldr r1, [r4, #0x438] cmp r1, #0 streq r0, [r4, #0x438] ldr r1, [r4, #0x43c] cmp r1, #0 strne r0, [r1, #0x14] str r0, [r4, #0x43c] mov r0, #0 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov61_02169d04 _02169da4: .word data_ov61_0217ca78 .global func_ov61_02169da8 arm_func_start func_ov61_02169da8 func_ov61_02169da8: ; 0x02169da8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r7, r1 ldr r1, [r7] mov r4, r0 cmp r1, #0 bne _02169dd4 ldr r0, _02169f90 ; =data_ov61_0217ca88 ldr r1, _02169f94 ; =data_ov61_0217ca20 ldr r2, _02169f98 ; =data_ov61_0217c9e4 mov r3, #0x6e bl func_02042f80 _02169dd4: ldr r0, [r7, #8] cmp r0, #0 bne _02169df4 ldr r0, _02169f9c ; =data_ov61_0217caa8 ldr r1, _02169f94 ; =data_ov61_0217ca20 ldr r2, _02169f98 ; =data_ov61_0217c9e4 mov r3, #0x6f bl func_02042f80 _02169df4: ldr r1, [r7, #8] ldr r2, [r7, #4] ldr r3, [r7] mov r0, r4 blx r3 ldr r0, [r7, #0xc] cmp r0, #2 bne _02169e30 ldr r0, [r7, #8] ldr r0, [r0, #8] bl func_ov61_0213e13c ldr r0, [r7, #8] mov r1, #0 str r1, [r0, #8] b _02169f74 _02169e30: cmp r0, #3 bne _02169eb0 ldr r6, [r7, #8] mov r5, #0 ldr r0, [r6, #0x38] cmp r0, #0 ble _02169e8c mov r4, r5 mov r8, r5 _02169e54: ldr r0, [r6, #0x3c] ldr r0, [r0, r5, lsl #2] bl func_ov61_0213e13c ldr r0, [r6, #0x3c] str r4, [r0, r5, lsl #2] ldr r0, [r6, #0x40] ldr r0, [r0, r5, lsl #2] bl func_ov61_0213e13c ldr r0, [r6, #0x40] str r8, [r0, r5, lsl #2] ldr r0, [r6, #0x38] add r5, r5, #1 cmp r5, r0 blt _02169e54 _02169e8c: ldr r0, [r6, #0x3c] bl func_ov61_0213e13c mov r0, #0 str r0, [r6, #0x3c] ldr r0, [r6, #0x40] bl func_ov61_0213e13c mov r0, #0 str r0, [r6, #0x40] b _02169f74 _02169eb0: cmp r0, #4 bne _02169ed0 ldr r4, [r7, #8] ldr r0, [r4, #0xc] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0xc] b _02169f74 _02169ed0: cmp r0, #7 bne _02169ef8 ldr r4, [r7, #8] ldr r0, [r4, #0x10] cmp r0, #0 beq _02169f74 bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x10] b _02169f74 _02169ef8: cmp r0, #8 bne _02169f20 ldr r4, [r7, #8] ldr r0, [r4, #8] cmp r0, #0 beq _02169f74 bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #8] b _02169f74 _02169f20: cmp r0, #9 bne _02169f74 ldr r5, [r7, #8] mov r4, #0 ldr r0, [r5, #4] cmp r0, #0 ble _02169f64 mov r6, r4 _02169f40: ldr r0, [r5, #8] ldr r0, [r0, r4, lsl #2] bl func_ov61_0213e13c ldr r0, [r5, #8] str r6, [r0, r4, lsl #2] ldr r0, [r5, #4] add r4, r4, #1 cmp r4, r0 blt _02169f40 _02169f64: ldr r0, [r5, #8] bl func_ov61_0213e13c mov r0, #0 str r0, [r5, #8] _02169f74: ldr r0, [r7, #8] bl func_ov61_0213e13c mov r1, #0 mov r0, r7 str r1, [r7, #8] bl func_ov61_0213e13c ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02169da8 _02169f90: .word data_ov61_0217ca88 _02169f94: .word data_ov61_0217ca20 _02169f98: .word data_ov61_0217c9e4 _02169f9c: .word data_ov61_0217caa8 .global func_ov61_02169fa0 arm_func_start func_ov61_02169fa0 func_ov61_02169fa0: ; 0x02169fa0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sl, r0 movs sb, r1 ldr r4, [sl] beq _0216a03c ldr r5, [r4, #0x438] ldr r6, [r4, #0x43c] mov r7, #0 str r7, [r4, #0x438] mov r1, r5 str r7, [r4, #0x43c] cmp r5, #0 beq _0216a01c _02169fd4: ldr r0, [r1, #0x10] ldr r8, [r1, #0x14] cmp r0, sb ldrne r0, [r1, #0xc] cmpne r0, #1 bne _0216a00c mov r0, sl cmp r7, #0 strne r8, [r7, #0x14] moveq r5, r8 cmp r6, r1 moveq r6, r7 bl func_ov61_02169da8 b _0216a010 _0216a00c: mov r7, r1 _0216a010: mov r1, r8 cmp r8, #0 bne _02169fd4 _0216a01c: ldr r0, [r4, #0x438] cmp r0, #0 ldrne r0, [r4, #0x43c] strne r5, [r0, #0x14] streq r5, [r4, #0x438] str r6, [r4, #0x43c] mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0216a03c: ldr r1, [r4, #0x438] cmp r1, #0 beq _0216a080 mov r5, #0 _0216a04c: str r5, [r4, #0x438] str r5, [r4, #0x43c] cmp r1, #0 beq _0216a074 _0216a05c: ldr r6, [r1, #0x14] mov r0, sl bl func_ov61_02169da8 mov r1, r6 cmp r6, #0 bne _0216a05c _0216a074: ldr r1, [r4, #0x438] cmp r1, #0 bne _0216a04c _0216a080: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov61_02169fa0 .global func_ov61_0216a088 arm_func_start func_ov61_0216a088 func_ov61_0216a088: ; 0x0216a088 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r8, r1 mov sb, r0 cmp r8, #0 mov r7, #0 ble _0216a0dc ldr r6, _0216a0e8 ; =data_ov61_0217cb1c ldr r5, _0216a0ec ; =0x08421085 mov r4, #0x3e _0216a0ac: bl func_02045b48 umull r1, r2, r0, r5 sub r1, r0, r2 add r2, r2, r1, lsr #1 mov r2, r2, lsr #0x5 umull r1, r2, r4, r2 sub r2, r0, r1 ldrsb r0, [r6, r2] strb r0, [sb, r7] add r7, r7, #1 cmp r7, r8 blt _0216a0ac _0216a0dc: mov r0, #0 strb r0, [sb, r7] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0216a088 _0216a0e8: .word data_ov61_0217cb1c _0216a0ec: .word 0x08421085 .global func_ov61_0216a0f0 arm_func_start func_ov61_0216a0f0 func_ov61_0216a0f0: ; 0x0216a0f0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r0 ldr r4, [r6] mov r5, r1 ldr r0, [r4, #0x10c] cmp r0, #0 bne _0216a290 mov r0, #2 mov r1, #1 mov r2, #0 bl func_ov61_02166a84 mvn r1, #0 str r0, [r4, #0x204] cmp r0, r1 bne _0216a15c ldr r2, _0216a434 ; =data_ov61_0217cb5c mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a15c: mov r1, #0 bl func_ov61_021666cc cmp r0, #0 bne _0216a198 ldr r2, _0216a438 ; =data_ov61_0217cb84 mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a198: add r1, sp, #4 mov r2, #0 str r2, [r1] mov r0, #2 str r2, [r1, #4] strb r0, [sp, #5] ldr r0, [r4, #0x204] mov r2, #8 bl func_ov61_02166ac0 mvn r1, #0 cmp r0, r1 mov r1, #5 bne _0216a1f4 ldr r2, _0216a43c ; =data_ov61_0217cbb8 mov r0, r6 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a1f4: ldr r0, [r4, #0x204] bl func_ov61_02166b6c mvn r1, #0 cmp r0, r1 bne _0216a234 ldr r2, _0216a440 ; =data_ov61_0217cbe0 mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a234: mov r0, #8 str r0, [sp] ldr r0, [r4, #0x204] add r1, sp, #4 add r2, sp, #0 bl func_ov61_02166c98 mvn r1, #0 cmp r0, r1 bne _0216a284 ldr r2, _0216a444 ; =data_ov61_0217cc0c mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a284: ldrh r0, [sp, #6] str r0, [r4, #0x208] b _0216a2a0 _0216a290: mvn r0, #0 str r0, [r4, #0x204] mov r0, #0 str r0, [r4, #0x208] _0216a2a0: mov r0, #2 mov r1, #1 mov r2, #0 bl func_ov61_02166a84 mvn r1, #0 str r0, [r4, #0x1d4] cmp r0, r1 bne _0216a2ec ldr r2, _0216a434 ; =data_ov61_0217cb5c mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a2ec: mov r1, #0 bl func_ov61_021666cc cmp r0, #0 bne _0216a328 ldr r2, _0216a438 ; =data_ov61_0217cb84 mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a328: ldr r0, _0216a448 ; =data_ov61_0217cadc bl func_ov61_021590ac cmp r0, #0 bne _0216a364 ldr r2, _0216a44c ; =data_ov61_0217cc3c mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a364: add r3, sp, #4 mov r2, #0 str r2, [r3] mov r1, #2 str r2, [r3, #4] strb r1, [sp, #5] ldr r0, [r0, #0xc] ldr r0, [r0] ldr r0, [r0] str r0, [sp, #8] cmp r0, #0 bne _0216a3a8 ldr r0, _0216a450 ; =data_ov61_0217cc70 ldr r1, _0216a454 ; =data_ov61_0217cc90 ldr r2, _0216a458 ; =data_ov61_0217cabc mov r3, #0x90 bl func_02042f80 _0216a3a8: ldr r0, _0216a45c ; =0x0000cc74 add r1, sp, #4 strh r0, [sp, #6] ldr r0, [r4, #0x1d4] mov r2, #8 bl func_ov61_02166b20 mvn r1, #0 cmp r0, r1 bne _0216a41c ldr r0, [r4, #0x1d4] bl func_ov61_02166ce0 mvn r2, #5 cmp r0, r2 subne r1, r2, #0x14 cmpne r0, r1 subne r1, r2, #0x46 cmpne r0, r1 beq _0216a41c ldr r2, _0216a460 ; =data_ov61_0217cca0 mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r3, r4, r5, r6, pc} _0216a41c: mov r0, #1 str r0, [r5, #0x14] str r0, [r4, #0x1d8] mov r0, #0 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216a0f0 _0216a434: .word data_ov61_0217cb5c _0216a438: .word data_ov61_0217cb84 _0216a43c: .word data_ov61_0217cbb8 _0216a440: .word data_ov61_0217cbe0 _0216a444: .word data_ov61_0217cc0c _0216a448: .word data_ov61_0217cadc _0216a44c: .word data_ov61_0217cc3c _0216a450: .word data_ov61_0217cc70 _0216a454: .word data_ov61_0217cc90 _0216a458: .word data_ov61_0217cabc _0216a45c: .word 0x0000cc74 _0216a460: .word data_ov61_0217cca0 .global func_ov61_0216a464 arm_func_start func_ov61_0216a464 func_ov61_0216a464: ; 0x0216a464 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r8, r0 ldr r4, [r8] mov r7, r1 ldr r1, [r4, #0x1d8] mov r6, r2 mov r5, r3 cmp r1, #4 bne _0216a49c bl func_ov61_02167d18 cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _0216a49c: ldr r0, [r4, #0x1d8] cmp r0, #0 beq _0216a4c0 ldr r1, _0216a69c ; =data_ov61_0217ccc8 mov r0, r8 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #2 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216a4c0: ldr r0, [sp, #0x38] cmp r0, #0 beq _0216a4e0 cmp r0, #1 bne _0216a4ec mov r0, #1 str r0, [r4, #0x10c] b _0216a504 _0216a4e0: mov r0, #0 str r0, [r4, #0x10c] b _0216a504 _0216a4ec: ldr r1, _0216a6a0 ; =data_ov61_0217ccdc mov r0, r8 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #2 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216a504: mov r3, #1 mov r1, r7 add r0, r4, #0x110 mov r2, #0x1f str r3, [r4, #0x10c] bl func_ov61_021715c8 add r0, r4, #0x2f mov r1, r6 add r0, r0, #0x100 mov r2, #0x15 bl func_ov61_021715c8 mov r1, r5 add r0, r4, #0x144 mov r2, #0x33 bl func_ov61_021715c8 add r0, r4, #0x77 ldr r1, [sp, #0x28] add r0, r0, #0x100 mov r2, #0x1f bl func_ov61_021715c8 add r0, r4, #0x144 bl func_ov61_02166688 mov r0, #0x308 bl func_ov61_0213e10c movs r4, r0 bne _0216a584 ldr r1, _0216a6a4 ; =data_ov61_0217ccf0 mov r0, r8 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216a584: mov r1, #0 mov r2, #0x308 bl func_02043600 ldr r0, [sp, #0x3c] ldr r1, [sp, #0x2c] str r0, [r4, #0x304] ldrsb r0, [r1] cmp r0, #0 ldrne r0, [sp, #0x30] ldrnesb r0, [r0] cmpne r0, #0 beq _0216a5d4 add r0, r4, #0xc2 mov r2, #0x100 bl func_ov61_021715c8 add r0, r4, #0xc2 ldr r1, [sp, #0x30] add r0, r0, #0x100 mov r2, #0x100 bl func_ov61_021715c8 _0216a5d4: ldr r1, [sp, #0x34] cmp r1, #0 beq _0216a5f0 add r0, r4, #0xc2 add r0, r0, #0x200 mov r2, #0x41 bl func_ov61_021715c8 _0216a5f0: ldr r1, [sp, #0x40] ldr r0, [sp, #0x44] str r1, [sp] str r0, [sp, #4] ldr r5, [sp, #0x48] add r3, sp, #0xc mov r0, r8 mov r2, r4 mov r1, #0 str r5, [sp, #8] bl func_ov61_0216d7fc cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r1, [sp, #0xc] mov r0, r8 bl func_ov61_0216a0f0 movs r4, r0 beq _0216a668 ldr r1, [sp, #0xc] mov r0, r8 str r4, [r1, #0x1c] ldr r1, [sp, #0xc] bl func_ov61_0216d4b0 mov r0, r8 mov r1, #0 bl func_ov61_0216b504 add sp, sp, #0x10 mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216a668: ldr r1, [sp, #0xc] ldr r0, [r1, #8] cmp r0, #0 beq _0216a690 ldr r1, [r1, #0x18] mov r0, r8 bl func_ov61_02168158 cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _0216a690: mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0216a464 _0216a69c: .word data_ov61_0217ccc8 _0216a6a0: .word data_ov61_0217ccdc _0216a6a4: .word data_ov61_0217ccf0 .global func_ov61_0216a6a8 arm_func_start func_ov61_0216a6a8 func_ov61_0216a6a8: ; 0x0216a6a8 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x288 mov r5, r1 mov r6, r0 add r0, r5, #0x80 mov r1, #0x20 ldr r4, [r6] bl func_ov61_0216a088 add r0, r5, #0x100 ldrsb r0, [r0, #0xc2] cmp r0, #0 addne r0, r5, #0xc2 addeq r0, r4, #0x77 add r7, r0, #0x100 mov r0, r7 bl func_02047008 mov r1, r0 mov r0, r7 add r2, r5, #0xa1 bl func_ov61_0216659c ldrsb r0, [r5, #0xc2] cmp r0, #0 addne r0, r5, #0xc2 bne _0216a738 add r0, r4, #0x100 ldrsb r0, [r0, #0x2f] cmp r0, #0 addne r0, r4, #0x2f addne r0, r0, #0x100 bne _0216a738 ldr r1, _0216a9fc ; =data_ov61_0217cd00 add r0, sp, #0x35 add r2, r4, #0x110 add r3, r4, #0x144 bl func_020459b8 add r0, sp, #0x35 _0216a738: str r0, [sp] add r0, r5, #0x80 str r0, [sp, #4] ldr r1, _0216aa00 ; =data_ov61_0217cd08 ldr r3, _0216aa04 ; =data_ov61_0217cd18 add r0, sp, #0x87 str r5, [sp, #8] add r2, r5, #0xa1 str r2, [sp, #0xc] bl func_020459b8 add r0, sp, #0x87 bl func_02047008 mov r1, r0 add r0, sp, #0x87 add r2, sp, #0x14 bl func_ov61_0216659c ldr r0, [r4, #0x100] cmp r0, #0 beq _0216a7b8 add r3, sp, #0x10 mov r0, r6 add r1, r4, #0x110 add r2, r4, #0x144 bl func_ov61_0216f134 ldr r0, [sp, #0x10] cmp r0, #0 beq _0216a7b8 ldr r0, [r0, #4] str r0, [r4, #0x19c] ldr r0, [sp, #0x10] ldr r0, [r0] str r0, [r4, #0x1a0] _0216a7b8: ldr r2, _0216aa08 ; =data_ov61_0217cd4c mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, _0216aa0c ; =data_ov61_0217cd54 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 add r2, r5, #0x80 bl func_ov61_0216936c ldrsb r0, [r5, #0xc2] cmp r0, #0 beq _0216a818 ldr r2, _0216aa10 ; =data_ov61_0217cd60 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 add r2, r5, #0xc2 bl func_ov61_0216936c b _0216a890 _0216a818: add r0, r4, #0x100 ldrsb r0, [r0, #0x2f] cmp r0, #0 beq _0216a850 ldr r2, _0216aa14 ; =data_ov61_0217cd6c mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c add r2, r4, #0x2f mov r0, r6 add r1, r4, #0x1f4 add r2, r2, #0x100 bl func_ov61_0216936c b _0216a890 _0216a850: ldr r2, _0216aa18 ; =data_ov61_0217cd7c mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 add r2, r4, #0x110 bl func_ov61_0216936c ldr r2, _0216aa1c ; =data_ov61_0217cd84 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 add r2, r4, #0x144 bl func_ov61_0216936c _0216a890: ldr r0, [r4, #0x19c] cmp r0, #0 beq _0216a8bc ldr r2, _0216aa20 ; =data_ov61_0217cd88 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x19c] mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216939c _0216a8bc: ldr r0, [r4, #0x1a0] cmp r0, #0 beq _0216a8e8 ldr r2, _0216aa24 ; =data_ov61_0217cd94 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x1a0] mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216939c _0216a8e8: ldr r2, _0216aa28 ; =data_ov61_0217cda0 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c add r2, sp, #0x14 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r0, [r4, #0x10c] cmp r0, #1 bne _0216a924 ldr r2, _0216aa2c ; =data_ov61_0217cdac mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c _0216a924: ldr r2, _0216aa30 ; =data_ov61_0217cdb8 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r1, [r4, #0x208] mov r0, r6 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r2, r1, asr #0x8 mov r1, r1, lsl #0x8 and r2, r2, #0xff and r1, r1, #0xff00 orr r1, r2, r1 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r2, r1, lsl #0x10 add r1, r4, #0x1f4 mov r2, r2, asr #0x10 bl func_ov61_0216939c ldr r2, _0216aa34 ; =data_ov61_0217cdc0 mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x46c] mov r0, r6 add r1, r4, #0x1f4 bl func_ov61_0216939c mov r0, r6 add r1, r4, #0x1f4 ldr r2, _0216aa38 ; =data_ov61_0217cdcc bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 ldr r2, _0216aa3c ; =data_ov61_021810c0 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 ldr r2, _0216aa40 ; =data_ov61_0217cdd8 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 ldr r2, [r4, #0x470] bl func_ov61_0216939c mov r0, r6 add r1, r4, #0x1f4 ldr r2, _0216aa44 ; =data_ov61_0217cde8 bl func_ov61_0216936c mov r0, r6 add r1, r4, #0x1f4 ldr r2, _0216aa48 ; =data_ov61_0217cdf0 bl func_ov61_0216936c mov r0, #0 add sp, sp, #0x288 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216a6a8 _0216a9fc: .word data_ov61_0217cd00 _0216aa00: .word data_ov61_0217cd08 _0216aa04: .word data_ov61_0217cd18 _0216aa08: .word data_ov61_0217cd4c _0216aa0c: .word data_ov61_0217cd54 _0216aa10: .word data_ov61_0217cd60 _0216aa14: .word data_ov61_0217cd6c _0216aa18: .word data_ov61_0217cd7c _0216aa1c: .word data_ov61_0217cd84 _0216aa20: .word data_ov61_0217cd88 _0216aa24: .word data_ov61_0217cd94 _0216aa28: .word data_ov61_0217cda0 _0216aa2c: .word data_ov61_0217cdac _0216aa30: .word data_ov61_0217cdb8 _0216aa34: .word data_ov61_0217cdc0 _0216aa38: .word data_ov61_0217cdcc _0216aa3c: .word data_ov61_021810c0 _0216aa40: .word data_ov61_0217cdd8 _0216aa44: .word data_ov61_0217cde8 _0216aa48: .word data_ov61_0217cdf0 .global func_ov61_0216aa4c arm_func_start func_ov61_0216aa4c func_ov61_0216aa4c: ; 0x0216aa4c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xe8 mov sl, r0 ldr r5, [sl] mov sb, r1 add r0, r5, #0x77 add r0, r0, #0x100 bl func_02047008 mov r7, r0 ldr r0, _0216aca4 ; =0x79707367 bl func_ov61_02166dc0 cmp r7, #0 mov r6, #0 bls _0216aac0 add r8, sp, #0x2d mov r4, r6 mov fp, #0xff _0216aa90: mov r0, r4 mov r1, fp bl func_ov61_02166ddc add r1, r5, r6 add r1, r1, #0x100 add r6, r6, #1 ldrsb r1, [r1, #0x77] mov r0, r0, lsl #0x18 cmp r6, r7 eor r0, r1, r0, asr #24 strb r0, [r8], #1 blo _0216aa90 _0216aac0: add r0, sp, #0x2d mov r4, #0 add r1, sp, #0 mov r2, r7 mov r3, #1 strb r4, [r0, r6] bl func_ov61_02166e98 ldr r2, _0216aca8 ; =data_ov61_0217cdf8 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c ldr r2, _0216acac ; =data_ov61_0217ce04 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c mov r0, sl add r1, r5, #0x1f4 add r2, r5, #0x144 bl func_ov61_0216936c ldr r2, _0216acb0 ; =data_ov61_0217ce0c mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c mov r0, sl add r1, r5, #0x1f4 add r2, r5, #0x110 bl func_ov61_0216936c ldr r2, _0216acb4 ; =data_ov61_0217ce14 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c mov r0, sl add r1, r5, #0x1f4 add r2, sp, #0 bl func_ov61_0216936c ldr r2, _0216acb8 ; =data_ov61_0217cdc0 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c ldr r2, [r5, #0x46c] mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216939c ldr r2, _0216acbc ; =data_ov61_0217cdcc mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c ldr r2, _0216acc0 ; =data_ov61_021810c0 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c ldr r2, _0216acc4 ; =data_ov61_0217cdd8 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c ldr r2, [r5, #0x470] mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216939c ldr r2, _0216acc8 ; =data_ov61_0217cd6c mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c add r2, r5, #0x2f mov r0, sl add r1, r5, #0x1f4 add r2, r2, #0x100 bl func_ov61_0216936c add r0, sb, #0x200 ldrsb r0, [r0, #0xc2] cmp r0, #0 beq _0216ac78 add r0, sb, #0xc2 add r0, r0, #0x200 bl func_02047008 mov r6, r0 ldr r0, _0216aca4 ; =0x79707367 bl func_ov61_02166dc0 cmp r6, #0 mov r8, r4 bls _0216ac3c add r7, sp, #0xa6 mov fp, #0xff _0216ac0c: mov r0, r4 mov r1, fp bl func_ov61_02166ddc add r1, sb, r8 add r1, r1, #0x200 add r8, r8, #1 ldrsb r1, [r1, #0xc2] mov r0, r0, lsl #0x18 cmp r8, r6 eor r0, r1, r0, asr #24 strb r0, [r7], #1 blo _0216ac0c _0216ac3c: add r0, sp, #0xa6 mov r4, #0 add r1, sp, #0x4c mov r2, r6 mov r3, #1 strb r4, [r0, r8] bl func_ov61_02166e98 ldr r2, _0216accc ; =data_ov61_0217ce24 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c add r2, sp, #0x4c mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c _0216ac78: ldr r2, _0216acd0 ; =data_ov61_0217cde8 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c ldr r2, _0216acd4 ; =data_ov61_0217cdf0 mov r0, sl add r1, r5, #0x1f4 bl func_ov61_0216936c mov r0, #0 add sp, sp, #0xe8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0216aa4c _0216aca4: .word 0x79707367 _0216aca8: .word data_ov61_0217cdf8 _0216acac: .word data_ov61_0217ce04 _0216acb0: .word data_ov61_0217ce0c _0216acb4: .word data_ov61_0217ce14 _0216acb8: .word data_ov61_0217cdc0 _0216acbc: .word data_ov61_0217cdcc _0216acc0: .word data_ov61_021810c0 _0216acc4: .word data_ov61_0217cdd8 _0216acc8: .word data_ov61_0217cd6c _0216accc: .word data_ov61_0217ce24 _0216acd0: .word data_ov61_0217cde8 _0216acd4: .word data_ov61_0217cdf0 .global func_ov61_0216acd8 arm_func_start func_ov61_0216acd8 func_ov61_0216acd8: ; 0x0216acd8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x2a0 mov r6, r2 mov r8, r0 mov r7, r1 mov r1, r6 mov r2, #0 ldr r5, [r8] bl func_ov61_02171648 cmp r0, #0 beq _0216add0 ldr r2, [r5, #0x418] ldr r0, _0216b348 ; =0x00000106 cmp r2, r0 bne _0216ad38 ldr r1, [r5, #0x1a0] cmp r1, #0 beq _0216ad38 mov r0, r8 bl func_ov61_0216f08c mov r0, #0 str r0, [r5, #0x19c] str r0, [r5, #0x1a0] b _0216ad6c _0216ad38: ldr r0, _0216b34c ; =0x00000201 cmp r2, r0 bne _0216ad6c ldr r1, _0216b350 ; =data_ov61_0217ce30 add r2, sp, #0xa0 mov r0, r6 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 beq _0216ad6c add r0, sp, #0xa0 bl func_0204902c str r0, [r5, #0x1a0] _0216ad6c: ldr r1, _0216b354 ; =data_ov61_0217ce38 mov r0, r6 bl func_020472f0 cmp r0, #0 ldr r1, [r5, #0x418] mov r0, r8 beq _0216adac mov r2, r5 bl func_ov61_02171aec mov r0, r8 mov r1, #4 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216adac: mov r2, r5 bl func_ov61_02171aec mov r0, r8 mov r1, #4 mov r2, #0 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #4 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216add0: ldr r0, [r7, #0x14] ldr r4, [r7, #4] cmp r0, #1 beq _0216adf4 cmp r0, #2 beq _0216afdc cmp r0, #3 beq _0216aecc b _0216b33c _0216adf4: ldr r1, _0216b358 ; =data_ov61_0217ce40 mov r0, r6 mov r2, #5 bl func_02047280 cmp r0, #0 beq _0216ae38 ldr r2, _0216b35c ; =data_ov61_0217ce48 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216ae38: ldr r1, _0216b360 ; =data_ov61_0217cd54 mov r0, r6 mov r2, r4 mov r3, #0x80 bl func_ov61_02171720 cmp r0, #0 bne _0216ae80 ldr r2, _0216b35c ; =data_ov61_0217ce48 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216ae80: ldr r0, [r4, #0x304] mov r1, r4 cmp r0, #0 mov r0, r8 beq _0216aeb0 bl func_ov61_0216aa4c cmp r0, #0 addne sp, sp, #0x2a0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #3 str r0, [r7, #0x14] b _0216b33c _0216aeb0: bl func_ov61_0216a6a8 cmp r0, #0 addne sp, sp, #0x2a0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #2 str r0, [r7, #0x14] b _0216b33c _0216aecc: ldr r1, _0216b364 ; =data_ov61_0217ce78 mov r0, r6 mov r2, #5 bl func_02047280 cmp r0, #0 beq _0216af10 ldr r2, _0216b35c ; =data_ov61_0217ce48 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216af10: ldr r1, _0216b368 ; =data_ov61_0217cd88 add r2, sp, #0xa0 mov r0, r6 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 bne _0216af58 ldr r2, _0216b36c ; =data_ov61_0217ce80 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216af58: add r0, sp, #0xa0 bl func_0204902c str r0, [r5, #0x19c] ldr r1, _0216b370 ; =data_ov61_0217cd94 add r2, sp, #0xa0 mov r0, r6 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 bne _0216afac ldr r2, _0216b36c ; =data_ov61_0217ce80 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216afac: add r0, sp, #0xa0 bl func_0204902c str r0, [r5, #0x1a0] mov r0, r8 mov r1, r4 bl func_ov61_0216a6a8 cmp r0, #0 addne sp, sp, #0x2a0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #2 str r0, [r7, #0x14] b _0216b33c _0216afdc: ldr r1, _0216b374 ; =data_ov61_0217ceb0 mov r0, r6 mov r2, #5 bl func_02047280 cmp r0, #0 beq _0216b020 ldr r2, _0216b35c ; =data_ov61_0217ce48 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216b020: ldr r1, _0216b378 ; =data_ov61_0217ceb8 add r2, sp, #0xa0 mov r0, r6 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 bne _0216b068 ldr r2, _0216b36c ; =data_ov61_0217ce80 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216b068: add r0, sp, #0xa0 bl func_0204902c str r0, [r5, #0x198] ldr r1, _0216b368 ; =data_ov61_0217cd88 add r2, sp, #0xa0 mov r0, r6 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 bne _0216b0bc ldr r2, _0216b36c ; =data_ov61_0217ce80 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216b0bc: add r0, sp, #0xa0 bl func_0204902c str r0, [r5, #0x19c] ldr r1, _0216b370 ; =data_ov61_0217cd94 add r2, sp, #0xa0 mov r0, r6 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 bne _0216b110 ldr r2, _0216b36c ; =data_ov61_0217ce80 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216b110: add r0, sp, #0xa0 bl func_0204902c str r0, [r5, #0x1a0] ldr r1, _0216b37c ; =data_ov61_0217cd6c add r2, sp, #0x18 mov r0, r6 mov r3, #0x15 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 add r2, r5, #0x74 streqb r0, [sp, #0x18] ldr r1, _0216b380 ; =data_ov61_0217cec4 mov r0, r6 add r2, r2, #0x400 mov r3, #0x19 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streqb r0, [r5, #0x474] ldrsb r0, [r4, #0xc2] cmp r0, #0 addne r0, r4, #0xc2 bne _0216b1a0 add r0, r5, #0x100 ldrsb r0, [r0, #0x2f] cmp r0, #0 addne r0, r5, #0x2f addne r0, r0, #0x100 bne _0216b1a0 ldr r1, _0216b384 ; =data_ov61_0217cd00 add r0, sp, #0x4e add r2, r5, #0x110 add r3, r5, #0x144 bl func_020459b8 add r0, sp, #0x4e _0216b1a0: stmia sp, {r0, r4} add r2, r4, #0x80 str r2, [sp, #8] add r2, r4, #0xa1 ldr r1, _0216b388 ; =data_ov61_0217cd08 ldr r3, _0216b38c ; =data_ov61_0217cd18 add r0, sp, #0xa0 str r2, [sp, #0xc] bl func_020459b8 add r0, sp, #0xa0 bl func_02047008 mov r1, r0 add r0, sp, #0xa0 add r2, sp, #0x2d bl func_ov61_0216659c ldr r1, _0216b390 ; =data_ov61_0217cecc mov r0, r6 add r2, sp, #0xa0 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 bne _0216b224 ldr r2, _0216b36c ; =data_ov61_0217ce80 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216b224: add r0, sp, #0x2d add r1, sp, #0xa0 mov r2, #0x20 bl func_0204366c cmp r0, #0 beq _0216b268 ldr r2, _0216b394 ; =data_ov61_0217ced4 mov r0, r8 mov r1, #0x108 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x2a0 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216b268: ldr r0, [r5, #0x100] cmp r0, #0 beq _0216b290 ldr r1, [r5, #0x1a0] mov r0, r8 bl func_ov61_0216ef6c ldr r1, [r5, #0x1a0] str r1, [r0] ldr r1, [r5, #0x19c] str r1, [r0, #4] _0216b290: mov r0, #3 str r0, [r5, #0x1d8] ldr r1, [r7, #0xc] ldr r0, [r7, #0x10] str r1, [sp, #0x10] str r0, [sp, #0x14] cmp r1, #0 beq _0216b330 mov r0, #0x20 bl func_ov61_0213e10c movs r4, r0 bne _0216b2d8 ldr r1, _0216b398 ; =data_ov61_0217ccf0 mov r0, r8 bl func_ov61_02171b10 add sp, sp, #0x2a0 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216b2d8: mov r1, #0 mov r2, #0x20 bl func_02043600 ldr r0, [r5, #0x1a0] mov r3, #0 str r0, [r4, #4] add r1, sp, #0x18 add r0, r4, #8 mov r2, #0x15 str r3, [r4] bl func_ov61_021715c8 add r1, sp, #0x10 mov r0, r8 mov r3, r4 str r7, [sp] mov r2, #0 str r2, [sp, #4] ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 addne sp, sp, #0x2a0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _0216b330: mov r0, r8 mov r1, r7 bl func_ov61_0216d950 _0216b33c: mov r0, #0 add sp, sp, #0x2a0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0216acd8 _0216b348: .word 0x00000106 _0216b34c: .word 0x00000201 _0216b350: .word data_ov61_0217ce30 _0216b354: .word data_ov61_0217ce38 _0216b358: .word data_ov61_0217ce40 _0216b35c: .word data_ov61_0217ce48 _0216b360: .word data_ov61_0217cd54 _0216b364: .word data_ov61_0217ce78 _0216b368: .word data_ov61_0217cd88 _0216b36c: .word data_ov61_0217ce80 _0216b370: .word data_ov61_0217cd94 _0216b374: .word data_ov61_0217ceb0 _0216b378: .word data_ov61_0217ceb8 _0216b37c: .word data_ov61_0217cd6c _0216b380: .word data_ov61_0217cec4 _0216b384: .word data_ov61_0217cd00 _0216b388: .word data_ov61_0217cd08 _0216b38c: .word data_ov61_0217cd18 _0216b390: .word data_ov61_0217cecc _0216b394: .word data_ov61_0217ced4 _0216b398: .word data_ov61_0217ccf0 .global func_ov61_0216b39c arm_func_start func_ov61_0216b39c func_ov61_0216b39c: ; 0x0216b39c stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r4, [r5] add r2, sp, #0 ldr r1, [r4, #0x1d4] bl func_ov61_02171828 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [sp] cmp r0, #4 bne _0216b3f0 ldr r1, _0216b428 ; =0x00000107 ldr r2, _0216b42c ; =data_ov61_0217cef4 mov r0, r5 bl func_ov61_02171aec mov r0, r5 mov r1, #4 mov r2, #1 bl func_ov61_02169c10 mov r0, #4 ldmia sp!, {r3, r4, r5, pc} _0216b3f0: cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} cmp r0, #3 beq _0216b418 ldr r0, _0216b430 ; =data_ov61_0217cf1c ldr r1, _0216b434 ; =data_ov61_0217cc90 ldr r2, _0216b438 ; =data_ov61_0217cacc ldr r3, _0216b43c ; =0x000002ef bl func_02042f80 _0216b418: mov r0, #2 str r0, [r4, #0x1d8] mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0216b39c _0216b428: .word 0x00000107 _0216b42c: .word data_ov61_0217cef4 _0216b430: .word data_ov61_0217cf1c _0216b434: .word data_ov61_0217cc90 _0216b438: .word data_ov61_0217cacc _0216b43c: .word 0x000002ef .global func_ov61_0216b440 arm_func_start func_ov61_0216b440 func_ov61_0216b440: ; 0x0216b440 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 ldr r1, [r5, #8] mov r6, r0 cmp r1, #0 ldr r4, [r6] beq _0216b4a4 ldr r0, [r4, #0x104] cmp r0, #0 bne _0216b4a4 ldr r0, [r1, #8] bl func_ov61_0213e13c ldr r0, [r5, #8] mov r1, #0 str r1, [r0, #8] ldr r0, [r5, #8] ldr r0, [r0, #0xc] bl func_ov61_0213e13c ldr r0, [r5, #8] mov r1, #0 str r1, [r0, #0xc] ldr r0, [r5, #8] bl func_ov61_0213e13c mov r0, #0 str r0, [r5, #8] _0216b4a4: ldr r0, [r5, #0x10] bl func_ov61_0213e13c mov r0, #0 str r0, [r5, #0x10] ldr r0, [r5, #0x18] bl func_ov61_0213e13c mov r0, #0 str r0, [r5, #0x18] str r0, [r5, #0x14] ldr r0, [r5, #0xc] cmp r0, #0 beq _0216b4e8 ldr r0, [r4, #0x104] cmp r0, #1 ldreq r0, [r5, #8] cmpeq r0, #0 bne _0216b4fc _0216b4e8: mov r0, r6 mov r1, r5 bl func_ov61_0216f0c0 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0216b4fc: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216b440 .global func_ov61_0216b504 arm_func_start func_ov61_0216b504 func_ov61_0216b504: ; 0x0216b504 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r5, r0 ldr r4, [r5] ldr r2, [r4, #0x1d8] cmp r2, #4 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} cmp r2, #0 beq _0216b5f0 cmp r1, #0 beq _0216b568 cmp r2, #3 bne _0216b568 ldr r2, _0216b6bc ; =data_ov61_0217cf34 add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r5 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _0216b6c0 ; =data_ov61_0217cdf0 mov r0, r5 add r1, r4, #0x1f4 bl func_ov61_0216936c _0216b568: mov r1, #1 ldr r0, _0216b6c4 ; =data_ov61_0217cf48 str r1, [sp] str r0, [sp, #4] ldr r1, [r4, #0x1d4] add r3, sp, #8 mov r0, r5 add r2, r4, #0x1f4 bl func_ov61_021698fc ldr r0, [r4, #0x1d4] mvn r1, #0 cmp r0, r1 beq _0216b5b4 mov r1, #2 bl func_ov61_02166aac ldr r0, [r4, #0x1d4] bl func_ov61_02166a98 mvn r0, #0 str r0, [r4, #0x1d4] _0216b5b4: ldr r0, [r4, #0x204] mvn r1, #0 cmp r0, r1 beq _0216b5dc mov r1, #2 bl func_ov61_02166aac ldr r0, [r4, #0x204] bl func_ov61_02166a98 mvn r0, #0 str r0, [r4, #0x204] _0216b5dc: mov r0, #4 str r0, [r4, #0x1d8] mov r0, #0 str r0, [r4, #0x19c] str r0, [r4, #0x1a0] _0216b5f0: ldr r0, [r4, #0x1dc] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x1dc] ldr r0, [r4, #0x1ec] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x1ec] ldr r0, [r4, #0x1f4] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x1f4] ldr r0, [r4, #0x440] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x440] ldr r0, [r4, #0x450] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x450] ldr r1, [r4, #0x424] cmp r1, #0 beq _0216b660 _0216b64c: mov r0, r5 bl func_ov61_0216d950 ldr r1, [r4, #0x424] cmp r1, #0 bne _0216b64c _0216b660: mov r0, #0 str r0, [r4, #0x424] ldr r6, [r4, #0x434] cmp r6, #0 beq _0216b68c _0216b674: mov r1, r6 ldr r6, [r6, #0x3c] mov r0, r5 bl func_ov61_0216e474 cmp r6, #0 bne _0216b674 _0216b68c: mov r0, #0 str r0, [r4, #0x434] ldr r6, _0216b6c8 ; =func_ov61_0216b440 mov r4, r0 _0216b69c: mov r0, r5 mov r1, r6 mov r2, r4 bl func_ov61_0216f19c cmp r0, #0 beq _0216b69c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216b504 _0216b6bc: .word data_ov61_0217cf34 _0216b6c0: .word data_ov61_0217cdf0 _0216b6c4: .word data_ov61_0217cf48 _0216b6c8: .word func_ov61_0216b440 .global func_ov61_0216b6cc arm_func_start func_ov61_0216b6cc func_ov61_0216b6cc: ; 0x0216b6cc stmdb sp!, {r3, r4, r5, lr} cmp r0, #0 cmpeq r1, #0 cmpeq r2, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} cmp r0, #0 cmpge r1, #0 cmpge r2, #0 movlt r0, #0 ldmltia sp!, {r3, r4, r5, pc} cmp r1, #0xc addls pc, pc, r1, lsl #2 b _0216b7d4 _0216b704: ; jump table b _0216b738 ; case 0 b _0216b748 ; case 1 b _0216b768 ; case 2 b _0216b748 ; case 3 b _0216b758 ; case 4 b _0216b748 ; case 5 b _0216b758 ; case 6 b _0216b748 ; case 7 b _0216b748 ; case 8 b _0216b758 ; case 9 b _0216b748 ; case 10 b _0216b758 ; case 11 b _0216b748 ; case 12 _0216b738: cmp r0, #0 beq _0216b7dc mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0216b748: cmp r0, #0x1f ble _0216b7dc mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0216b758: cmp r0, #0x1e ble _0216b7dc mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0216b768: mov r4, r2, lsr #0x1f rsb r3, r4, r2, lsl #30 adds r3, r4, r3, ror #30 bne _0216b794 ldr ip, _0216b824 ; =0x51eb851f mov lr, #0x64 smull r3, r5, ip, r2 add r5, r4, r5, asr #5 smull r3, ip, lr, r5 subs r5, r2, r3 bne _0216b7b4 _0216b794: ldr lr, _0216b824 ; =0x51eb851f mov r3, r2, lsr #0x1f smull ip, r4, lr, r2 add r4, r3, r4, asr #7 mov lr, #0x190 smull r3, ip, lr, r4 subs r4, r2, r3 bne _0216b7c4 _0216b7b4: cmp r0, #0x1d ble _0216b7dc mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0216b7c4: cmp r0, #0x1c ble _0216b7dc mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0216b7d4: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _0216b7dc: ldr ip, _0216b828 ; =0x0000076c cmp r2, ip movlt r0, #0 ldmltia sp!, {r3, r4, r5, pc} add r3, ip, #0xb3 cmp r2, r3 movgt r0, #0 ldmgtia sp!, {r3, r4, r5, pc} bne _0216b81c cmp r1, #6 movgt r0, #0 ldmgtia sp!, {r3, r4, r5, pc} bne _0216b81c cmp r0, #6 movgt r0, #0 ldmgtia sp!, {r3, r4, r5, pc} _0216b81c: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0216b6cc _0216b824: .word 0x51eb851f _0216b828: .word 0x0000076c .global func_ov61_0216b82c arm_func_start func_ov61_0216b82c func_ov61_0216b82c: ; 0x0216b82c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov lr, r1, asr #0x18 mov ip, r1, asr #0x10 mov r1, r1, lsl #0x10 and r5, ip, #0xff and r4, lr, #0xff mov sb, r0 mov r6, r1, lsr #0x10 mov r8, r2 mov r0, r4 mov r1, r5 mov r2, r6 mov r7, r3 bl func_ov61_0216b6cc cmp r0, #0 bne _0216b880 ldr r0, _0216b8c4 ; =data_ov61_0217cf8c ldr r1, _0216b8c8 ; =data_ov61_0217cf70 ldr r2, _0216b8cc ; =data_ov61_0217cf4c mov r3, #0xb7 bl func_02042f80 _0216b880: mov r0, r4 mov r1, r5 mov r2, r6 bl func_ov61_0216b6cc cmp r0, #0 bne _0216b8ac ldr r1, _0216b8d0 ; =data_ov61_0217cf7c mov r0, sb bl func_ov61_02171b10 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0216b8ac: str r4, [r8] ldr r0, [sp, #0x20] str r5, [r7] str r6, [r0] mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0216b82c _0216b8c4: .word data_ov61_0217cf8c _0216b8c8: .word data_ov61_0217cf70 _0216b8cc: .word data_ov61_0217cf4c _0216b8d0: .word data_ov61_0217cf7c .global func_ov61_0216b8d4 arm_func_start func_ov61_0216b8d4 func_ov61_0216b8d4: ; 0x0216b8d4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 ldr r1, [r5] cmp r1, #0 moveq r0, #0 streqb r0, [r4, #8] beq _0216b900 add r0, r4, #8 mov r2, #0x1f bl func_ov61_021715c8 _0216b900: ldr r1, [r5, #4] cmp r1, #0 moveq r0, #0 streqb r0, [r4, #0x27] beq _0216b920 add r0, r4, #0x27 mov r2, #0x15 bl func_ov61_021715c8 _0216b920: ldr r1, [r5, #8] cmp r1, #0 moveq r0, #0 streqb r0, [r4, #0x3c] beq _0216b940 add r0, r4, #0x3c mov r2, #0x33 bl func_ov61_021715c8 _0216b940: ldr r1, [r5, #0xc] cmp r1, #0 moveq r0, #0 streqb r0, [r4, #0x6f] beq _0216b960 add r0, r4, #0x6f mov r2, #0x1f bl func_ov61_021715c8 _0216b960: ldr r1, [r5, #0x10] cmp r1, #0 moveq r0, #0 streqb r0, [r4, #0x8e] beq _0216b980 add r0, r4, #0x8e mov r2, #0x1f bl func_ov61_021715c8 _0216b980: ldr r1, [r5, #0x14] cmp r1, #0 moveq r0, #0 streqb r0, [r4, #0xad] beq _0216b9a0 add r0, r4, #0xad mov r2, #0x4c bl func_ov61_021715c8 _0216b9a0: ldr r3, [r5, #0x18] add r0, r4, #0x100 add r1, r5, #0x1c mov r2, #0xb str r3, [r4, #0xfc] bl func_ov61_021715c8 add r0, r4, #0xb add r0, r0, #0x100 add r1, r5, #0x27 mov r2, #3 bl func_ov61_021715c8 ldr r0, [r5, #0x2c] adds r1, r5, #0x34 str r0, [r4, #0x110] ldr r0, [r5, #0x30] str r0, [r4, #0x114] moveq r0, #0 streqb r0, [r4, #0x118] beq _0216b9f8 add r0, r4, #0x118 mov r2, #0x80 bl func_ov61_021715c8 _0216b9f8: ldr r0, [r5, #0xb4] str r0, [r4, #0x198] ldr r0, [r5, #0xb8] str r0, [r4, #0x19c] ldr r0, [r5, #0xbc] str r0, [r4, #0x1a0] ldr r0, [r5, #0xc0] str r0, [r4, #0x1a4] ldr r0, [r5, #0xc4] str r0, [r4, #0x1a8] ldr r1, [r5, #0xc8] cmp r1, #0 moveq r0, #0 streqb r0, [r4, #0x1ac] beq _0216ba40 add r0, r4, #0x1ac mov r2, #0x33 bl func_ov61_021715c8 _0216ba40: ldr r0, [r5, #0x18] str r0, [r4, #0xfc] ldr r0, [r5, #0x2c] str r0, [r4, #0x110] ldr r0, [r5, #0x30] str r0, [r4, #0x114] ldr r0, [r5, #0xb4] str r0, [r4, #0x198] ldr r0, [r5, #0xb8] str r0, [r4, #0x19c] ldr r0, [r5, #0xbc] str r0, [r4, #0x1a0] ldr r0, [r5, #0xc0] str r0, [r4, #0x1a4] ldr r0, [r5, #0xc4] str r0, [r4, #0x1a8] ldr r0, [r5, #0xcc] str r0, [r4, #0x1e0] ldr r0, [r5, #0xd0] str r0, [r4, #0x1e4] ldr r0, [r5, #0xd4] str r0, [r4, #0x1e8] ldr r0, [r5, #0xd8] str r0, [r4, #0x1ec] ldr r0, [r5, #0xdc] str r0, [r4, #0x1f0] ldr r0, [r5, #0xe0] str r0, [r4, #0x1f4] ldr r0, [r5, #0xe4] str r0, [r4, #0x1f8] ldr r0, [r5, #0xe8] str r0, [r4, #0x1fc] ldr r0, [r5, #0xec] str r0, [r4, #0x200] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0216b8d4 .global func_ov61_0216bacc arm_func_start func_ov61_0216bacc func_ov61_0216bacc: ; 0x0216bacc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x268 mov r4, r2 mov sl, r0 mov fp, r1 mov r1, r4 mov r2, #1 ldr r6, [sl] bl func_ov61_02171648 cmp r0, #0 addne sp, sp, #0x268 movne r0, #4 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _0216c254 ; =data_ov61_0217cfa4 mov r0, r4 mov r2, #4 bl func_02047280 cmp r0, #0 beq _0216bb44 ldr r2, _0216c258 ; =data_ov61_0217cfac mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x268 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216bb44: ldr r1, _0216c25c ; =data_ov61_0217cfdc add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 bne _0216bb8c ldr r2, _0216c258 ; =data_ov61_0217cfac mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x268 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216bb8c: add r0, sp, #0xec bl func_0204902c mov sb, r0 cmp sb, #0 bgt _0216bbb4 ldr r0, _0216c260 ; =data_ov61_0217cfe8 ldr r1, _0216c264 ; =data_ov61_0217cf70 ldr r2, _0216c268 ; =data_ov61_0217cf5c ldr r3, _0216c26c ; =0x0000015a bl func_02042f80 _0216bbb4: add r2, sp, #0x10 mov r0, sl mov r1, sb bl func_ov61_0216f050 mov r0, #0 add r7, sp, #0x178 mov r1, r0 mov r2, r0 mov r3, r0 mov r5, #7 _0216bbdc: stmia r7!, {r0, r1, r2, r3} stmia r7!, {r0, r1, r2, r3} subs r5, r5, #1 bne _0216bbdc stmia r7!, {r0, r1, r2, r3} add r3, sp, #0xb8 add r1, sp, #0x66 add r2, sp, #0xcd add r5, sp, #0x85 add r0, sp, #0x47 str r3, [sp, #0x17c] add r3, sp, #0x12c str r1, [sp, #0x184] str r5, [sp, #0x180] add r5, sp, #0x14 str r0, [sp, #0x188] str r3, [sp, #0x18c] ldr r1, _0216c270 ; =data_ov61_0217cff8 mov r0, r4 mov r3, #0x1f str r2, [sp, #0x178] str r5, [sp, #0x240] bl func_ov61_02171720 cmp r0, #0 ldreq r0, [sp, #0x178] moveq r1, #0 streqb r1, [r0] ldr r2, [sp, #0x17c] ldr r1, _0216c274 ; =data_ov61_0217d000 mov r0, r4 mov r3, #0x15 bl func_ov61_02171720 cmp r0, #0 ldreq r0, [sp, #0x17c] moveq r1, #0 streqb r1, [r0] ldr r2, [sp, #0x180] ldr r1, _0216c278 ; =data_ov61_0217d010 mov r0, r4 mov r3, #0x33 bl func_ov61_02171720 cmp r0, #0 ldreq r0, [sp, #0x180] moveq r1, #0 streqb r1, [r0] ldr r2, [sp, #0x184] ldr r1, _0216c27c ; =data_ov61_0217d018 mov r0, r4 mov r3, #0x1f bl func_ov61_02171720 cmp r0, #0 ldreq r0, [sp, #0x184] moveq r1, #0 streqb r1, [r0] ldr r2, [sp, #0x188] ldr r1, _0216c280 ; =data_ov61_0217d024 mov r0, r4 mov r3, #0x1f bl func_ov61_02171720 cmp r0, #0 ldreq r0, [sp, #0x188] moveq r1, #0 streqb r1, [r0] ldr r1, _0216c284 ; =data_ov61_0217d030 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 mvneq r0, #0 streq r0, [sp, #0x190] beq _0216bd08 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x190] _0216bd08: ldr r2, [sp, #0x18c] ldr r1, _0216c288 ; =data_ov61_0217d03c mov r0, r4 mov r3, #0x4c bl func_ov61_02171720 cmp r0, #0 ldreq r0, [sp, #0x18c] moveq r1, #0 streqb r1, [r0] ldr r1, _0216c28c ; =data_ov61_0217d048 add r2, sp, #0x194 mov r0, r4 mov r3, #0xb bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 add r2, sp, #0x100 streqb r0, [sp, #0x194] ldr r1, _0216c290 ; =data_ov61_0217d054 add r2, r2, #0x9f mov r0, r4 mov r3, #3 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streqb r0, [sp, #0x19f] ldr r1, _0216c294 ; =data_ov61_0217d064 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x1a4] beq _0216bda4 add r0, sp, #0xec bl func_02048688 bl func_02000f78 str r0, [sp, #0x1a4] _0216bda4: ldr r1, _0216c298 ; =data_ov61_0217d06c add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x1a8] beq _0216bdd8 add r0, sp, #0xec bl func_02048688 bl func_02000f78 str r0, [sp, #0x1a8] _0216bdd8: ldr r1, _0216c29c ; =data_ov61_0217d074 add r2, sp, #0x1ac mov r0, r4 mov r3, #0x80 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streqb r0, [sp, #0x1ac] ldr r1, _0216c2a0 ; =data_ov61_0217d07c add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 bne _0216be28 mov r0, #0 str r0, [sp, #0x22c] str r0, [sp, #0x230] str r0, [sp, #0x234] b _0216be58 _0216be28: add r0, sp, #0xec bl func_0204902c add r5, sp, #0x234 mov r1, r0 add r2, sp, #0x22c add r3, sp, #0x230 mov r0, sl str r5, [sp] bl func_ov61_0216b82c cmp r0, #0 addne sp, sp, #0x268 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216be58: ldr r1, _0216c2a4 ; =data_ov61_0217d088 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 ldreq r0, _0216c2a8 ; =0x00000502 streq r0, [sp, #0x238] beq _0216bea4 ldrsb r0, [sp, #0xec] cmp r0, #0x30 moveq r0, #0x500 streq r0, [sp, #0x238] beq _0216bea4 cmp r0, #0x31 ldreq r0, _0216c2ac ; =0x00000501 streq r0, [sp, #0x238] ldrne r0, _0216c2a8 ; =0x00000502 strne r0, [sp, #0x238] _0216bea4: ldr r1, _0216c2b0 ; =data_ov61_0217d090 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 mvneq r0, #0 streq r0, [sp, #0x23c] beq _0216bed4 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x23c] _0216bed4: ldr r2, [sp, #0x240] ldr r1, _0216c2b4 ; =data_ov61_0217d098 mov r0, r4 mov r3, #0x33 bl func_ov61_02171720 cmp r0, #0 ldreq r0, [sp, #0x240] moveq r1, #0 streqb r1, [r0] ldr r1, _0216c2b8 ; =data_ov61_0217d0a0 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x244] beq _0216bf28 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x244] _0216bf28: ldr r1, _0216c2bc ; =data_ov61_0217d0a8 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x248] beq _0216bf58 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x248] _0216bf58: ldr r1, _0216c2c0 ; =data_ov61_0217d0b0 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x24c] beq _0216bf88 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x24c] _0216bf88: ldr r1, _0216c2c4 ; =data_ov61_0217d0b8 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x250] beq _0216bfb8 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x250] _0216bfb8: ldr r1, _0216c2c8 ; =data_ov61_0217d0c0 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x254] beq _0216bfe8 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x254] _0216bfe8: ldr r1, _0216c2cc ; =data_ov61_0217d0c8 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x258] beq _0216c018 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x258] _0216c018: ldr r1, _0216c2d0 ; =data_ov61_0217d0d0 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x25c] beq _0216c048 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x25c] _0216c048: ldr r1, _0216c2d4 ; =data_ov61_0217d0d8 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x260] beq _0216c078 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x260] _0216c078: ldr r1, _0216c2d8 ; =data_ov61_0217d0e0 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streq r0, [sp, #0x264] beq _0216c0a8 add r0, sp, #0xec bl func_0204902c str r0, [sp, #0x264] _0216c0a8: ldr r1, _0216c2dc ; =data_ov61_0217d0e8 add r2, sp, #0xec mov r0, r4 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 bne _0216c0f0 ldr r2, _0216c258 ; =data_ov61_0217cfac mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x268 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216c0f0: ldr r7, [r6, #0x434] ldr r8, [r6, #0x100] cmp r7, #0 beq _0216c14c mov r5, #0x66 mov r4, #1 _0216c108: ldr r0, [r7, #0xc] cmp r0, sb ldreq r0, [r7] cmpeq r0, #0x65 bne _0216c140 ldr r0, [sp, #0x10] cmp r0, #0 bne _0216c138 mov r0, sl mov r1, sb bl func_ov61_0216ef6c str r0, [sp, #0x10] _0216c138: mov r8, r4 str r5, [r7] _0216c140: ldr r7, [r7, #0x3c] cmp r7, #0 bne _0216c108 _0216c14c: ldr r0, [sp, #0x10] cmp r0, #0 bne _0216c174 ldr r0, [r6, #0x100] cmp r0, #0 beq _0216c174 mov r0, sl mov r1, sb bl func_ov61_0216ef6c str r0, [sp, #0x10] _0216c174: cmp r8, #0 beq _0216c1a4 ldr r0, [sp, #0x10] ldr r0, [r0, #0x18] bl func_ov61_0213e13c ldr r1, [sp, #0x10] mov r2, #0 add r0, sp, #0xec str r2, [r1, #0x18] bl func_ov61_02166654 ldr r1, [sp, #0x10] str r0, [r1, #0x18] _0216c1a4: ldr r0, [r6, #0x100] cmp r0, #0 beq _0216c1c0 ldr r1, [sp, #0x10] add r2, sp, #0x178 mov r0, sl bl func_ov61_0216d30c _0216c1c0: ldr r1, [fp, #0xc] ldr r0, [fp, #0x10] str r1, [sp, #8] str r0, [sp, #0xc] cmp r1, #0 beq _0216c23c mov r0, #0x204 bl func_ov61_0213e10c movs r4, r0 bne _0216c200 ldr r1, _0216c2e0 ; =data_ov61_0217d0f0 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x268 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216c200: add r0, sp, #0x178 mov r1, r4 bl func_ov61_0216b8d4 mov r2, #0 stmia r4, {r2, sb} str fp, [sp] add r1, sp, #8 str r2, [sp, #4] mov r0, sl mov r3, r4 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 addne sp, sp, #0x268 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216c23c: mov r0, sl mov r1, fp bl func_ov61_0216d950 mov r0, #0 add sp, sp, #0x268 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0216bacc _0216c254: .word data_ov61_0217cfa4 _0216c258: .word data_ov61_0217cfac _0216c25c: .word data_ov61_0217cfdc _0216c260: .word data_ov61_0217cfe8 _0216c264: .word data_ov61_0217cf70 _0216c268: .word data_ov61_0217cf5c _0216c26c: .word 0x0000015a _0216c270: .word data_ov61_0217cff8 _0216c274: .word data_ov61_0217d000 _0216c278: .word data_ov61_0217d010 _0216c27c: .word data_ov61_0217d018 _0216c280: .word data_ov61_0217d024 _0216c284: .word data_ov61_0217d030 _0216c288: .word data_ov61_0217d03c _0216c28c: .word data_ov61_0217d048 _0216c290: .word data_ov61_0217d054 _0216c294: .word data_ov61_0217d064 _0216c298: .word data_ov61_0217d06c _0216c29c: .word data_ov61_0217d074 _0216c2a0: .word data_ov61_0217d07c _0216c2a4: .word data_ov61_0217d088 _0216c2a8: .word 0x00000502 _0216c2ac: .word 0x00000501 _0216c2b0: .word data_ov61_0217d090 _0216c2b4: .word data_ov61_0217d098 _0216c2b8: .word data_ov61_0217d0a0 _0216c2bc: .word data_ov61_0217d0a8 _0216c2c0: .word data_ov61_0217d0b0 _0216c2c4: .word data_ov61_0217d0b8 _0216c2c8: .word data_ov61_0217d0c0 _0216c2cc: .word data_ov61_0217d0c8 _0216c2d0: .word data_ov61_0217d0d0 _0216c2d4: .word data_ov61_0217d0d8 _0216c2d8: .word data_ov61_0217d0e0 _0216c2dc: .word data_ov61_0217d0e8 _0216c2e0: .word data_ov61_0217d0f0 .global func_ov61_0216c2e4 arm_func_start func_ov61_0216c2e4 func_ov61_0216c2e4: ; 0x0216c2e4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r4, [r6] mov r5, r1 ldr r2, [r4, #0x448] cmp r2, #0 ble _0216c340 ldr r2, _0216c39c ; =data_ov61_0217d100 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r6 mov r1, r5 bl func_ov61_0216939c ldr r2, [r4, #0x440] mov r0, r6 mov r1, r5 bl func_ov61_0216936c ldr r2, _0216c3a0 ; =data_ov61_0217d118 mov r0, r6 mov r1, r5 bl func_ov61_0216936c mov r0, #0 str r0, [r4, #0x448] _0216c340: ldr r0, [r4, #0x458] cmp r0, #0 ble _0216c394 ldr r2, _0216c3a4 ; =data_ov61_0217d120 mov r0, r6 mov r1, r5 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r6 mov r1, r5 bl func_ov61_0216939c ldr r2, [r4, #0x450] mov r0, r6 mov r1, r5 bl func_ov61_0216936c ldr r2, _0216c3a0 ; =data_ov61_0217d118 mov r0, r6 mov r1, r5 bl func_ov61_0216936c mov r0, #0 str r0, [r4, #0x458] _0216c394: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216c2e4 _0216c39c: .word data_ov61_0217d100 _0216c3a0: .word data_ov61_0217d118 _0216c3a4: .word data_ov61_0217d120 .global func_ov61_0216c3a8 arm_func_start func_ov61_0216c3a8 func_ov61_0216c3a8: ; 0x0216c3a8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r4, [r6] mov r5, r2 mov r2, r1 add r1, r4, #0x440 bl func_ov61_0216936c cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 mov r2, r5 add r1, r4, #0x440 bl func_ov61_0216936c cmp r0, #0 moveq r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216c3a8 .global func_ov61_0216c3e8 arm_func_start func_ov61_0216c3e8 func_ov61_0216c3e8: ; 0x0216c3e8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r4, [r6] mov r5, r2 mov r2, r1 add r1, r4, #0x450 bl func_ov61_0216936c cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r0, r6 mov r2, r5 add r1, r4, #0x450 bl func_ov61_0216936c cmp r0, #0 moveq r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216c3e8 .global func_ov61_0216c428 arm_func_start func_ov61_0216c428 func_ov61_0216c428: ; 0x0216c428 stmdb sp!, {r4, lr} sub sp, sp, #0x10 sub r1, r1, #6 sub r1, r1, #0x700 mov r4, r0 cmp r1, #0x18 addls pc, pc, r1, lsl #2 b _0216c86c _0216c448: ; jump table b _0216c580 ; case 0 b _0216c86c ; case 1 b _0216c4ac ; case 2 b _0216c86c ; case 3 b _0216c86c ; case 4 b _0216c4f4 ; case 5 b _0216c5ac ; case 6 b _0216c5d8 ; case 7 b _0216c604 ; case 8 b _0216c86c ; case 9 b _0216c63c ; case 10 b _0216c86c ; case 11 b _0216c674 ; case 12 b _0216c6ac ; case 13 b _0216c6d8 ; case 14 b _0216c704 ; case 15 b _0216c86c ; case 16 b _0216c86c ; case 17 b _0216c738 ; case 18 b _0216c764 ; case 19 b _0216c790 ; case 20 b _0216c7bc ; case 21 b _0216c7e8 ; case 22 b _0216c814 ; case 23 b _0216c840 ; case 24 _0216c4ac: cmp r2, #0 bge _0216c4c8 ldr r1, _0216c890 ; =data_ov61_0217d134 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #2 ldmia sp!, {r4, pc} _0216c4c8: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c898 ; =data_ov61_0217d048 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c4f4: cmp r2, #0x500 beq _0216c518 ldr r1, _0216c89c ; =0x00000501 cmp r2, r1 beq _0216c534 add r1, r1, #1 cmp r2, r1 beq _0216c550 b _0216c56c _0216c518: ldr r1, _0216c8a0 ; =data_ov61_0217d088 ldr r2, _0216c8a4 ; =data_ov61_0217d14c bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c534: ldr r1, _0216c8a0 ; =data_ov61_0217d088 ldr r2, _0216c8a8 ; =data_ov61_0217d150 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c550: ldr r1, _0216c8a0 ; =data_ov61_0217d088 ldr r2, _0216c8ac ; =data_ov61_0217d154 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c56c: ldr r1, _0216c8b0 ; =data_ov61_0217d158 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #2 ldmia sp!, {r4, pc} _0216c580: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8b4 ; =data_ov61_0217d030 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c5ac: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8b8 ; =data_ov61_0217d168 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c5d8: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8bc ; =data_ov61_0217d178 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c604: mov r0, r2, asr #0x3 add r2, r2, r0, lsr #28 ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 mov r2, r2, asr #0x4 bl func_020459b8 ldr r1, _0216c8c0 ; =data_ov61_0217d184 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c63c: mov r0, r2, asr #0x1 add r2, r2, r0, lsr #30 ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 mov r2, r2, asr #0x2 bl func_020459b8 ldr r1, _0216c8c4 ; =data_ov61_0217d190 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c674: mov r0, r2, asr #0x1 add r2, r2, r0, lsr #30 ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 mov r2, r2, asr #0x2 bl func_020459b8 ldr r1, _0216c8c8 ; =data_ov61_0217d1a0 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c6ac: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8cc ; =data_ov61_0217d1b0 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c6d8: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8d0 ; =data_ov61_0217d1c0 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c704: ldr r1, _0216c894 ; =data_ov61_0217d148 cmp r2, #0 movne r2, #1 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8d4 ; =data_ov61_0217d1d4 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c738: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8d8 ; =data_ov61_0217d0a0 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c764: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8dc ; =data_ov61_0217d0a8 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c790: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8e0 ; =data_ov61_0217d0b0 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c7bc: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8e4 ; =data_ov61_0217d0b8 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c7e8: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8e8 ; =data_ov61_0217d0c0 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c814: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8ec ; =data_ov61_0217d0c8 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c840: ldr r1, _0216c894 ; =data_ov61_0217d148 add r0, sp, #0 bl func_020459b8 ldr r1, _0216c8f0 ; =data_ov61_0217d0d0 add r2, sp, #0 mov r0, r4 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216c884 add sp, sp, #0x10 ldmia sp!, {r4, pc} _0216c86c: ldr r1, _0216c8f4 ; =data_ov61_0217d1e4 mov r0, r4 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #2 ldmia sp!, {r4, pc} _0216c884: mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0216c428 _0216c890: .word data_ov61_0217d134 _0216c894: .word data_ov61_0217d148 _0216c898: .word data_ov61_0217d048 _0216c89c: .word 0x00000501 _0216c8a0: .word data_ov61_0217d088 _0216c8a4: .word data_ov61_0217d14c _0216c8a8: .word data_ov61_0217d150 _0216c8ac: .word data_ov61_0217d154 _0216c8b0: .word data_ov61_0217d158 _0216c8b4: .word data_ov61_0217d030 _0216c8b8: .word data_ov61_0217d168 _0216c8bc: .word data_ov61_0217d178 _0216c8c0: .word data_ov61_0217d184 _0216c8c4: .word data_ov61_0217d190 _0216c8c8: .word data_ov61_0217d1a0 _0216c8cc: .word data_ov61_0217d1b0 _0216c8d0: .word data_ov61_0217d1c0 _0216c8d4: .word data_ov61_0217d1d4 _0216c8d8: .word data_ov61_0217d0a0 _0216c8dc: .word data_ov61_0217d0a8 _0216c8e0: .word data_ov61_0217d0b0 _0216c8e4: .word data_ov61_0217d0b8 _0216c8e8: .word data_ov61_0217d0c0 _0216c8ec: .word data_ov61_0217d0c8 _0216c8f0: .word data_ov61_0217d0d0 _0216c8f4: .word data_ov61_0217d1e4 .global func_ov61_0216c8f8 arm_func_start func_ov61_0216c8f8 func_ov61_0216c8f8: ; 0x0216c8f8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x100 mov r6, r0 movs r5, r2 ldr r4, [r6] bne _0216c924 ldr r1, _0216d048 ; =data_ov61_0217d1f4 bl func_ov61_02171b10 add sp, sp, #0x100 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _0216c924: sub r1, r1, #0x700 cmp r1, #0x1e addls pc, pc, r1, lsl #2 b _0216d024 _0216c934: ; jump table b _0216c9b0 ; case 0 b _0216ca10 ; case 1 b _0216ca74 ; case 2 b _0216cadc ; case 3 b _0216cb40 ; case 4 b _0216cb70 ; case 5 b _0216ccf4 ; case 6 b _0216cba0 ; case 7 b _0216cbd0 ; case 8 b _0216cc00 ; case 9 b _0216d024 ; case 10 b _0216cc58 ; case 11 b _0216d024 ; case 12 b _0216cd24 ; case 13 b _0216cd4c ; case 14 b _0216cd74 ; case 15 b _0216cda4 ; case 16 b _0216cdcc ; case 17 b _0216cdfc ; case 18 b _0216d024 ; case 19 b _0216ce24 ; case 20 b _0216ce4c ; case 21 b _0216ce74 ; case 22 b _0216cea4 ; case 23 b _0216ced4 ; case 24 b _0216cf04 ; case 25 b _0216cf34 ; case 26 b _0216cf64 ; case 27 b _0216cf94 ; case 28 b _0216cfc4 ; case 29 b _0216cff4 ; case 30 _0216c9b0: ldrsb r1, [r5] cmp r1, #0 bne _0216c9d0 ldr r1, _0216d048 ; =data_ov61_0217d1f4 bl func_ov61_02171b10 add sp, sp, #0x100 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _0216c9d0: add r0, sp, #0 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 add r1, sp, #0 add r0, r4, #0x110 mov r2, #0x1f bl func_ov61_021715c8 ldr r1, _0216d04c ; =data_ov61_0217cff8 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216ca10: ldrsb r1, [r5] cmp r1, #0 bne _0216ca30 ldr r1, _0216d048 ; =data_ov61_0217d1f4 bl func_ov61_02171b10 add sp, sp, #0x100 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _0216ca30: add r0, sp, #0 mov r1, r5 mov r2, #0x15 bl func_ov61_021715c8 add r0, r4, #0x2f add r1, sp, #0 add r0, r0, #0x100 mov r2, #0x15 bl func_ov61_021715c8 ldr r1, _0216d050 ; =data_ov61_0217d000 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216ca74: ldrsb r1, [r5] cmp r1, #0 bne _0216ca94 ldr r1, _0216d048 ; =data_ov61_0217d1f4 bl func_ov61_02171b10 add sp, sp, #0x100 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _0216ca94: add r0, sp, #0 mov r1, r5 mov r2, #0x33 bl func_ov61_021715c8 add r0, sp, #0 bl func_ov61_02166688 add r1, sp, #0 add r0, r4, #0x144 mov r2, #0x33 bl func_ov61_021715c8 ldr r1, _0216d054 ; =data_ov61_0217d010 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cadc: ldrsb r1, [r5] cmp r1, #0 bne _0216cafc ldr r1, _0216d048 ; =data_ov61_0217d1f4 bl func_ov61_02171b10 add sp, sp, #0x100 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _0216cafc: add r0, sp, #0 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 add r0, r4, #0x77 add r1, sp, #0 add r0, r0, #0x100 mov r2, #0x1f bl func_ov61_021715c8 ldr r1, _0216d058 ; =data_ov61_0217d204 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3e8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cb40: add r0, sp, #0 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 ldr r1, _0216d05c ; =data_ov61_0217d018 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cb70: add r0, sp, #0 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 ldr r1, _0216d060 ; =data_ov61_0217d024 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cba0: add r0, sp, #0 mov r1, r5 mov r2, #0x4c bl func_ov61_021715c8 ldr r1, _0216d064 ; =data_ov61_0217d03c add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cbd0: add r0, sp, #0 mov r1, r5 mov r2, #0xb bl func_ov61_021715c8 ldr r1, _0216d068 ; =data_ov61_0217d048 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cc00: mov r0, r5 bl func_02047008 cmp r0, #2 beq _0216cc28 ldr r1, _0216d06c ; =data_ov61_0217d210 mov r0, r6 bl func_ov61_02171b10 add sp, sp, #0x100 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _0216cc28: add r0, sp, #0 mov r1, r5 mov r2, #3 bl func_ov61_021715c8 ldr r1, _0216d070 ; =data_ov61_0217d054 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cc58: ldrsb r1, [r5] cmp r1, #0 blt _0216cc74 cmp r1, #0x80 bge _0216cc74 ldr r0, _0216d074 ; =data_02056d18 ldrb r1, [r0, r1] _0216cc74: mov r0, r1, lsl #0x18 mov r0, r0, asr #0x18 cmp r0, #0x4d add r2, sp, #0 bne _0216cca0 ldr r0, _0216d078 ; =data_ov61_0217d14c ldrb r1, [r0] ldrb r0, [r0, #1] strb r1, [r2] strb r0, [r2, #1] b _0216ccd4 _0216cca0: cmp r0, #0x46 bne _0216ccc0 ldr r0, _0216d07c ; =data_ov61_0217d150 ldrb r1, [r0] ldrb r0, [r0, #1] strb r1, [r2] strb r0, [r2, #1] b _0216ccd4 _0216ccc0: ldr r0, _0216d080 ; =data_ov61_0217d154 ldrb r1, [r0] ldrb r0, [r0, #1] strb r1, [r2] strb r0, [r2, #1] _0216ccd4: ldr r1, _0216d084 ; =data_ov61_0217d088 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216ccf4: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d088 ; =data_ov61_0217d030 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cd24: mov r0, r5 bl func_0204902c mov r2, r0 ldr r1, _0216d08c ; =0x0000070d mov r0, r6 bl func_ov61_0216c428 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cd4c: mov r0, r5 bl func_0204902c mov r2, r0 ldr r1, _0216d090 ; =0x0000070e mov r0, r6 bl func_ov61_0216c428 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cd74: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d094 ; =data_ov61_0217d228 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cda4: mov r0, r5 bl func_0204902c mov r2, r0 mov r0, r6 mov r1, #0x710 bl func_ov61_0216c428 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cdcc: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d098 ; =data_ov61_0217d23c add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cdfc: mov r0, r5 bl func_0204902c mov r2, r0 ldr r1, _0216d09c ; =0x00000712 mov r0, r6 bl func_ov61_0216c428 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216ce24: mov r0, r5 bl func_0204902c mov r2, r0 ldr r1, _0216d0a0 ; =0x00000714 mov r0, r6 bl func_ov61_0216c428 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216ce4c: mov r0, r5 bl func_0204902c mov r2, r0 ldr r1, _0216d0a4 ; =0x00000715 mov r0, r6 bl func_ov61_0216c428 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216ce74: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d0a8 ; =data_ov61_0217d250 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cea4: add r0, sp, #0 mov r1, r5 mov r2, #0x33 bl func_ov61_021715c8 ldr r1, _0216d0ac ; =data_ov61_0217d098 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216ced4: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d0b0 ; =data_ov61_0217d0a0 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cf04: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d0b4 ; =data_ov61_0217d0a8 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cf34: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d0b8 ; =data_ov61_0217d0b0 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cf64: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d0bc ; =data_ov61_0217d0b8 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cf94: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d0c0 ; =data_ov61_0217d0c0 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cfc4: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d0c4 ; =data_ov61_0217d0c8 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216cff4: add r0, sp, #0 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 ldr r1, _0216d0c8 ; =data_ov61_0217d0d0 add r2, sp, #0 mov r0, r6 bl func_ov61_0216c3a8 cmp r0, #0 beq _0216d03c add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} _0216d024: ldr r1, _0216d0cc ; =data_ov61_0217d1e4 mov r0, r6 bl func_ov61_02171b10 add sp, sp, #0x100 mov r0, #2 ldmia sp!, {r4, r5, r6, pc} _0216d03c: mov r0, #0 add sp, sp, #0x100 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216c8f8 _0216d048: .word data_ov61_0217d1f4 _0216d04c: .word data_ov61_0217cff8 _0216d050: .word data_ov61_0217d000 _0216d054: .word data_ov61_0217d010 _0216d058: .word data_ov61_0217d204 _0216d05c: .word data_ov61_0217d018 _0216d060: .word data_ov61_0217d024 _0216d064: .word data_ov61_0217d03c _0216d068: .word data_ov61_0217d048 _0216d06c: .word data_ov61_0217d210 _0216d070: .word data_ov61_0217d054 _0216d074: .word data_02056d18 _0216d078: .word data_ov61_0217d14c _0216d07c: .word data_ov61_0217d150 _0216d080: .word data_ov61_0217d154 _0216d084: .word data_ov61_0217d088 _0216d088: .word data_ov61_0217d030 _0216d08c: .word 0x0000070d _0216d090: .word 0x0000070e _0216d094: .word data_ov61_0217d228 _0216d098: .word data_ov61_0217d23c _0216d09c: .word 0x00000712 _0216d0a0: .word 0x00000714 _0216d0a4: .word 0x00000715 _0216d0a8: .word data_ov61_0217d250 _0216d0ac: .word data_ov61_0217d098 _0216d0b0: .word data_ov61_0217d0a0 _0216d0b4: .word data_ov61_0217d0a8 _0216d0b8: .word data_ov61_0217d0b0 _0216d0bc: .word data_ov61_0217d0b8 _0216d0c0: .word data_ov61_0217d0c0 _0216d0c4: .word data_ov61_0217d0c8 _0216d0c8: .word data_ov61_0217d0d0 _0216d0cc: .word data_ov61_0217d1e4 .global func_ov61_0216d0d0 arm_func_start func_ov61_0216d0d0 func_ov61_0216d0d0: ; 0x0216d0d0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r4, [r7] mov r5, r2 mov r6, r1 ldr r2, _0216d158 ; =data_ov61_0217d25c add r1, r4, #0x1f4 bl func_ov61_0216936c ldr r2, [r4, #0x198] mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216939c ldr r2, _0216d15c ; =data_ov61_0217cfdc mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216936c mov r2, r6 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216939c mov r0, r7 add r1, r4, #0x1f4 ldr r2, _0216d160 ; =data_ov61_0217d274 bl func_ov61_0216936c mov r2, r5 mov r0, r7 add r1, r4, #0x1f4 bl func_ov61_0216939c mov r0, r7 add r1, r4, #0x1f4 ldr r2, _0216d164 ; =data_ov61_0217d118 bl func_ov61_0216936c mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216d0d0 _0216d158: .word data_ov61_0217d25c _0216d15c: .word data_ov61_0217cfdc _0216d160: .word data_ov61_0217d274 _0216d164: .word data_ov61_0217d118 .global func_ov61_0216d168 arm_func_start func_ov61_0216d168 func_ov61_0216d168: ; 0x0216d168 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x1c mov r8, r0 ldr r0, [r8] mov r4, #0 str r4, [sp, #0x14] ldr r0, [r0, #0x100] cmp r2, #1 moveq r4, #1 cmp r0, #0 ldr r5, [sp, #0x38] moveq r4, #0 cmp r5, #0 mov r7, r1 mov r6, r3 cmpne r4, #0 beq _0216d288 add r2, sp, #0x18 mov r0, r8 mov r1, r7 bl func_ov61_0216f050 cmp r0, #0 ldrne r0, [sp, #0x18] ldrne r0, [r0, #0xc] cmpne r0, #0 beq _0216d288 mov r0, #0x204 bl func_ov61_0213e10c movs r4, r0 bne _0216d1f8 ldr r1, _0216d308 ; =data_ov61_0217d0f0 mov r0, r8 bl func_ov61_02171b10 add sp, sp, #0x1c mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _0216d1f8: ldr r0, [sp, #0x18] mov r1, r4 ldr r0, [r0, #0xc] bl func_ov61_0216b8d4 mov r2, #0 ldr ip, [sp, #0x3c] stmia r4, {r2, r7} mov r0, #1 stmia sp, {r0, r5} add r3, sp, #0x14 mov r0, r8 mov r1, #2 str r5, [sp, #0xc] str ip, [sp, #0x10] str ip, [sp, #8] bl func_ov61_0216d7fc cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r2, [sp, #0x14] add r1, sp, #0xc ldr r5, [r2, #0x18] mov r0, r8 str r2, [sp] mov r2, #0 str r2, [sp, #4] mov r3, r4 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r1, [sp, #0x14] mov r0, r8 bl func_ov61_0216d950 b _0216d2dc _0216d288: str r6, [sp] ldr r4, [sp, #0x3c] str r5, [sp, #4] add r3, sp, #0x14 mov r0, r8 mov r1, #2 mov r2, #0 str r4, [sp, #8] bl func_ov61_0216d7fc cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r1, [sp, #0x14] mov r0, r8 ldr r5, [r1, #0x18] mov r1, r7 mov r2, r5 bl func_ov61_0216d0d0 cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} _0216d2dc: cmp r6, #0 beq _0216d2fc mov r0, r8 mov r1, r5 bl func_ov61_02168158 cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc} _0216d2fc: mov r0, #0 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0216d168 _0216d308: .word data_ov61_0217d0f0 .global func_ov61_0216d30c arm_func_start func_ov61_0216d30c func_ov61_0216d30c: ; 0x0216d30c stmdb sp!, {r4, r5, r6, lr} ldr r0, [r0] mov r5, r1 ldr r0, [r0, #0x100] mov r4, r2 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r5 bl func_ov61_0216d3e4 mov r0, #0xf0 bl func_ov61_0213e10c movs r6, r0 str r0, [r5, #0xc] beq _0216d3d0 mov lr, r4 mov ip, #0xf _0216d350: ldmia lr!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0216d350 ldr r0, [r4] bl func_ov61_02166654 ldr r1, [r5, #0xc] str r0, [r1] ldr r0, [r4, #4] bl func_ov61_02166654 ldr r1, [r5, #0xc] str r0, [r1, #4] ldr r0, [r4, #8] bl func_ov61_02166654 ldr r1, [r5, #0xc] str r0, [r1, #8] ldr r0, [r4, #0xc] bl func_ov61_02166654 ldr r1, [r5, #0xc] str r0, [r1, #0xc] ldr r0, [r4, #0x10] bl func_ov61_02166654 ldr r1, [r5, #0xc] str r0, [r1, #0x10] ldr r0, [r4, #0x14] bl func_ov61_02166654 ldr r1, [r5, #0xc] str r0, [r1, #0x14] ldr r0, [r4, #0xc8] bl func_ov61_02166654 ldr r1, [r5, #0xc] str r0, [r1, #0xc8] _0216d3d0: ldr r0, [r5, #0xc] cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216d30c .global func_ov61_0216d3e4 arm_func_start func_ov61_0216d3e4 func_ov61_0216d3e4: ; 0x0216d3e4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0xc] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r0] bl func_ov61_0213e13c ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0] ldr r0, [r4, #0xc] ldr r0, [r0, #4] bl func_ov61_0213e13c ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0, #4] ldr r0, [r4, #0xc] ldr r0, [r0, #8] bl func_ov61_0213e13c ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0, #8] ldr r0, [r4, #0xc] ldr r0, [r0, #0xc] bl func_ov61_0213e13c ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0, #0xc] ldr r0, [r4, #0xc] ldr r0, [r0, #0x10] bl func_ov61_0213e13c ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0, #0x10] ldr r0, [r4, #0xc] ldr r0, [r0, #0x14] bl func_ov61_0213e13c ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0, #0x14] ldr r0, [r4, #0xc] ldr r0, [r0, #0xc8] bl func_ov61_0213e13c ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0, #0xc8] ldr r0, [r4, #0xc] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0xc] ldmia sp!, {r4, pc} arm_func_end func_ov61_0216d3e4 .global func_ov61_0216d4b0 arm_func_start func_ov61_0216d4b0 func_ov61_0216d4b0: ; 0x0216d4b0 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 movs r7, r0 mov r6, r1 ldr r4, [r7] bne _0216d4dc ldr r0, _0216d7dc ; =data_ov61_0217d2b8 ldr r1, _0216d7e0 ; =data_ov61_0217d2cc ldr r2, _0216d7e4 ; =data_ov61_0217d290 mov r3, #0x22 bl func_02042f80 _0216d4dc: ldr r0, [r7] cmp r0, #0 bne _0216d4fc ldr r0, _0216d7e8 ; =data_ov61_0217d2dc ldr r1, _0216d7e0 ; =data_ov61_0217d2cc ldr r2, _0216d7e4 ; =data_ov61_0217d290 mov r3, #0x23 bl func_02042f80 _0216d4fc: cmp r6, #0 bne _0216d518 ldr r0, _0216d7ec ; =data_ov61_0217d2f0 ldr r1, _0216d7e0 ; =data_ov61_0217d2cc ldr r2, _0216d7e4 ; =data_ov61_0217d290 mov r3, #0x24 bl func_02042f80 _0216d518: ldr r1, [r6, #0xc] ldr r0, [r6, #0x10] str r1, [sp, #8] str r0, [sp, #0xc] cmp r1, #0 beq _0216d7d0 ldr r0, [r6] cmp r0, #4 addls pc, pc, r0, lsl #2 b _0216d7bc _0216d540: ; jump table b _0216d554 ; case 0 b _0216d5e0 ; case 1 b _0216d65c ; case 2 b _0216d6c8 ; case 3 b _0216d750 ; case 4 _0216d554: mov r0, #0x20 bl func_ov61_0213e10c movs r5, r0 bne _0216d57c ldr r1, _0216d7f0 ; =data_ov61_0217d304 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d57c: mov r1, #0 mov r2, #0x20 bl func_02043600 ldr r1, [r6, #0x1c] ldr r0, _0216d7f4 ; =0x00000201 str r1, [r5] ldr r1, [r4, #0x418] cmp r1, r0 bne _0216d5b0 ldr r1, [r4, #0x1a0] mov r0, #0 str r1, [r5, #4] str r0, [r4, #0x1a0] _0216d5b0: add r1, sp, #8 mov r0, r7 mov r3, r5 str r6, [sp] mov r2, #0 str r2, [sp, #4] ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _0216d7d0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d5e0: mov r0, #8 bl func_ov61_0213e10c movs r3, r0 bne _0216d608 ldr r1, _0216d7f0 ; =data_ov61_0217d304 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d608: mov r2, #0 strb r2, [r3] strb r2, [r3, #1] strb r2, [r3, #2] strb r2, [r3, #3] strb r2, [r3, #4] strb r2, [r3, #5] strb r2, [r3, #6] strb r2, [r3, #7] ldr r0, [r6, #0x1c] add r1, sp, #8 str r0, [r3] str r6, [sp] str r2, [sp, #4] mov r0, r7 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _0216d7d0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d65c: mov r0, #0x204 bl func_ov61_0213e10c movs r4, r0 bne _0216d684 ldr r1, _0216d7f0 ; =data_ov61_0217d304 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d684: mov r1, #0 mov r2, #0x204 bl func_02043600 ldr r0, [r6, #0x1c] add r1, sp, #8 str r0, [r4] mov r0, r7 mov r3, r4 str r6, [sp] mov r2, #0 str r2, [sp, #4] ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _0216d7d0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d6c8: mov r0, #0x10 bl func_ov61_0213e10c movs r3, r0 bne _0216d6f0 ldr r1, _0216d7f0 ; =data_ov61_0217d304 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d6f0: mov r2, r3 mov r1, #4 mov r0, #0 _0216d6fc: strb r0, [r2] strb r0, [r2, #1] strb r0, [r2, #2] strb r0, [r2, #3] add r2, r2, #4 subs r1, r1, #1 bne _0216d6fc ldr r0, [r6, #0x1c] mov r2, #0 str r0, [r3] str r2, [r3, #0xc] str r6, [sp] add r1, sp, #8 str r2, [sp, #4] mov r0, r7 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _0216d7d0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d750: mov r0, #4 bl func_ov61_0213e10c movs r3, r0 bne _0216d778 ldr r1, _0216d7f0 ; =data_ov61_0217d304 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d778: mov r2, #0 strb r2, [r3] strb r2, [r3, #1] strb r2, [r3, #2] strb r2, [r3, #3] ldr r0, [r6, #0x1c] add r1, sp, #8 str r0, [r3] str r6, [sp] str r2, [sp, #4] mov r0, r7 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _0216d7d0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216d7bc: ldr r0, _0216d7f8 ; =data_ov61_0217d314 ldr r1, _0216d7e0 ; =data_ov61_0217d2cc ldr r2, _0216d7e4 ; =data_ov61_0217d290 mov r3, #0x6b bl func_02042f80 _0216d7d0: mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216d4b0 _0216d7dc: .word data_ov61_0217d2b8 _0216d7e0: .word data_ov61_0217d2cc _0216d7e4: .word data_ov61_0217d290 _0216d7e8: .word data_ov61_0217d2dc _0216d7ec: .word data_ov61_0217d2f0 _0216d7f0: .word data_ov61_0217d304 _0216d7f4: .word 0x00000201 _0216d7f8: .word data_ov61_0217d314 .global func_ov61_0216d7fc arm_func_start func_ov61_0216d7fc func_ov61_0216d7fc: ; 0x0216d7fc stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r0, #0x24 mov r7, r1 mov r6, r2 mov r5, r3 ldr r4, [r8] bl func_ov61_0213e10c cmp r0, #0 bne _0216d838 ldr r1, _0216d8b0 ; =data_ov61_0217d304 mov r0, r8 bl func_ov61_02171b10 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0216d838: str r7, [r0] ldr r1, [sp, #0x18] str r6, [r0, #4] str r1, [r0, #8] mov r1, #0 str r1, [r0, #0x14] cmp r7, #0 moveq r1, #1 streq r1, [r0, #0x18] beq _0216d880 ldr r2, [r4, #0x20c] add r1, r2, #1 str r1, [r4, #0x20c] str r2, [r0, #0x18] ldr r1, [r4, #0x20c] cmp r1, #2 movlt r1, #2 strlt r1, [r4, #0x20c] _0216d880: mov r3, #0 ldr r2, [sp, #0x1c] str r3, [r0, #0x1c] ldr r1, [sp, #0x20] str r2, [r0, #0xc] str r1, [r0, #0x10] ldr r1, [r4, #0x424] str r1, [r0, #0x20] str r0, [r4, #0x424] str r0, [r5] mov r0, r3 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0216d7fc _0216d8b0: .word data_ov61_0217d304 .global func_ov61_0216d8b4 arm_func_start func_ov61_0216d8b4 func_ov61_0216d8b4: ; 0x0216d8b4 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldr r1, [r4] ldr r2, [r0] cmp r1, #3 bne _0216d928 ldr r0, [r2, #0x210] ldr r5, [r4, #4] subs r0, r0, #1 str r0, [r2, #0x210] bpl _0216d8f4 ldr r0, _0216d944 ; =data_ov61_0217d318 ldr r1, _0216d948 ; =data_ov61_0217d2cc ldr r2, _0216d94c ; =data_ov61_0217d27c mov r3, #0xb6 bl func_02042f80 _0216d8f4: ldr r0, [r5, #4] mov r1, #2 bl func_ov61_02166aac ldr r0, [r5, #4] bl func_ov61_02166a98 ldr r0, [r5, #0x18] bl func_ov61_0213e13c mov r0, #0 str r0, [r5, #0x18] ldr r0, [r5, #8] bl func_ov61_0213e13c mov r0, #0 str r0, [r5, #8] _0216d928: ldr r0, [r4, #4] bl func_ov61_0213e13c mov r1, #0 mov r0, r4 str r1, [r4, #4] bl func_ov61_0213e13c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0216d8b4 _0216d944: .word data_ov61_0217d318 _0216d948: .word data_ov61_0217d2cc _0216d94c: .word data_ov61_0217d27c .global func_ov61_0216d950 arm_func_start func_ov61_0216d950 func_ov61_0216d950: ; 0x0216d950 stmdb sp!, {r3, lr} ldr r3, [r0] mov ip, #0 ldr r2, [r3, #0x424] cmp r2, #0 ldmeqia sp!, {r3, pc} _0216d968: cmp r2, r1 bne _0216d98c cmp ip, #0 ldreq r2, [r2, #0x20] streq r2, [r3, #0x424] ldrne r2, [r1, #0x20] strne r2, [ip, #0x20] bl func_ov61_0216d8b4 ldmia sp!, {r3, pc} _0216d98c: mov ip, r2 ldr r2, [r2, #0x20] cmp r2, #0 bne _0216d968 ldmia sp!, {r3, pc} arm_func_end func_ov61_0216d950 .global func_ov61_0216d9a0 arm_func_start func_ov61_0216d9a0 func_ov61_0216d9a0: ; 0x0216d9a0 ldr r0, [r0] ldr r3, [r0, #0x424] cmp r3, #0 beq _0216d9d8 _0216d9b0: ldr r0, [r3, #0x18] cmp r0, r2 bne _0216d9cc cmp r1, #0 strne r3, [r1] mov r0, #1 bx lr _0216d9cc: ldr r3, [r3, #0x20] cmp r3, #0 bne _0216d9b0 _0216d9d8: cmp r1, #0 movne r0, #0 strne r0, [r1] mov r0, #0 bx lr arm_func_end func_ov61_0216d9a0 .global func_ov61_0216d9ec arm_func_start func_ov61_0216d9ec func_ov61_0216d9ec: ; 0x0216d9ec ldr r0, [r0] ldr r1, [r0, #0x424] cmp r1, #0 beq _0216da20 _0216d9fc: ldr r0, [r1, #8] cmp r0, #0 ldrne r0, [r1] cmpne r0, #3 movne r0, #1 bxne lr ldr r1, [r1, #0x20] cmp r1, #0 bne _0216d9fc _0216da20: mov r0, #0 bx lr arm_func_end func_ov61_0216d9ec .global func_ov61_0216da28 arm_func_start func_ov61_0216da28 func_ov61_0216da28: ; 0x0216da28 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 ldr r3, [r5] mov r4, #0 cmp r3, #4 addls pc, pc, r3, lsl #2 b _0216da88 _0216da44: ; jump table b _0216da58 ; case 0 b _0216da64 ; case 1 b _0216da70 ; case 2 b _0216da88 ; case 3 b _0216da7c ; case 4 _0216da58: bl func_ov61_0216acd8 mov r4, r0 b _0216daa8 _0216da64: bl func_ov61_0216ee0c mov r4, r0 b _0216daa8 _0216da70: bl func_ov61_0216bacc mov r4, r0 b _0216daa8 _0216da7c: bl func_ov61_021714c4 mov r4, r0 b _0216daa8 _0216da88: ldr r1, _0216dab8 ; =data_ov61_0217d338 mov r2, r3 bl func_ov61_0217163c ldr r0, _0216dabc ; =data_ov61_0217d314 ldr r1, _0216dac0 ; =data_ov61_0217d2cc ldr r2, _0216dac4 ; =data_ov61_0217d2a4 ldr r3, _0216dac8 ; =0x00000146 bl func_02042f80 _0216daa8: cmp r4, #0 strne r4, [r5, #0x1c] mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0216da28 _0216dab8: .word data_ov61_0217d338 _0216dabc: .word data_ov61_0217d314 _0216dac0: .word data_ov61_0217d2cc _0216dac4: .word data_ov61_0217d2a4 _0216dac8: .word 0x00000146 .global func_ov61_0216dacc arm_func_start func_ov61_0216dacc func_ov61_0216dacc: ; 0x0216dacc stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 mov r6, r1 ldr r2, [r6] mov r7, r0 sub r2, r2, #0x65 ldr r4, [r7] cmp r2, #3 addls pc, pc, r2, lsl #2 b _0216dd8c _0216daf4: ; jump table b _0216dda0 ; case 0 b _0216db04 ; case 1 b _0216db18 ; case 2 b _0216dc9c ; case 3 _0216db04: bl func_ov61_0216e890 cmp r0, #0 beq _0216dda0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216db18: ldr r1, [r6, #8] add r2, sp, #0x14 bl func_ov61_02171828 cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [sp, #0x14] cmp r0, #4 bne _0216db54 ldr r1, _0216ddf0 ; =data_ov61_0217d438 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x18 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216db54: cmp r0, #3 bne _0216dda0 ldr r1, [r6, #0xc] add r2, sp, #8 mov r0, r7 mov r5, #1 bl func_ov61_0216f050 cmp r0, #0 bne _0216db90 ldr r1, _0216ddf0 ; =data_ov61_0217d438 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x18 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216db90: ldr r2, _0216ddf4 ; =data_ov61_0217d454 mov r0, r7 add r1, r6, #0x28 bl func_ov61_0216936c ldr r2, _0216ddf8 ; =data_ov61_0217d45c mov r0, r7 add r1, r6, #0x28 bl func_ov61_0216936c ldr r2, [r4, #0x1a0] mov r0, r7 add r1, r6, #0x28 bl func_ov61_0216939c ldr r2, _0216ddfc ; =data_ov61_0217d464 mov r0, r7 add r1, r6, #0x28 bl func_ov61_0216936c mov r0, r7 add r1, r6, #0x28 add r2, r4, #0x110 bl func_ov61_0216936c mov r0, r7 add r1, r6, #0x28 ldr r2, _0216de00 ; =data_ov61_0217d46c bl func_ov61_0216936c mov r0, r7 add r1, r6, #0x28 ldr r2, [sp, #8] ldr r2, [r2, #0x18] bl func_ov61_0216936c mov r0, r7 add r1, r6, #0x28 ldr r2, _0216de04 ; =data_ov61_0217d474 bl func_ov61_0216936c ldr r2, [r4, #0x434] cmp r2, #0 beq _0216dc54 ldr r3, [r6, #0xc] mov r0, #0 _0216dc28: ldr r1, [r2, #0xc] cmp r1, r3 bne _0216dc48 cmp r2, r6 beq _0216dc48 ldr r1, [r2] cmp r1, #0x67 movle r5, r0 _0216dc48: ldr r2, [r2, #0x3c] cmp r2, #0 bne _0216dc28 _0216dc54: cmp r5, #0 beq _0216dc90 ldr r0, [sp, #8] ldr r0, [r0, #0x18] bl func_ov61_0213e13c ldr r0, [sp, #8] mov r1, #0 str r1, [r0, #0x18] ldr r0, [sp, #8] bl func_ov61_0216f238 cmp r0, #0 beq _0216dc90 ldr r1, [sp, #8] mov r0, r7 bl func_ov61_0216f0c0 _0216dc90: mov r0, #0x68 str r0, [r6] b _0216dda0 _0216dc9c: add r2, sp, #0xc str r2, [sp] ldr r1, _0216de08 ; =data_ov61_0217d47c add r3, sp, #0x10 str r1, [sp, #4] ldr r1, [r6, #8] add r2, r6, #0x18 bl func_ov61_021696d4 cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r6, #0x18] ldr r1, _0216de04 ; =data_ov61_0217d474 bl func_020472f0 cmp r0, #0 beq _0216dda0 mov r1, #0 strb r1, [r0] ldr r4, [r6, #0x18] ldr r1, _0216de0c ; =data_ov61_0217d480 mov r0, r4 mov r2, #7 bl func_02047280 cmp r0, #0 bne _0216dd48 ldr r0, [r6, #0x14] add r0, r0, #1 str r0, [r6, #0x14] cmp r0, #1 ble _0216dd2c ldr r1, _0216de10 ; =data_ov61_0217d488 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x18 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216dd2c: mov r0, r7 mov r1, r6 bl func_ov61_0216e82c cmp r0, #0 beq _0216dd78 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216dd48: ldr r1, _0216de14 ; =data_ov61_0217d4ac mov r0, r4 mov r2, #6 bl func_02047280 cmp r0, #0 beq _0216dd78 ldr r1, _0216de18 ; =data_ov61_0217d4b4 mov r0, r7 bl func_ov61_02171b10 add sp, sp, #0x18 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216dd78: mov r0, #0x69 str r0, [r6] mov r0, #0 str r0, [r6, #0x20] b _0216dda0 _0216dd8c: ldr r0, _0216de1c ; =data_ov61_0217d4d4 ldr r1, _0216de20 ; =data_ov61_0217d4d8 ldr r2, _0216de24 ; =data_ov61_0217d414 mov r3, #0x9f bl func_02042f80 _0216dda0: ldr r0, [r6, #0x30] cmp r0, #0 ble _0216dde4 mov r1, #1 ldr r0, _0216de08 ; =data_ov61_0217d47c str r1, [sp] str r0, [sp, #4] ldr r1, [r6, #8] add r3, sp, #0xc mov r0, r7 add r2, r6, #0x28 bl func_ov61_021698fc ldr r1, [sp, #0xc] cmp r1, #0 cmpeq r0, #0 movne r0, #0x6a strne r0, [r6] _0216dde4: mov r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216dacc _0216ddf0: .word data_ov61_0217d438 _0216ddf4: .word data_ov61_0217d454 _0216ddf8: .word data_ov61_0217d45c _0216ddfc: .word data_ov61_0217d464 _0216de00: .word data_ov61_0217d46c _0216de04: .word data_ov61_0217d474 _0216de08: .word data_ov61_0217d47c _0216de0c: .word data_ov61_0217d480 _0216de10: .word data_ov61_0217d488 _0216de14: .word data_ov61_0217d4ac _0216de18: .word data_ov61_0217d4b4 _0216de1c: .word data_ov61_0217d4d4 _0216de20: .word data_ov61_0217d4d8 _0216de24: .word data_ov61_0217d414 .global func_ov61_0216de28 arm_func_start func_ov61_0216de28 func_ov61_0216de28: ; 0x0216de28 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x184 mov r5, r1 ldr r1, [r5] mov r6, r0 cmp r1, #0x68 ldr r4, [r6] beq _0216de5c ldr r0, _0216e054 ; =data_ov61_0217d4e4 ldr r1, _0216e058 ; =data_ov61_0217d4d8 ldr r2, _0216e05c ; =data_ov61_0217d3f0 mov r3, #0xc1 bl func_02042f80 _0216de5c: add r1, sp, #8 ldr r0, _0216e060 ; =data_ov61_0217d47c str r1, [sp] str r0, [sp, #4] ldr r1, [r5, #8] add r3, sp, #0xc mov r0, r6 add r2, r5, #0x18 bl func_ov61_021696d4 cmp r0, #0 addne sp, sp, #0x184 ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, [sp, #8] cmp r0, #0 beq _0216deac mov r0, #0x6a str r0, [r5] add sp, sp, #0x184 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _0216deac: ldr r0, [r5, #0x18] ldr r1, _0216e064 ; =data_ov61_0217d474 bl func_020472f0 cmp r0, #0 beq _0216e048 mov r1, #0 strb r1, [r0] ldr r7, [r5, #0x18] ldr r1, _0216e068 ; =data_ov61_0217d454 mov r0, r7 mov r2, #6 bl func_02047280 cmp r0, #0 bne _0216e02c ldr r1, _0216e06c ; =data_ov61_0217d45c add r2, sp, #0x71 mov r0, r7 mov r3, #0x10 bl func_ov61_02171720 cmp r0, #0 bne _0216df14 mov r0, #0x6a str r0, [r5] add sp, sp, #0x184 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _0216df14: add r0, sp, #0x71 bl func_0204902c mov r7, r0 ldr r0, [r5, #0x18] ldr r1, _0216e070 ; =data_ov61_0217d464 add r2, sp, #0x52 mov r3, #0x1f bl func_ov61_02171720 cmp r0, #0 bne _0216df50 mov r0, #0x6a str r0, [r5] add sp, sp, #0x184 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _0216df50: ldr r0, [r5, #0x18] ldr r1, _0216e074 ; =data_ov61_0217d46c add r2, sp, #0x31 mov r3, #0x21 bl func_ov61_02171720 cmp r0, #0 bne _0216df80 mov r0, #0x6a str r0, [r5] add sp, sp, #0x184 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _0216df80: str r7, [sp] add r2, r4, #0x77 ldr r3, [r4, #0x1a0] ldr r1, _0216e078 ; =data_ov61_0217d504 add r0, sp, #0x81 add r2, r2, #0x100 bl func_020459b8 add r0, sp, #0x81 bl func_02047008 mov r1, r0 add r0, sp, #0x81 add r2, sp, #0x10 bl func_ov61_0216659c add r0, sp, #0x31 add r1, sp, #0x10 bl func_0204716c cmp r0, #0 beq _0216dffc ldr r2, _0216e07c ; =data_ov61_0217d480 mov r0, r6 add r1, r5, #0x28 bl func_ov61_0216936c ldr r2, _0216e064 ; =data_ov61_0217d474 mov r0, r6 add r1, r5, #0x28 bl func_ov61_0216936c mov r0, #0x6a str r0, [r5] add sp, sp, #0x184 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _0216dffc: ldr r2, _0216e080 ; =data_ov61_0217d4ac mov r0, r6 add r1, r5, #0x28 bl func_ov61_0216936c ldr r2, _0216e064 ; =data_ov61_0217d474 mov r0, r6 add r1, r5, #0x28 bl func_ov61_0216936c mov r0, #0x69 str r0, [r5] str r7, [r5, #0xc] b _0216e040 _0216e02c: mov r0, #0x6a str r0, [r5] add sp, sp, #0x184 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _0216e040: mov r0, #0 str r0, [r5, #0x20] _0216e048: mov r0, #0 add sp, sp, #0x184 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216de28 _0216e054: .word data_ov61_0217d4e4 _0216e058: .word data_ov61_0217d4d8 _0216e05c: .word data_ov61_0217d3f0 _0216e060: .word data_ov61_0217d47c _0216e064: .word data_ov61_0217d474 _0216e068: .word data_ov61_0217d454 _0216e06c: .word data_ov61_0217d45c _0216e070: .word data_ov61_0217d464 _0216e074: .word data_ov61_0217d46c _0216e078: .word data_ov61_0217d504 _0216e07c: .word data_ov61_0217d480 _0216e080: .word data_ov61_0217d4ac .global func_ov61_0216e084 arm_func_start func_ov61_0216e084 func_ov61_0216e084: ; 0x0216e084 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sb, r1 ldr r1, [sb, #0x30] mov sl, r0 cmp r1, #0 addne sp, sp, #0xc movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sb, #0x38] bl func_ov61_02165a68 cmp r0, #0 beq _0216e148 mov fp, #0 ldr r5, _0216e154 ; =data_ov61_0217d47c mov r8, fp mov r6, fp add r4, sp, #8 _0216e0cc: ldr r0, [sb, #0x38] mov r1, r8 bl func_ov61_02165a70 mov r7, r0 str r6, [sp] str r5, [sp, #4] ldr r1, [sb, #8] mov r0, sl mov r2, r7 mov r3, r4 bl func_ov61_021698fc ldr r1, [sp, #8] cmp r1, #0 cmpeq r0, #0 beq _0216e11c mov r0, #0x6a str r0, [sb] add sp, sp, #0xc mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216e11c: ldr r1, [r7, #0xc] ldr r0, [r7, #8] cmp r1, r0 bne _0216e148 ldr r0, [sb, #0x38] mov r1, fp bl func_ov61_02165cec ldr r0, [sb, #0x38] bl func_ov61_02165a68 cmp r0, #0 bne _0216e0cc _0216e148: mov r0, #0 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0216e084 _0216e154: .word data_ov61_0217d47c .global func_ov61_0216e158 arm_func_start func_ov61_0216e158 func_ov61_0216e158: ; 0x0216e158 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x24 mov r8, r1 ldr r1, [r8, #0x30] mov sb, r0 cmp r1, #0 ldr r7, [sb] beq _0216e1bc mov r2, #1 str r2, [sp] ldr r1, _0216e3cc ; =data_ov61_0217d47c add r3, sp, #0x1c str r1, [sp, #4] ldr r1, [r8, #8] add r2, r8, #0x28 bl func_ov61_021698fc ldr r1, [sp, #0x1c] cmp r1, #0 cmpeq r0, #0 beq _0216e1bc mov r0, #0x6a str r0, [r8] add sp, sp, #0x24 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216e1bc: ldr r0, [r8, #0x30] cmp r0, #0 bne _0216e1f4 mov r0, sb mov r1, r8 bl func_ov61_0216e084 cmp r0, #0 addne sp, sp, #0x24 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [r8] cmp r0, #0x6a addeq sp, sp, #0x24 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216e1f4: add r1, sp, #0x1c ldr r0, _0216e3cc ; =data_ov61_0217d47c str r1, [sp] str r0, [sp, #4] ldr r1, [r8, #8] add r3, sp, #0x20 mov r0, sb add r2, r8, #0x18 bl func_ov61_021696d4 cmp r0, #0 beq _0216e234 mov r0, #0x6a str r0, [r8] add sp, sp, #0x24 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216e234: ldr r0, [sp, #0x20] cmp r0, #0 ble _0216e250 mov r0, #0 bl func_ov61_02166cf0 add r0, r0, #0x12c str r0, [r8, #0x10] _0216e250: mov r4, #0 mov sl, #2 add fp, sp, #0x14 add r6, sp, #8 _0216e260: mov r0, sb add r1, r8, #0x18 add r2, sp, #0x10 add r3, sp, #0xc str r6, [sp] bl func_ov61_02169a7c cmp r0, #0 addne sp, sp, #0x24 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sp, #0x10] cmp r1, #0 beq _0216e3a4 ldr r2, [sp, #0xc] cmp r2, #0x66 bgt _0216e2ac bge _0216e364 cmp r2, #1 beq _0216e2e0 b _0216e398 _0216e2ac: sub r0, r2, #0xc8 cmp r0, #8 addls pc, pc, r0, lsl #2 b _0216e398 _0216e2bc: ; jump table b _0216e37c ; case 0 b _0216e37c ; case 1 b _0216e37c ; case 2 b _0216e37c ; case 3 b _0216e37c ; case 4 b _0216e37c ; case 5 b _0216e37c ; case 6 b _0216e37c ; case 7 b _0216e37c ; case 8 _0216e2e0: ldr r1, [r7, #0x1bc] ldr r0, [r7, #0x1c0] str r1, [sp, #0x14] str r0, [sp, #0x18] cmp r1, #0 beq _0216e398 mov r0, #0xc bl func_ov61_0213e10c movs r5, r0 bne _0216e320 ldr r1, _0216e3d0 ; =data_ov61_0217d50c mov r0, sb bl func_ov61_02171b10 add sp, sp, #0x24 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216e320: ldr r0, [r8, #0xc] str r0, [r5] ldr r0, [sp, #0x10] bl func_ov61_02166654 str r0, [r5, #8] mov r0, #0 bl func_ov61_02166cf0 str r0, [r5, #4] mov r3, r5 mov r0, sb stmia sp, {r4, sl} ldmia fp, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _0216e398 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216e364: ldr r1, [r8, #0xc] ldr r3, _0216e3d4 ; =data_ov61_0217d51c mov r0, sb mov r2, #0x67 bl func_ov61_02168e44 b _0216e398 _0216e37c: str r1, [sp] ldr r1, [sp, #8] mov r0, sb str r1, [sp, #4] mov r1, r8 ldr r3, [r8, #0x18] bl func_ov61_02171440 _0216e398: mov r0, sb add r1, r8, #0x18 bl func_ov61_02169bb8 _0216e3a4: ldr r0, [sp, #0x10] cmp r0, #0 bne _0216e260 ldr r0, [sp, #0x1c] cmp r0, #0 movne r0, #0x6a strne r0, [r8] mov r0, #0 add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0216e158 _0216e3cc: .word data_ov61_0217d47c _0216e3d0: .word data_ov61_0217d50c _0216e3d4: .word data_ov61_0217d51c .global func_ov61_0216e3d8 arm_func_start func_ov61_0216e3d8 func_ov61_0216e3d8: ; 0x0216e3d8 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 ldr r1, [r5] mov r6, r0 cmp r1, #0x64 mov r4, #0 bne _0216e408 ldr r0, _0216e464 ; =data_ov61_0217d520 ldr r1, _0216e468 ; =data_ov61_0217d4d8 ldr r2, _0216e46c ; =data_ov61_0217d390 ldr r3, _0216e470 ; =0x000001d9 bl func_02042f80 _0216e408: ldr r0, [r5] cmp r0, #0x69 beq _0216e43c ldr r0, [r5, #4] mov r1, r5 cmp r0, #0 mov r0, r6 beq _0216e434 bl func_ov61_0216dacc mov r4, r0 b _0216e43c _0216e434: bl func_ov61_0216de28 mov r4, r0 _0216e43c: cmp r4, #0 ldreq r0, [r5] cmpeq r0, #0x69 bne _0216e45c mov r0, r6 mov r1, r5 bl func_ov61_0216e158 mov r4, r0 _0216e45c: mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216e3d8 _0216e464: .word data_ov61_0217d520 _0216e468: .word data_ov61_0217d4d8 _0216e46c: .word data_ov61_0217d390 _0216e470: .word 0x000001d9 .global func_ov61_0216e474 arm_func_start func_ov61_0216e474 func_ov61_0216e474: ; 0x0216e474 stmdb sp!, {r4, lr} mov r4, r1 ldr r0, [r4, #8] mov r1, #2 bl func_ov61_02166aac ldr r0, [r4, #8] bl func_ov61_02166a98 ldr r0, [r4, #0x18] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x18] ldr r0, [r4, #0x28] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x28] ldr r0, [r4, #0x38] cmp r0, #0 beq _0216e4c8 bl func_ov61_021659fc mov r0, #0 str r0, [r4, #0x38] _0216e4c8: mov r0, r4 bl func_ov61_0213e13c ldmia sp!, {r4, pc} arm_func_end func_ov61_0216e474 .global func_ov61_0216e4d4 arm_func_start func_ov61_0216e4d4 func_ov61_0216e4d4: ; 0x0216e4d4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r5, r0 movs r4, r1 ldr r6, [r5] bne _0216e4fc ldr r0, _0216e5d4 ; =data_ov61_0217d548 ldr r1, _0216e5d8 ; =data_ov61_0217d4d8 ldr r2, _0216e5dc ; =data_ov61_0217d380 ldr r3, _0216e5e0 ; =0x00000213 bl func_02042f80 _0216e4fc: ldr r1, [r6, #0x434] cmp r1, r4 ldreq r0, [r4, #0x3c] streq r0, [r6, #0x434] beq _0216e560 ldr r0, [r1, #0x3c] cmp r0, r4 beq _0216e558 _0216e51c: cmp r0, #0 bne _0216e548 ldr r0, _0216e5e4 ; =data_ov61_0217d4d4 ldr r1, _0216e5d8 ; =data_ov61_0217d4d8 ldr r2, _0216e5dc ; =data_ov61_0217d380 ldr r3, _0216e5e8 ; =0x00000225 bl func_02042f80 ldr r1, _0216e5ec ; =data_ov61_0217d558 mov r0, r5 bl func_ov61_0217163c ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216e548: mov r1, r0 ldr r0, [r0, #0x3c] cmp r0, r4 bne _0216e51c _0216e558: ldr r0, [r4, #0x3c] str r0, [r1, #0x3c] _0216e560: ldr r0, [r4, #0x38] bl func_ov61_02165a68 cmp r0, #0 beq _0216e5c4 mov r6, #0 mov r7, r6 _0216e578: ldr r0, [r4, #0x38] mov r1, r7 bl func_ov61_02165a70 ldr r2, [r0, #0x10] cmp r2, #0x64 bge _0216e5a8 ldr ip, [r0] ldr r3, [r0, #0x14] ldr r1, [r4, #0xc] mov r0, r5 add r3, ip, r3 bl func_ov61_02168d68 _0216e5a8: ldr r0, [r4, #0x38] mov r1, r6 bl func_ov61_02165cec ldr r0, [r4, #0x38] bl func_ov61_02165a68 cmp r0, #0 bne _0216e578 _0216e5c4: mov r0, r5 mov r1, r4 bl func_ov61_0216e474 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216e4d4 _0216e5d4: .word data_ov61_0217d548 _0216e5d8: .word data_ov61_0217d4d8 _0216e5dc: .word data_ov61_0217d380 _0216e5e0: .word 0x00000213 _0216e5e4: .word data_ov61_0217d4d4 _0216e5e8: .word 0x00000225 _0216e5ec: .word data_ov61_0217d558 .global func_ov61_0216e5f0 arm_func_start func_ov61_0216e5f0 func_ov61_0216e5f0: ; 0x0216e5f0 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0x4000 bl func_ov61_0216670c mov r0, r4 mov r1, #0x8000 bl func_ov61_0216670c mov r0, r4 mov r1, #0x10000 bl func_ov61_0216670c mov r0, r4 mov r1, #0x20000 bl func_ov61_0216670c mov r0, r4 mov r1, #0x40000 bl func_ov61_0216670c mov r0, r4 mov r1, #0x4000 bl func_ov61_02166750 mov r0, r4 mov r1, #0x8000 bl func_ov61_02166750 mov r0, r4 mov r1, #0x10000 bl func_ov61_02166750 mov r0, r4 bl func_ov61_02166790 mov r0, r4 bl func_ov61_021667d8 ldmia sp!, {r4, pc} arm_func_end func_ov61_0216e5f0 .global func_ov61_0216e668 arm_func_start func_ov61_0216e668 func_ov61_0216e668: ; 0x0216e668 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldr r7, [r4] mvn r1, #0 ldr r0, [r7, #0x204] cmp r0, r1 beq _0216e6f0 bl func_ov61_02166914 cmp r0, #0 beq _0216e6f0 mov r1, #0 ldr r0, [r7, #0x204] mov r2, r1 bl func_ov61_02166b80 mov r6, r0 mvn r1, #0 cmp r6, r1 beq _0216e6f0 mov r0, r4 mov r2, #0 bl func_ov61_0216e7ac movs r5, r0 beq _0216e6e8 mov r0, #0x68 str r0, [r5] mov r0, r6 str r6, [r5, #8] mov r1, #0 bl func_ov61_021666cc ldr r0, [r5, #8] bl func_ov61_0216e5f0 b _0216e6f0 _0216e6e8: mov r0, r6 bl func_ov61_02166a98 _0216e6f0: ldr r7, [r7, #0x434] cmp r7, #0 beq _0216e750 mov r5, #0 _0216e700: mov r0, r4 mov r1, r7 ldr r6, [r7, #0x3c] bl func_ov61_0216e3d8 ldr r1, [r7] cmp r1, #0x6a beq _0216e738 cmp r0, #0 bne _0216e738 mov r0, r5 bl func_ov61_02166cf0 ldr r1, [r7, #0x10] cmp r0, r1 ble _0216e744 _0216e738: mov r0, r4 mov r1, r7 bl func_ov61_0216e4d4 _0216e744: mov r7, r6 cmp r6, #0 bne _0216e700 _0216e750: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_0216e668 .global func_ov61_0216e758 arm_func_start func_ov61_0216e758 func_ov61_0216e758: ; 0x0216e758 ldr r0, [r0] ldr r0, [r0, #0x434] cmp r0, #0 beq _0216e788 _0216e768: ldr r2, [r0, #0xc] cmp r2, r1 ldreq r2, [r0] cmpeq r2, #0x69 bxeq lr ldr r0, [r0, #0x3c] cmp r0, #0 bne _0216e768 _0216e788: mov r0, #0 bx lr arm_func_end func_ov61_0216e758 .global func_ov61_0216e790 arm_func_start func_ov61_0216e790 func_ov61_0216e790: ; 0x0216e790 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] bl func_ov61_0213e13c mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} arm_func_end func_ov61_0216e790 .global func_ov61_0216e7ac arm_func_start func_ov61_0216e7ac func_ov61_0216e7ac: ; 0x0216e7ac stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r5, [r0] mov r0, #0x40 mov r7, r1 mov r6, r2 bl func_ov61_0213e10c movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r1, #0 mov r2, #0x40 bl func_02043600 mov r0, #0x64 stmia r4, {r0, r6} sub r0, r0, #0x65 str r0, [r4, #8] mov r0, #0 str r7, [r4, #0xc] bl func_ov61_02166cf0 add r0, r0, #0x12c str r0, [r4, #0x10] ldr r3, [r5, #0x434] ldr r2, _0216e828 ; =func_ov61_0216e790 mov r0, #0x18 mov r1, #0 str r3, [r4, #0x3c] bl func_ov61_02165938 str r0, [r4, #0x38] mov r0, r4 str r4, [r5, #0x434] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216e7ac _0216e828: .word func_ov61_0216e790 .global func_ov61_0216e82c arm_func_start func_ov61_0216e82c func_ov61_0216e82c: ; 0x0216e82c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r2, #0 str r2, [sp] mov r4, r1 str r2, [sp, #4] add r3, sp, #0xc mov r1, #2 mov r5, r0 str r2, [sp, #8] bl func_ov61_0216d7fc cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, pc} ldr r0, [sp, #0xc] ldr r1, [r4, #0xc] ldr r2, [r0, #0x18] mov r0, r5 bl func_ov61_0216d0d0 cmp r0, #0 moveq r0, #0x65 streq r0, [r4] moveq r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0216e82c .global func_ov61_0216e890 arm_func_start func_ov61_0216e890 func_ov61_0216e890: ; 0x0216e890 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r4, r1 ldr r1, [r4, #0xc] add r2, sp, #0 mov r5, r0 bl func_ov61_0216f050 cmp r0, #0 bne _0216e8cc ldr r1, _0216ea0c ; =data_ov61_0217d438 mov r0, r5 bl func_ov61_02171b10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r4, r5, pc} _0216e8cc: mov r0, #2 mov r1, #1 mov r2, #0 bl func_ov61_02166a84 mvn r1, #0 str r0, [r4, #8] cmp r0, r1 bne _0216e918 ldr r2, _0216ea10 ; =data_ov61_0217d57c mov r0, r5 mov r1, #5 bl func_ov61_02171aec mov r0, r5 mov r1, #3 mov r2, #0 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r4, r5, pc} _0216e918: mov r1, #0 bl func_ov61_021666cc cmp r0, #0 bne _0216e954 ldr r2, _0216ea14 ; =data_ov61_0217d5a4 mov r0, r5 mov r1, #5 bl func_ov61_02171aec mov r0, r5 mov r1, #3 mov r2, #0 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r4, r5, pc} _0216e954: ldr r0, [r4, #8] bl func_ov61_0216e5f0 add r1, sp, #4 mov r2, #0 ldr r3, [sp] str r2, [r1] mov r0, #2 str r2, [r1, #4] strb r0, [sp, #5] ldr r0, [r3, #8] mov r2, #8 ldr r0, [r0, #0x10] str r0, [sp, #8] ldr r0, [r3, #8] ldr r0, [r0, #0x14] strh r0, [sp, #6] ldr r0, [r4, #8] bl func_ov61_02166b20 mvn r1, #0 cmp r0, r1 bne _0216e9f8 ldr r0, [r4, #8] bl func_ov61_02166ce0 mvn r2, #5 cmp r0, r2 subne r1, r2, #0x14 cmpne r0, r1 subne r1, r2, #0x46 cmpne r0, r1 beq _0216e9f8 ldr r2, _0216ea18 ; =data_ov61_0217d5d8 mov r0, r5 mov r1, #5 bl func_ov61_02171aec mov r0, r5 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0xc mov r0, #3 ldmia sp!, {r4, r5, pc} _0216e9f8: mov r0, #0x67 str r0, [r4] mov r0, #0 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0216e890 _0216ea0c: .word data_ov61_0217d438 _0216ea10: .word data_ov61_0217d57c _0216ea14: .word data_ov61_0217d5a4 _0216ea18: .word data_ov61_0217d5d8 .global func_ov61_0216ea1c arm_func_start func_ov61_0216ea1c func_ov61_0216ea1c: ; 0x0216ea1c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 movs r7, r1 mov r8, r0 mov r6, r2 mov r5, r3 bne _0216ea4c ldr r0, _0216eb8c ; =data_ov61_0217d548 ldr r1, _0216eb90 ; =data_ov61_0217d4d8 ldr r2, _0216eb94 ; =data_ov61_0217d3a0 mov r3, #0x340 bl func_02042f80 _0216ea4c: cmp r5, #0 bne _0216ea68 ldr r0, _0216eb98 ; =data_ov61_0217d600 ldr r1, _0216eb90 ; =data_ov61_0217d4d8 ldr r2, _0216eb94 ; =data_ov61_0217d3a0 ldr r3, _0216eb9c ; =0x00000341 bl func_02042f80 _0216ea68: mov r0, r5 bl func_02047008 mov r4, r0 add r1, sp, #0 mov r3, #0 str r3, [r1, #0x10] ldr r2, _0216eba0 ; =data_ov61_0217d610 mov r0, r8 str r3, [r1] str r3, [r1, #4] str r3, [r1, #8] str r3, [r1, #0xc] str r3, [r1, #0x14] str r6, [sp, #0x10] bl func_ov61_0216936c cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r1, sp, #0 mov r0, r8 mov r2, r6 bl func_ov61_0216939c cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r2, _0216eba4 ; =data_ov61_0217d614 add r1, sp, #0 mov r0, r8 bl func_ov61_0216936c cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r1, sp, #0 mov r0, r8 mov r2, r4 bl func_ov61_0216939c cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r2, _0216eba8 ; =data_ov61_0217d61c add r1, sp, #0 mov r0, r8 bl func_ov61_0216936c cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr ip, [sp, #8] add r1, sp, #0 mov r0, r8 mov r2, r5 mov r3, r4 str ip, [sp, #0x14] bl func_ov61_02169260 cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, r7, r8, pc} add r1, sp, #0 mov r0, r8 mov r2, #0 bl func_ov61_021691c8 cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [r7, #0x38] add r1, sp, #0 bl func_ov61_02165ad8 mov r0, #0 bl func_ov61_02166cf0 add r0, r0, #0x12c str r0, [r7, #0x10] mov r0, #0 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0216ea1c _0216eb8c: .word data_ov61_0217d548 _0216eb90: .word data_ov61_0217d4d8 _0216eb94: .word data_ov61_0217d3a0 _0216eb98: .word data_ov61_0217d600 _0216eb9c: .word 0x00000341 _0216eba0: .word data_ov61_0217d610 _0216eba4: .word data_ov61_0217d614 _0216eba8: .word data_ov61_0217d61c .global func_ov61_0216ebac arm_func_start func_ov61_0216ebac func_ov61_0216ebac: ; 0x0216ebac stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x48 mov sb, r0 mov r8, r1 mov r7, r2 cmp r3, #0 ldr r5, [r3] ldmib r3, {r4, r6} bne _0216ebe4 ldr r0, _0216ec14 ; =data_ov61_0217d624 ldr r1, _0216ec18 ; =data_ov61_0217d4d8 ldr r2, _0216ec1c ; =data_ov61_0217d3b4 ldr r3, _0216ec20 ; =0x00000376 bl func_02042f80 _0216ebe4: ldr r1, _0216ec24 ; =data_ov61_0217d630 add r0, sp, #8 mov r2, r7 mov r3, r5 stmia sp, {r4, r6} bl func_020459b8 add r2, sp, #8 mov r0, sb mov r1, r8 bl func_ov61_021696a4 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0216ebac _0216ec14: .word data_ov61_0217d624 _0216ec18: .word data_ov61_0217d4d8 _0216ec1c: .word data_ov61_0217d3b4 _0216ec20: .word 0x00000376 _0216ec24: .word data_ov61_0217d630 .global func_ov61_0216ec28 arm_func_start func_ov61_0216ec28 func_ov61_0216ec28: ; 0x0216ec28 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x20 movs r6, r1 mov r7, r0 mov r5, r2 mov r4, r3 bne _0216ec58 ldr r0, _0216ecfc ; =data_ov61_0217d548 ldr r1, _0216ed00 ; =data_ov61_0217d4d8 ldr r2, _0216ed04 ; =data_ov61_0217d3d0 ldr r3, _0216ed08 ; =0x00000389 bl func_02042f80 _0216ec58: mvn r0, #0 cmp r5, #0 ldreq r5, _0216ed0c ; =data_ov61_0217d644 cmp r4, r0 bne _0216ec78 mov r0, r5 bl func_02047008 mov r4, r0 _0216ec78: ldr r1, _0216ed10 ; =data_ov61_0217d648 add r0, sp, #0 mov r2, r4 bl func_020459b8 add r2, sp, #0 mov r0, r7 mov r1, r6 bl func_ov61_021696a4 cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r7 mov r1, r6 mov r2, r5 mov r3, r4 bl func_ov61_021695a4 cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r7 mov r1, r6 mov r2, #0 bl func_ov61_021694c4 cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r0, #0 bl func_ov61_02166cf0 add r0, r0, #0x12c str r0, [r6, #0x10] mov r0, #0 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216ec28 _0216ecfc: .word data_ov61_0217d548 _0216ed00: .word data_ov61_0217d4d8 _0216ed04: .word data_ov61_0217d3d0 _0216ed08: .word 0x00000389 _0216ed0c: .word data_ov61_0217d644 _0216ed10: .word data_ov61_0217d648 .global func_ov61_0216ed14 arm_func_start func_ov61_0216ed14 func_ov61_0216ed14: ; 0x0216ed14 stmdb sp!, {r3, lr} ldr r0, [r0] bl func_02002c14 mov r0, r1 ldmia sp!, {r3, pc} arm_func_end func_ov61_0216ed14 .global func_ov61_0216ed28 arm_func_start func_ov61_0216ed28 func_ov61_0216ed28: ; 0x0216ed28 ldr r2, [r0] ldr r0, [r1] sub r0, r2, r0 bx lr arm_func_end func_ov61_0216ed28 .global func_ov61_0216ed38 arm_func_start func_ov61_0216ed38 func_ov61_0216ed38: ; 0x0216ed38 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #8] cmp r0, #0 beq _0216ed88 ldr r0, [r0, #8] bl func_ov61_0213e13c ldr r0, [r4, #8] mov r1, #0 str r1, [r0, #8] ldr r0, [r4, #8] ldr r0, [r0, #0xc] bl func_ov61_0213e13c ldr r0, [r4, #8] mov r1, #0 str r1, [r0, #0xc] ldr r0, [r4, #8] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #8] _0216ed88: mov r0, r4 bl func_ov61_0216d3e4 ldr r0, [r4, #0x10] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x10] ldr r0, [r4, #0x18] bl func_ov61_0213e13c mov r0, #0 str r0, [r4, #0x18] ldmia sp!, {r4, pc} arm_func_end func_ov61_0216ed38 .global func_ov61_0216edb4 arm_func_start func_ov61_0216edb4 func_ov61_0216edb4: ; 0x0216edb4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 ldr r4, [r0] mov r0, #0 str r0, [r4, #0x430] str r0, [r4, #0x42c] ldr ip, _0216ee00 ; =func_ov61_0216ed38 ldr r2, _0216ee04 ; =func_ov61_0216ed14 ldr r3, _0216ee08 ; =func_ov61_0216ed28 mov r0, #0x1c mov r1, #4 str ip, [sp] bl func_ov61_0216603c str r0, [r4, #0x428] cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_0216edb4 _0216ee00: .word func_ov61_0216ed38 _0216ee04: .word func_ov61_0216ed14 _0216ee08: .word func_ov61_0216ed28 .global func_ov61_0216ee0c arm_func_start func_ov61_0216ee0c func_ov61_0216ee0c: ; 0x0216ee0c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 mov r6, r2 mov r4, r1 mov r1, r6 mov r2, #1 mov r5, r0 bl func_ov61_02171648 cmp r0, #0 addne sp, sp, #0x20 movne r0, #4 ldmneia sp!, {r4, r5, r6, pc} ldr r1, _0216ef5c ; =data_ov61_0217d66c mov r0, r6 mov r2, #5 bl func_02047280 cmp r0, #0 beq _0216ee80 ldr r2, _0216ef60 ; =data_ov61_0217d674 mov r0, r5 mov r1, #1 bl func_ov61_02171aec mov r0, r5 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x20 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _0216ee80: ldr r1, _0216ef64 ; =data_ov61_0217d6a4 add r2, sp, #0x10 mov r0, r6 mov r3, #0x10 bl func_ov61_02171720 cmp r0, #0 bne _0216eec8 ldr r2, _0216ef60 ; =data_ov61_0217d674 mov r0, r5 mov r1, #1 bl func_ov61_02171aec mov r0, r5 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x20 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _0216eec8: add r0, sp, #0x10 bl func_0204902c ldr r2, [r4, #0xc] ldr r1, [r4, #0x10] mov r6, r0 str r2, [sp, #8] str r1, [sp, #0xc] cmp r2, #0 beq _0216ef44 mov r0, #8 bl func_ov61_0213e10c movs r3, r0 bne _0216ef14 ldr r1, _0216ef68 ; =data_ov61_0217d6b0 mov r0, r5 bl func_ov61_02171b10 add sp, sp, #0x20 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0216ef14: str r6, [r3, #4] mov r2, #0 str r2, [r3] str r4, [sp] add r1, sp, #8 str r2, [sp, #4] mov r0, r5 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r4, r5, r6, pc} _0216ef44: mov r0, r5 mov r1, r4 bl func_ov61_0216d950 mov r0, #0 add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216ee0c _0216ef5c: .word data_ov61_0217d66c _0216ef60: .word data_ov61_0217d674 _0216ef64: .word data_ov61_0217d6a4 _0216ef68: .word data_ov61_0217d6b0 .global func_ov61_0216ef6c arm_func_start func_ov61_0216ef6c func_ov61_0216ef6c: ; 0x0216ef6c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 mov r6, r0 mov r5, r1 cmp r5, #0 ldr r4, [r6] bgt _0216ef9c ldr r0, _0216f040 ; =data_ov61_0217d6c0 ldr r1, _0216f044 ; =data_ov61_0217d6c8 ldr r2, _0216f048 ; =data_ov61_0217d658 ldr r3, _0216f04c ; =0x000002b5 bl func_02042f80 _0216ef9c: cmp r5, #0 addle sp, sp, #0x20 movle r0, #0 ldmleia sp!, {r4, r5, r6, pc} add r2, sp, #0 mov r0, r6 mov r1, r5 bl func_ov61_0216f050 cmp r0, #0 ldrne r0, [sp] addne sp, sp, #0x20 ldmneia sp!, {r4, r5, r6, pc} add r1, sp, #4 mov r0, #0 str r0, [r1] str r0, [r1, #4] str r0, [r1, #0xc] str r0, [r1, #0x10] str r0, [r1, #0x14] str r0, [r1, #0x18] str r5, [sp, #4] str r0, [r1, #8] str r0, [sp, #8] str r0, [sp, #0x10] str r0, [sp, #0x14] str r0, [sp, #0x1c] str r0, [sp, #0x18] ldr r0, [r4, #0x428] bl func_ov61_0216628c ldr r0, [r4, #0x42c] add r2, sp, #0 add r3, r0, #1 mov r0, r6 mov r1, r5 str r3, [r4, #0x42c] bl func_ov61_0216f050 cmp r0, #0 ldrne r0, [sp] moveq r0, #0 add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216ef6c _0216f040: .word data_ov61_0217d6c0 _0216f044: .word data_ov61_0217d6c8 _0216f048: .word data_ov61_0217d658 _0216f04c: .word 0x000002b5 .global func_ov61_0216f050 arm_func_start func_ov61_0216f050 func_ov61_0216f050: ; 0x0216f050 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c ldr r0, [r0] mov r4, r2 str r1, [sp] ldr r0, [r0, #0x428] add r1, sp, #0 bl func_ov61_021663d8 cmp r4, #0 strne r0, [r4] cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_0216f050 .global func_ov61_0216f08c arm_func_start func_ov61_0216f08c func_ov61_0216f08c: ; 0x0216f08c stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r2, sp, #0 ldr r4, [r0] bl func_ov61_0216f050 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0x428] ldr r1, [sp] bl func_ov61_02166334 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_0216f08c .global func_ov61_0216f0c0 arm_func_start func_ov61_0216f0c0 func_ov61_0216f0c0: ; 0x0216f0c0 ldr r0, [r0] ldr ip, _0216f0d0 ; =func_ov61_02166334 ldr r0, [r0, #0x428] bx ip .align 2, 0 arm_func_end func_ov61_0216f0c0 _0216f0d0: .word func_ov61_02166334 .global func_ov61_0216f0d4 arm_func_start func_ov61_0216f0d4 func_ov61_0216f0d4: ; 0x0216f0d4 stmdb sp!, {r4, r5, r6, lr} mov r6, r1 ldr r4, [r6, #0xc] mov r5, r2 cmp r4, #0 beq _0216f12c ldr r0, [r5] ldr r1, [r4] bl func_0204716c cmp r0, #0 bne _0216f12c ldr r0, [r5, #4] ldr r1, [r4, #8] bl func_0204716c cmp r0, #0 bne _0216f12c ldr r1, [r5, #8] mov r0, #1 str r6, [r1] str r0, [r5, #0xc] mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0216f12c: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0216f0d4 .global func_ov61_0216f134 arm_func_start func_ov61_0216f134 func_ov61_0216f134: ; 0x0216f134 stmdb sp!, {r4, lr} sub sp, sp, #0x10 str r1, [sp] mov ip, #0 str r2, [sp, #4] mov r4, r3 ldr r1, _0216f17c ; =func_ov61_0216f0d4 add r2, sp, #0 str ip, [sp, #0xc] str r4, [sp, #8] bl func_ov61_0216f19c ldr r0, [sp, #0xc] cmp r0, #0 moveq r0, #0 streq r0, [r4] mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_0216f134 _0216f17c: .word func_ov61_0216f0d4 .global func_ov61_0216f180 arm_func_start func_ov61_0216f180 func_ov61_0216f180: ; 0x0216f180 stmdb sp!, {r3, lr} mov ip, r0 ldr r2, [r1, #8] ldmia r1, {r0, r3} mov r1, ip blx r3 ldmia sp!, {r3, pc} arm_func_end func_ov61_0216f180 .global func_ov61_0216f19c arm_func_start func_ov61_0216f19c func_ov61_0216f19c: ; 0x0216f19c stmdb sp!, {lr} sub sp, sp, #0xc ldr r3, [r0] str r1, [sp, #4] str r2, [sp, #8] str r0, [sp] ldr r0, [r3, #0x428] ldr r1, _0216f1d8 ; =func_ov61_0216f180 add r2, sp, #0 bl func_ov61_021664e4 cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov61_0216f19c _0216f1d8: .word func_ov61_0216f180 .global func_ov61_0216f1dc arm_func_start func_ov61_0216f1dc func_ov61_0216f1dc: ; 0x0216f1dc ldr r0, [r1, #8] cmp r0, #0 beq _0216f200 ldr r3, [r2] ldr r0, [r0] cmp r3, r0 streq r1, [r2, #4] moveq r0, #0 bxeq lr _0216f200: mov r0, #1 bx lr arm_func_end func_ov61_0216f1dc .global func_ov61_0216f208 arm_func_start func_ov61_0216f208 func_ov61_0216f208: ; 0x0216f208 stmdb sp!, {r3, lr} sub sp, sp, #8 str r1, [sp] mov r3, #0 ldr r1, _0216f234 ; =func_ov61_0216f1dc add r2, sp, #0 str r3, [sp, #4] bl func_ov61_0216f19c ldr r0, [sp, #4] add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0216f208 _0216f234: .word func_ov61_0216f1dc .global func_ov61_0216f238 arm_func_start func_ov61_0216f238 func_ov61_0216f238: ; 0x0216f238 cmp r0, #0 beq _0216f268 ldr r1, [r0, #0xc] cmp r1, #0 ldreq r1, [r0, #8] cmpeq r1, #0 ldreq r1, [r0, #0x18] cmpeq r1, #0 ldreq r0, [r0, #0x10] cmpeq r0, #0 moveq r0, #1 bxeq lr _0216f268: mov r0, #0 bx lr arm_func_end func_ov61_0216f238 .global func_ov61_0216f270 arm_func_start func_ov61_0216f270 func_ov61_0216f270: ; 0x0216f270 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r5, r1 ldr r4, [r5, #4] mov r1, #0x1000 mov r6, r0 add r0, r1, #1 str r1, [r4, #0xc] bl func_ov61_0213e10c str r0, [r4, #8] cmp r0, #0 bne _0216f2b8 ldr r1, _0216f448 ; =data_ov61_0217d758 mov r0, r6 bl func_ov61_02171b10 add sp, sp, #8 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _0216f2b8: mov r0, #2 mov r1, #1 mov r2, #0 bl func_ov61_02166a84 mvn r1, #0 str r0, [r4, #4] cmp r0, r1 bne _0216f304 ldr r2, _0216f44c ; =data_ov61_0217d768 mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #8 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _0216f304: mov r1, #0 bl func_ov61_021666cc cmp r0, #0 bne _0216f340 ldr r2, _0216f450 ; =data_ov61_0217d790 mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #8 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _0216f340: ldr r0, _0216f454 ; =data_ov61_0217d718 bl func_ov61_021590ac cmp r0, #0 bne _0216f37c ldr r2, _0216f458 ; =data_ov61_0217d7c4 mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #8 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _0216f37c: add r3, sp, #0 mov r2, #0 str r2, [r3] mov r1, #2 str r2, [r3, #4] strb r1, [sp, #1] ldr r0, [r0, #0xc] ldr r0, [r0] ldr r0, [r0] str r0, [sp, #4] cmp r0, #0 bne _0216f3c0 ldr r0, _0216f45c ; =data_ov61_0217d7f4 ldr r1, _0216f460 ; =data_ov61_0217d814 ldr r2, _0216f464 ; =data_ov61_0217d700 mov r3, #0x59 bl func_02042f80 _0216f3c0: ldr r0, _0216f468 ; =0x0000cd74 add r1, sp, #0 strh r0, [sp, #2] ldr r0, [r4, #4] mov r2, #8 bl func_ov61_02166b20 mvn r1, #0 cmp r0, r1 bne _0216f434 ldr r0, [r4, #4] bl func_ov61_02166ce0 mvn r2, #5 cmp r0, r2 subne r1, r2, #0x14 cmpne r0, r1 subne r1, r2, #0x46 cmpne r0, r1 beq _0216f434 ldr r2, _0216f46c ; =data_ov61_0217d820 mov r0, r6 mov r1, #5 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #8 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _0216f434: mov r0, #1 str r0, [r5, #0x14] mov r0, #0 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0216f270 _0216f448: .word data_ov61_0217d758 _0216f44c: .word data_ov61_0217d768 _0216f450: .word data_ov61_0217d790 _0216f454: .word data_ov61_0217d718 _0216f458: .word data_ov61_0217d7c4 _0216f45c: .word data_ov61_0217d7f4 _0216f460: .word data_ov61_0217d814 _0216f464: .word data_ov61_0217d700 _0216f468: .word 0x0000cd74 _0216f46c: .word data_ov61_0217d820 .global func_ov61_0216f470 arm_func_start func_ov61_0216f470 func_ov61_0216f470: ; 0x0216f470 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r0, #0x144 mov r6, r1 mov r5, r2 bl func_ov61_0213e10c movs r4, r0 bne _0216f4a4 ldr r1, _0216f51c ; =data_ov61_0217d758 mov r0, r7 bl func_ov61_02171b10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216f4a4: mov r1, #0 mov r2, #0x144 bl func_02043600 str r5, [r4] mvn r0, #0 str r0, [r4, #4] mov r0, #0 str r0, [r4, #8] str r0, [r4, #0x10] str r0, [r4, #0x14] str r0, [r4, #0xc] str r0, [r4, #0x20] mov r1, #0x1000 str r0, [r4, #0x24] add r0, r1, #1 str r1, [r4, #0x1c] bl func_ov61_0213e10c str r0, [r4, #0x18] cmp r0, #0 bne _0216f508 ldr r1, _0216f51c ; =data_ov61_0217d758 mov r0, r7 bl func_ov61_02171b10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0216f508: mov r0, #0 str r0, [r4, #0x13c] str r0, [r4, #0x140] str r4, [r6] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0216f470 _0216f51c: .word data_ov61_0217d758 .global func_ov61_0216f520 arm_func_start func_ov61_0216f520 func_ov61_0216f520: ; 0x0216f520 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 mov r5, r0 ldr r4, [r5] ldr ip, [sp, #0x20] ldr lr, [r4, #0x210] add lr, lr, #1 str lr, [r4, #0x210] stmia sp, {r2, r3} mov r2, r1 add r3, sp, #0xc mov r1, #3 str ip, [sp, #8] bl func_ov61_0216d7fc cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [sp, #0xc] mov r0, r5 bl func_ov61_0216f270 cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [sp, #0xc] ldr r0, [r1, #8] cmp r0, #0 beq _0216f5a4 ldr r1, [r1, #0x18] mov r0, r5 bl func_ov61_02168158 cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r3, r4, r5, pc} _0216f5a4: mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_0216f520 .global func_ov61_0216f5b0 arm_func_start func_ov61_0216f5b0 func_ov61_0216f5b0: ; 0x0216f5b0 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 movs r8, r1 mov sb, r0 ldrnesb r0, [r8] mov r7, r2 mov r6, r3 ldr r5, [sp, #0x28] ldr r4, [sp, #0x2c] cmpne r0, #0 bne _0216f640 cmp r6, #0 ldrnesb r0, [r6] cmpne r0, #0 bne _0216f640 cmp r5, #0 ldrnesb r0, [r5] cmpne r0, #0 bne _0216f640 cmp r4, #0 ldrnesb r0, [r4] cmpne r0, #0 bne _0216f640 ldr r0, [sp, #0x30] cmp r0, #0 bne _0216f640 cmp r7, #0 ldrnesb r0, [r7] cmpne r0, #0 bne _0216f640 ldr r1, _0216f798 ; =data_ov61_0217d848 mov r0, sb bl func_ov61_02171b10 add sp, sp, #8 mov r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0216f640: add r1, sp, #4 mov r0, sb mov r2, #1 bl func_ov61_0216f470 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r8, #0 bne _0216f674 ldr r0, [sp, #4] mov r1, #0 strb r1, [r0, #0x28] b _0216f688 _0216f674: ldr r0, [sp, #4] mov r1, r8 add r0, r0, #0x28 mov r2, #0x1f bl func_ov61_021715c8 _0216f688: cmp r7, #0 bne _0216f6a0 ldr r0, [sp, #4] mov r1, #0 strb r1, [r0, #0x47] b _0216f6b4 _0216f6a0: ldr r0, [sp, #4] mov r1, r7 add r0, r0, #0x47 mov r2, #0x15 bl func_ov61_021715c8 _0216f6b4: cmp r6, #0 bne _0216f6cc ldr r0, [sp, #4] mov r1, #0 strb r1, [r0, #0x5c] b _0216f6e0 _0216f6cc: ldr r0, [sp, #4] mov r1, r6 add r0, r0, #0x5c mov r2, #0x33 bl func_ov61_021715c8 _0216f6e0: ldr r0, [sp, #4] add r0, r0, #0x5c bl func_ov61_02166688 cmp r5, #0 bne _0216f704 ldr r0, [sp, #4] mov r1, #0 strb r1, [r0, #0x8f] b _0216f718 _0216f704: ldr r0, [sp, #4] mov r1, r5 add r0, r0, #0x8f mov r2, #0x1f bl func_ov61_021715c8 _0216f718: cmp r4, #0 bne _0216f730 ldr r0, [sp, #4] mov r1, #0 strb r1, [r0, #0xae] b _0216f744 _0216f730: ldr r0, [sp, #4] mov r1, r4 add r0, r0, #0xae mov r2, #0x1f bl func_ov61_021715c8 _0216f744: ldr r0, [sp, #0x34] ldr r2, [sp, #0x30] ldr r1, [sp, #4] cmp r0, #0 movlt r0, #0 strlt r0, [sp, #0x34] str r2, [r1, #0x130] ldr r2, [sp, #0x34] ldr r1, [sp, #4] ldr r0, [sp, #0x40] str r2, [r1, #0x134] str r0, [sp] ldr r1, [sp, #4] ldr r2, [sp, #0x38] ldr r3, [sp, #0x3c] mov r0, sb bl func_ov61_0216f520 cmp r0, #0 moveq r0, #0 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_0216f5b0 _0216f798: .word data_ov61_0217d848 .global func_ov61_0216f79c arm_func_start func_ov61_0216f79c func_ov61_0216f79c: ; 0x0216f79c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x490 mov sl, r0 ldr r0, [sl] str r1, [sp, #0x1c] ldr r1, [r1, #8] str r0, [sp, #0x28] ldr r0, [sp, #0x1c] cmp r1, #0 movne r4, #1 ldr r6, [r0, #4] moveq r4, #0 _0216f7cc: mov r1, #1 ldr r0, _021705d4 ; =data_ov61_0217d85c str r1, [sp] str r0, [sp, #4] ldr r1, [r6, #4] add r3, sp, #0x68 mov r0, sl add r2, r6, #0x18 bl func_ov61_021698fc cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #0x1c] ldr r0, [r0, #0x14] cmp r0, #1 bne _0216fe30 ldr r1, [r6, #4] add r2, sp, #0x7c mov r0, sl bl func_ov61_02171828 cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sp, #0x7c] cmp r0, #4 bne _0216f860 ldr r1, _021705d8 ; =0x00000d01 ldr r2, _021705dc ; =data_ov61_0217d860 mov r0, sl bl func_ov61_02171aec mov r0, sl mov r1, #4 mov r2, #0 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216f860: cmp r0, #3 bne _021711ec ldr r0, [r6] cmp r0, #1 bne _0216fa28 ldr r2, _021705e0 ; =data_ov61_0217d88c mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _021705e4 ; =data_ov61_0217d898 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r0, [sp, #0x28] add r1, r6, #0x18 ldr r2, [r0, #0x198] mov r0, sl bl func_ov61_0216939c ldr r2, _021705e8 ; =data_ov61_0217d8a4 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x1a0] add r1, r6, #0x18 bl func_ov61_0216939c ldr r2, _021705ec ; =data_ov61_0217d8b0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x470] add r1, r6, #0x18 bl func_ov61_0216939c ldrsb r0, [r6, #0x28] cmp r0, #0 beq _0216f91c ldr r2, _021705f0 ; =data_ov61_0217d8c0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x28 bl func_ov61_0216936c _0216f91c: ldrsb r0, [r6, #0x47] cmp r0, #0 beq _0216f948 ldr r2, _021705f4 ; =data_ov61_0217d8c8 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x47 bl func_ov61_0216936c _0216f948: ldrsb r0, [r6, #0x5c] cmp r0, #0 beq _0216f974 ldr r2, _021705f8 ; =data_ov61_0217d8d8 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x5c bl func_ov61_0216936c _0216f974: ldrsb r0, [r6, #0x8f] cmp r0, #0 beq _0216f9a0 ldr r2, _021705fc ; =data_ov61_0217d8e0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x8f bl func_ov61_0216936c _0216f9a0: ldrsb r0, [r6, #0xae] cmp r0, #0 beq _0216f9cc ldr r2, _02170600 ; =data_ov61_0217d8ec mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0xae bl func_ov61_0216936c _0216f9cc: ldr r0, [r6, #0x130] cmp r0, #0 beq _0216f9f8 ldr r2, _02170604 ; =data_ov61_0217d8f8 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [r6, #0x130] mov r0, sl add r1, r6, #0x18 bl func_ov61_0216939c _0216f9f8: ldr r0, [r6, #0x134] cmp r0, #0 ble _0216fdf0 ldr r2, _02170608 ; =data_ov61_0217d904 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [r6, #0x134] mov r0, sl add r1, r6, #0x18 bl func_ov61_0216939c b _0216fdf0 _0216fa28: cmp r0, #2 bne _0216fa64 ldr r2, _0217060c ; =data_ov61_0217d90c mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _021705f8 ; =data_ov61_0217d8d8 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x5c bl func_ov61_0216936c b _0216fdf0 _0216fa64: cmp r0, #3 bne _0216fae4 ldr r2, _02170610 ; =data_ov61_0217d914 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _021705f8 ; =data_ov61_0217d8d8 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x5c bl func_ov61_0216936c ldr r2, _02170614 ; =data_ov61_0217d91c mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0xcd bl func_ov61_0216936c ldr r2, _021705ec ; =data_ov61_0217d8b0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x470] add r1, r6, #0x18 bl func_ov61_0216939c b _0216fdf0 _0216fae4: cmp r0, #4 bne _0216fb68 ldr r2, _02170618 ; =data_ov61_0217d924 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _021705e4 ; =data_ov61_0217d898 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r0, [sp, #0x28] add r1, r6, #0x18 ldr r2, [r0, #0x198] mov r0, sl bl func_ov61_0216939c ldr r2, _021705e8 ; =data_ov61_0217d8a4 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x1a0] add r1, r6, #0x18 bl func_ov61_0216939c ldr r2, _0217061c ; =data_ov61_0217d930 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [r6, #0x138] mov r0, sl add r1, r6, #0x18 bl func_ov61_0216939c b _0216fdf0 _0216fb68: cmp r0, #5 bne _0216fbe4 ldr r2, _02170620 ; =data_ov61_0217d93c mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _021705f0 ; =data_ov61_0217d8c0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x28 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 ldr r2, _021705f8 ; =data_ov61_0217d8d8 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x5c bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 ldr r2, _02170614 ; =data_ov61_0217d91c bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0xcd bl func_ov61_0216936c b _0216fdf0 _0216fbe4: cmp r0, #6 bne _0216fcf4 ldr r2, _02170624 ; =data_ov61_0217d944 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _021705f0 ; =data_ov61_0217d8c0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x28 bl func_ov61_0216936c ldr r2, _021705f8 ; =data_ov61_0217d8d8 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x5c bl func_ov61_0216936c ldr r2, _02170614 ; =data_ov61_0217d91c mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0xcd bl func_ov61_0216936c ldr r2, _02170628 ; =data_ov61_0217d950 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x46c] add r1, r6, #0x18 bl func_ov61_0216939c ldr r2, _021705ec ; =data_ov61_0217d8b0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x470] add r1, r6, #0x18 bl func_ov61_0216939c ldr r2, _021705f4 ; =data_ov61_0217d8c8 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x47 bl func_ov61_0216936c ldrsb r0, [r6, #0xec] cmp r0, #0 beq _0216fdf0 ldr r2, _0217062c ; =data_ov61_0217d95c mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0xec bl func_ov61_0216936c b _0216fdf0 _0216fcf4: cmp r0, #7 bne _0216fd7c ldr r2, _02170630 ; =data_ov61_0217d964 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _021705e4 ; =data_ov61_0217d898 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r0, [sp, #0x28] add r1, r6, #0x18 ldr r2, [r0, #0x198] mov r0, sl bl func_ov61_0216939c ldr r2, _021705e8 ; =data_ov61_0217d8a4 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x1a0] add r1, r6, #0x18 bl func_ov61_0216939c ldr r2, _021705ec ; =data_ov61_0217d8b0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x470] add r1, r6, #0x18 bl func_ov61_0216939c b _0216fdf0 _0216fd7c: cmp r0, #8 bne _0216fddc ldr r2, _02170634 ; =data_ov61_0217d970 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _02170638 ; =data_ov61_0217d980 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c mov r0, sl add r1, r6, #0x18 add r2, r6, #0x47 bl func_ov61_0216936c ldr r2, _021705ec ; =data_ov61_0217d8b0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, [sp, #0x28] mov r0, sl ldr r2, [r2, #0x470] add r1, r6, #0x18 bl func_ov61_0216939c b _0216fdf0 _0216fddc: ldr r0, _0217063c ; =data_ov61_0217d990 ldr r1, _02170640 ; =data_ov61_0217d814 ldr r2, _02170644 ; =data_ov61_0217d6d8 ldr r3, _02170648 ; =0x00000275 bl func_02042f80 _0216fdf0: ldr r2, _0217064c ; =data_ov61_0217d994 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _02170650 ; =data_ov61_021810c0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r2, _02170654 ; =data_ov61_0217d9a0 mov r0, sl add r1, r6, #0x18 bl func_ov61_0216936c ldr r0, [sp, #0x1c] mov r1, #4 str r1, [r0, #0x14] b _021711ec _0216fe30: cmp r0, #4 bne _021711ec add r1, sp, #0x68 ldr r0, _021705d4 ; =data_ov61_0217d85c str r1, [sp] str r0, [sp, #4] ldr r1, [r6, #4] add r3, sp, #0x6c mov r0, sl add r2, r6, #8 bl func_ov61_021696d4 cmp r0, #0 beq _0216fe9c cmp r0, #3 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _021705d8 ; =0x00000d01 ldr r2, _02170658 ; =data_ov61_0217d9a8 mov r0, sl bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #0 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216fe9c: ldr r0, [r6, #8] ldr r1, _02170654 ; =data_ov61_0217d9a0 bl func_020472f0 cmp r0, #0 beq _021711ec mov r0, #0 str r0, [sp, #0x78] ldr r0, [sp, #0x1c] mov r1, #5 str r1, [r0, #0x14] ldr r1, [r6, #8] mov r0, sl mov r2, #1 bl func_ov61_02171648 cmp r0, #0 beq _0216fef0 mov r0, #1 str r0, [r6, #0x140] add sp, sp, #0x490 mov r0, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0216fef0: ldr r0, [r6] cmp r0, #1 bne _02170260 ldr r1, _0217065c ; =0x00000601 mov r0, #0 str r0, [sp, #0x2c] str r0, [sp, #0x80] str r0, [sp, #0x84] str r0, [sp, #0x8c] str r1, [sp, #0x88] add r4, sp, #0x290 add r5, sp, #0x90 add fp, sp, #0x78 _0216ff24: str r5, [sp] ldr r1, [r6, #8] mov r0, sl mov r2, fp mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02170660 ; =data_ov61_0217d9d4 mov r0, r4 bl func_0204716c cmp r0, #0 bne _0216ffb8 str r5, [sp] ldr r1, [r6, #8] mov r0, sl mov r2, fp mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02170664 ; =data_ov61_0217d9dc mov r0, r4 bl func_0204716c cmp r0, #0 bne _0216ffac ldr r1, _0217063c ; =data_ov61_0217d990 mov r0, r5 bl func_0204716c cmp r0, #0 movne r0, #0x600 strne r0, [sp, #0x88] _0216ffac: mov r0, #1 str r0, [sp, #0x2c] b _02170198 _0216ffb8: ldr r1, _02170668 ; =data_ov61_0217d9e4 mov r0, r4 bl func_0204716c cmp r0, #0 bne _0217016c ldr r1, [sp, #0x84] ldr r0, [sp, #0x8c] add r2, r1, #1 mov r1, #0xac mul r1, r2, r1 str r2, [sp, #0x84] bl func_ov61_0213e120 movs r7, r0 str r7, [sp, #0x8c] bne _0217000c ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0217000c: ldr r0, [sp, #0x84] mov r1, #0 sub r2, r0, #1 mov r0, #0xac mul r8, r2, r0 add sb, r7, r8 mov r0, sb mov r2, #0xac bl func_02043600 mov r0, r5 bl func_0204902c str r0, [r7, r8] mov r8, #0 _02170040: ldr r7, [sp, #0x78] mov r0, sl str r5, [sp] ldr r1, [r6, #8] mov r2, fp mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02170670 ; =data_ov61_0217d9e8 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170090 add r0, sb, #4 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 b _02170160 _02170090: ldr r1, _02170674 ; =data_ov61_0217d9f0 mov r0, r4 bl func_0204716c cmp r0, #0 bne _021700b8 add r0, sb, #0x23 mov r1, r5 mov r2, #0x15 bl func_ov61_021715c8 b _02170160 _021700b8: ldr r1, _02170678 ; =data_ov61_0217d9fc mov r0, r4 bl func_0204716c cmp r0, #0 bne _021700e0 add r0, sb, #0x38 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 b _02170160 _021700e0: ldr r1, _0217067c ; =data_ov61_0217da08 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170108 add r0, sb, #0x57 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 b _02170160 _02170108: ldr r1, _02170680 ; =data_ov61_0217da14 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170130 add r0, sb, #0x76 mov r1, r5 mov r2, #0x33 bl func_ov61_021715c8 b _02170160 _02170130: ldr r1, _02170668 ; =data_ov61_0217d9e4 mov r0, r4 bl func_0204716c cmp r0, #0 beq _02170158 ldr r1, _02170660 ; =data_ov61_0217d9d4 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170160 _02170158: str r7, [sp, #0x78] mov r8, #1 _02170160: cmp r8, #0 beq _02170040 b _02170198 _0217016c: ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170198: ldr r0, [sp, #0x2c] cmp r0, #0 beq _0216ff24 ldr r0, [sp, #0x1c] ldr r4, [sp, #0x88] ldr r3, [r0, #0xc] ldr r2, [r0, #0x10] str r3, [sp, #0x70] str r2, [sp, #0x74] cmp r3, #0 beq _021701d0 add r1, sp, #0x80 mov r0, sl blx r3 _021701d0: cmp r4, #0x600 ldreq r0, [sp, #0x88] cmpeq r0, #0x600 bne _0217024c add r0, r6, #0x8f str r0, [sp] add r0, r6, #0xae str r0, [sp, #4] ldr r1, [r6, #0x130] mov r0, sl str r1, [sp, #8] ldr r3, [sp, #0x84] ldr r2, [r6, #0x134] add r1, r6, #0x28 add r2, r3, r2 str r2, [sp, #0xc] ldr r2, [sp, #0x1c] ldr r3, [r2, #8] add r2, r6, #0x47 str r3, [sp, #0x10] ldr r3, [sp, #0x1c] ldr r4, [r3, #0xc] add r3, r6, #0x5c str r4, [sp, #0x14] ldr r4, [sp, #0x1c] ldr r4, [r4, #0x10] str r4, [sp, #0x18] bl func_ov61_0216f5b0 cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0217024c: ldr r0, [sp, #0x8c] bl func_ov61_0213e13c mov r0, #0 str r0, [sp, #0x8c] b _021711e0 _02170260: cmp r0, #2 bne _02170374 ldr r0, [sp, #0x1c] ldr r1, [r0, #0xc] ldr r0, [r0, #0x10] str r1, [sp, #0x30] str r0, [sp, #0x34] cmp r1, #0 beq _021711e0 add r0, sp, #0x90 str r0, [sp] ldr r1, [r6, #8] add r2, sp, #0x78 add r3, sp, #0x290 mov r0, sl bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02170688 ; =data_ov61_0217da44 add r0, sp, #0x290 bl func_0204716c cmp r0, #0 beq _021702ec ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021702ec: mov r0, #0x3c bl func_ov61_0213e10c movs r4, r0 bne _02170314 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170314: mov r0, #0 str r0, [r4] add r0, r4, #4 add r1, r6, #0x5c mov r2, #0x33 bl func_ov61_021715c8 ldrsb r0, [sp, #0x90] ldr r1, [sp, #0x1c] add r2, sp, #0x30 cmp r0, #0x30 moveq r0, #0 movne r0, #1 str r0, [r4, #0x38] str r1, [sp] mov r1, #0 str r1, [sp, #4] mov r0, sl mov r3, r4 ldmia r2, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _021711e0 add sp, sp, #0x490 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170374: cmp r0, #3 bne _0217071c ldr r0, [sp, #0x1c] ldr r1, [r0, #0xc] ldr r0, [r0, #0x10] str r1, [sp, #0x38] str r0, [sp, #0x3c] cmp r1, #0 beq _021711e0 mov r0, #0x44 bl func_ov61_0213e10c movs r8, r0 bne _021703c0 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021703c0: mov r2, #0 add r0, r8, #4 add r1, r6, #0x5c str r2, [r8] bl func_02047024 mov r1, #0 str r1, [r8, #0x38] str r1, [r8, #0x3c] add r0, sp, #0x90 str r1, [r8, #0x40] str r0, [sp] ldr r1, [r6, #8] add r2, sp, #0x78 add r3, sp, #0x290 mov r0, sl bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _0217068c ; =data_ov61_0217da48 add r0, sp, #0x290 bl func_0204716c cmp r0, #0 beq _0217044c ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0217044c: ldr fp, _02170670 ; =data_ov61_0217d9e8 mov sb, #0 add r4, sp, #0x290 add r7, sp, #0x90 add r5, sp, #0x78 _02170460: str r7, [sp] ldr r1, [r6, #8] mov r0, sl mov r2, r5 mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, r4 mov r1, fp bl func_0204716c cmp r0, #0 bne _0217052c ldr r0, [r8, #0x3c] ldr r1, [r8, #0x38] add r1, r1, #1 mov r1, r1, lsl #0x2 bl func_ov61_0213e120 cmp r0, #0 bne _021704cc ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021704cc: str r0, [r8, #0x3c] mov r0, #0x1f bl func_ov61_0213e10c cmp r0, #0 bne _021704f8 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021704f8: ldr r3, [r8, #0x3c] ldr r2, [r8, #0x38] mov r1, r7 str r0, [r3, r2, lsl #2] ldr r3, [r8, #0x3c] ldr r0, [r8, #0x38] mov r2, #0x1f ldr r0, [r3, r0, lsl #2] bl func_ov61_021715c8 ldr r0, [r8, #0x38] add r0, r0, #1 str r0, [r8, #0x38] b _021706e0 _0217052c: ldr r1, _02170674 ; =data_ov61_0217d9f0 mov r0, r4 bl func_0204716c cmp r0, #0 bne _0217069c ldr r0, [r8, #0x38] cmp r0, #0 ble _021706e0 mov r1, r0, lsl #0x2 ldr r0, [r8, #0x40] bl func_ov61_0213e120 cmp r0, #0 bne _02170578 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170578: str r0, [r8, #0x40] mov r0, #0x15 bl func_ov61_0213e10c cmp r0, #0 bne _021705a4 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021705a4: ldr r3, [r8, #0x40] ldr r2, [r8, #0x38] mov r1, r7 add r2, r3, r2, lsl #2 str r0, [r2, #-4] ldr r3, [r8, #0x40] ldr r0, [r8, #0x38] mov r2, #0x15 add r0, r3, r0, lsl #2 ldr r0, [r0, #-4] bl func_ov61_021715c8 b _021706e0 .align 2, 0 arm_func_end func_ov61_0216f79c _021705d4: .word data_ov61_0217d85c _021705d8: .word 0x00000d01 _021705dc: .word data_ov61_0217d860 _021705e0: .word data_ov61_0217d88c _021705e4: .word data_ov61_0217d898 _021705e8: .word data_ov61_0217d8a4 _021705ec: .word data_ov61_0217d8b0 _021705f0: .word data_ov61_0217d8c0 _021705f4: .word data_ov61_0217d8c8 _021705f8: .word data_ov61_0217d8d8 _021705fc: .word data_ov61_0217d8e0 _02170600: .word data_ov61_0217d8ec _02170604: .word data_ov61_0217d8f8 _02170608: .word data_ov61_0217d904 _0217060c: .word data_ov61_0217d90c _02170610: .word data_ov61_0217d914 _02170614: .word data_ov61_0217d91c _02170618: .word data_ov61_0217d924 _0217061c: .word data_ov61_0217d930 _02170620: .word data_ov61_0217d93c _02170624: .word data_ov61_0217d944 _02170628: .word data_ov61_0217d950 _0217062c: .word data_ov61_0217d95c _02170630: .word data_ov61_0217d964 _02170634: .word data_ov61_0217d970 _02170638: .word data_ov61_0217d980 _0217063c: .word data_ov61_0217d990 _02170640: .word data_ov61_0217d814 _02170644: .word data_ov61_0217d6d8 _02170648: .word 0x00000275 _0217064c: .word data_ov61_0217d994 _02170650: .word data_ov61_021810c0 _02170654: .word data_ov61_0217d9a0 _02170658: .word data_ov61_0217d9a8 _0217065c: .word 0x00000601 _02170660: .word data_ov61_0217d9d4 _02170664: .word data_ov61_0217d9dc _02170668: .word data_ov61_0217d9e4 _0217066c: .word data_ov61_0217d758 _02170670: .word data_ov61_0217d9e8 _02170674: .word data_ov61_0217d9f0 _02170678: .word data_ov61_0217d9fc _0217067c: .word data_ov61_0217da08 _02170680: .word data_ov61_0217da14 _02170684: .word data_ov61_0217da1c _02170688: .word data_ov61_0217da44 _0217068c: .word data_ov61_0217da48 _02170690: .word data_ov61_0217da4c _02170694: .word data_ov61_0217da54 _02170698: .word data_ov61_0217da5c _0217069c: ldr r1, _02170690 ; =data_ov61_0217da4c mov r0, r4 bl func_0204716c cmp r0, #0 moveq sb, #1 beq _021706e0 ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021706e0: cmp sb, #0 beq _02170460 ldr r1, [sp, #0x1c] add r2, sp, #0x38 str r1, [sp] mov r1, #3 str r1, [sp, #4] mov r0, sl mov r3, r8 ldmia r2, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _021711e0 add sp, sp, #0x490 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0217071c: cmp r0, #4 bne _02170998 ldr r0, [sp, #0x1c] ldr r1, [r0, #0xc] ldr r0, [r0, #0x10] str r1, [sp, #0x40] str r0, [sp, #0x44] cmp r1, #0 beq _021711e0 mov r0, #0x10 bl func_ov61_0213e10c movs fp, r0 bne _02170768 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170768: ldr r1, [r6, #0x138] mov r0, #0 stmia fp, {r0, r1} str r0, [fp, #8] str r0, [sp, #0x20] str r0, [fp, #0xc] add r4, sp, #0x290 add r5, sp, #0x90 _02170788: str r5, [sp] ldr r1, [r6, #8] mov r0, sl add r2, sp, #0x78 mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02170694 ; =data_ov61_0217da54 mov r0, r4 bl func_0204716c cmp r0, #0 moveq r0, #1 streq r0, [sp, #0x20] beq _02170958 ldr r1, _02170698 ; =data_ov61_0217da5c mov r0, r4 bl func_0204716c cmp r0, #0 bne _0217092c ldr r0, [fp, #8] add r2, r0, #1 mov r0, #0x128 mul r1, r2, r0 str r2, [fp, #8] ldr r0, [fp, #0xc] bl func_ov61_0213e120 str r0, [fp, #0xc] movs r8, r0 bne _0217081c ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0217081c: ldr r0, [fp, #8] mov r1, #0 sub r2, r0, #1 mov r0, #0x128 mul sb, r2, r0 add r7, r8, sb mov r0, r7 mov r2, #0x128 bl func_02043600 mov r0, #1 str r0, [r7, #0x24] mov r0, r5 bl func_0204902c str r0, [r8, sb] mov r8, #0 _02170858: ldr sb, [sp, #0x78] mov r0, sl str r5, [sp] ldr r1, [r6, #8] add r2, sp, #0x78 mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02171210 ; =data_ov61_0217da60 mov r0, r4 bl func_0204716c cmp r0, #0 bne _021708a8 add r0, r7, #0x28 mov r1, r5 mov r2, #0x100 bl func_ov61_021715c8 b _021708cc _021708a8: ldr r1, _02170670 ; =data_ov61_0217d9e8 mov r0, r4 bl func_0204716c cmp r0, #0 bne _021708cc add r0, r7, #4 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 _021708cc: ldr r1, _02171214 ; =data_ov61_0217da68 mov r0, r4 bl func_0204716c cmp r0, #0 bne _021708f0 mov r0, r5 bl func_0204902c str r0, [r7, #0x24] b _02170920 _021708f0: ldr r1, _02170698 ; =data_ov61_0217da5c mov r0, r4 bl func_0204716c cmp r0, #0 beq _02170918 ldr r1, _02170694 ; =data_ov61_0217da54 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170920 _02170918: str sb, [sp, #0x78] mov r8, #1 _02170920: cmp r8, #0 beq _02170858 b _02170958 _0217092c: ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170958: ldr r0, [sp, #0x20] cmp r0, #0 beq _02170788 ldr r1, [sp, #0x1c] add r2, sp, #0x40 str r1, [sp] mov r1, #4 str r1, [sp, #4] mov r0, sl mov r3, fp ldmia r2, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _021711e0 add sp, sp, #0x490 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170998: cmp r0, #5 bne _02170af4 ldr r0, [sp, #0x1c] ldr r1, [r0, #0xc] ldr r0, [r0, #0x10] str r1, [sp, #0x48] str r0, [sp, #0x4c] cmp r1, #0 beq _021711e0 add r0, sp, #0x90 str r0, [sp] ldr r1, [r6, #8] add r2, sp, #0x78 add r3, sp, #0x290 mov r0, sl bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02171218 ; =data_ov61_0217da74 add r0, sp, #0x290 bl func_0204716c cmp r0, #0 beq _02170a24 ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170a24: add r0, sp, #0x90 bl func_0204902c movs r4, r0 beq _02170a44 ldr r0, [sp, #0x28] mov r5, #0 str r4, [r0, #0x418] b _02170a98 _02170a44: ldr r0, [r6, #8] ldr r1, _0217121c ; =data_ov61_0217da78 add r2, sp, #0x90 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 bne _02170a8c ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170a8c: add r0, sp, #0x90 bl func_0204902c mov r5, r0 _02170a98: mov r0, #8 bl func_ov61_0213e10c movs r3, r0 bne _02170ac0 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170ac0: stmia r3, {r4, r5} ldr r1, [sp, #0x1c] add r2, sp, #0x48 str r1, [sp] mov r1, #0 str r1, [sp, #4] mov r0, sl ldmia r2, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _021711e0 add sp, sp, #0x490 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170af4: cmp r0, #6 bne _02170c54 ldr r0, [sp, #0x1c] ldr r1, [r0, #0xc] ldr r0, [r0, #0x10] str r1, [sp, #0x50] str r0, [sp, #0x54] cmp r1, #0 beq _021711e0 add r0, sp, #0x90 str r0, [sp] ldr r1, [r6, #8] add r2, sp, #0x78 add r3, sp, #0x290 mov r0, sl bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02171220 ; =data_ov61_0217da80 add r0, sp, #0x290 bl func_0204716c cmp r0, #0 beq _02170b80 ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170b80: add r0, sp, #0x90 bl func_0204902c movs r4, r0 ldrne r0, [sp, #0x28] ldr r1, _0217121c ; =data_ov61_0217da78 strne r4, [r0, #0x418] ldr r0, [r6, #8] add r2, sp, #0x90 mov r3, #0x200 bl func_ov61_02171720 cmp r0, #0 bne _02170bec cmp r4, #0 bne _02170be4 ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170be4: mov r5, #0 b _02170bf8 _02170bec: add r0, sp, #0x90 bl func_0204902c mov r5, r0 _02170bf8: mov r0, #8 bl func_ov61_0213e10c movs r3, r0 bne _02170c20 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170c20: stmia r3, {r4, r5} ldr r1, [sp, #0x1c] add r2, sp, #0x50 str r1, [sp] mov r1, #0 str r1, [sp, #4] mov r0, sl ldmia r2, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _021711e0 add sp, sp, #0x490 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170c54: cmp r0, #7 bne _02170f90 ldr r0, [sp, #0x1c] ldr r1, [r0, #0xc] ldr r0, [r0, #0x10] str r1, [sp, #0x58] str r0, [sp, #0x5c] cmp r1, #0 beq _021711e0 mov r0, #0xc bl func_ov61_0213e10c movs fp, r0 bne _02170ca0 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170ca0: mov r1, #0 str r1, [fp] str r1, [fp, #4] add r0, sp, #0x90 str r1, [fp, #8] str r0, [sp] ldr r1, [r6, #8] add r2, sp, #0x78 add r3, sp, #0x290 mov r0, sl bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02171224 ; =data_ov61_0217da84 add r0, sp, #0x290 bl func_0204716c cmp r0, #0 beq _02170d18 ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170d18: mov r0, #0 str r0, [sp, #0x24] add r4, sp, #0x290 add r5, sp, #0x90 _02170d28: str r5, [sp] ldr r1, [r6, #8] mov r0, sl add r2, sp, #0x78 mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02171228 ; =data_ov61_0217da8c mov r0, r4 bl func_0204716c cmp r0, #0 moveq r0, #1 streq r0, [sp, #0x24] beq _02170f50 ldr r1, _0217122c ; =data_ov61_0217da94 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170f24 ldr r1, [fp, #4] ldr r0, [fp, #8] add r2, r1, #1 mov r1, #0xac mul r1, r2, r1 bl func_ov61_0213e120 cmp r0, #0 bne _02170db4 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170db4: str r0, [fp, #8] ldr r2, [fp, #4] mov r8, r0 mov r0, #0xac mul sb, r2, r0 add r7, r8, sb mov r1, #0 mov r0, r7 mov r2, #0xac bl func_02043600 ldr r1, [fp, #4] mov r0, r5 add r1, r1, #1 str r1, [fp, #4] bl func_0204902c str r0, [r8, sb] mov r8, #0 _02170df8: ldr sb, [sp, #0x78] mov r0, sl str r5, [sp] ldr r1, [r6, #8] add r2, sp, #0x78 mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02170670 ; =data_ov61_0217d9e8 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170e48 add r0, r7, #4 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 b _02170f18 _02170e48: ldr r1, _02170674 ; =data_ov61_0217d9f0 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170e70 add r0, r7, #0x23 mov r1, r5 mov r2, #0x15 bl func_ov61_021715c8 b _02170f18 _02170e70: ldr r1, _02171230 ; =data_ov61_0217da98 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170e98 add r0, r7, #0x38 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 b _02170f18 _02170e98: ldr r1, _02171234 ; =data_ov61_0217daa0 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170ec0 add r0, r7, #0x57 mov r1, r5 mov r2, #0x1f bl func_ov61_021715c8 b _02170f18 _02170ec0: ldr r1, _02170680 ; =data_ov61_0217da14 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170ee8 add r0, r7, #0x76 mov r1, r5 mov r2, #0x33 bl func_ov61_021715c8 b _02170f18 _02170ee8: ldr r1, _0217122c ; =data_ov61_0217da94 mov r0, r4 bl func_0204716c cmp r0, #0 beq _02170f10 ldr r1, _02171228 ; =data_ov61_0217da8c mov r0, r4 bl func_0204716c cmp r0, #0 bne _02170f18 _02170f10: str sb, [sp, #0x78] mov r8, #1 _02170f18: cmp r8, #0 beq _02170df8 b _02170f50 _02170f24: ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170f50: ldr r0, [sp, #0x24] cmp r0, #0 beq _02170d28 ldr r1, [sp, #0x1c] add r2, sp, #0x58 str r1, [sp] mov r1, #8 str r1, [sp, #4] mov r0, sl mov r3, fp ldmia r2, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _021711e0 add sp, sp, #0x490 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170f90: cmp r0, #8 bne _021711cc ldr r0, [sp, #0x1c] ldr r1, [r0, #0xc] ldr r0, [r0, #0x10] str r1, [sp, #0x60] str r0, [sp, #0x64] cmp r1, #0 beq _021711e0 mov r0, #0xc mov r7, #0 bl func_ov61_0213e10c movs r8, r0 bne _02170fe0 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02170fe0: mov r1, r7 str r1, [r8] str r1, [r8, #4] add r0, sp, #0x90 str r1, [r8, #8] str r0, [sp] ldr r1, [r6, #8] add r2, sp, #0x78 add r3, sp, #0x290 mov r0, sl bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02171238 ; =data_ov61_0217daa8 add r0, sp, #0x290 bl func_0204716c cmp r0, #0 beq _02171058 ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02171058: add r0, sp, #0x90 bl func_0204902c str r0, [r8, #4] mov r0, r0, lsl #0x2 bl func_ov61_0213e10c str r0, [r8, #8] cmp r0, #0 bne _02171090 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02171090: mov sb, r7 add r4, sp, #0x290 add r5, sp, #0x90 add fp, sp, #0x78 _021710a0: str r5, [sp] ldr r1, [r6, #8] mov r0, sl mov r2, fp mov r3, r4 bl func_ov61_0217191c cmp r0, #0 addne sp, sp, #0x490 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, _02170670 ; =data_ov61_0217d9e8 mov r0, r4 bl func_0204716c cmp r0, #0 bne _02171124 mov r0, #0x15 bl func_ov61_0213e10c ldr r1, [r8, #8] str r0, [r1, r7, lsl #2] ldr r0, [r8, #8] ldr r0, [r0, r7, lsl #2] cmp r0, #0 bne _02171110 ldr r1, _0217066c ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 add sp, sp, #0x490 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02171110: mov r1, r5 mov r2, #0x15 bl func_ov61_021715c8 add r7, r7, #1 b _02171190 _02171124: ldr r1, _0217123c ; =data_ov61_0217daac mov r0, r4 bl func_0204716c cmp r0, #0 bne _02171164 ldr r0, [r8, #4] cmp r7, r0 beq _02171158 ldr r0, _02171240 ; =data_ov61_0217dab4 ldr r1, _02170640 ; =data_ov61_0217d814 ldr r2, _02170644 ; =data_ov61_0217d6d8 ldr r3, _02171244 ; =0x00000515 bl func_02042f80 _02171158: str r7, [r8, #4] mov sb, #1 b _02171190 _02171164: ldr r2, _02170684 ; =data_ov61_0217da1c mov r0, sl mov r1, #1 bl func_ov61_02171aec mov r0, sl mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x490 mov r0, #3 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02171190: cmp sb, #0 beq _021710a0 ldr r1, [sp, #0x1c] add r2, sp, #0x60 str r1, [sp] mov r1, #9 str r1, [sp, #4] mov r0, sl mov r3, r8 ldmia r2, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 beq _021711e0 add sp, sp, #0x490 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021711cc: ldr r0, _0217063c ; =data_ov61_0217d990 ldr r1, _02170640 ; =data_ov61_0217d814 ldr r2, _02170644 ; =data_ov61_0217d6d8 ldr r3, _02171248 ; =0x0000052a bl func_02042f80 _021711e0: mov r0, #1 str r0, [r6, #0x140] mov r4, #0 _021711ec: cmp r4, #0 beq _021711fc mov r0, #0xa bl func_ov61_02166640 _021711fc: cmp r4, #0 bne _0216f7cc mov r0, #0 add sp, sp, #0x490 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02171210: .word data_ov61_0217da60 _02171214: .word data_ov61_0217da68 _02171218: .word data_ov61_0217da74 _0217121c: .word data_ov61_0217da78 _02171220: .word data_ov61_0217da80 _02171224: .word data_ov61_0217da84 _02171228: .word data_ov61_0217da8c _0217122c: .word data_ov61_0217da94 _02171230: .word data_ov61_0217da98 _02171234: .word data_ov61_0217daa0 _02171238: .word data_ov61_0217daa8 _0217123c: .word data_ov61_0217daac _02171240: .word data_ov61_0217dab4 _02171244: .word 0x00000515 _02171248: .word 0x0000052a .global func_ov61_0217124c arm_func_start func_ov61_0217124c func_ov61_0217124c: ; 0x0217124c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov sl, r0 ldr r6, [sl] mov sb, #0 ldr r0, [r6, #0x210] cmp r0, #0 ble _02171380 mov r0, r0, lsl #0x2 bl func_ov61_0213e10c movs r7, r0 bne _0217128c ldr r1, _02171388 ; =data_ov61_0217d758 mov r0, sl bl func_ov61_02171b10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _0217128c: ldr r8, [r6, #0x424] cmp r8, #0 beq _02171308 ldr r5, _0217138c ; =data_ov61_0217dad4 ldr fp, _02171390 ; =data_ov61_0217d814 mov r4, #1 _021712a4: ldr r0, [r8] cmp r0, #3 bne _021712fc ldr r0, [r8, #0x14] cmp r0, #5 beq _021712fc ldr r0, [r8, #4] ldr r0, [r0, #0x13c] cmp r0, #0 bne _021712fc ldr r0, [r6, #0x210] cmp sb, r0 blt _021712ec ldr r2, _02171394 ; =data_ov61_0217d6ec ldr r3, _02171398 ; =0x00000563 mov r0, r5 mov r1, fp bl func_02042f80 _021712ec: str r8, [r7, sb, lsl #2] ldr r0, [r8, #4] add sb, sb, #1 str r4, [r0, #0x13c] _021712fc: ldr r8, [r8, #0x20] cmp r8, #0 bne _021712a4 _02171308: cmp sb, #0 mov r4, #0 ble _02171338 _02171314: ldr r1, [r7, r4, lsl #2] mov r0, sl bl func_ov61_0216f79c cmp r0, #0 ldrne r1, [r7, r4, lsl #2] add r4, r4, #1 strne r0, [r1, #0x1c] cmp r4, sb blt _02171314 _02171338: cmp sb, #0 mov r4, #0 ble _02171378 mov r5, r4 _02171348: ldr r0, [r7, r4, lsl #2] ldr r0, [r0, #4] str r5, [r0, #0x13c] ldr r0, [r0, #0x140] cmp r0, #0 beq _0217136c ldr r1, [r7, r4, lsl #2] mov r0, sl bl func_ov61_0216d950 _0217136c: add r4, r4, #1 cmp r4, sb blt _02171348 _02171378: mov r0, r7 bl func_ov61_0213e13c _02171380: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0217124c _02171388: .word data_ov61_0217d758 _0217138c: .word data_ov61_0217dad4 _02171390: .word data_ov61_0217d814 _02171394: .word data_ov61_0217d6ec _02171398: .word 0x00000563 .global func_ov61_0217139c arm_func_start func_ov61_0217139c func_ov61_0217139c: ; 0x0217139c stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x20 ldr ip, [sp, #0x30] mov r5, r2 mov r6, r0 cmp ip, #0 ldreq r0, _02171438 ; =data_ov61_0217daf4 mov lr, r1 mov r4, r3 streq r0, [sp, #0x30] mov r0, r6 mov r1, r5 mov r3, lr mov r2, #0xc9 bl func_ov61_0216ebac cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r4, r5, r6, pc} ldr r1, _0217143c ; =data_ov61_0217daf8 add r0, sp, #0 mov r3, r4 mov r2, #1 bl func_020459b8 add r2, sp, #0 mov r0, r6 mov r1, r5 bl func_ov61_021696a4 cmp r0, #0 addne sp, sp, #0x20 ldmneia sp!, {r4, r5, r6, pc} ldr r2, [sp, #0x30] mov r0, r6 mov r1, r5 mvn r3, #0 bl func_ov61_0216ec28 cmp r0, #0 moveq r0, #0 add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_0217139c _02171438: .word data_ov61_0217daf4 _0217143c: .word data_ov61_0217daf8 .global func_ov61_02171440 arm_func_start func_ov61_02171440 func_ov61_02171440: ; 0x02171440 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x50 mov r4, r1 mov r5, r0 mov r0, r3 ldr r1, _021714bc ; =data_ov61_0217db10 add r2, sp, #0x10 mov r3, #0x40 bl func_ov61_02171720 cmp r0, #0 addeq sp, sp, #0x50 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, _021714c0 ; =data_ov61_0217db18 add ip, sp, #0xc add r0, sp, #0x10 add r2, sp, #4 add r3, sp, #8 str ip, [sp] bl func_02046eb0 cmp r0, #3 addne sp, sp, #0x50 ldmneia sp!, {r3, r4, r5, pc} mov ip, #0 add r1, sp, #4 mov r0, r5 mov r2, r4 mov r3, #2 str ip, [sp] bl func_ov61_0217139c add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02171440 _021714bc: .word data_ov61_0217db10 _021714c0: .word data_ov61_0217db18 .global func_ov61_021714c4 arm_func_start func_ov61_021714c4 func_ov61_021714c4: ; 0x021714c4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r4, r2 mov r5, r1 mov r1, r4 mov r2, #1 mov r6, r0 bl func_ov61_02171648 cmp r0, #0 addne sp, sp, #0x10 movne r0, #4 ldmneia sp!, {r4, r5, r6, pc} ldr r1, _021715bc ; =data_ov61_0217db24 mov r0, r4 mov r2, #4 bl func_02047280 cmp r0, #0 beq _02171538 ldr r2, _021715c0 ; =data_ov61_0217db2c mov r0, r6 mov r1, #1 bl func_ov61_02171aec mov r0, r6 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #0x10 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _02171538: ldr r1, [r5, #0xc] ldr r0, [r5, #0x10] str r1, [sp, #8] str r0, [sp, #0xc] cmp r1, #0 beq _021715a4 mov r0, #4 bl func_ov61_0213e10c movs r3, r0 bne _02171578 ldr r1, _021715c4 ; =data_ov61_0217db5c mov r0, r6 bl func_ov61_02171b10 add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} _02171578: mov r2, #0 str r2, [r3] str r5, [sp] add r1, sp, #8 str r2, [sp, #4] mov r0, r6 ldmia r1, {r1, r2} bl func_ov61_02169d04 cmp r0, #0 addne sp, sp, #0x10 ldmneia sp!, {r4, r5, r6, pc} _021715a4: mov r0, r6 mov r1, r5 bl func_ov61_0216d950 mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021714c4 _021715bc: .word data_ov61_0217db24 _021715c0: .word data_ov61_0217db2c _021715c4: .word data_ov61_0217db5c .global func_ov61_021715c8 arm_func_start func_ov61_021715c8 func_ov61_021715c8: ; 0x021715c8 stmdb sp!, {r4, r5, r6, lr} movs r6, r0 mov r5, r1 mov r4, r2 bne _021715f0 ldr r0, _0217162c ; =data_ov61_0217db98 ldr r1, _02171630 ; =data_ov61_0217dba8 ldr r2, _02171634 ; =data_ov61_0217db6c mov r3, #0x2f bl func_02042f80 _021715f0: cmp r5, #0 bne _0217160c ldr r0, _02171638 ; =data_ov61_0217dbb8 ldr r1, _02171630 ; =data_ov61_0217dba8 ldr r2, _02171634 ; =data_ov61_0217db6c mov r3, #0x30 bl func_02042f80 _0217160c: mov r0, r6 mov r1, r5 mov r2, r4 bl func_020470ec add r0, r6, r4 mov r1, #0 strb r1, [r0, #-1] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021715c8 _0217162c: .word data_ov61_0217db98 _02171630: .word data_ov61_0217dba8 _02171634: .word data_ov61_0217db6c _02171638: .word data_ov61_0217dbb8 .global func_ov61_0217163c arm_func_start func_ov61_0217163c func_ov61_0217163c: ; 0x0217163c stmdb sp!, {r0, r1, r2, r3} add sp, sp, #0x10 bx lr arm_func_end func_ov61_0217163c .global func_ov61_02171648 arm_func_start func_ov61_02171648 func_ov61_02171648: ; 0x02171648 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r6, r1 mov r7, r0 mov r5, r2 ldr r1, _02171710 ; =data_ov61_0217dbc4 mov r0, r6 mov r2, #7 ldr r4, [r7] bl func_02047280 cmp r0, #0 bne _02171704 ldr r1, _02171714 ; =data_ov61_0217dbcc add r2, sp, #0 mov r0, r6 mov r3, #0x10 bl func_ov61_02171720 cmp r0, #0 beq _021716a0 add r0, sp, #0 bl func_0204902c str r0, [r4, #0x418] _021716a0: ldr r1, _02171718 ; =data_ov61_0217dbd4 mov r0, r6 mov r2, r4 mov r3, #0x100 bl func_ov61_02171720 cmp r0, #0 moveq r0, #0 streqb r0, [r4] cmp r5, #0 beq _021716f8 ldr r1, _0217171c ; =data_ov61_0217dbe0 mov r0, r6 bl func_020472f0 cmp r0, #0 movne r0, #1 moveq r0, #0 cmp r0, #0 movne r2, #1 moveq r2, #0 mov r0, r7 mov r1, #4 bl func_ov61_02169c10 _021716f8: add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171704: mov r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02171648 _02171710: .word data_ov61_0217dbc4 _02171714: .word data_ov61_0217dbcc _02171718: .word data_ov61_0217dbd4 _0217171c: .word data_ov61_0217dbe0 .global func_ov61_02171720 arm_func_start func_ov61_02171720 func_ov61_02171720: ; 0x02171720 stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r5, r0 mov r8, r1 mov r4, r2 mov r7, r3 bne _0217174c ldr r0, _02171804 ; =data_ov61_0217dbe8 ldr r1, _02171808 ; =data_ov61_0217dba8 ldr r2, _0217180c ; =data_ov61_0217db74 ldr r3, _02171810 ; =0x0000010d bl func_02042f80 _0217174c: cmp r8, #0 bne _02171768 ldr r0, _02171814 ; =data_ov61_0217dbf8 ldr r1, _02171808 ; =data_ov61_0217dba8 ldr r2, _0217180c ; =data_ov61_0217db74 ldr r3, _02171818 ; =0x0000010e bl func_02042f80 _02171768: cmp r4, #0 bne _02171784 ldr r0, _0217181c ; =data_ov61_0217dc04 ldr r1, _02171808 ; =data_ov61_0217dba8 ldr r2, _0217180c ; =data_ov61_0217db74 ldr r3, _02171820 ; =0x0000010f bl func_02042f80 _02171784: cmp r7, #0 bgt _021717a0 ldr r0, _02171824 ; =data_ov61_0217dc14 ldr r1, _02171808 ; =data_ov61_0217dba8 ldr r2, _0217180c ; =data_ov61_0217db74 mov r3, #0x110 bl func_02042f80 _021717a0: ldrsb r6, [r8] mov r0, r5 mov r1, r8 bl func_020472f0 movs r5, r0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r8 bl func_02047008 add r1, r5, r0 mov r3, #0 sub r0, r7, #1 b _021717dc _021717d4: strb r2, [r4, r3] add r3, r3, #1 _021717dc: cmp r3, r0 bge _021717f4 ldrsb r2, [r1, r3] cmp r2, #0 cmpne r2, r6 bne _021717d4 _021717f4: mov r0, #0 strb r0, [r4, r3] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02171720 _02171804: .word data_ov61_0217dbe8 _02171808: .word data_ov61_0217dba8 _0217180c: .word data_ov61_0217db74 _02171810: .word 0x0000010d _02171814: .word data_ov61_0217dbf8 _02171818: .word 0x0000010e _0217181c: .word data_ov61_0217dc04 _02171820: .word 0x0000010f _02171824: .word data_ov61_0217dc14 .global func_ov61_02171828 arm_func_start func_ov61_02171828 func_ov61_02171828: ; 0x02171828 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 mov ip, #0 mov r4, r2 mov r5, r0 mov r0, r1 add r2, sp, #4 add r3, sp, #0 mov r1, ip str ip, [sp, #4] str ip, [sp] bl func_ov61_0216681c mvn r1, #0 cmp r0, r1 bne _0217189c ldr r1, _0217190c ; =data_ov61_0217dc1c mov r0, r5 bl func_ov61_0217163c ldr r2, _02171910 ; =data_ov61_0217dc30 mov r0, r5 mov r1, #5 bl func_ov61_02171aec mov r0, r5 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 add sp, sp, #8 mov r0, #3 ldmia sp!, {r3, r4, r5, pc} _0217189c: cmp r0, #0 ble _021718fc ldr r0, [sp] cmp r0, #0 beq _021718d0 ldr r1, _02171914 ; =data_ov61_0217dc68 mov r0, r5 bl func_ov61_0217163c mov r0, #4 str r0, [r4] add sp, sp, #8 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _021718d0: ldr r0, [sp, #4] cmp r0, #0 beq _021718fc ldr r1, _02171918 ; =data_ov61_0217dc80 mov r0, r5 bl func_ov61_0217163c mov r0, #3 str r0, [r4] add sp, sp, #8 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _021718fc: mov r0, #0 str r0, [r4] add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02171828 _0217190c: .word data_ov61_0217dc1c _02171910: .word data_ov61_0217dc30 _02171914: .word data_ov61_0217dc68 _02171918: .word data_ov61_0217dc80 .global func_ov61_0217191c arm_func_start func_ov61_0217191c func_ov61_0217191c: ; 0x0217191c stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r7, r1 mov r8, r0 mov r6, r2 mov r5, r3 ldr r4, [sp, #0x18] bne _0217194c ldr r0, _02171ac4 ; =data_ov61_0217dc98 ldr r1, _02171ac8 ; =data_ov61_0217dba8 ldr r2, _02171acc ; =data_ov61_0217db84 ldr r3, _02171ad0 ; =0x00000199 bl func_02042f80 _0217194c: cmp r5, #0 bne _02171968 ldr r0, _02171ad4 ; =data_ov61_0217dbf8 ldr r1, _02171ac8 ; =data_ov61_0217dba8 ldr r2, _02171acc ; =data_ov61_0217db84 ldr r3, _02171ad8 ; =0x0000019a bl func_02042f80 _02171968: cmp r4, #0 bne _02171984 ldr r0, _02171adc ; =data_ov61_0217dc04 ldr r1, _02171ac8 ; =data_ov61_0217dba8 ldr r2, _02171acc ; =data_ov61_0217db84 ldr r3, _02171ae0 ; =0x0000019b bl func_02042f80 _02171984: ldr r1, [r6] ldrsb r0, [r7, r1] add r3, r7, r1 cmp r0, #0x5c beq _021719c0 ldr r2, _02171ae4 ; =data_ov61_0217dca8 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _021719c0: ldrsb r1, [r3, #1] add r7, r3, #2 mov r2, #0 cmp r1, #0x5c beq _02171a4c ldr r0, _02171ae8 ; =0x000001ff _021719d8: cmp r1, #0 bne _02171a08 ldr r2, _02171ae4 ; =data_ov61_0217dca8 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02171a08: cmp r2, r0 bne _02171a38 ldr r2, _02171ae4 ; =data_ov61_0217dca8 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02171a38: strb r1, [r5], #1 ldrsb r1, [r7], #1 add r2, r2, #1 cmp r1, #0x5c bne _021719d8 _02171a4c: mov r1, #0 strb r1, [r5] ldr r0, _02171ae8 ; =0x000001ff b _02171a94 _02171a5c: cmp r1, r0 bne _02171a8c ldr r2, _02171ae4 ; =data_ov61_0217dca8 mov r0, r8 mov r1, #1 bl func_ov61_02171aec mov r0, r8 mov r1, #3 mov r2, #1 bl func_ov61_02169c10 mov r0, #3 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02171a8c: strb r2, [r4], #1 add r1, r1, #1 _02171a94: ldrsb r2, [r7], #1 cmp r2, #0x5c cmpne r2, #0 bne _02171a5c mov r0, #0 strb r0, [r4] sub r1, r7, r3 ldr r2, [r6] sub r1, r1, #1 add r1, r2, r1 str r1, [r6] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0217191c _02171ac4: .word data_ov61_0217dc98 _02171ac8: .word data_ov61_0217dba8 _02171acc: .word data_ov61_0217db84 _02171ad0: .word 0x00000199 _02171ad4: .word data_ov61_0217dbf8 _02171ad8: .word 0x0000019a _02171adc: .word data_ov61_0217dc04 _02171ae0: .word 0x0000019b _02171ae4: .word data_ov61_0217dca8 _02171ae8: .word 0x000001ff .global func_ov61_02171aec arm_func_start func_ov61_02171aec func_ov61_02171aec: ; 0x02171aec stmdb sp!, {r3, r4, r5, lr} ldr r4, [r0] mov r5, r1 mov r1, r2 mov r0, r4 mov r2, #0x100 bl func_ov61_021715c8 str r5, [r4, #0x418] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02171aec .global func_ov61_02171b10 arm_func_start func_ov61_02171b10 func_ov61_02171b10: ; 0x02171b10 ldr ip, _02171b20 ; =func_ov61_021715c8 ldr r0, [r0] mov r2, #0x100 bx ip .align 2, 0 arm_func_end func_ov61_02171b10 _02171b20: .word func_ov61_021715c8 .global func_ov61_02171b24 arm_func_start func_ov61_02171b24 func_ov61_02171b24: ; 0x02171b24 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 movs r7, r0 ldreq r0, _02171bb0 ; =data_ov61_02181144 mov r6, r1 ldreq r7, [r0, #4] mov r5, r2 mov r4, r3 cmp r7, #0 bne _02171b60 ldr r0, _02171bb4 ; =data_ov61_0217dcdc ldr r1, _02171bb8 ; =data_ov61_0217dce0 ldr r2, _02171bbc ; =data_ov61_0217dcc0 mov r3, #0x78 bl func_02042f80 _02171b60: mov r0, r6 bl func_ov61_02166654 mov r3, #0 mov r2, #1 str r0, [sp] add r0, sp, #0 mov r1, r4 str r5, [sp, #4] str r3, [sp, #0xc] str r2, [sp, #8] bl func_ov61_02171fe4 ldr r0, [r7] add r1, sp, #0 bl func_ov61_0216628c mov r0, r7 mov r1, r6 bl func_ov61_02172080 bl func_ov61_02172060 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02171b24 _02171bb0: .word data_ov61_02181144 _02171bb4: .word data_ov61_0217dcdc _02171bb8: .word data_ov61_0217dce0 _02171bbc: .word data_ov61_0217dcc0 .global func_ov61_02171bc0 arm_func_start func_ov61_02171bc0 func_ov61_02171bc0: ; 0x02171bc0 stmdb sp!, {r4, lr} mov r4, r2 bl func_ov61_02172080 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r2, #0 mov r1, r4 str r2, [r0, #8] bl func_ov61_02171fe4 ldmia sp!, {r4, pc} arm_func_end func_ov61_02171bc0 .global func_ov61_02171bec arm_func_start func_ov61_02171bec func_ov61_02171bec: ; 0x02171bec stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl func_ov61_02172080 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r4, #4] cmp r1, #0 bne _02171c3c bl func_ov61_02172060 ldr r1, [r5] ldr r0, [r0] add r0, r1, r0 bl func_ov61_02171f80 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171c3c: cmp r1, #1 bne _02171c6c bl func_ov61_02172060 mov r3, r0 ldmia r5, {r0, r1} ldmia r3, {r2, r3} bl func_02000c60 bl func_ov61_02171f98 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171c6c: mov r0, r7 mov r1, r6 mov r2, r5 bl func_ov61_02171e08 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02171bec .global func_ov61_02171c80 arm_func_start func_ov61_02171c80 func_ov61_02171c80: ; 0x02171c80 stmdb sp!, {r3, r4, r5, lr} mov r5, r2 bl func_ov61_02172080 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4, #4] cmp r1, #0 bne _02171cc8 bl func_ov61_02172060 ldr r1, [r0] ldr r0, [r5] sub r0, r1, r0 bl func_ov61_02171f80 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, pc} _02171cc8: cmp r1, #1 bne _02171cfc bl func_ov61_02172060 ldr ip, [r0] ldr r1, [r0, #4] mov r0, ip ldmia r5, {r2, r3} bl func_020016e8 bl func_ov61_02171f98 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, pc} _02171cfc: bl func_ov61_02172060 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02171c80 .global func_ov61_02171d04 arm_func_start func_ov61_02171d04 func_ov61_02171d04: ; 0x02171d04 stmdb sp!, {r3, r4, r5, lr} mov r5, r2 bl func_ov61_02172080 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4, #4] cmp r1, #0 bne _02171d4c bl func_ov61_02172060 ldr r1, [r5] ldr r0, [r0] mul r0, r1, r0 bl func_ov61_02171f80 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, pc} _02171d4c: cmp r1, #1 bne _02171d7c bl func_ov61_02172060 mov r3, r0 ldmia r5, {r0, r1} ldmia r3, {r2, r3} bl func_020011d0 bl func_ov61_02171f98 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, pc} _02171d7c: bl func_ov61_02172060 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02171d04 .global func_ov61_02171d84 arm_func_start func_ov61_02171d84 func_ov61_02171d84: ; 0x02171d84 stmdb sp!, {r3, r4, r5, lr} mov r5, r2 bl func_ov61_02172080 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4, #4] cmp r1, #0 bne _02171dcc bl func_ov61_02172060 ldr r0, [r0] ldr r1, [r5] bl func_02002c14 bl func_ov61_02171f80 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, pc} _02171dcc: cmp r1, #1 bne _02171e00 bl func_ov61_02172060 ldr ip, [r0] ldr r1, [r0, #4] mov r0, ip ldmia r5, {r2, r3} bl func_0200301c bl func_ov61_02171f98 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, pc} _02171e00: bl func_ov61_02172060 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02171d84 .global func_ov61_02171e08 arm_func_start func_ov61_02171e08 func_ov61_02171e08: ; 0x02171e08 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r2 bl func_ov61_02172080 movs r6, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r6, #4] cmp r0, #2 beq _02171e40 ldr r0, _02171ea0 ; =data_ov61_0217dcec ldr r1, _02171ea4 ; =data_ov61_0217dce0 ldr r2, _02171ea8 ; =data_ov61_0217dccc mov r3, #0xd1 bl func_02042f80 _02171e40: mov r0, r6 bl func_ov61_02172060 mov r5, r0 bl func_02047008 mov r4, r0 mov r0, r7 bl func_02047008 add r0, r4, r0 add r0, r0, #1 bl func_ov61_0213e10c mov r4, r0 mov r1, r5 bl func_02047024 mov r0, r4 mov r1, r7 bl func_0204713c mov r0, r6 mov r1, r4 bl func_ov61_02171fe4 mov r0, r4 bl func_ov61_0213e13c mov r0, r6 bl func_ov61_02172060 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02171e08 _02171ea0: .word data_ov61_0217dcec _02171ea4: .word data_ov61_0217dce0 _02171ea8: .word data_ov61_0217dccc .global func_ov61_02171eac arm_func_start func_ov61_02171eac func_ov61_02171eac: ; 0x02171eac stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r2 bl func_ov61_02172080 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r4, #4] cmp r1, #0 bne _02171f04 bl func_ov61_02172060 ldr r1, [r4, #8] add r1, r1, #1 str r1, [r4, #8] ldr r2, [r7] ldr r0, [r0] mla r0, r1, r0, r2 bl func_02002c14 bl func_ov61_02171f80 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171f04: cmp r1, #1 bne _02171f78 bl func_ov61_02172060 ldr r1, [r4, #8] mov r5, r0 add r6, r1, #1 mov r0, r6 str r6, [r4, #8] bl func_02001154 ldmia r5, {r2, r3} bl func_020011d0 mov r2, r0 mov r3, r1 ldmia r7, {r0, r1} bl func_02000c60 mov r5, r0 mov r0, r6 mov r6, r1 bl func_02001154 mov r2, r0 mov r3, r1 mov r0, r5 mov r1, r6 bl func_0200301c bl func_ov61_02171f98 mov r1, r0 mov r0, r4 bl func_ov61_02171fe4 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171f78: bl func_ov61_02172060 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02171eac .global func_ov61_02171f80 arm_func_start func_ov61_02171f80 func_ov61_02171f80: ; 0x02171f80 ldr r1, _02171f90 ; =data_ov61_02181144 str r0, [r1] ldr r0, _02171f94 ; =data_ov61_02181144 bx lr .align 2, 0 arm_func_end func_ov61_02171f80 _02171f90: .word data_ov61_02181144 _02171f94: .word data_ov61_02181144 .global func_ov61_02171f98 arm_func_start func_ov61_02171f98 func_ov61_02171f98: ; 0x02171f98 ldr r2, _02171fac ; =data_ov61_02181144 str r0, [r2, #8] ldr r0, _02171fb0 ; =data_ov61_0218114c str r1, [r2, #0xc] bx lr .align 2, 0 arm_func_end func_ov61_02171f98 _02171fac: .word data_ov61_02181144 _02171fb0: .word data_ov61_0218114c .global func_ov61_02171fb4 arm_func_start func_ov61_02171fb4 func_ov61_02171fb4: ; 0x02171fb4 ldrsb r3, [r0] mov r2, r0 cmp r3, #0 beq _02171fdc mov r1, #0x2f _02171fc8: cmp r3, #0x5c streqb r1, [r0] ldrsb r3, [r0, #1]! cmp r3, #0 bne _02171fc8 _02171fdc: mov r0, r2 bx lr arm_func_end func_ov61_02171fb4 .global func_ov61_02171fe4 arm_func_start func_ov61_02171fe4 func_ov61_02171fe4: ; 0x02171fe4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #4] mov r4, r1 cmp r0, #0 ldreq r0, [r4] streq r0, [r5, #0xc] beq _02172054 cmp r0, #1 bne _02172020 ldr r1, [r4] ldr r0, [r4, #4] str r1, [r5, #0xc] str r0, [r5, #0x10] b _02172054 _02172020: cmp r0, #2 bne _02172054 ldr r0, [r5, #0xc] cmp r0, #0 beq _02172038 bl func_ov61_0213e13c _02172038: cmp r4, #0 moveq r0, #0 beq _02172050 mov r0, r4 bl func_ov61_02166654 bl func_ov61_02171fb4 _02172050: str r0, [r5, #0xc] _02172054: mov r0, r5 bl func_ov61_02172060 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02171fe4 .global func_ov61_02172060 arm_func_start func_ov61_02172060 func_ov61_02172060: ; 0x02172060 cmp r0, #0 moveq r0, #0 bxeq lr ldr r1, [r0, #4] cmp r1, #2 ldreq r0, [r0, #0xc] addne r0, r0, #0xc bx lr arm_func_end func_ov61_02172060 .global func_ov61_02172080 arm_func_start func_ov61_02172080 func_ov61_02172080: ; 0x02172080 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 movs r5, r0 ldreq r0, _021720cc ; =data_ov61_02181144 mov r4, r1 ldreq r5, [r0, #4] cmp r5, #0 bne _021720b4 ldr r0, _021720d0 ; =data_ov61_0217dcdc ldr r1, _021720d4 ; =data_ov61_0217dce0 ldr r2, _021720d8 ; =data_ov61_0217dcb8 ldr r3, _021720dc ; =0x00000153 bl func_02042f80 _021720b4: str r4, [sp] ldr r0, [r5] add r1, sp, #0 bl func_ov61_021663d8 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02172080 _021720cc: .word data_ov61_02181144 _021720d0: .word data_ov61_0217dcdc _021720d4: .word data_ov61_0217dce0 _021720d8: .word data_ov61_0217dcb8 _021720dc: .word 0x00000153 .global func_ov61_021720e0 arm_func_start func_ov61_021720e0 func_ov61_021720e0: ; 0x021720e0 stmdb sp!, {r3, lr} ldr r0, _02172148 ; =data_ov61_0217dd08 mvn r1, #0 ldr r0, [r0] cmp r0, r1 beq _0217210c mov r1, #2 bl func_ov61_02166aac ldr r0, _02172148 ; =data_ov61_0217dd08 ldr r0, [r0] bl func_ov61_02166a98 _0217210c: ldr r0, _02172148 ; =data_ov61_0217dd08 mvn r1, #0 str r1, [r0] bl func_ov61_02172a18 ldr r0, _0217214c ; =data_ov61_02181154 ldr r0, [r0, #0xc] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_0213e13c ldr r0, _0217214c ; =data_ov61_02181154 mov r1, #0 str r1, [r0, #0xc] str r1, [r0, #0x2c] str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021720e0 _02172148: .word data_ov61_0217dd08 _0217214c: .word data_ov61_02181154 .global func_ov61_02172150 arm_func_start func_ov61_02172150 func_ov61_02172150: ; 0x02172150 ldr r1, _0217216c ; =data_ov61_0217dd08 mvn r0, #0 ldr r1, [r1] cmp r1, r0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 arm_func_end func_ov61_02172150 _0217216c: .word data_ov61_0217dd08 .global func_ov61_02172170 arm_func_start func_ov61_02172170 func_ov61_02172170: ; 0x02172170 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r0, _021722b8 ; =data_ov61_0217dd08 mvn r1, #0 ldr r0, [r0] cmp r0, r1 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r1, _021722bc ; =data_ov61_02181154 ldr r1, [r1, #0x10] cmp r1, #5 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_021723f4 cmp r0, #0 beq _0217229c mov r7, #0 ldr sl, _021722bc ; =data_ov61_02181154 ldr sb, _021722b8 ; =data_ov61_0217dd08 mov r8, #0x100 mov r6, r7 mov r4, r7 _021721c4: ldr r1, [sl, #0x2c] ldr r0, [sl] sub r0, r1, r0 cmp r0, #0x80 bge _02172208 cmp r1, #0x100 strlt r8, [sl, #0x2c] movge r0, r1, lsl #0x1 strge r0, [sl, #0x2c] ldr r1, [sl, #0x2c] ldr r0, [sl, #0xc] add r1, r1, #1 bl func_ov61_0213e120 str r0, [sl, #0xc] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02172208: ldr r5, [sl] ldr r1, [sl, #0xc] ldr r2, [sl, #0x2c] ldr r0, [sb] mov r3, r7 add r1, r1, r5 sub r2, r2, r5 bl func_ov61_02166bac cmp r0, #0 bgt _0217223c bl func_ov61_021720e0 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0217223c: ldr r1, [sl] add r1, r1, r0 str r1, [sl] ldr r0, [sl, #0xc] strb r6, [r0, r1] ldr r0, [sl, #0xc] ldr r1, [sl] bl func_ov61_0217288c ldr r1, [sl] mov r5, r0 cmp r5, r1 streq r4, [sl] beq _0217228c ldr r0, [sl, #0xc] sub r2, r1, r5 add r1, r0, r5 bl func_020435b4 ldr r0, [sl] sub r0, r0, r5 str r0, [sl] _0217228c: ldr r0, [sb] bl func_ov61_021723f4 cmp r0, #0 bne _021721c4 _0217229c: ldr r1, _021722b8 ; =data_ov61_0217dd08 mvn r0, #0 ldr r1, [r1] cmp r1, r0 moveq r0, #0 movne r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02172170 _021722b8: .word data_ov61_0217dd08 _021722bc: .word data_ov61_02181154 .global func_ov61_021722c0 arm_func_start func_ov61_021722c0 func_ov61_021722c0: ; 0x021722c0 stmdb sp!, {r4, lr} ldr r2, _02172304 ; =data_ov61_0217dd08 cmp r1, #0 ldr r4, [r2, #8] mov lr, #0 ldmleia sp!, {r4, pc} _021722d8: ldrsb ip, [r0, lr] ldrsb r3, [r4] eor r3, ip, r3 strb r3, [r0, lr] ldrsb r3, [r4, #1]! add lr, lr, #1 cmp r3, #0 ldreq r4, [r2, #8] cmp lr, r1 blt _021722d8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021722c0 _02172304: .word data_ov61_0217dd08 .global func_ov61_02172308 arm_func_start func_ov61_02172308 func_ov61_02172308: ; 0x02172308 stmdb sp!, {r4, lr} sub sp, sp, #0x100 ldr lr, _021723cc ; =data_ov61_0217a4e3 add ip, sp, #0 mov r4, r0 mov r3, #0x80 _02172320: ldrb r2, [lr] ldrb r0, [lr, #1] add lr, lr, #2 strb r2, [ip] strb r0, [ip, #1] add ip, ip, #2 subs r3, r3, #1 bne _02172320 ldr r2, _021723d0 ; =data_ov61_02181154 add r0, sp, #0 ldr r3, [r2, #0x24] eor r3, r3, #1 str r3, [r2, #0x24] bl func_0204713c ldr r1, _021723d4 ; =data_ov61_0217dd78 add r0, sp, #0 bl func_0204713c add r1, sp, #0 mov r0, r4 bl func_020472f0 movs r4, r0 addeq sp, sp, #0x100 moveq r0, #0 ldmeqia sp!, {r4, pc} add r0, sp, #0 bl func_02047008 ldr r1, _021723d0 ; =data_ov61_02181154 ldr r2, _021723d8 ; =data_ov61_02181184 ldr r1, [r1, #0x24] add r3, r4, r0 add r0, r2, r1, lsl #8 mov r2, r0 b _021723ac _021723a4: ldrsb r1, [r3], #1 strb r1, [r2], #1 _021723ac: ldrsb r1, [r3] cmp r1, #0 cmpne r1, #0x5c bne _021723a4 mov r1, #0 strb r1, [r2] add sp, sp, #0x100 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02172308 _021723cc: .word data_ov61_0217a4e3 _021723d0: .word data_ov61_02181154 _021723d4: .word data_ov61_0217dd78 _021723d8: .word data_ov61_02181184 .global func_ov61_021723dc arm_func_start func_ov61_021723dc func_ov61_021723dc: ; 0x021723dc stmdb sp!, {r3, lr} bl func_ov61_02172308 cmp r0, #0 ldreq r0, _021723f0 ; =data_ov61_0217dd74 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021723dc _021723f0: .word data_ov61_0217dd74 .global func_ov61_021723f4 arm_func_start func_ov61_021723f4 func_ov61_021723f4: ; 0x021723f4 ldr ip, _021723fc ; =func_ov61_02166914 bx ip .align 2, 0 arm_func_end func_ov61_021723f4 _021723fc: .word func_ov61_02166914 .global func_ov61_02172400 arm_func_start func_ov61_02172400 func_ov61_02172400: ; 0x02172400 sub r3, r1, #6 mov r2, r0 cmp r3, #0 ble _02172460 _02172410: ldrsb r1, [r2] cmp r1, #0x5c ldreqsb r1, [r2, #1] cmpeq r1, #0x66 ldreqsb r1, [r2, #2] cmpeq r1, #0x69 ldreqsb r1, [r2, #3] cmpeq r1, #0x6e ldreqsb r1, [r2, #4] cmpeq r1, #0x61 ldreqsb r1, [r2, #5] cmpeq r1, #0x6c ldreqsb r1, [r2, #6] cmpeq r1, #0x5c moveq r0, r2 bxeq lr add r2, r2, #1 sub r1, r2, r0 cmp r1, r3 blt _02172410 _02172460: mov r0, #0 bx lr arm_func_end func_ov61_02172400 .global func_ov61_02172468 arm_func_start func_ov61_02172468 func_ov61_02172468: ; 0x02172468 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r3, _021724e8 ; =data_ov61_02181154 mov r7, r0 ldr r0, [r3, #4] mov r6, r1 cmp r0, #0 mov r5, r2 mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r4, #0 bl func_ov61_02165a68 cmp r0, #0 ble _021724e0 ldr r8, _021724e8 ; =data_ov61_02181154 _021724a0: ldr r0, [r8, #4] mov r1, r4 bl func_ov61_02165a70 ldr r1, [r0] cmp r1, r7 ldreq r1, [r0, #4] cmpeq r1, r6 ldreq r0, [r0, #8] cmpeq r0, r5 moveq r0, r4 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [r8, #4] add r4, r4, #1 bl func_ov61_02165a68 cmp r4, r0 blt _021724a0 _021724e0: mvn r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02172468 _021724e8: .word data_ov61_02181154 .global func_ov61_021724ec arm_func_start func_ov61_021724ec func_ov61_021724ec: ; 0x021724ec stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 ldr r1, _0217258c ; =data_ov61_0217dd7c mov r6, r0 bl func_ov61_021723dc bl func_0204902c mov r5, r0 ldr r1, _02172590 ; =data_ov61_0217dd84 mov r0, r6 bl func_ov61_021723dc bl func_0204902c mov r4, r0 ldr r1, _02172594 ; =data_ov61_0217dd88 mov r0, r6 bl func_ov61_021723dc mov r6, r0 mov r0, #0 mov r1, r4 mov r2, r0 bl func_ov61_02172468 mov r4, r0 mvn r0, #0 cmp r4, r0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, _02172598 ; =data_ov61_02181154 mov r1, r4 ldr r0, [r0, #4] bl func_ov61_02165a70 cmp r5, #0 movgt r1, #1 str r5, [r0, #8] mov r2, #0 movle r1, #0 mov r0, r4 mov r3, r6 str r2, [sp] bl func_ov61_02172914 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021724ec _0217258c: .word data_ov61_0217dd7c _02172590: .word data_ov61_0217dd84 _02172594: .word data_ov61_0217dd88 _02172598: .word data_ov61_02181154 .global func_ov61_0217259c arm_func_start func_ov61_0217259c func_ov61_0217259c: ; 0x0217259c stmdb sp!, {r3, r4, r5, lr} ldr r1, _0217261c ; =data_ov61_0217dd90 mov r5, r0 bl func_ov61_021723dc bl func_0204902c mov r4, r0 ldr r1, _02172620 ; =data_ov61_0217dd84 mov r0, r5 bl func_ov61_021723dc bl func_0204902c mov r1, r0 mov r0, #3 mov r2, #0 bl func_ov61_02172468 mov r5, r0 mvn r0, #0 cmp r5, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, _02172624 ; =data_ov61_02181154 mov r1, r5 ldr r0, [r0, #4] bl func_ov61_02165a70 cmp r4, #0 movgt r1, #1 mov r2, #0 str r4, [r0, #8] movle r1, #0 mov r0, r5 mov r3, r2 str r2, [sp] bl func_ov61_02172914 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0217259c _0217261c: .word data_ov61_0217dd90 _02172620: .word data_ov61_0217dd84 _02172624: .word data_ov61_02181154 .global func_ov61_02172628 arm_func_start func_ov61_02172628 func_ov61_02172628: ; 0x02172628 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 ldr r1, _021726f0 ; =data_ov61_0217dd98 mov r4, r0 bl func_ov61_021723dc bl func_0204902c mov r7, r0 ldr r1, _021726f4 ; =data_ov61_0217dd84 mov r0, r4 bl func_ov61_021723dc bl func_0204902c mov r6, r0 ldr r1, _021726f8 ; =data_ov61_0217dda0 mov r0, r4 bl func_ov61_021723dc bl func_0204902c mov r5, r0 ldr r1, _021726fc ; =data_ov61_0217dda4 mov r0, r4 bl func_ov61_021723dc bl func_0204902c mov r8, r0 mov r1, r6 mov r2, r5 mov r0, #1 bl func_ov61_02172468 mov r5, r0 mvn r0, #0 cmp r5, r0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r1, _02172700 ; =data_ov61_0217dda8 mov r0, r4 bl func_ov61_021723dc bl func_0204902c mov r6, r0 ldr r1, _02172704 ; =data_ov61_0217ddb0 mov r0, r4 bl func_020472f0 cmp r0, #0 ldreq r3, _02172708 ; =data_ov61_0217dd74 moveq r6, #0 addne r3, r0, #6 mov r0, r5 mov r1, r7 mov r2, r8 str r6, [sp] bl func_ov61_02172914 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02172628 _021726f0: .word data_ov61_0217dd98 _021726f4: .word data_ov61_0217dd84 _021726f8: .word data_ov61_0217dda0 _021726fc: .word data_ov61_0217dda4 _02172700: .word data_ov61_0217dda8 _02172704: .word data_ov61_0217ddb0 _02172708: .word data_ov61_0217dd74 .global func_ov61_0217270c arm_func_start func_ov61_0217270c func_ov61_0217270c: ; 0x0217270c stmdb sp!, {r3, r4, r5, r6, r7, lr} ldr r1, _02172794 ; =data_ov61_0217ddb8 mov r7, r0 bl func_ov61_021723dc bl func_0204902c mov r6, r0 ldr r1, _02172798 ; =data_ov61_0217dda0 mov r0, r7 bl func_ov61_021723dc bl func_0204902c mov r5, r0 ldr r1, _0217279c ; =data_ov61_0217dd84 mov r0, r7 bl func_ov61_021723dc bl func_0204902c mov r4, r0 ldr r1, _021727a0 ; =data_ov61_0217dda4 mov r0, r7 bl func_ov61_021723dc bl func_0204902c mov r1, r4 mov r4, r0 mov r2, r5 mov r0, #2 bl func_ov61_02172468 mvn r1, #0 cmp r0, r1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r3, #0 mov r1, r6 mov r2, r4 str r3, [sp] bl func_ov61_02172914 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0217270c _02172794: .word data_ov61_0217ddb8 _02172798: .word data_ov61_0217dda0 _0217279c: .word data_ov61_0217dd84 _021727a0: .word data_ov61_0217dda4 .global func_ov61_021727a4 arm_func_start func_ov61_021727a4 func_ov61_021727a4: ; 0x021727a4 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 ldr r1, _0217287c ; =data_ov61_0217ddc0 mov r5, r0 mov r3, #0 mov r2, #8 strb r3, [r5, r4] bl func_02047280 cmp r0, #0 bne _021727dc mov r0, r5 mov r1, r4 bl func_ov61_021724ec ldmia sp!, {r3, r4, r5, pc} _021727dc: ldr r1, _02172880 ; =data_ov61_0217ddcc mov r0, r5 mov r2, #9 bl func_02047280 cmp r0, #0 bne _02172804 mov r0, r5 mov r1, r4 bl func_ov61_0217259c ldmia sp!, {r3, r4, r5, pc} _02172804: ldr r1, _02172880 ; =data_ov61_0217ddcc mov r0, r5 mov r2, #9 bl func_02047280 cmp r0, #0 bne _0217282c mov r0, r5 mov r1, r4 bl func_ov61_0217259c ldmia sp!, {r3, r4, r5, pc} _0217282c: ldr r1, _02172884 ; =data_ov61_0217ddd8 mov r0, r5 mov r2, #8 bl func_02047280 cmp r0, #0 bne _02172854 mov r0, r5 mov r1, r4 bl func_ov61_02172628 ldmia sp!, {r3, r4, r5, pc} _02172854: ldr r1, _02172888 ; =data_ov61_0217dde4 mov r0, r5 mov r2, #8 bl func_02047280 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl func_ov61_0217270c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021727a4 _0217287c: .word data_ov61_0217ddc0 _02172880: .word data_ov61_0217ddcc _02172884: .word data_ov61_0217ddd8 _02172888: .word data_ov61_0217dde4 .global func_ov61_0217288c arm_func_start func_ov61_0217288c func_ov61_0217288c: ; 0x0217288c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov sb, r1 mov sl, r0 mov r7, sb bl func_ov61_02172400 mov r6, r0 ldr r5, _0217290c ; =data_ov61_0217dd54 ldr r4, _02172910 ; =data_ov61_0217dd08 b _021728f4 _021728b0: sub r8, r6, sl mov r0, sl mov r1, r8 str r5, [r4, #8] bl func_ov61_021722c0 mov r0, sl mov r1, r8 bl func_ov61_021727a4 add r0, r8, #7 sub sb, sb, r0 cmp sb, #0 add sl, r6, #7 ble _021728f4 mov r0, sl mov r1, sb bl func_ov61_02172400 mov r6, r0 _021728f4: cmp sb, #0 ble _02172904 cmp r6, #0 bne _021728b0 _02172904: sub r0, r7, sb ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_0217288c _0217290c: .word data_ov61_0217dd54 _02172910: .word data_ov61_0217dd08 .global func_ov61_02172914 arm_func_start func_ov61_02172914 func_ov61_02172914: ; 0x02172914 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 movs r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 addmi sp, sp, #0x14 ldmmiia sp!, {r4, r5, r6, r7, pc} ldr r0, _02172a14 ; =data_ov61_02181154 ldr r0, [r0, #4] bl func_ov61_02165a68 cmp r7, r0 addge sp, sp, #0x14 ldmgeia sp!, {r4, r5, r6, r7, pc} ldr r0, _02172a14 ; =data_ov61_02181154 mov r1, r7 ldr r0, [r0, #4] bl func_ov61_02165a70 mov r3, r0 ldr ip, [r3, #0x18] cmp ip, #0 beq _021729fc ldr r0, [r3] cmp r0, #3 addls pc, pc, r0, lsl #2 b _021729fc _0217297c: ; jump table b _0217298c ; case 0 b _021729a8 ; case 1 b _021729d0 ; case 2 b _021729ec ; case 3 _0217298c: ldr r0, [r3, #0x14] mov r2, r6 str r0, [sp] ldmib r3, {r0, r1} mov r3, r4 blx ip b _021729fc _021729a8: str r6, [sp] str r5, [sp, #4] ldr r0, [sp, #0x28] str r4, [sp, #8] str r0, [sp, #0xc] ldr r0, [r3, #0x14] str r0, [sp, #0x10] ldmib r3, {r0, r1, r2, r3} blx ip b _021729fc _021729d0: str r6, [sp] str r5, [sp, #4] ldr r0, [r3, #0x14] str r0, [sp, #8] ldmib r3, {r0, r1, r2, r3} blx ip b _021729fc _021729ec: ldmib r3, {r0, r1} ldr r3, [r3, #0x14] mov r2, r6 blx ip _021729fc: ldr r0, _02172a14 ; =data_ov61_02181154 mov r1, r7 ldr r0, [r0, #4] bl func_ov61_02165cec add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02172914 _02172a14: .word data_ov61_02181154 .global func_ov61_02172a18 arm_func_start func_ov61_02172a18 func_ov61_02172a18: ; 0x02172a18 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x24 ldr r0, _02172afc ; =data_ov61_02181154 ldr r0, [r0, #4] cmp r0, #0 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} bl func_ov61_02165a68 subs r4, r0, #1 bmi _02172adc ldr r5, _02172b00 ; =data_ov61_0217a360 add r3, sp, #4 mov r2, #8 _02172a4c: ldrb r1, [r5] ldrb r0, [r5, #1] add r5, r5, #2 strb r1, [r3] strb r0, [r3, #1] add r3, r3, #2 subs r2, r2, #1 bne _02172a4c ldr sb, _02172b04 ; =data_ov61_0217dd64 ldr r5, _02172b08 ; =data_ov61_0217dd08 add r8, sp, #0x14 mov r7, #0xf mov r6, #0 _02172a80: add ip, sp, #4 add r3, sp, #0x14 mov r2, #8 _02172a8c: ldrb r1, [ip] ldrb r0, [ip, #1] add ip, ip, #2 strb r1, [r3] strb r0, [r3, #1] add r3, r3, #2 subs r2, r2, #1 bne _02172a8c mov r0, r8 mov r1, r7 str sb, [r5, #8] bl func_ov61_021722c0 mov r0, r4 mov r1, r6 mov r2, r6 mov r3, r8 str r6, [sp] bl func_ov61_02172914 subs r4, r4, #1 bpl _02172a80 _02172adc: ldr r0, _02172afc ; =data_ov61_02181154 ldr r0, [r0, #4] bl func_ov61_021659fc ldr r0, _02172afc ; =data_ov61_02181154 mov r1, #0 str r1, [r0, #4] add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02172a18 _02172afc: .word data_ov61_02181154 _02172b00: .word data_ov61_0217a360 _02172b04: .word data_ov61_0217dd64 _02172b08: .word data_ov61_0217dd08 .global func_ov61_02172b0c arm_func_start func_ov61_02172b0c func_ov61_02172b0c: ; 0x02172b0c stmdb sp!, {r3, lr} cmp r0, #0 ldreq r0, _02172b38 ; =data_ov61_02181154 ldreq r0, [r0, #0x28] cmp r0, #0 moveq r0, r1 ldmeqia sp!, {r3, pc} ldr r0, [r0, #0x20] bl func_ov61_02165a70 ldr r0, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02172b0c _02172b38: .word data_ov61_02181154 .global func_ov61_02172b3c arm_func_start func_ov61_02172b3c func_ov61_02172b3c: ; 0x02172b3c stmdb sp!, {r3, lr} cmp r0, #0 ldreq r0, _02172b68 ; =data_ov61_02181154 ldreq r0, [r0, #0x28] cmp r0, #0 moveq r0, r1 ldmeqia sp!, {r3, pc} ldr r0, [r0, #0x1c] bl func_ov61_02165a70 ldr r0, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02172b3c _02172b68: .word data_ov61_02181154 .global func_ov61_02172b6c arm_func_start func_ov61_02172b6c func_ov61_02172b6c: ; 0x02172b6c stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, lr} movs r5, r0 ldreq r0, _02172bd0 ; =data_ov61_02181154 mov r4, r1 ldreq r5, [r0, #0x28] mov r3, r2 cmp r5, #0 addeq r0, sp, #0x1c beq _02172bc0 ldr r0, [r5, #0xc] add r2, sp, #0x1c mov r1, r4 blx r3 cmp r0, #0 bne _02172bc0 ldr r0, [r5, #0xc] add r3, sp, #0x1c mov r1, r4 mov r2, #0 bl func_ov61_02171b24 _02172bc0: ldr r0, [r0] ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov61_02172b6c _02172bd0: .word data_ov61_02181154 .global func_ov61_02172bd4 arm_func_start func_ov61_02172bd4 func_ov61_02172bd4: ; 0x02172bd4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, lr} movs r5, r0 ldreq r0, _02172c40 ; =data_ov61_02181154 mov r4, r1 ldreq r5, [r0, #0x28] mov r3, r2 cmp r5, #0 addeq r0, sp, #0x1c beq _02172c28 ldr r0, [r5, #0xc] add r2, sp, #0x1c mov r1, r4 blx r3 cmp r0, #0 bne _02172c28 ldr r0, [r5, #0xc] add r3, sp, #0x1c mov r1, r4 mov r2, #1 bl func_ov61_02171b24 _02172c28: ldr r2, [r0] ldr r1, [r0, #4] mov r0, r2 ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr .align 2, 0 arm_func_end func_ov61_02172bd4 _02172c40: .word data_ov61_02181154 .global func_ov61_02172c44 arm_func_start func_ov61_02172c44 func_ov61_02172c44: ; 0x02172c44 stmdb sp!, {r4, r5, r6, lr} movs r6, r0 ldreq r0, _02172c9c ; =data_ov61_02181154 mov r5, r1 ldreq r6, [r0, #0x28] mov r4, r3 cmp r6, #0 mov ip, r2 moveq r0, r4 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r6, #0xc] mov r1, r5 mov r2, r4 blx ip cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r0, [r6, #0xc] mov r1, r5 mov r3, r4 mov r2, #2 bl func_ov61_02171b24 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02172c44 _02172c9c: .word data_ov61_02181154 .global func_ov61_02172ca0 arm_func_start func_ov61_02172ca0 func_ov61_02172ca0: ; 0x02172ca0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x44 mov r6, r1 ldr r1, [sp, #0x58] mov r7, r0 mov r5, r2 mov r4, r3 bl func_ov61_02172b0c mov r3, r0 ldr r1, _02172cf8 ; =data_ov61_0217ddf0 add r0, sp, #4 mov r2, r6 bl func_020459b8 ldr ip, [sp, #0x58] mov r0, r7 mov r2, r5 mov r3, r4 add r1, sp, #4 str ip, [sp] bl func_ov61_02172b6c add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02172ca0 _02172cf8: .word data_ov61_0217ddf0 .global func_ov61_02172cfc arm_func_start func_ov61_02172cfc func_ov61_02172cfc: ; 0x02172cfc stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x48 mov r7, r1 ldr r1, [sp, #0x64] mov r8, r0 mov r6, r2 mov r5, r3 ldr r4, [sp, #0x60] bl func_ov61_02172b0c mov r3, r0 ldr r1, _02172d58 ; =data_ov61_0217ddf0 add r0, sp, #8 mov r2, r7 bl func_020459b8 ldr ip, [sp, #0x64] mov r3, r5 mov r0, r8 mov r2, r6 add r1, sp, #8 stmia sp, {r4, ip} bl func_ov61_02172bd4 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02172cfc _02172d58: .word data_ov61_0217ddf0 .global func_ov61_02172d5c arm_func_start func_ov61_02172d5c func_ov61_02172d5c: ; 0x02172d5c stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x44 mov r6, r1 ldr r1, [sp, #0x58] mov r7, r0 mov r5, r2 mov r4, r3 bl func_ov61_02172b0c mov r3, r0 ldr r1, _02172db4 ; =data_ov61_0217ddf0 add r0, sp, #4 mov r2, r6 bl func_020459b8 ldr ip, [sp, #0x58] mov r0, r7 mov r2, r5 mov r3, r4 add r1, sp, #4 str ip, [sp] bl func_ov61_02172c44 add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02172d5c _02172db4: .word data_ov61_0217ddf0 .global func_ov61_02172db8 arm_func_start func_ov61_02172db8 func_ov61_02172db8: ; 0x02172db8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x44 mov r6, r1 ldr r1, [sp, #0x58] mov r7, r0 mov r5, r2 mov r4, r3 bl func_ov61_02172b3c mov r3, r0 ldr r1, _02172e10 ; =data_ov61_0217ddf8 add r0, sp, #4 mov r2, r6 bl func_020459b8 ldr ip, [sp, #0x58] mov r0, r7 mov r2, r5 mov r3, r4 add r1, sp, #4 str ip, [sp] bl func_ov61_02172b6c add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02172db8 _02172e10: .word data_ov61_0217ddf8 .global func_ov61_02172e14 arm_func_start func_ov61_02172e14 func_ov61_02172e14: ; 0x02172e14 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x48 mov r7, r1 ldr r1, [sp, #0x64] mov r8, r0 mov r6, r2 mov r5, r3 ldr r4, [sp, #0x60] bl func_ov61_02172b3c mov r3, r0 ldr r1, _02172e70 ; =data_ov61_0217ddf8 add r0, sp, #8 mov r2, r7 bl func_020459b8 ldr ip, [sp, #0x64] mov r3, r5 mov r0, r8 mov r2, r6 add r1, sp, #8 stmia sp, {r4, ip} bl func_ov61_02172bd4 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02172e14 _02172e70: .word data_ov61_0217ddf8 .global func_ov61_02172e74 arm_func_start func_ov61_02172e74 func_ov61_02172e74: ; 0x02172e74 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x44 mov r6, r1 ldr r1, [sp, #0x58] mov r7, r0 mov r5, r2 mov r4, r3 bl func_ov61_02172b3c mov r3, r0 ldr r1, _02172ecc ; =data_ov61_0217ddf8 add r0, sp, #4 mov r2, r6 bl func_020459b8 ldr ip, [sp, #0x58] mov r0, r7 mov r2, r5 mov r3, r4 add r1, sp, #4 str ip, [sp] bl func_ov61_02172c44 add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02172e74 _02172ecc: .word data_ov61_0217ddf8 .global func_ov61_02172ed0 arm_func_start func_ov61_02172ed0 func_ov61_02172ed0: ; 0x02172ed0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldrb r5, [r0] mov lr, #0 mov r4, #1 and r6, r5, #1 mov r3, lr mov ip, r4 mov r1, lr mov r2, r4 _02172ef4: add r7, r0, r4 ldrb sl, [r7, #-1] cmp sl, r5 eor sl, r4, sl movlo r8, ip and sl, sl, #1 movhs r8, r3 cmp r5, #0x4f movlo sb, r2 eor sl, lr, sl movhs sb, r1 eor sl, r6, sl eor sb, sl, sb eors lr, sb, r8 beq _02172f3c ldrb r8, [r7] tst r8, #1 beq _02172f50 _02172f3c: cmp lr, #0 ldreqb r7, [r7] andeq r7, r7, #1 cmpeq r7, #1 bne _02172f58 _02172f50: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02172f58: add r4, r4, #1 cmp r4, #0x20 blt _02172ef4 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} arm_func_end func_ov61_02172ed0 .global func_ov61_02172f6c arm_func_start func_ov61_02172f6c func_ov61_02172f6c: ; 0x02172f6c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} movs sl, r0 bne _02172f8c ldr r0, _02173078 ; =data_ov61_0217de38 ldr r1, _0217307c ; =data_ov61_0217de40 ldr r2, _02173080 ; =data_ov61_0217de00 mov r3, #0x2b bl func_02042f80 _02172f8c: bl func_ov61_021665e8 bl func_02045b7c bl func_02045b48 ldr r5, _02173084 ; =0x2c0b02c1 mov r1, r0, lsr #0x1f smull r2, r4, r5, r0 mov r8, #0 mov r7, #1 add r4, r1, r4, asr #4 mov r3, #0x5d smull r1, r2, r3, r4 sub r4, r0, r1 add r0, r4, #0x21 strb r0, [sl] mov fp, r8 mov r6, r7 mov r4, r3 _02172fd0: add sb, sl, r7 ldrb r3, [sb, #-1] ldrb r0, [sl] cmp r3, r0 eor r3, r7, r3 movlo r1, r6 and r3, r3, #1 movhs r1, fp cmp r0, #0x4f movlo r2, #1 and r0, r0, #1 eor r3, r8, r3 movhs r2, #0 eor r0, r0, r3 eor r0, r0, r2 eor r8, r0, r1 bl func_02045b48 smull r2, r3, r5, r0 mov r1, r0, lsr #0x1f add r3, r1, r3, asr #4 smull r1, r2, r4, r3 sub r3, r0, r1 add r0, r3, #0x21 cmp r8, #0 strb r0, [sb] beq _02173044 ldrb r0, [sb] tst r0, #1 beq _02173058 _02173044: cmp r8, #0 ldreqb r0, [sb] andeq r0, r0, #1 cmpeq r0, #1 bne _02173064 _02173058: ldrb r0, [sb] add r0, r0, #1 strb r0, [sb] _02173064: add r7, r7, #1 cmp r7, #0x20 blt _02172fd0 mov r0, sl ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02172f6c _02173078: .word data_ov61_0217de38 _0217307c: .word data_ov61_0217de40 _02173080: .word data_ov61_0217de00 _02173084: .word 0x2c0b02c1 .global func_ov61_02173088 arm_func_start func_ov61_02173088 func_ov61_02173088: ; 0x02173088 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} mov r5, r0 ldr r0, _02173188 ; =data_ov61_0217de14 mov r4, r1 bl func_02047008 mov r7, r0 mov r0, r4 bl func_ov61_02172ed0 mov sl, #0 mov fp, r0 mov r8, sl _021730b4: cmp fp, #0 cmpne sl, #0 cmpne sl, #0xd bne _021730ec bl func_02045b48 ldr r1, _0217318c ; =0x2c0b02c1 mov r2, r0, lsr #0x1f smull r3, r6, r1, r0 add r6, r2, r6, asr #4 mov r1, #0x5d smull r2, r3, r1, r6 sub r6, r0, r2 add r0, r6, #0x21 b _02173168 _021730ec: cmp sl, #1 cmpne sl, #0xe ldreqsb r6, [r4, sl] addne r0, r4, sl ldrb sb, [r4, sl] ldrnesb r6, [r0, #-1] mov r1, r7 add r0, sl, sb bl func_02002c14 mul r0, r6, r8 mov r6, r1 mov r1, r7 bl func_02002c14 ldr r0, _02173188 ; =data_ov61_0217de14 ldrsb r3, [r0, r6] ldrsb r2, [r0, r1] mla r0, sl, sb, r3 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #27 add r0, r1, r0, ror #27 ldrb r0, [r4, r0] eor r0, r0, r2 bl func_02042f68 ldr r1, _0217318c ; =0x2c0b02c1 smull r2, r3, r1, r0 mov r1, r0, lsr #0x1f add r3, r1, r3, asr #4 mov r1, #0x5d smull r2, r3, r1, r3 sub r3, r0, r2 add r0, r3, #0x21 _02173168: strb r0, [r5, sl] add r0, r8, #0x47 add sl, sl, #1 cmp sl, #0x20 add r8, r0, #0x4600 blt _021730b4 mov r0, r5 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02173088 _02173188: .word data_ov61_0217de14 _0217318c: .word 0x2c0b02c1 .global func_ov61_02173190 arm_func_start func_ov61_02173190 func_ov61_02173190: ; 0x02173190 mov ip, #0 _02173194: cmp ip, #0 cmpne ip, #0xd ldrneb r3, [r0, ip] ldrneb r2, [r1, ip] cmpne r3, r2 movne r0, #0 bxne lr add ip, ip, #1 cmp ip, #0x20 blt _02173194 mov r0, #1 bx lr arm_func_end func_ov61_02173190 .global func_ov61_021731c4 arm_func_start func_ov61_021731c4 func_ov61_021731c4: ; 0x021731c4 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r5, r0 mov r0, r4 bl func_ov61_0213e10c str r0, [r5] cmp r0, #0 moveq r0, #0 strne r4, [r5, #4] movne r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_021731c4 .global func_ov61_021731f0 arm_func_start func_ov61_021731f0 func_ov61_021731f0: ; 0x021731f0 ldr r1, [r0, #4] ldr r0, [r0, #8] sub r0, r1, r0 bx lr arm_func_end func_ov61_021731f0 .global func_ov61_02173200 arm_func_start func_ov61_02173200 func_ov61_02173200: ; 0x02173200 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldmib r5, {r0, r2} mov r4, r1 cmp r2, r0 blt _0217322c ldr r0, _02173244 ; =data_ov61_0217dea0 ldr r1, _02173248 ; =data_ov61_0217debc ldr r2, _0217324c ; =data_ov61_0217de74 mov r3, #0x23 bl func_02042f80 _0217322c: ldr r1, [r5, #8] add r0, r1, #1 str r0, [r5, #8] ldr r0, [r5] strb r4, [r0, r1] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02173200 _02173244: .word data_ov61_0217dea0 _02173248: .word data_ov61_0217debc _0217324c: .word data_ov61_0217de74 .global func_ov61_02173250 arm_func_start func_ov61_02173250 func_ov61_02173250: ; 0x02173250 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldmib r5, {r0, r2} add r2, r2, #2 mov r4, r1 cmp r2, r0 ble _02173280 ldr r0, _021732b0 ; =data_ov61_0217dec8 ldr r1, _021732b4 ; =data_ov61_0217debc ldr r2, _021732b8 ; =data_ov61_0217de88 mov r3, #0x2e bl func_02042f80 _02173280: ldr r2, [r5, #8] mov r1, r4, asr #0x8 add r0, r2, #1 str r0, [r5, #8] ldr r0, [r5] strb r1, [r0, r2] ldr r1, [r5, #8] add r0, r1, #1 str r0, [r5, #8] ldr r0, [r5] strb r4, [r0, r1] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02173250 _021732b0: .word data_ov61_0217dec8 _021732b4: .word data_ov61_0217debc _021732b8: .word data_ov61_0217de88 .global func_ov61_021732bc arm_func_start func_ov61_021732bc func_ov61_021732bc: ; 0x021732bc stmdb sp!, {r4, r5, r6, lr} movs r5, r1 mov r4, r2 mov r6, r0 cmpne r4, #0 ldmeqia sp!, {r4, r5, r6, pc} mvn r0, #0 cmp r4, r0 bne _021732ec mov r0, r5 bl func_02047008 mov r4, r0 _021732ec: ldmib r6, {r0, r1} add r1, r1, r4 cmp r1, r0 ble _02173310 ldr r0, _02173338 ; =data_ov61_0217deec ldr r1, _0217333c ; =data_ov61_0217debc ldr r2, _02173340 ; =data_ov61_0217de60 mov r3, #0x40 bl func_02042f80 _02173310: ldr r3, [r6] ldr r0, [r6, #8] mov r1, r5 mov r2, r4 add r0, r3, r0 bl func_02043594 ldr r0, [r6, #8] add r0, r0, r4 str r0, [r6, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021732bc _02173338: .word data_ov61_0217deec _0217333c: .word data_ov61_0217debc _02173340: .word data_ov61_0217de60 .global func_ov61_02173344 arm_func_start func_ov61_02173344 func_ov61_02173344: ; 0x02173344 stmdb sp!, {r4, r5, r6, lr} mov r5, r1 mvn r1, #0 mov r6, r0 cmp r5, r1 ldreq r0, [r6, #8] mov r4, r2 subeq r5, r0, r4 ldr r0, [r6, #8] cmp r5, r0 ble _02173384 ldr r0, _021733d4 ; =data_ov61_0217df10 ldr r1, _021733d8 ; =data_ov61_0217debc ldr r2, _021733dc ; =data_ov61_0217de4c mov r3, #0x4f bl func_02042f80 _02173384: ldr r0, [r6, #8] sub r0, r0, r5 cmp r4, r0 ble _021733a8 ldr r0, _021733e0 ; =data_ov61_0217df28 ldr r1, _021733d8 ; =data_ov61_0217debc ldr r2, _021733dc ; =data_ov61_0217de4c mov r3, #0x50 bl func_02042f80 _021733a8: ldr r0, [r6] ldr r1, [r6, #8] add r0, r0, r5 sub r2, r1, r5 add r1, r0, r4 sub r2, r2, r4 bl func_020435b4 ldr r0, [r6, #8] sub r0, r0, r4 str r0, [r6, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02173344 _021733d4: .word data_ov61_0217df10 _021733d8: .word data_ov61_0217debc _021733dc: .word data_ov61_0217de4c _021733e0: .word data_ov61_0217df28 .global func_ov61_021733e4 arm_func_start func_ov61_021733e4 func_ov61_021733e4: ; 0x021733e4 stmdb sp!, {r4, lr} movs r4, r0 bne _02173404 ldr r0, _02173474 ; =data_ov61_0217e040 ldr r1, _02173478 ; =data_ov61_0217e048 ldr r2, _0217347c ; =data_ov61_0217dfd0 mov r3, #0x1b bl func_02042f80 _02173404: cmp r4, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x24] cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} ldr r1, [r4, #0x1c] mov r0, r4 add r1, r1, #1 str r1, [r4, #0x1c] ldr r1, [r4, #0x24] blx r1 ldr r0, [r4, #0x1c] sub r0, r0, #1 str r0, [r4, #0x1c] ldr r0, [r4, #0x14] cmp r0, #0 beq _0217346c ldr r0, [r4, #0x1c] cmp r0, #0 bne _0217346c mov r0, r4 bl func_ov61_021763c4 mov r0, #0 ldmia sp!, {r4, pc} _0217346c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021733e4 _02173474: .word data_ov61_0217e040 _02173478: .word data_ov61_0217e048 _0217347c: .word data_ov61_0217dfd0 .global func_ov61_02173480 arm_func_start func_ov61_02173480 func_ov61_02173480: ; 0x02173480 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc mov r6, r1 movs r7, r0 mov r5, r2 mov r4, r3 cmpne r6, #0 bne _021734b4 ldr r0, _02173590 ; =data_ov61_0217e058 ldr r1, _02173594 ; =data_ov61_0217e048 ldr r2, _02173598 ; =data_ov61_0217e004 mov r3, #0x3d bl func_02042f80 _021734b4: cmp r7, #0 cmpne r6, #0 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r0, [r7, #0x20] cmp r0, #0 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r1, [r7, #0x1c] ldr r0, [sp, #0x28] add r1, r1, #1 cmp r0, #0 ldrne r0, [sp, #0x24] str r1, [r7, #0x1c] ldr r2, [r6, #0x24] cmpne r0, #0 moveq r0, #0 streq r0, [sp, #0x24] streq r0, [sp, #0x28] add r2, r2, #1 str r2, [r6, #0x24] ldr r0, [sp, #0x20] ldr r1, [sp, #0x24] str r0, [sp] str r1, [sp, #4] ldr r0, [sp, #0x28] mov r1, r6 str r0, [sp, #8] ldr ip, [r7, #0x20] mov r0, r7 mov r2, r5 mov r3, r4 blx ip ldr r0, [r7, #0x1c] sub r0, r0, #1 str r0, [r7, #0x1c] ldr r0, [r6, #0x24] sub r0, r0, #1 str r0, [r6, #0x24] ldr r0, [r7, #0x14] cmp r0, #0 beq _02173584 ldr r0, [r7, #0x1c] cmp r0, #0 bne _02173584 mov r0, r7 bl func_ov61_021763c4 add sp, sp, #0xc mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _02173584: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02173480 _02173590: .word data_ov61_0217e058 _02173594: .word data_ov61_0217e048 _02173598: .word data_ov61_0217e004 .global func_ov61_0217359c arm_func_start func_ov61_0217359c func_ov61_0217359c: ; 0x0217359c stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bne _021735c8 ldr r0, _02173678 ; =data_ov61_0217e070 ldr r1, _0217367c ; =data_ov61_0217e048 ldr r2, _02173680 ; =data_ov61_0217dfa0 mov r3, #0x69 bl func_02042f80 _021735c8: cmp r7, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} str r6, [r7, #0x18] ldr r0, [r7, #0x28] cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r7, #0x24] cmp r4, #0 add r1, r1, #1 str r1, [r7, #0x24] ldr ip, [r7, #8] cmpne r5, #0 ldr r3, [ip, #0x1c] moveq r5, #0 add r3, r3, #1 str r3, [ip, #0x1c] moveq r4, r5 mov r2, r5 ldr r5, [r7, #0x28] mov r0, r7 mov r1, r6 mov r3, r4 blx r5 ldr r0, [r7, #0x24] sub r0, r0, #1 str r0, [r7, #0x24] ldr r1, [r7, #8] ldr r0, [r1, #0x1c] sub r0, r0, #1 str r0, [r1, #0x1c] ldr r0, [r7, #8] ldr r1, [r0, #0x14] cmp r1, #0 beq _02173670 ldr r1, [r0, #0x1c] cmp r1, #0 bne _02173670 bl func_ov61_021763c4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02173670: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0217359c _02173678: .word data_ov61_0217e070 _0217367c: .word data_ov61_0217e048 _02173680: .word data_ov61_0217dfa0 .global func_ov61_02173684 arm_func_start func_ov61_02173684 func_ov61_02173684: ; 0x02173684 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bne _021736b0 ldr r0, _0217375c ; =data_ov61_0217e070 ldr r1, _02173760 ; =data_ov61_0217e048 ldr r2, _02173764 ; =data_ov61_0217df88 mov r3, #0x94 bl func_02042f80 _021736b0: cmp r7, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r7, #0x2c] cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, [r7, #0x24] cmp r5, #0 add r1, r1, #1 str r1, [r7, #0x24] ldr ip, [r7, #8] cmpne r6, #0 ldr r3, [ip, #0x1c] moveq r6, #0 add r3, r3, #1 moveq r5, r6 str r3, [ip, #0x1c] mov r2, r5 ldr r5, [r7, #0x2c] mov r0, r7 mov r1, r6 mov r3, r4 blx r5 ldr r0, [r7, #0x24] sub r0, r0, #1 str r0, [r7, #0x24] ldr r1, [r7, #8] ldr r0, [r1, #0x1c] sub r0, r0, #1 str r0, [r1, #0x1c] ldr r0, [r7, #8] ldr r1, [r0, #0x14] cmp r1, #0 beq _02173754 ldr r1, [r0, #0x1c] cmp r1, #0 bne _02173754 bl func_ov61_021763c4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02173754: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02173684 _0217375c: .word data_ov61_0217e070 _02173760: .word data_ov61_0217e048 _02173764: .word data_ov61_0217df88 .global func_ov61_02173768 arm_func_start func_ov61_02173768 func_ov61_02173768: ; 0x02173768 stmdb sp!, {r3, r4, r5, lr} movs r4, r0 mov r5, r1 bne _0217378c ldr r0, _02173820 ; =data_ov61_0217e070 ldr r1, _02173824 ; =data_ov61_0217e048 ldr r2, _02173828 ; =data_ov61_0217df74 mov r3, #0xba bl func_02042f80 _0217378c: cmp r4, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #0x30] cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0x24] mov r0, r4 add r1, r1, #1 str r1, [r4, #0x24] ldr r3, [r4, #8] mov r1, r5 ldr r2, [r3, #0x1c] add r2, r2, #1 str r2, [r3, #0x1c] ldr r2, [r4, #0x30] blx r2 ldr r0, [r4, #0x24] sub r0, r0, #1 str r0, [r4, #0x24] ldr r1, [r4, #8] ldr r0, [r1, #0x1c] sub r0, r0, #1 str r0, [r1, #0x1c] ldr r0, [r4, #8] ldr r1, [r0, #0x14] cmp r1, #0 beq _02173818 ldr r1, [r0, #0x1c] cmp r1, #0 bne _02173818 bl func_ov61_021763c4 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _02173818: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02173768 _02173820: .word data_ov61_0217e070 _02173824: .word data_ov61_0217e048 _02173828: .word data_ov61_0217df74 .global func_ov61_0217382c arm_func_start func_ov61_0217382c func_ov61_0217382c: ; 0x0217382c stmdb sp!, {r3, r4, r5, lr} movs r4, r0 mov r5, r1 bne _02173850 ldr r0, _021738e4 ; =data_ov61_0217e070 ldr r1, _021738e8 ; =data_ov61_0217e048 ldr r2, _021738ec ; =data_ov61_0217df60 mov r3, #0xd9 bl func_02042f80 _02173850: cmp r4, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #0x34] cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0x24] mov r0, r4 add r1, r1, #1 str r1, [r4, #0x24] ldr r3, [r4, #8] mov r1, r5 ldr r2, [r3, #0x1c] add r2, r2, #1 str r2, [r3, #0x1c] ldr r2, [r4, #0x34] blx r2 ldr r0, [r4, #0x24] sub r0, r0, #1 str r0, [r4, #0x24] ldr r1, [r4, #8] ldr r0, [r1, #0x1c] sub r0, r0, #1 str r0, [r1, #0x1c] ldr r0, [r4, #8] ldr r1, [r0, #0x14] cmp r1, #0 beq _021738dc ldr r1, [r0, #0x1c] cmp r1, #0 bne _021738dc bl func_ov61_021763c4 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _021738dc: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_0217382c _021738e4: .word data_ov61_0217e070 _021738e8: .word data_ov61_0217e048 _021738ec: .word data_ov61_0217df60 .global func_ov61_021738f0 arm_func_start func_ov61_021738f0 func_ov61_021738f0: ; 0x021738f0 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bne _0217391c ldr r0, _021739d8 ; =data_ov61_0217e070 ldr r1, _021739dc ; =data_ov61_0217e048 ldr r2, _021739e0 ; =data_ov61_0217dfb8 ldr r3, _021739e4 ; =0x00000101 bl func_02042f80 _0217391c: cmp r7, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r7, #0x98] mov r1, r6 bl func_ov61_02165a70 movs lr, r0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r7, #0x24] cmp r4, #0 add r0, r0, #1 str r0, [r7, #0x24] ldr ip, [r7, #8] cmpne r5, #0 ldr r3, [ip, #0x1c] moveq r5, #0 add r3, r3, #1 ldr r2, [sp, #0x18] str r3, [ip, #0x1c] str r2, [sp] moveq r4, r5 mov r1, r6 ldr r6, [lr] mov r0, r7 mov r2, r5 mov r3, r4 blx r6 ldr r0, [r7, #0x24] sub r0, r0, #1 str r0, [r7, #0x24] ldr r1, [r7, #8] ldr r0, [r1, #0x1c] sub r0, r0, #1 str r0, [r1, #0x1c] ldr r0, [r7, #8] ldr r1, [r0, #0x14] cmp r1, #0 beq _021739d0 ldr r1, [r0, #0x1c] cmp r1, #0 bne _021739d0 bl func_ov61_021763c4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021739d0: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021738f0 _021739d8: .word data_ov61_0217e070 _021739dc: .word data_ov61_0217e048 _021739e0: .word data_ov61_0217dfb8 _021739e4: .word 0x00000101 .global func_ov61_021739e8 arm_func_start func_ov61_021739e8 func_ov61_021739e8: ; 0x021739e8 stmdb sp!, {r3, r4, r5, r6, r7, lr} movs r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bne _02173a14 ldr r0, _02173ad0 ; =data_ov61_0217e070 ldr r1, _02173ad4 ; =data_ov61_0217e048 ldr r2, _02173ad8 ; =data_ov61_0217dfe8 ldr r3, _02173adc ; =0x0000012d bl func_02042f80 _02173a14: cmp r7, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r7, #0x9c] mov r1, r6 bl func_ov61_02165a70 movs lr, r0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r7, #0x24] cmp r4, #0 add r0, r0, #1 str r0, [r7, #0x24] ldr ip, [r7, #8] cmpne r5, #0 ldr r3, [ip, #0x1c] moveq r5, #0 add r3, r3, #1 ldr r2, [sp, #0x18] str r3, [ip, #0x1c] str r2, [sp] moveq r4, r5 mov r1, r6 ldr r6, [lr] mov r0, r7 mov r2, r5 mov r3, r4 blx r6 ldr r0, [r7, #0x24] sub r0, r0, #1 str r0, [r7, #0x24] ldr r1, [r7, #8] ldr r0, [r1, #0x1c] sub r0, r0, #1 str r0, [r1, #0x1c] ldr r0, [r7, #8] ldr r1, [r0, #0x14] cmp r1, #0 beq _02173ac8 ldr r1, [r0, #0x1c] cmp r1, #0 bne _02173ac8 bl func_ov61_021763c4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02173ac8: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021739e8 _02173ad0: .word data_ov61_0217e070 _02173ad4: .word data_ov61_0217e048 _02173ad8: .word data_ov61_0217dfe8 _02173adc: .word 0x0000012d .global func_ov61_02173ae0 arm_func_start func_ov61_02173ae0 func_ov61_02173ae0: ; 0x02173ae0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc movs r7, r0 mov r6, r1 mov r5, r2 mov r4, r3 bne _02173b10 ldr r0, _02173bf8 ; =data_ov61_0217e040 ldr r1, _02173bfc ; =data_ov61_0217e048 ldr r2, _02173c00 ; =data_ov61_0217df4c mov r3, #0x160 bl func_02042f80 _02173b10: cmp r7, #0 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r0, [sp, #0x2c] cmp r0, #0 ldrne ip, [r7, #0x28] ldreq ip, [r7, #0x2c] cmp ip, #0 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r0, [sp, #0x28] ldr r1, [sp, #0x20] cmp r0, #0 ldrne r0, [sp, #0x24] mov r2, r5 cmpne r0, #0 moveq r0, #0 streq r0, [sp, #0x28] streq r0, [sp, #0x24] ldr r0, [r7, #0x1c] cmp r6, #0 add r0, r0, #1 str r0, [r7, #0x1c] ldrne r0, [r6, #0x24] ldr lr, [sp, #0x28] addne r0, r0, #1 strne r0, [r6, #0x24] str r1, [sp] ldr r0, [sp, #0x24] mov r1, r6 str r0, [sp, #4] mov r0, r7 mov r3, r4 str lr, [sp, #8] blx ip ldr r0, [r7, #0x1c] cmp r6, #0 sub r0, r0, #1 str r0, [r7, #0x1c] ldrne r0, [r6, #0x24] subne r0, r0, #1 strne r0, [r6, #0x24] ldr r0, [r7, #0x14] cmp r0, #0 beq _02173bec ldr r0, [r7, #0x1c] cmp r0, #0 bne _02173bec mov r0, r7 bl func_ov61_021763c4 add sp, sp, #0xc mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _02173bec: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02173ae0 _02173bf8: .word data_ov61_0217e040 _02173bfc: .word data_ov61_0217e048 _02173c00: .word data_ov61_0217df4c .global func_ov61_02173c04 arm_func_start func_ov61_02173c04 func_ov61_02173c04: ; 0x02173c04 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 ldr r4, [sp, #0x24] movs r8, r0 mov r0, #0 mov r7, r1 mov r6, r2 mov r5, r3 str r0, [r4] bne _02173c40 ldr r0, _02173cec ; =data_ov61_0217e040 ldr r1, _02173cf0 ; =data_ov61_0217e048 ldr r2, _02173cf4 ; =data_ov61_0217e020 ldr r3, _02173cf8 ; =0x00000197 bl func_02042f80 _02173c40: cmp r8, #0 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, [r8, #0x30] cmp r0, #0 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, [sp, #0x20] ldr r1, [r8, #0x1c] cmp r0, #0 cmpne r5, #0 moveq r5, #0 streq r5, [sp, #0x20] add r1, r1, #1 str r1, [r8, #0x1c] ldr r0, [sp, #0x20] mov r1, r7 str r0, [sp] ldr ip, [r8, #0x30] mov r0, r8 mov r2, r6 mov r3, r5 blx ip str r0, [r4] ldr r0, [r8, #0x1c] sub r0, r0, #1 str r0, [r8, #0x1c] ldr r0, [r8, #0x14] cmp r0, #0 beq _02173ce0 ldr r0, [r8, #0x1c] cmp r0, #0 bne _02173ce0 mov r0, r8 bl func_ov61_021763c4 add sp, sp, #4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02173ce0: mov r0, #1 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02173c04 _02173cec: .word data_ov61_0217e040 _02173cf0: .word data_ov61_0217e048 _02173cf4: .word data_ov61_0217e020 _02173cf8: .word 0x00000197 .global func_ov61_02173cfc arm_func_start func_ov61_02173cfc func_ov61_02173cfc: ; 0x02173cfc stmdb sp!, {r4, lr} mov r4, r1 bl func_ov61_02176420 cmp r0, #0 ldmneia sp!, {r4, pc} ldr r1, [r4] mov r0, #0 str r0, [r1, #0xc] ldr r1, [r4] mov r2, #1 str r2, [r1, #0x10] ldmia sp!, {r4, pc} arm_func_end func_ov61_02173cfc .global func_ov61_02173d2c arm_func_start func_ov61_02173d2c func_ov61_02173d2c: ; 0x02173d2c stmdb sp!, {r4, lr} mov r4, r1 bl func_ov61_02176420 cmp r0, #0 ldmneia sp!, {r4, pc} ldr r0, [r4] mov r1, #2 str r1, [r0, #0xc] ldr r1, [r4] mov r0, #0 str r0, [r1, #0x10] ldmia sp!, {r4, pc} arm_func_end func_ov61_02173d2c .global func_ov61_02173d5c arm_func_start func_ov61_02173d5c func_ov61_02173d5c: ; 0x02173d5c stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r5, r0 add r0, sp, #0x34 add r1, sp, #0x38 mov r4, r3 bl func_ov61_02176bd8 ldr r0, [sp, #0x38] cmp r0, #0 ble _02173dbc bl func_ov61_0213e10c cmp r0, #0 str r0, [r5, #0x38] addeq sp, sp, #0x20 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, lr} addeq sp, sp, #0x10 bxeq lr ldr r1, [sp, #0x34] ldr r2, [sp, #0x38] bl func_02043594 ldr r0, [sp, #0x38] str r0, [r5, #0x3c] _02173dbc: cmp r4, #0 addne ip, r5, #0x28 ldmneia r4, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} add r0, sp, #0 bl func_ov61_02172f6c add r1, sp, #0 add r0, r5, #0x68 bl func_ov61_02173088 add r1, sp, #0 mov r0, r5 bl func_ov61_02175b60 mov r0, #0 str r0, [r5, #0xc] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_02173d5c .global func_ov61_02173e04 arm_func_start func_ov61_02173e04 func_ov61_02173e04: ; 0x02173e04 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r2, [r5, #0x14] mov r4, r1 cmp r2, #0 movne r0, #0 strne r0, [r5, #0x14] ldmneia sp!, {r3, r4, r5, pc} mov r2, #0 str r2, [r5, #0x14] ldr r1, [r5, #0xc] cmp r1, #4 movne r0, r2 ldmneia sp!, {r3, r4, r5, pc} bl func_ov61_02175cc4 mov r0, #5 cmp r4, #0 str r0, [r5, #0xc] addne ip, r5, #0x28 ldmneia r4, {r0, r1, r2, r3} stmneia ip, {r0, r1, r2, r3} mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02173e04 .global func_ov61_02173e60 arm_func_start func_ov61_02173e60 func_ov61_02173e60: ; 0x02173e60 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 str r0, [r4, #0x14] ldr r0, [r4, #0xc] cmp r0, #4 ldmneia sp!, {r4, lr} addne sp, sp, #0x10 bxne lr add r0, sp, #0xc add r1, sp, #0x10 bl func_ov61_02176bd8 ldr r1, [sp, #0xc] ldr r2, [sp, #0x10] mov r0, r4 bl func_ov61_02175d20 mov r0, #6 str r0, [r4, #0xc] ldmia sp!, {r4, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_02173e60 .global func_ov61_02173eb8 arm_func_start func_ov61_02173eb8 func_ov61_02173eb8: ; 0x02173eb8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 str r2, [sp] mov r3, r1 ldrh r2, [r4, #4] ldr r0, [r4, #8] ldr r1, [r4] bl func_ov61_021766f4 cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} bl func_ov61_021665e8 str r0, [r4, #0x88] mov r0, #1 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_02173eb8 .global func_ov61_02173f00 arm_func_start func_ov61_02173f00 func_ov61_02173f00: ; 0x02173f00 stmdb sp!, {r4, lr} mov r4, r0 ldr r2, [r4, #0xc] cmp r2, #5 bge _02173f98 ldr r0, [r4, #0x10] mov r3, #0 cmp r0, #0 beq _02173f44 ldr r2, [r4, #0x20] cmp r2, #0 beq _02173f60 ldr r0, [r4, #0x1c] sub r0, r1, r0 cmp r0, r2 movhi r3, #1 b _02173f60 _02173f44: cmp r2, #4 bge _02173f60 ldr r2, [r4, #0x1c] ldr r0, _02173fa0 ; =0x0000ea60 sub r1, r1, r2 cmp r1, r0 movhi r3, #1 _02173f60: cmp r3, #0 beq _02173f98 mov r0, r4 bl func_ov61_02176018 mov r0, r4 bl func_ov61_02174138 mov r2, #0 mov r0, r4 mov r3, r2 mov r1, #6 bl func_ov61_0217359c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _02173f98: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02173f00 _02173fa0: .word 0x0000ea60 .global func_ov61_02173fa4 arm_func_start func_ov61_02173fa4 func_ov61_02173fa4: ; 0x02173fa4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 ldr r0, [r7, #0x60] mov r6, r1 bl func_ov61_02165a68 mov r5, r0 cmp r5, #0 mov r4, #0 ble _02174008 _02173fc8: ldr r0, [r7, #0x60] mov r1, r4 bl func_ov61_02165a70 mov r1, r0 ldr r0, [r1, #0xc] sub r0, r6, r0 cmp r0, #0x3e8 bls _02173ffc mov r0, r7 bl func_ov61_02176080 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02173ffc: add r4, r4, #1 cmp r4, r5 blt _02173fc8 _02174008: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02173fa4 .global func_ov61_02174010 arm_func_start func_ov61_02174010 func_ov61_02174010: ; 0x02174010 stmdb sp!, {r3, lr} ldr r2, [r0, #0x90] cmp r2, #0 moveq r0, #1 ldmeqia sp!, {r3, pc} ldr r2, [r0, #0x94] sub r1, r1, r2 cmp r1, #0x64 bls _02174044 bl func_ov61_02175f14 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _02174044: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02174010 .global func_ov61_0217404c arm_func_start func_ov61_0217404c func_ov61_0217404c: ; 0x0217404c stmdb sp!, {r3, lr} ldr r3, [r0, #0x88] ldr r2, _0217407c ; =0x00007530 sub r1, r1, r3 cmp r1, r2 bls _02174074 bl func_ov61_02175df0 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _02174074: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_0217404c _0217407c: .word 0x00007530 .global func_ov61_02174080 arm_func_start func_ov61_02174080 func_ov61_02174080: ; 0x02174080 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl func_ov61_02173f00 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl func_ov61_0217404c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl func_ov61_02173fa4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, r4 bl func_ov61_02174010 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02174080 .global func_ov61_021740e8 arm_func_start func_ov61_021740e8 func_ov61_021740e8: ; 0x021740e8 stmdb sp!, {r4, lr} mov r4, r0 cmp r1, #0 beq _02174128 ldr r1, [r4, #0xc] cmp r1, #7 ldmgeia sp!, {r4, pc} bl func_ov61_02174138 mov r0, r4 bl func_ov61_02176018 mov r0, r4 mov r1, #0 bl func_ov61_02173768 mov r0, r4 bl func_ov61_02176630 ldmia sp!, {r4, pc} _02174128: mov r1, #6 str r1, [r4, #0xc] bl func_ov61_02175d94 ldmia sp!, {r4, pc} arm_func_end func_ov61_021740e8 .global func_ov61_02174138 arm_func_start func_ov61_02174138 func_ov61_02174138: ; 0x02174138 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, lr} ldr r1, [sp, #8] ldr r0, [r1, #0xc] cmp r0, #7 ldmeqia sp!, {r3, lr} addeq sp, sp, #0x10 bxeq lr mov r0, #7 str r0, [r1, #0xc] ldr r0, [sp, #8] add r1, sp, #8 ldr r0, [r0, #8] ldr r0, [r0, #0xc] bl func_ov61_02166334 ldr r0, [sp, #8] add r1, sp, #8 ldr r0, [r0, #8] ldr r0, [r0, #0x10] bl func_ov61_02165ad8 ldmia sp!, {r3, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_02174138 .global func_ov61_02174194 arm_func_start func_ov61_02174194 func_ov61_02174194: ; 0x02174194 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x38] cmp r0, #0 beq _021741ac bl func_ov61_0213e13c _021741ac: ldr r0, [r4, #0x44] cmp r0, #0 beq _021741bc bl func_ov61_0213e13c _021741bc: ldr r0, [r4, #0x50] cmp r0, #0 beq _021741cc bl func_ov61_0213e13c _021741cc: ldr r0, [r4, #0x5c] cmp r0, #0 beq _021741dc bl func_ov61_021659fc _021741dc: ldr r0, [r4, #0x60] cmp r0, #0 beq _021741ec bl func_ov61_021659fc _021741ec: ldr r0, [r4, #0x98] cmp r0, #0 beq _021741fc bl func_ov61_021659fc _021741fc: ldr r0, [r4, #0x9c] cmp r0, #0 beq _0217420c bl func_ov61_021659fc _0217420c: mov r0, r4 bl func_ov61_0213e13c ldmia sp!, {r4, pc} arm_func_end func_ov61_02174194 .global func_ov61_02174218 arm_func_start func_ov61_02174218 func_ov61_02174218: ; 0x02174218 stmdb sp!, {r3, lr} ldr ip, [sp, #8] str ip, [sp] bl func_ov61_021761a4 ldmia sp!, {r3, pc} arm_func_end func_ov61_02174218 .global func_ov61_0217422c arm_func_start func_ov61_0217422c func_ov61_0217422c: ; 0x0217422c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_021744b8 mov r0, r4 bl func_ov61_021763c4 ldmia sp!, {r4, pc} arm_func_end func_ov61_0217422c .global func_ov61_02174244 arm_func_start func_ov61_02174244 func_ov61_02174244: ; 0x02174244 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02175810 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov61_021768f4 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov61_02176930 ldmia sp!, {r4, pc} arm_func_end func_ov61_02174244 .global func_ov61_02174274 arm_func_start func_ov61_02174274 func_ov61_02174274: ; 0x02174274 ldr ip, _0217427c ; =func_ov61_02176408 bx ip .align 2, 0 arm_func_end func_ov61_02174274 _0217427c: .word func_ov61_02176408 .global func_ov61_02174280 arm_func_start func_ov61_02174280 func_ov61_02174280: ; 0x02174280 ldr ip, _02174288 ; =func_ov61_02173e04 bx ip .align 2, 0 arm_func_end func_ov61_02174280 _02174288: .word func_ov61_02173e04 .global func_ov61_0217428c arm_func_start func_ov61_0217428c func_ov61_0217428c: ; 0x0217428c ldr ip, _02174294 ; =func_ov61_02173e60 bx ip .align 2, 0 arm_func_end func_ov61_0217428c _02174294: .word func_ov61_02173e60 .global func_ov61_02174298 arm_func_start func_ov61_02174298 func_ov61_02174298: ; 0x02174298 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0xc mov r6, r0 mov r5, r1 mov r0, r2 add r1, sp, #4 add r2, sp, #0 mov r4, r3 bl func_ov61_02176a54 cmp r0, #0 ldrne r2, [sp, #4] cmpne r2, #0 ldrneh r3, [sp] cmpne r3, #0 addeq sp, sp, #0xc moveq r0, #4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} mov r1, r2, lsr #0x18 mov r0, r2, lsr #0x8 mov r7, r2, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 mov r8, r2, lsl #0x18 orr r0, r1, r0 and r7, r7, #0xff0000 and r1, r8, #0xff000000 orr r0, r7, r0 orr r0, r1, r0 and r0, r0, #0xe0000000 cmp r0, #0xe0000000 addeq sp, sp, #0xc moveq r0, #4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} add r1, sp, #8 mov r0, r6 bl func_ov61_02173cfc cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r1, [sp, #0x2c] ldr r0, [sp, #8] ldr r2, [sp, #0x28] str r1, [r0, #0x20] ldr r0, [sp, #8] ldr r3, [sp, #0x30] mov r1, r4 bl func_ov61_02173d5c movs r4, r0 beq _02174370 ldr r0, [sp, #8] bl func_ov61_02176630 add sp, sp, #0xc mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02174370: ldr r0, [sp, #0x34] cmp r0, #0 bne _02174394 cmp r5, #0 ldrne r0, [sp, #8] add sp, sp, #0xc strne r0, [r5] mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02174394: ldr r1, [sp, #8] mov r8, #1 ldr r0, [r1, #0x24] mov r7, #0 add r0, r0, #1 str r0, [r1, #0x24] mov r4, r8 _021743b0: mov r0, r6 bl func_ov61_02174244 ldr r0, [sp, #8] ldr r0, [r0, #0xc] cmp r0, #5 movge sb, r8 movlt sb, r7 cmp sb, #0 bne _021743dc mov r0, r4 bl func_ov61_02166640 _021743dc: cmp sb, #0 beq _021743b0 ldr r1, [sp, #8] ldr r0, [r1, #0x24] sub r0, r0, #1 str r0, [r1, #0x24] ldr r1, [sp, #8] ldr r0, [r1, #0xc] cmp r0, #5 streq r1, [r5] ldr r0, [sp, #8] ldr r0, [r0, #0x18] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02174298 .global func_ov61_02174414 arm_func_start func_ov61_02174414 func_ov61_02174414: ; 0x02174414 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0xc] mov r4, r3 cmp r0, #5 ldmneia sp!, {r3, r4, r5, lr} addne sp, sp, #0x10 bxne lr add r0, sp, #0x14 add r1, sp, #0x18 bl func_ov61_02176bd8 ldr r0, [r5, #0x98] bl func_ov61_02165a68 cmp r0, #0 beq _02174478 str r4, [sp] ldr r2, [sp, #0x14] ldr r3, [sp, #0x18] mov r0, r5 mov r1, #0 bl func_ov61_021738f0 ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr _02174478: ldr r1, [sp, #0x14] ldr r2, [sp, #0x18] mov r0, r5 mov r3, r4 bl func_ov61_021760ec ldmia sp!, {r3, r4, r5, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_02174414 .global func_ov61_02174498 arm_func_start func_ov61_02174498 func_ov61_02174498: ; 0x02174498 ldr ip, _021744a4 ; =func_ov61_021740e8 mov r1, #1 bx ip .align 2, 0 arm_func_end func_ov61_02174498 _021744a4: .word func_ov61_021740e8 .global func_ov61_021744a8 arm_func_start func_ov61_021744a8 func_ov61_021744a8: ; 0x021744a8 ldr ip, _021744b4 ; =func_ov61_02174498 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov61_021744a8 _021744b4: .word func_ov61_02174498 .global func_ov61_021744b8 arm_func_start func_ov61_021744b8 func_ov61_021744b8: ; 0x021744b8 stmdb sp!, {r3, lr} ldr r1, _021744f4 ; =data_ov61_02181584 ldr r2, [r1] cmp r2, #1 ldmeqia sp!, {r3, pc} mov r2, #1 str r2, [r1] ldr r0, [r0, #0xc] ldr r1, _021744f8 ; =func_ov61_021744a8 mov r2, #0 bl func_ov61_02166478 ldr r0, _021744f4 ; =data_ov61_02181584 mov r1, #0 str r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021744b8 _021744f4: .word data_ov61_02181584 _021744f8: .word func_ov61_021744a8 .global func_ov61_021744fc arm_func_start func_ov61_021744fc func_ov61_021744fc: ; 0x021744fc ldrh r0, [r0, #8] bx lr arm_func_end func_ov61_021744fc .global func_ov61_02174504 arm_func_start func_ov61_02174504 func_ov61_02174504: ; 0x02174504 ldr r1, [r0, #0x54] ldr r0, [r0, #0x58] sub r0, r1, r0 bx lr arm_func_end func_ov61_02174504 .global func_ov61_02174514 arm_func_start func_ov61_02174514 func_ov61_02174514: ; 0x02174514 ldr r0, [r0] bx lr arm_func_end func_ov61_02174514 .global func_ov61_0217451c arm_func_start func_ov61_0217451c func_ov61_0217451c: ; 0x0217451c str r1, [r0, #0x30] bx lr arm_func_end func_ov61_0217451c .global func_ov61_02174524 arm_func_start func_ov61_02174524 func_ov61_02174524: ; 0x02174524 stmdb sp!, {r3, r4, r5, lr} movs r5, r0 mov r4, r1 bne _02174548 ldr r0, _02174550 ; =data_ov61_0217e0b8 ldr r1, _02174554 ; =data_ov61_0217e0ac ldr r2, _02174558 ; =data_ov61_0217e07c ldr r3, _0217455c ; =0x000001a3 bl func_02042f80 _02174548: str r4, [r5, #0x40] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02174524 _02174550: .word data_ov61_0217e0b8 _02174554: .word data_ov61_0217e0ac _02174558: .word data_ov61_0217e07c _0217455c: .word 0x000001a3 .global func_ov61_02174560 arm_func_start func_ov61_02174560 func_ov61_02174560: ; 0x02174560 stmdb sp!, {r4, lr} movs r4, r0 bne _02174580 ldr r0, _02174588 ; =data_ov61_0217e0b8 ldr r1, _0217458c ; =data_ov61_0217e0ac ldr r2, _02174590 ; =data_ov61_0217e094 ldr r3, _02174594 ; =0x000001aa bl func_02042f80 _02174580: ldr r0, [r4, #0x40] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02174560 _02174588: .word data_ov61_0217e0b8 _0217458c: .word data_ov61_0217e0ac _02174590: .word data_ov61_0217e094 _02174594: .word 0x000001aa .global func_ov61_02174598 arm_func_start func_ov61_02174598 func_ov61_02174598: ; 0x02174598 ldrb r2, [r0, r1] add r1, r1, #1 ldrb r1, [r0, r1] mov r0, r2, lsl #0x8 and r0, r0, #0xff00 mov r0, r0, lsl #0x10 orr r0, r1, r0, lsr #16 bx lr arm_func_end func_ov61_02174598 .global func_ov61_021745b8 arm_func_start func_ov61_021745b8 func_ov61_021745b8: ; 0x021745b8 mov r3, r2, asr #0x8 strb r3, [r0, r1] add r1, r1, #1 strb r2, [r0, r1] bx lr arm_func_end func_ov61_021745b8 .global func_ov61_021745cc arm_func_start func_ov61_021745cc func_ov61_021745cc: ; 0x021745cc sub r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bx lr arm_func_end func_ov61_021745cc .global func_ov61_021745dc arm_func_start func_ov61_021745dc func_ov61_021745dc: ; 0x021745dc stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r3, [r6, #0xc] mov r5, r1 mov r4, r2 cmp r3, #5 bge _02174644 ldr r1, [r6, #0x10] cmp r1, #0 beq _0217462c bl func_ov61_02174138 mov r2, #0 mov r0, r6 mov r1, r5 mov r3, r2 bl func_ov61_0217359c cmp r0, #0 bne _02174668 mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _0217462c: cmp r3, #4 moveq r0, #1 streq r0, [r6, #0x14] mov r0, r6 bl func_ov61_02174138 b _02174668 _02174644: cmp r3, #7 beq _02174668 bl func_ov61_02174138 mov r0, r6 mov r1, r4 bl func_ov61_02173768 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _02174668: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021745dc .global func_ov61_02174670 arm_func_start func_ov61_02174670 func_ov61_02174670: ; 0x02174670 ldr ip, _02174680 ; =func_ov61_021745dc mov r1, #7 mov r2, #2 bx ip .align 2, 0 arm_func_end func_ov61_02174670 _02174680: .word func_ov61_021745dc .global func_ov61_02174684 arm_func_start func_ov61_02174684 func_ov61_02174684: ; 0x02174684 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02176018 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 mov r1, #1 mov r2, #4 bl func_ov61_021745dc ldmia sp!, {r4, pc} arm_func_end func_ov61_02174684 .global func_ov61_021746b0 arm_func_start func_ov61_021746b0 func_ov61_021746b0: ; 0x021746b0 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldr r0, [r4, #0x60] mov r7, r1 bl func_ov61_02165a68 movs r5, r0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r5, #0 mov r6, #0 ble _02174704 _021746dc: ldr r0, [r4, #0x60] mov r1, r6 bl func_ov61_02165a70 ldrh r0, [r0, #8] mov r1, r7 bl func_ov61_021745cc cmp r0, #0 addlt r6, r6, #1 cmplt r6, r5 blt _021746dc _02174704: cmp r6, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} cmp r6, #0 sub r6, r6, #1 beq _02174734 _0217471c: ldr r0, [r4, #0x60] mov r1, r6 bl func_ov61_02165cec cmp r6, #0 sub r6, r6, #1 bne _0217471c _02174734: ldr r0, [r4, #0x60] bl func_ov61_02165a68 movs r6, r0 bne _02174754 mov r0, #0 str r0, [r4, #0x58] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02174754: ldr r0, [r4, #0x60] mov r1, #0 bl func_ov61_02165a70 cmp r6, #0 ldr r5, [r0] mov r7, #0 ble _02174794 _02174770: ldr r0, [r4, #0x60] mov r1, r7 bl func_ov61_02165a70 ldr r1, [r0] add r7, r7, #1 sub r1, r1, r5 str r1, [r0] cmp r7, r6 blt _02174770 _02174794: mov r2, r5 add r0, r4, #0x50 mov r1, #0 bl func_ov61_02173344 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_021746b0 .global func_ov61_021747ac arm_func_start func_ov61_021747ac func_ov61_021747ac: ; 0x021747ac stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 ldr r0, [r6, #0xc] mov r5, r1 cmp r0, #5 cmpne r0, #6 mov r4, r2 addne sp, sp, #4 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, pc} ldr r0, [r6, #0x9c] bl func_ov61_02165a68 cmp r0, #0 beq _02174814 mov r1, #0 mov r0, r6 mov r2, r5 mov r3, r4 str r1, [sp] bl func_ov61_021739e8 cmp r0, #0 movne r0, #1 add sp, sp, #4 moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _02174814: mov r0, r6 mov r1, r5 mov r2, r4 mov r3, #0 bl func_ov61_02173684 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_021747ac .global func_ov61_0217483c arm_func_start func_ov61_0217483c func_ov61_0217483c: ; 0x0217483c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r6, r0 ldr r3, [r6, #0xc] mov r5, r1 cmp r3, #5 mov r4, r2 cmpne r3, #6 beq _02174878 bl func_ov61_02174670 cmp r0, #0 bne _021748dc add sp, sp, #4 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _02174878: ldr r0, [r6, #0x9c] bl func_ov61_02165a68 cmp r0, #0 beq _021748b8 mov ip, #1 mov r0, r6 mov r2, r5 mov r3, r4 mov r1, #0 str ip, [sp] bl func_ov61_021739e8 cmp r0, #0 movne r0, #1 add sp, sp, #4 moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _021748b8: mov r0, r6 mov r1, r5 mov r2, r4 mov r3, #1 bl func_ov61_02173684 cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} _021748dc: mov r0, #1 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_0217483c .global func_ov61_021748e8 arm_func_start func_ov61_021748e8 func_ov61_021748e8: ; 0x021748e8 stmdb sp!, {r4, lr} sub sp, sp, #0x40 mov r4, r0 ldr r3, [r4, #0xc] cmp r3, #2 beq _02174918 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0x40 moveq r0, #0 ldmia sp!, {r4, pc} _02174918: cmp r2, #0x20 bge _02174938 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0x40 moveq r0, #0 ldmia sp!, {r4, pc} _02174938: add r0, sp, #0x20 bl func_ov61_02173088 add r0, sp, #0 bl func_ov61_02172f6c add r1, sp, #0 add r0, r4, #0x68 bl func_ov61_02173088 add r1, sp, #0x20 add r2, sp, #0 mov r0, r4 bl func_ov61_02175bc0 cmp r0, #0 moveq r0, #0 movne r0, #3 strne r0, [r4, #0xc] movne r0, #1 add sp, sp, #0x40 ldmia sp!, {r4, pc} arm_func_end func_ov61_021748e8 .global func_ov61_02174980 arm_func_start func_ov61_02174980 func_ov61_02174980: ; 0x02174980 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r5, r0 ldr r3, [r5, #0xc] mov r4, r1 cmp r3, #0 beq _021749b4 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0x20 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} _021749b4: cmp r2, #0x40 bge _021749d4 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0x20 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} _021749d4: mov r0, r4 add r1, r5, #0x68 bl func_ov61_02173190 cmp r0, #0 bne _02174a04 mov r0, r5 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0x20 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} _02174a04: add r0, sp, #0 add r1, r4, #0x20 bl func_ov61_02173088 ldr r2, [r5, #0x38] ldr r3, [r5, #0x3c] add r1, sp, #0 mov r0, r5 bl func_ov61_02175c4c cmp r0, #0 addeq sp, sp, #0x20 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #0x38] cmp r0, #0 beq _02174a4c bl func_ov61_0213e13c mov r0, #0 str r0, [r5, #0x38] _02174a4c: mov r0, #1 str r0, [r5, #0xc] add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02174980 .global func_ov61_02174a5c arm_func_start func_ov61_02174a5c func_ov61_02174a5c: ; 0x02174a5c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r0 ldr r3, [r6, #0xc] mov r5, r1 mov r4, r2 cmp r3, #3 beq _02174a94 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0xc moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _02174a94: cmp r4, #0x20 bge _02174ab4 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0xc moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _02174ab4: mov r0, r5 add r1, r6, #0x68 bl func_ov61_02173190 cmp r0, #0 bne _02174ae4 mov r0, r6 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0xc moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} _02174ae4: ldr r0, [r6, #8] ldr r0, [r0, #0x20] cmp r0, #0 bne _02174b20 mov r0, r6 bl func_ov61_02176018 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r6 bl func_ov61_02174138 add sp, sp, #0xc mov r0, #1 ldmia sp!, {r3, r4, r5, r6, pc} _02174b20: mov r0, #4 str r0, [r6, #0xc] bl func_ov61_021665e8 ldr r2, [r6, #0x8c] add r1, r5, #0x20 sub r0, r0, r2 stmia sp, {r0, r1} sub r0, r4, #0x20 str r0, [sp, #8] ldrh r3, [r6, #4] ldr r0, [r6, #8] ldr r2, [r6] mov r1, r6 bl func_ov61_02173480 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02174a5c .global func_ov61_02174b6c arm_func_start func_ov61_02174b6c func_ov61_02174b6c: ; 0x02174b6c stmdb sp!, {r3, lr} ldr r1, [r0, #0xc] cmp r1, #1 beq _02174b90 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} _02174b90: mov r1, #0 mov ip, #5 mov r2, r1 mov r3, r1 str ip, [r0, #0xc] bl func_ov61_0217359c cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, pc} arm_func_end func_ov61_02174b6c .global func_ov61_02174bb8 arm_func_start func_ov61_02174bb8 func_ov61_02174bb8: ; 0x02174bb8 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 ldr r3, [r6, #0xc] mov r5, r1 mov r4, r2 cmp r3, #1 beq _02174be8 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, r5, r6, pc} _02174be8: bl func_ov61_02174138 mov r0, r6 bl func_ov61_02176018 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 mov r2, r5 mov r3, r4 mov r1, #2 bl func_ov61_0217359c cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02174bb8 .global func_ov61_02174c24 arm_func_start func_ov61_02174c24 func_ov61_02174c24: ; 0x02174c24 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02176018 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0xc] mov r1, #2 cmp r0, #6 moveq r2, #0 movne r2, #1 mov r0, r4 bl func_ov61_021745dc cmp r0, #0 moveq r0, #0 movne r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov61_02174c24 .global func_ov61_02174c68 arm_func_start func_ov61_02174c68 func_ov61_02174c68: ; 0x02174c68 stmdb sp!, {r3, lr} ldrh ip, [r0, #0x66] cmp r1, #0 add ip, ip, #1 strh ip, [r0, #0x66] bne _02174c9c mov r1, r2 mov r2, r3 bl func_ov61_0217483c cmp r0, #0 bne _02174d60 mov r0, #0 ldmia sp!, {r3, pc} _02174c9c: cmp r1, #1 bne _02174cc0 mov r1, r2 mov r2, r3 bl func_ov61_021748e8 cmp r0, #0 bne _02174d60 mov r0, #0 ldmia sp!, {r3, pc} _02174cc0: cmp r1, #2 bne _02174ce4 mov r1, r2 mov r2, r3 bl func_ov61_02174980 cmp r0, #0 bne _02174d60 mov r0, #0 ldmia sp!, {r3, pc} _02174ce4: cmp r1, #3 bne _02174d08 mov r1, r2 mov r2, r3 bl func_ov61_02174a5c cmp r0, #0 bne _02174d60 mov r0, #0 ldmia sp!, {r3, pc} _02174d08: cmp r1, #4 bne _02174d24 bl func_ov61_02174b6c cmp r0, #0 bne _02174d60 mov r0, #0 ldmia sp!, {r3, pc} _02174d24: cmp r1, #5 bne _02174d48 mov r1, r2 mov r2, r3 bl func_ov61_02174bb8 cmp r0, #0 bne _02174d60 mov r0, #0 ldmia sp!, {r3, pc} _02174d48: cmp r1, #6 bne _02174d60 bl func_ov61_02174c24 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _02174d60: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02174c68 .global func_ov61_02174d68 arm_func_start func_ov61_02174d68 func_ov61_02174d68: ; 0x02174d68 ldr ip, _02174d78 ; =func_ov61_021745cc ldrh r0, [r0, #0xc] ldrh r1, [r1, #0xc] bx ip .align 2, 0 arm_func_end func_ov61_02174d68 _02174d78: .word func_ov61_021745cc .global func_ov61_02174d7c arm_func_start func_ov61_02174d7c func_ov61_02174d7c: ; 0x02174d7c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x10 mov sb, r0 ldr r0, [sb, #0x5c] mov r8, r1 mov r7, r2 mov r6, r3 ldr r5, [sp, #0x34] bl func_ov61_02165a68 mov r4, r0 cmp r4, #0 mov sl, #0 ble _02174df8 _02174db0: ldr r0, [sb, #0x5c] mov r1, sl bl func_ov61_02165a70 ldrh r0, [r0, #0xc] cmp r0, r7 bne _02174ddc mov r0, #0 str r0, [r5] add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02174ddc: mov r1, r7 bl func_ov61_021745cc cmp r0, #0 bgt _02174df8 add sl, sl, #1 cmp sl, r4 blt _02174db0 _02174df8: add r0, sb, #0x44 bl func_ov61_021731f0 ldr r2, [sp, #0x30] cmp r0, r2 movlt r0, #1 addlt sp, sp, #0x10 strlt r0, [r5] ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r0, [sb, #0x4c] add r1, sp, #0 str r2, [sp, #4] str r8, [sp, #8] strh r7, [sp, #0xc] str r0, [sp] ldr r0, [sb, #0x5c] ldr r2, _02174f2c ; =func_ov61_02174d68 bl func_ov61_02165bdc ldr r0, [sb, #0x5c] bl func_ov61_02165a68 add r1, r4, #1 cmp r1, r0 movne r0, #1 addne sp, sp, #0x10 strne r0, [r5] ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r2, [sp, #0x30] mov r1, r6 add r0, sb, #0x44 bl func_ov61_021732bc cmp r4, #0 bne _02174ea0 sub r0, r7, #1 mov r2, r0, lsl #0x10 ldrh r1, [sb, #0x66] mov r0, sb mov r2, r2, lsr #0x10 bl func_ov61_02175f78 cmp r0, #0 bne _02174f18 add sp, sp, #0x10 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02174ea0: ldr r0, [sb, #0x5c] mov r1, r4 bl func_ov61_02165a70 ldrh r0, [r0, #0xc] cmp r0, r7 bne _02174f18 ldr r0, [sb, #0x5c] sub r1, r4, #1 bl func_ov61_02165a70 mov r4, r0 ldrh r1, [r4, #0xc] mov r0, r7 bl func_ov61_021745cc mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 cmp r0, #1 bls _02174f18 ldrh r1, [r4, #0xc] sub r0, r7, #1 mov r2, r0, lsl #0x10 add r0, r1, #1 mov r1, r0, lsl #0x10 mov r0, sb mov r1, r1, lsr #0x10 mov r2, r2, lsr #0x10 bl func_ov61_02175f78 cmp r0, #0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02174f18: mov r0, #0 str r0, [r5] mov r0, #1 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02174d7c _02174f2c: .word func_ov61_02174d68 .global func_ov61_02174f30 arm_func_start func_ov61_02174f30 func_ov61_02174f30: ; 0x02174f30 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov sb, r0 ldr r0, [sb, #0x5c] ldmia r1, {r4, r5} mov r1, r2 mov r8, #0 bl func_ov61_02165cec ldr r0, [sb, #0x5c] bl func_ov61_02165a68 mov r6, r0 cmp r6, #0 mov r7, r8 ble _02174fa0 _02174f64: ldr r0, [sb, #0x5c] mov r1, r7 bl func_ov61_02165a70 ldr r1, [r0] cmp r1, r4 ble _02174f94 sub r1, r1, r5 str r1, [r0] ldr r0, [r0, #4] add r0, r1, r0 cmp r8, r0 movle r8, r0 _02174f94: add r7, r7, #1 cmp r7, r6 blt _02174f64 _02174fa0: mov r1, r4 mov r2, r5 add r0, sb, #0x44 bl func_ov61_02173344 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02174f30 .global func_ov61_02174fb4 arm_func_start func_ov61_02174fb4 func_ov61_02174fb4: ; 0x02174fb4 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 _02174fbc: ldr r0, [r6, #0x5c] bl func_ov61_02165a68 subs r5, r0, #1 bmi _0217502c _02174fcc: ldr r0, [r6, #0x5c] mov r1, r5 bl func_ov61_02165a70 mov r4, r0 ldrh r1, [r4, #0xc] ldrh r0, [r6, #0x66] cmp r1, r0 bne _02175024 ldr ip, [r6, #0x44] ldr r1, [r4, #8] ldmia r4, {r2, r3} mov r0, r6 add r2, ip, r2 bl func_ov61_02174c68 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 mov r1, r4 mov r2, r5 bl func_ov61_02174f30 b _02174fbc _02175024: subs r5, r5, #1 bpl _02174fcc _0217502c: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_02174fb4 .global func_ov61_02175034 arm_func_start func_ov61_02175034 func_ov61_02175034: ; 0x02175034 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x90] cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, #1 str r0, [r4, #0x90] bl func_ov61_021665e8 str r0, [r4, #0x94] ldmia sp!, {r4, pc} arm_func_end func_ov61_02175034 .global func_ov61_0217505c arm_func_start func_ov61_0217505c func_ov61_0217505c: ; 0x0217505c stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc mov r6, r3 mov r4, r0 mov r8, r1 mov r7, r2 cmp r6, #7 bge _02175094 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0xc moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02175094: mov r0, r7 mov r1, #3 bl func_ov61_02174598 mov r5, r0 mov r0, r7 mov r1, #5 bl func_ov61_02174598 mov r1, r0 mov r0, r4 bl func_ov61_021746b0 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldrh r1, [r4, #0x66] cmp r5, r1 bne _02175120 mov r0, r4 bl func_ov61_02175034 mov r0, r4 mov r1, r8 add r2, r7, #7 sub r3, r6, #7 bl func_ov61_02174c68 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} mov r0, r4 bl func_ov61_02174fb4 cmp r0, #0 movne r0, #1 add sp, sp, #0xc moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02175120: mov r0, r5 bl func_ov61_021745cc cmp r0, #0 bge _02175144 mov r0, r4 bl func_ov61_02175034 add sp, sp, #0xc mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} _02175144: sub r0, r6, #7 str r0, [sp] add ip, sp, #8 mov r0, r4 mov r1, r8 mov r2, r5 add r3, r7, #7 str ip, [sp, #4] bl func_ov61_02174d7c cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} ldr r0, [sp, #8] cmp r0, #0 beq _0217519c mov r0, r4 bl func_ov61_02174684 cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} _0217519c: mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} arm_func_end func_ov61_0217505c .global func_ov61_021751a8 arm_func_start func_ov61_021751a8 func_ov61_021751a8: ; 0x021751a8 stmdb sp!, {r4, lr} mov r4, r0 cmp r2, #2 beq _021751cc bl func_ov61_02174670 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, pc} _021751cc: mov r0, r1 mov r1, #0 bl func_ov61_02174598 mov r1, r0 mov r0, r4 bl func_ov61_021746b0 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r4, pc} arm_func_end func_ov61_021751a8 .global func_ov61_021751f4 arm_func_start func_ov61_021751f4 func_ov61_021751f4: ; 0x021751f4 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r7, r1 mov r4, r0 mov r0, r7 mov r1, #0 mov r5, r2 bl func_ov61_02174598 mov r6, r0 cmp r5, #2 moveq r7, r6 beq _02175254 cmp r5, #4 bne _0217523c mov r0, r7 mov r1, #2 bl func_ov61_02174598 mov r7, r0 b _02175254 _0217523c: mov r0, r4 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02175254: ldr r0, [r4, #0x60] bl func_ov61_02165a68 mov r8, r0 cmp r8, #0 mov sb, #0 ble _021752c8 _0217526c: ldr r0, [r4, #0x60] mov r1, sb bl func_ov61_02165a70 mov r5, r0 ldrh r0, [r5, #8] mov r1, r6 bl func_ov61_021745cc cmp r0, #0 blt _021752bc ldrh r0, [r5, #8] mov r1, r7 bl func_ov61_021745cc cmp r0, #0 bgt _021752bc mov r0, r4 mov r1, r5 bl func_ov61_02176080 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021752bc: add sb, sb, #1 cmp sb, r8 blt _0217526c _021752c8: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_021751f4 .global func_ov61_021752d0 arm_func_start func_ov61_021752d0 func_ov61_021752d0: ; 0x021752d0 ldr ip, _021752d8 ; =func_ov61_02176004 bx ip .align 2, 0 arm_func_end func_ov61_021752d0 _021752d8: .word func_ov61_02176004 .global func_ov61_021752dc arm_func_start func_ov61_021752dc func_ov61_021752dc: ; 0x021752dc stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r0, [r4, #0x34] mov r5, r1 cmp r0, #0 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, pc} cmp r2, #8 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} ldr r1, _0217536c ; =data_ov61_0217e0dc mov r0, r5 mov r2, #4 bl func_0204366c cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #4] ldrb r0, [r5, #5] add r2, sp, #0 strb r1, [r2] strb r0, [r2, #1] ldrb r1, [r5, #6] ldrb r0, [r5, #7] strb r1, [r2, #2] strb r0, [r2, #3] bl func_ov61_021665e8 mov r2, r0 ldr r1, [sp] mov r0, r4 sub r1, r2, r1 bl func_ov61_0217382c cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021752dc _0217536c: .word data_ov61_0217e0dc .global func_ov61_02175370 arm_func_start func_ov61_02175370 func_ov61_02175370: ; 0x02175370 stmdb sp!, {r3, lr} ldr r1, [r0, #0xc] cmp r1, #7 moveq r0, #1 ldmeqia sp!, {r3, pc} cmp r1, #6 moveq r2, #0 movne r2, #1 mov r1, #2 bl func_ov61_021745dc cmp r0, #0 moveq r0, #0 movne r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02175370 .global func_ov61_021753a8 arm_func_start func_ov61_021753a8 func_ov61_021753a8: ; 0x021753a8 stmdb sp!, {r3, lr} cmp r1, #0x64 sub ip, r3, #3 bne _021753d4 add r1, r2, #3 mov r2, ip bl func_ov61_021751a8 cmp r0, #0 bne _02175458 mov r0, #0 ldmia sp!, {r3, pc} _021753d4: cmp r1, #0x65 bne _021753f8 add r1, r2, #3 mov r2, ip bl func_ov61_021751f4 cmp r0, #0 bne _02175458 mov r0, #0 ldmia sp!, {r3, pc} _021753f8: cmp r1, #0x66 bne _0217541c mov r1, r2 mov r2, r3 bl func_ov61_021752d0 cmp r0, #0 bne _02175458 mov r0, #0 ldmia sp!, {r3, pc} _0217541c: cmp r1, #0x67 bne _02175440 add r1, r2, #3 mov r2, ip bl func_ov61_021752dc cmp r0, #0 bne _02175458 mov r0, #0 ldmia sp!, {r3, pc} _02175440: cmp r1, #0x68 bne _02175458 bl func_ov61_02175370 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} _02175458: mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov61_021753a8 .global func_ov61_02175460 arm_func_start func_ov61_02175460 func_ov61_02175460: ; 0x02175460 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x18 ldr r5, [sp, #0x38] mov r6, r3 mov r8, r1 mov r7, r2 mov r1, r6 mov r2, r5 mov sb, r0 bl func_ov61_0217616c str r0, [sp, #0x14] ldr r0, [sb, #0x2c] cmp r0, #0 beq _021754cc mov r0, #0 stmia sp, {r0, r8} str r7, [sp, #8] str r0, [sp, #0xc] ldr r1, [sp, #0x14] mov r0, sb mov r2, r6 mov r3, r5 bl func_ov61_02173ae0 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021754cc: cmp r7, #2 ble _021754f0 ldr r1, _0217570c ; =data_ov61_0217e0e4 mov r0, r8 mov r2, #2 bl func_0204366c cmp r0, #0 moveq r4, #1 beq _021754f4 _021754f0: mov r4, #0 _021754f4: ldr r0, [sp, #0x14] cmp r0, #0 bne _021755f8 add ip, sp, #0x10 mov r0, sb mov r1, r6 mov r2, r5 mov r3, r8 stmia sp, {r7, ip} bl func_ov61_02173c04 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r0, [sp, #0x10] cmp r0, #0 addne sp, sp, #0x18 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r4, #0 beq _02175554 ldrb r0, [r8, #2] cmp r0, #1 beq _02175594 _02175554: cmp r4, #0 beq _02175568 ldrb r0, [r8, #2] cmp r0, #0x68 beq _02175588 _02175568: mov r0, sb mov r1, r6 mov r2, r5 bl func_ov61_02176034 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02175588: add sp, sp, #0x18 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02175594: ldr r0, [sb, #0x20] cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r1, sp, #0x14 mov r0, sb mov r2, r6 mov r3, r5 bl func_ov61_02173d2c cmp r0, #0 beq _021755f8 cmp r0, #5 beq _021755ec mov r0, sb mov r1, r6 mov r2, r5 bl func_ov61_02176034 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021755ec: add sp, sp, #0x18 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021755f8: ldr r5, [sp, #0x14] ldr r0, [r5, #0xc] cmp r0, #7 bne _02175640 cmp r4, #0 beq _0217561c ldrb r0, [r8, #2] cmp r0, #0x68 beq _02175634 _0217561c: mov r0, r5 bl func_ov61_02176018 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02175634: add sp, sp, #0x18 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02175640: cmp r4, #0 beq _02175670 cmp r7, #4 blt _02175670 ldr r1, _0217570c ; =data_ov61_0217e0e4 add r0, r8, #2 mov r2, #2 bl func_0204366c cmp r0, #0 addeq r8, r8, #2 subeq r7, r7, #2 moveq r4, #0 _02175670: cmp r4, #0 bne _0217569c mov r0, r5 mov r1, r8 mov r2, r7 bl func_ov61_021747ac cmp r0, #0 movne r0, #1 add sp, sp, #0x18 moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _0217569c: ldrb r1, [r8, #2] cmp r1, #0 bge _021756c4 mov r0, r5 bl func_ov61_02174670 cmp r0, #0 movne r0, #1 add sp, sp, #0x18 moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021756c4: cmp r1, #8 mov r0, r5 mov r2, r8 bge _021756f0 mov r3, r7 bl func_ov61_0217505c cmp r0, #0 movne r0, #1 add sp, sp, #0x18 moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021756f0: mov r3, r7 bl func_ov61_021753a8 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02175460 _0217570c: .word data_ov61_0217e0e4 .global func_ov61_02175710 arm_func_start func_ov61_02175710 func_ov61_02175710: ; 0x02175710 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r7, r0 mov r6, r1 mov r5, r2 bl func_ov61_0217616c ldr r1, [r7, #0x2c] mov r4, r0 cmp r1, #0 beq _02175774 mov r0, #1 str r0, [sp] mov ip, #0 str ip, [sp, #4] str ip, [sp, #8] mov r0, r7 mov r1, r4 mov r2, r6 mov r3, r5 str ip, [sp, #0xc] bl func_ov61_02173ae0 cmp r0, #0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02175774: cmp r4, #0 addeq sp, sp, #0x10 moveq r0, #1 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r4, #0xc] cmp r0, #0 bne _021757e4 ldr r0, [r4, #0x20] cmp r0, #0 beq _021757b4 bl func_ov61_021665e8 ldr r2, [r4, #0x1c] ldr r1, [r4, #0x20] sub r0, r0, r2 cmp r0, r1 bhs _021757c0 _021757b4: add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021757c0: mov r0, r4 mov r1, #6 mov r2, #1 bl func_ov61_021745dc cmp r0, #0 bne _02175804 add sp, sp, #0x10 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _021757e4: mov r0, r4 mov r1, #2 mov r2, #1 bl func_ov61_021745dc cmp r0, #0 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _02175804: mov r0, #1 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02175710 .global func_ov61_02175810 arm_func_start func_ov61_02175810 func_ov61_02175810: ; 0x02175810 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x5f0 mov sl, r0 ldr r0, [sl] bl func_ov61_02166914 cmp r0, #0 beq _02175930 mvn r5, #0xe sub r4, r5, #0x14 add r6, r5, #0xe add r7, sp, #0x14 mov sb, #8 add r8, sp, #0xc add fp, sp, #8 _02175848: str sb, [sp, #8] stmia sp, {r8, fp} ldr r0, [sl] ldr r2, _0217593c ; =0x000005dc mov r1, r7 mov r3, #0 bl func_ov61_02166bc0 mov r2, r0 cmp r2, r6 bne _021758dc ldr r0, [sl] bl func_ov61_02166ce0 cmp r0, r5 bne _021758c0 ldrh ip, [sp, #0xe] ldr r1, [sp, #0x10] mov r0, sl mov r2, ip, asr #0x8 and r3, r2, #0xff mov r2, ip, lsl #0x8 and r2, r2, #0xff00 orr r2, r3, r2 mov r2, r2, lsl #0x10 mov r2, r2, lsr #0x10 bl func_ov61_02175710 cmp r0, #0 bne _02175920 add sp, sp, #0x5f0 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021758c0: cmp r0, r4 beq _02175920 mov r0, sl bl func_ov61_02176968 add sp, sp, #0x5f0 mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _021758dc: ldrh ip, [sp, #0xe] mov r0, sl mov r1, r7 mov r3, ip, asr #0x8 mov ip, ip, lsl #0x8 and r3, r3, #0xff and ip, ip, #0xff00 orr r3, r3, ip mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 str r3, [sp] ldr r3, [sp, #0x10] bl func_ov61_02175460 cmp r0, #0 addeq sp, sp, #0x5f0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} _02175920: ldr r0, [sl] bl func_ov61_02166914 cmp r0, #0 bne _02175848 _02175930: mov r0, #1 add sp, sp, #0x5f0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02175810 _0217593c: .word 0x000005dc .global func_ov61_02175940 arm_func_start func_ov61_02175940 func_ov61_02175940: ; 0x02175940 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 add r4, sp, #0 mov r3, #0 mov r5, r0 str r3, [r4] str r3, [r4, #4] str r3, [r4, #8] str r3, [r4, #0xc] ldr r0, [r5, #0x58] str r0, [sp] str r2, [sp, #4] strh r1, [sp, #8] bl func_ov61_021665e8 str r0, [sp, #0xc] ldr r0, [r5, #0x60] bl func_ov61_02165a68 mov r4, r0 ldr r0, [r5, #0x60] add r1, sp, #0 bl func_ov61_02165ad8 ldr r0, [r5, #0x60] bl func_ov61_02165a68 add r1, r4, #1 cmp r1, r0 moveq r0, #1 movne r0, #0 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02175940 .global func_ov61_021759b4 arm_func_start func_ov61_021759b4 func_ov61_021759b4: ; 0x021759b4 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r5, r2 add r0, r7, #0x50 mov r6, r1 mov r4, r3 bl func_ov61_021731f0 cmp r0, r5 bge _021759f4 mov r0, r7 bl func_ov61_02174684 cmp r0, #0 moveq r0, #0 movne r0, #1 strne r0, [r4] ldmia sp!, {r3, r4, r5, r6, r7, pc} _021759f4: ldrh r1, [r7, #0x64] mov r0, r7 mov r2, r5 bl func_ov61_02175940 cmp r0, #0 bne _02175a28 mov r0, r7 bl func_ov61_02174684 cmp r0, #0 moveq r0, #0 movne r0, #1 strne r0, [r4] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02175a28: ldr r1, _02175a74 ; =data_ov61_0217e0e4 add r0, r7, #0x50 mov r2, #2 bl func_ov61_021732bc add r0, r7, #0x50 and r1, r6, #0xff bl func_ov61_02173200 ldrh r1, [r7, #0x64] add r0, r7, #0x50 add r2, r1, #1 strh r2, [r7, #0x64] bl func_ov61_02173250 ldrh r1, [r7, #0x66] add r0, r7, #0x50 bl func_ov61_02173250 mov r0, #0 str r0, [r4] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021759b4 _02175a74: .word data_ov61_0217e0e4 .global func_ov61_02175a78 arm_func_start func_ov61_02175a78 func_ov61_02175a78: ; 0x02175a78 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x60] bl func_ov61_02165a68 mov r4, r0 cmp r4, #0 bgt _02175aa8 ldr r0, _02175adc ; =data_ov61_0217e0e8 ldr r1, _02175ae0 ; =data_ov61_0217e0f0 ldr r2, _02175ae4 ; =data_ov61_0217e0c4 ldr r3, _02175ae8 ; =0x00000475 bl func_02042f80 _02175aa8: ldr r0, [r5, #0x60] sub r1, r4, #1 bl func_ov61_02165a70 ldmia r0, {r1, r2} ldr r3, [r5, #0x50] mov r0, r5 add r1, r3, r1 bl func_ov61_02173eb8 cmp r0, #0 mov r0, #0 strne r0, [r5, #0x90] movne r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02175a78 _02175adc: .word data_ov61_0217e0e8 _02175ae0: .word data_ov61_0217e0f0 _02175ae4: .word data_ov61_0217e0c4 _02175ae8: .word 0x00000475 .global func_ov61_02175aec arm_func_start func_ov61_02175aec func_ov61_02175aec: ; 0x02175aec stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r4, r2 mov r5, r1 add r3, sp, #0 add r2, r4, #7 mov r1, #0 mov r6, r0 bl func_ov61_021759b4 cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, [sp] cmp r0, #0 addne sp, sp, #4 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, pc} mov r1, r5 mov r2, r4 add r0, r6, #0x50 bl func_ov61_021732bc mov r0, r6 bl func_ov61_02175a78 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02175aec .global func_ov61_02175b60 arm_func_start func_ov61_02175b60 func_ov61_02175b60: ; 0x02175b60 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 add r3, sp, #0 mov r1, #1 mov r2, #0x27 mov r5, r0 bl func_ov61_021759b4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [sp] cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, pc} mov r1, r4 add r0, r5, #0x50 mov r2, #0x20 bl func_ov61_021732bc mov r0, r5 bl func_ov61_02175a78 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02175b60 .global func_ov61_02175bc0 arm_func_start func_ov61_02175bc0 func_ov61_02175bc0: ; 0x02175bc0 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r5, r1 mov r4, r2 add r3, sp, #0 mov r1, #2 mov r2, #0x47 mov r6, r0 bl func_ov61_021759b4 cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, [sp] cmp r0, #0 addne sp, sp, #4 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, pc} mov r1, r5 add r0, r6, #0x50 mov r2, #0x20 bl func_ov61_021732bc mov r1, r4 add r0, r6, #0x50 mov r2, #0x20 bl func_ov61_021732bc mov r0, r6 bl func_ov61_02175a78 cmp r0, #0 ldrne r1, [r6, #0x88] moveq r0, #0 movne r0, #1 strne r1, [r6, #0x8c] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02175bc0 .global func_ov61_02175c4c arm_func_start func_ov61_02175c4c func_ov61_02175c4c: ; 0x02175c4c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r3 mov r6, r1 mov r5, r2 add r3, sp, #0 add r2, r4, #0x27 mov r1, #3 mov r7, r0 bl func_ov61_021759b4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [sp] cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} mov r1, r6 add r0, r7, #0x50 mov r2, #0x20 bl func_ov61_021732bc mov r1, r5 mov r2, r4 add r0, r7, #0x50 bl func_ov61_021732bc mov r0, r7 bl func_ov61_02175a78 cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02175c4c .global func_ov61_02175cc4 arm_func_start func_ov61_02175cc4 func_ov61_02175cc4: ; 0x02175cc4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r3, sp, #0 mov r1, #4 mov r2, #7 mov r4, r0 bl func_ov61_021759b4 cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldr r0, [sp] cmp r0, #0 addne sp, sp, #4 movne r0, #1 ldmneia sp!, {r3, r4, pc} mov r0, r4 bl func_ov61_02175a78 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_02175cc4 .global func_ov61_02175d20 arm_func_start func_ov61_02175d20 func_ov61_02175d20: ; 0x02175d20 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #4 mov r4, r2 mov r5, r1 add r3, sp, #0 add r2, r4, #7 mov r1, #5 mov r6, r0 bl func_ov61_021759b4 cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r0, [sp] cmp r0, #0 addne sp, sp, #4 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, pc} mov r1, r5 mov r2, r4 add r0, r6, #0x50 bl func_ov61_021732bc mov r0, r6 bl func_ov61_02175a78 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02175d20 .global func_ov61_02175d94 arm_func_start func_ov61_02175d94 func_ov61_02175d94: ; 0x02175d94 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 add r3, sp, #0 mov r1, #6 mov r2, #7 mov r4, r0 bl func_ov61_021759b4 cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldr r0, [sp] cmp r0, #0 addne sp, sp, #4 movne r0, #1 ldmneia sp!, {r3, r4, pc} mov r0, r4 bl func_ov61_02175a78 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_02175d94 .global func_ov61_02175df0 arm_func_start func_ov61_02175df0 func_ov61_02175df0: ; 0x02175df0 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r1, #7 add r3, sp, #0 mov r2, r1 mov r4, r0 bl func_ov61_021759b4 cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, pc} ldr r0, [sp] cmp r0, #0 addne sp, sp, #4 movne r0, #1 ldmneia sp!, {r3, r4, pc} mov r0, r4 bl func_ov61_02175a78 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_02175df0 .global func_ov61_02175e4c arm_func_start func_ov61_02175e4c func_ov61_02175e4c: ; 0x02175e4c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r7, r2 mov sb, r0 mov r8, r1 cmp r7, #2 blt _02175e7c ldr r1, _02175f10 ; =data_ov61_0217e0e4 mov r0, r8 mov r2, #2 bl func_0204366c cmp r0, #0 beq _02175e9c _02175e7c: mov r0, sb mov r1, r8 mov r2, r7 bl func_ov61_02173eb8 cmp r0, #0 moveq r0, #0 movne r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02175e9c: add r6, r7, #2 add r0, sb, #0x50 bl func_ov61_021731f0 cmp r0, r6 movlt r0, #1 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r1, _02175f10 ; =data_ov61_0217e0e4 add r0, sb, #0x50 ldr r5, [sb, #0x50] ldr r4, [sb, #0x58] mov r2, #2 bl func_ov61_021732bc mov r1, r8 mov r2, r7 add r0, sb, #0x50 bl func_ov61_021732bc mov r0, sb mov r2, r6 add r1, r5, r4 bl func_ov61_02173eb8 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r2, r6 add r0, sb, #0x50 mvn r1, #0 bl func_ov61_02173344 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02175e4c _02175f10: .word data_ov61_0217e0e4 .global func_ov61_02175f14 arm_func_start func_ov61_02175f14 func_ov61_02175f14: ; 0x02175f14 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02175f74 ; =data_ov61_0217e0e4 mov r4, r0 ldrb r3, [r1] ldrb r2, [r1, #1] add r0, sp, #0 mov r1, #0x64 strb r1, [sp, #2] strb r3, [r0] strb r2, [r0, #1] ldrh r2, [r4, #0x66] mov r1, #3 bl func_ov61_021745b8 add r1, sp, #0 mov r0, r4 mov r2, #5 bl func_ov61_02173eb8 cmp r0, #0 mov r0, #0 strne r0, [r4, #0x90] movne r0, #1 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02175f14 _02175f74: .word data_ov61_0217e0e4 .global func_ov61_02175f78 arm_func_start func_ov61_02175f78 func_ov61_02175f78: ; 0x02175f78 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #8 ldr r3, _02176000 ; =data_ov61_0217e0e4 mov r4, r1 ldrb lr, [r3] ldrb ip, [r3, #1] mov r5, r0 add r0, sp, #0 mov r7, r2 mov r3, #0x65 mov r2, r4 mov r6, #0 mov r1, #3 strb lr, [r0] strb ip, [r0, #1] strb r3, [sp, #2] bl func_ov61_021745b8 cmp r4, r7 add r6, r6, #5 beq _02175fdc add r0, sp, #0 mov r1, r6 mov r2, r7 bl func_ov61_021745b8 add r6, r6, #2 _02175fdc: add r1, sp, #0 mov r0, r5 mov r2, r6 bl func_ov61_02173eb8 cmp r0, #0 moveq r0, #0 movne r0, #1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02175f78 _02176000: .word data_ov61_0217e0e4 .global func_ov61_02176004 arm_func_start func_ov61_02176004 func_ov61_02176004: ; 0x02176004 ldr ip, _02176014 ; =func_ov61_02173eb8 mov r3, #0x67 strb r3, [r1, #2] bx ip .align 2, 0 arm_func_end func_ov61_02176004 _02176014: .word func_ov61_02173eb8 .global func_ov61_02176018 arm_func_start func_ov61_02176018 func_ov61_02176018: ; 0x02176018 ldr ip, _02176030 ; =func_ov61_02176034 mov r1, r0 ldrh r2, [r1, #4] ldr r0, [r1, #8] ldr r1, [r1] bx ip .align 2, 0 arm_func_end func_ov61_02176018 _02176030: .word func_ov61_02176034 .global func_ov61_02176034 arm_func_start func_ov61_02176034 func_ov61_02176034: ; 0x02176034 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr lr, _0217607c ; =data_ov61_0217e0e4 mov ip, #0x68 ldrb r4, [lr] ldrb lr, [lr, #1] add r3, sp, #4 strb ip, [sp, #6] strb r4, [r3] strb lr, [r3, #1] mov ip, #3 str ip, [sp] bl func_ov61_021766f4 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02176034 _0217607c: .word data_ov61_0217e0e4 .global func_ov61_02176080 arm_func_start func_ov61_02176080 func_ov61_02176080: ; 0x02176080 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 ldr r1, [r5] ldrh r2, [r4, #0x66] ldr r0, [r4, #0x50] add r1, r1, #5 bl func_ov61_021745b8 ldr r3, [r4, #0x50] ldmia r5, {r1, r2} mov r0, r4 add r1, r3, r1 bl func_ov61_02173eb8 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #0x88] str r0, [r5, #0xc] ldr r0, [r5] ldr r1, [r4, #0x50] add r0, r0, #2 ldrb r0, [r1, r0] cmp r0, #2 ldreq r0, [r4, #0x88] streq r0, [r4, #0x8c] mov r0, #1 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02176080 .global func_ov61_021760ec arm_func_start func_ov61_021760ec func_ov61_021760ec: ; 0x021760ec stmdb sp!, {r3, lr} cmp r3, #0 beq _02176100 bl func_ov61_02175aec ldmia sp!, {r3, pc} _02176100: bl func_ov61_02175e4c ldmia sp!, {r3, pc} arm_func_end func_ov61_021760ec .global func_ov61_02176108 arm_func_start func_ov61_02176108 func_ov61_02176108: ; 0x02176108 stmdb sp!, {r3, lr} ldr r2, [r0] ldrh r0, [r2, #4] ldr r2, [r2] mul r0, r2, r0 bl FastDivide mov r0, r1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02176108 .global func_ov61_02176128 arm_func_start func_ov61_02176128 func_ov61_02176128: ; 0x02176128 ldr r3, [r0] ldr r2, [r1] ldr r0, [r3] ldr r1, [r2] cmp r0, r1 subne r0, r0, r1 bxne lr ldrh r1, [r3, #4] ldrh r0, [r2, #4] sub r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bx lr arm_func_end func_ov61_02176128 .global func_ov61_0217615c arm_func_start func_ov61_0217615c func_ov61_0217615c: ; 0x0217615c ldr ip, _02176168 ; =func_ov61_02174194 ldr r0, [r0] bx ip .align 2, 0 arm_func_end func_ov61_0217615c _02176168: .word func_ov61_02174194 .global func_ov61_0217616c arm_func_start func_ov61_0217616c func_ov61_0217616c: ; 0x0217616c stmdb sp!, {lr} sub sp, sp, #0xa4 add r3, sp, #4 str r1, [sp, #4] strh r2, [sp, #8] str r3, [sp] ldr r0, [r0, #0xc] add r1, sp, #0 bl func_ov61_021663d8 cmp r0, #0 ldrne r0, [r0] moveq r0, #0 add sp, sp, #0xa4 ldmia sp!, {pc} arm_func_end func_ov61_0217616c .global func_ov61_021761a4 arm_func_start func_ov61_021761a4 func_ov61_021761a4: ; 0x021761a4 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x1c mov r4, r1 mov r6, r3 mov r5, r0 mov r7, r2 bl func_ov61_0216664c cmp r6, #0 moveq r6, #0x10000 cmp r7, #0 add r1, sp, #0x10 add r2, sp, #8 mov r0, r4 moveq r7, #0x10000 bl func_ov61_02176a54 cmp r0, #0 addeq sp, sp, #0x1c moveq r0, #4 ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, #0x44 bl func_ov61_0213e10c movs r4, r0 addeq sp, sp, #0x1c moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, pc} mov r1, #0 mov r2, #0x44 bl func_02043600 mvn r0, #0 str r0, [r4] str r6, [r4, #0x3c] ldr r1, [sp, #0x30] str r7, [r4, #0x38] str r1, [r4, #0x24] ldr r0, _021763b8 ; =func_ov61_02176128 ldr r3, _021763bc ; =func_ov61_02176108 str r0, [sp] mov ip, #0 mov r0, #4 mov r1, #0x20 mov r2, #2 str ip, [sp, #4] bl func_ov61_02166064 str r0, [r4, #0xc] cmp r0, #0 bne _02176270 mov r0, r4 bl func_ov61_0213e13c add sp, sp, #0x1c mov r0, #1 ldmia sp!, {r4, r5, r6, r7, pc} _02176270: mov r0, #4 ldr r2, _021763c0 ; =func_ov61_0217615c mov r1, r0 bl func_ov61_02165938 str r0, [r4, #0x10] cmp r0, #0 bne _021762a8 ldr r0, [r4, #0xc] bl func_ov61_021661a4 mov r0, r4 bl func_ov61_0213e13c add sp, sp, #0x1c mov r0, #1 ldmia sp!, {r4, r5, r6, r7, pc} _021762a8: mov r0, #2 mov r1, r0 mov r2, #0 bl func_ov61_02166a84 mvn r1, #0 str r0, [r4] cmp r0, r1 bne _021762ec ldr r0, [r4, #0xc] bl func_ov61_021661a4 ldr r0, [r4, #0x10] bl func_ov61_021659fc mov r0, r4 bl func_ov61_0213e13c add sp, sp, #0x1c mov r0, #3 ldmia sp!, {r4, r5, r6, r7, pc} _021762ec: ldrh r0, [sp, #8] add r1, sp, #0x14 mov ip, #0 mov r2, r0, asr #0x8 mov r0, r0, lsl #0x8 and r2, r2, #0xff and r0, r0, #0xff00 orr r0, r2, r0 str ip, [r1] mov r2, #2 strb r2, [sp, #0x15] ldr r3, [sp, #0x10] str ip, [r1, #4] str r3, [sp, #0x18] strh r0, [sp, #0x16] ldr r0, [r4] mov r2, #8 bl func_ov61_02166ac0 mvn r1, #0 cmp r0, r1 bne _0217636c ldr r0, [r4] bl func_ov61_02166a98 ldr r0, [r4, #0xc] bl func_ov61_021661a4 ldr r0, [r4, #0x10] bl func_ov61_021659fc mov r0, r4 bl func_ov61_0213e13c add sp, sp, #0x1c mov r0, #3 ldmia sp!, {r4, r5, r6, r7, pc} _0217636c: mov r0, #8 str r0, [sp, #0xc] ldr r0, [r4] add r1, sp, #0x14 add r2, sp, #0xc bl func_ov61_02166c98 ldr r1, [sp, #0x18] mov r0, #0 str r1, [r4, #4] ldrh r1, [sp, #0x16] mov r2, r1, asr #0x8 mov r1, r1, lsl #0x8 and r2, r2, #0xff and r1, r1, #0xff00 orr r1, r2, r1 strh r1, [r4, #8] str r4, [r5] add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_021761a4 _021763b8: .word func_ov61_02176128 _021763bc: .word func_ov61_02176108 _021763c0: .word func_ov61_0217615c .global func_ov61_021763c4 arm_func_start func_ov61_021763c4 func_ov61_021763c4: ; 0x021763c4 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x1c] cmp r0, #0 movne r0, #1 strne r0, [r4, #0x14] ldmneia sp!, {r4, pc} ldr r0, [r4] bl func_ov61_02166a98 ldr r0, [r4, #0xc] bl func_ov61_021661a4 ldr r0, [r4, #0x10] bl func_ov61_021659fc mov r0, r4 bl func_ov61_0213e13c bl func_ov61_02166650 ldmia sp!, {r4, pc} arm_func_end func_ov61_021763c4 .global func_ov61_02176408 arm_func_start func_ov61_02176408 func_ov61_02176408: ; 0x02176408 str r1, [r0, #0x20] bx lr arm_func_end func_ov61_02176408 .global func_ov61_02176410 arm_func_start func_ov61_02176410 func_ov61_02176410: ; 0x02176410 ldr ip, _0217641c ; =func_ov61_0213e10c mov r0, #0xa0 bx ip .align 2, 0 arm_func_end func_ov61_02176410 _0217641c: .word func_ov61_0213e10c .global func_ov61_02176420 arm_func_start func_ov61_02176420 func_ov61_02176420: ; 0x02176420 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r3 mov r5, r2 mov r3, #0 mov r6, r1 mov r1, r5 mov r2, r4 mov r7, r0 str r3, [sp] bl func_ov61_0217616c cmp r0, #0 movne r0, #5 ldmneia sp!, {r3, r4, r5, r6, r7, pc} bl func_ov61_02176410 str r0, [sp] cmp r0, #0 beq _021765b0 mov r1, #0 mov r2, #0xa0 bl func_02043600 ldr r0, [sp] str r5, [r0] ldr r0, [sp] strh r4, [r0, #4] ldr r0, [sp] str r7, [r0, #8] bl func_ov61_021665e8 ldr r2, [sp] mov r1, #0 str r0, [r2, #0x1c] ldr r2, [sp] ldr r0, [r2, #0x1c] str r0, [r2, #0x88] ldr r0, [sp] strh r1, [r0, #0x64] ldr r0, [sp] strh r1, [r0, #0x66] ldr r0, [sp] ldr r1, [r7, #0x3c] add r0, r0, #0x44 bl func_ov61_021731c4 cmp r0, #0 beq _021765b0 ldr r0, [sp] ldr r1, [r7, #0x38] add r0, r0, #0x50 bl func_ov61_021731c4 cmp r0, #0 beq _021765b0 mov r0, #0x10 mov r1, #0x40 mov r2, #0 bl func_ov61_02165938 ldr r1, [sp] str r0, [r1, #0x5c] ldr r0, [sp] ldr r0, [r0, #0x5c] cmp r0, #0 beq _021765b0 mov r0, #0x10 mov r1, #0x40 mov r2, #0 bl func_ov61_02165938 ldr r1, [sp] str r0, [r1, #0x60] ldr r0, [sp] ldr r0, [r0, #0x60] cmp r0, #0 beq _021765b0 mov r0, #4 mov r1, #2 mov r2, #0 bl func_ov61_02165938 ldr r1, [sp] str r0, [r1, #0x98] ldr r0, [sp] ldr r0, [r0, #0x98] cmp r0, #0 beq _021765b0 mov r0, #4 mov r1, #2 mov r2, #0 bl func_ov61_02165938 ldr r1, [sp] str r0, [r1, #0x9c] ldr r0, [sp] ldr r0, [r0, #0x9c] cmp r0, #0 beq _021765b0 ldr r0, [r7, #0xc] add r1, sp, #0 bl func_ov61_0216628c mov r0, r7 mov r1, r5 mov r2, r4 bl func_ov61_0217616c str r0, [r6] cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _021765b0: ldr r0, [sp] cmp r0, #0 beq _02176628 ldr r0, [r0, #0x44] bl func_ov61_0213e13c ldr r0, [sp] ldr r0, [r0, #0x50] bl func_ov61_0213e13c ldr r0, [sp] ldr r0, [r0, #0x5c] cmp r0, #0 beq _021765e4 bl func_ov61_021659fc _021765e4: ldr r0, [sp] ldr r0, [r0, #0x60] cmp r0, #0 beq _021765f8 bl func_ov61_021659fc _021765f8: ldr r0, [sp] ldr r0, [r0, #0x98] cmp r0, #0 beq _0217660c bl func_ov61_021659fc _0217660c: ldr r0, [sp] ldr r0, [r0, #0x9c] cmp r0, #0 beq _02176620 bl func_ov61_021659fc _02176620: ldr r0, [sp] bl func_ov61_0213e13c _02176628: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02176420 .global func_ov61_02176630 arm_func_start func_ov61_02176630 func_ov61_02176630: ; 0x02176630 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, lr} ldr r1, [sp, #0x10] ldr r0, [r1, #0x14] cmp r0, #0 ldreq r0, [r1, #0x24] cmpeq r0, #0 ldmneia sp!, {r4, r5, r6, lr} addne sp, sp, #0x10 bxne lr ldr r0, [r1, #0xc] cmp r0, #7 ldr r0, [r1, #8] bne _021766dc ldr r0, [r0, #0x10] bl func_ov61_02165a68 mov r4, r0 mov r5, #0 cmp r4, #0 ldmleia sp!, {r4, r5, r6, lr} addle sp, sp, #0x10 bxle lr _02176688: ldr r6, [sp, #0x10] mov r1, r5 ldr r0, [r6, #8] ldr r0, [r0, #0x10] bl func_ov61_02165a70 ldr r0, [r0] cmp r6, r0 bne _021766c4 ldr r0, [r6, #8] mov r1, r5 ldr r0, [r0, #0x10] bl func_ov61_02165cec ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr _021766c4: add r5, r5, #1 cmp r5, r4 blt _02176688 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr _021766dc: ldr r0, [r0, #0xc] add r1, sp, #0x10 bl func_ov61_02166334 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_02176630 .global func_ov61_021766f4 arm_func_start func_ov61_021766f4 func_ov61_021766f4: ; 0x021766f4 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r6, r0 mov r5, r1 add r0, sp, #0x34 add r1, sp, #0x38 mov r4, r2 bl func_ov61_02176bd8 ldr r0, [r6] bl func_ov61_0216693c cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, lr} addeq sp, sp, #0x10 bxeq lr mov r1, r4, asr #0x8 mov r0, r4, lsl #0x8 add r2, sp, #0x10 mov r3, #0 str r3, [r2, #4] and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 str r3, [r2] mov r1, #2 strh r0, [sp, #0x12] strb r1, [sp, #0x11] str r5, [sp, #0x14] str r2, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, [r6] ldr r1, [sp, #0x34] ldr r2, [sp, #0x38] bl func_ov61_02166c04 mvn r1, #0 cmp r0, r1 bne _02176820 ldr r0, [r6] bl func_ov61_02166ce0 mvn r2, #0xe cmp r0, r2 bne _021767d4 mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_02175710 cmp r0, #0 bne _02176888 add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr _021767d4: sub r1, r2, #0x1b cmp r0, r1 addne r1, r2, #9 cmpne r0, r1 addeq sp, sp, #0x18 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, lr} addeq sp, sp, #0x10 bxeq lr sub r1, r2, #0x14 cmp r0, r1 beq _02176888 mov r0, r6 bl func_ov61_02176968 add sp, sp, #0x18 mov r0, #0 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr _02176820: ldr r0, [r6, #0x28] cmp r0, #0 beq _02176888 mov r0, r6 mov r1, r5 mov r2, r4 bl func_ov61_0217616c mov r1, #0 str r1, [sp] ldr r2, [sp, #0x34] mov r1, r0 str r2, [sp, #4] ldr ip, [sp, #0x38] mov r3, r4 mov r0, r6 mov r2, r5 str ip, [sp, #8] mov r4, #1 str r4, [sp, #0xc] bl func_ov61_02173ae0 cmp r0, #0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, lr} addeq sp, sp, #0x10 bxeq lr _02176888: mov r0, #1 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, lr} add sp, sp, #0x10 bx lr arm_func_end func_ov61_021766f4 .global func_ov61_0217689c arm_func_start func_ov61_0217689c func_ov61_0217689c: ; 0x0217689c stmdb sp!, {r4, lr} ldr r4, [r0] ldr r1, [r1] ldr r0, [r4, #0xc] cmp r0, #7 beq _021768c8 mov r0, r4 bl func_ov61_02174080 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _021768c8: ldr r0, [r4, #0xc] cmp r0, #7 ldreq r0, [r4, #0x14] cmpeq r0, #0 ldreq r0, [r4, #0x24] cmpeq r0, #0 bne _021768ec mov r0, r4 bl func_ov61_02176630 _021768ec: mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov61_0217689c .global func_ov61_021768f4 arm_func_start func_ov61_021768f4 func_ov61_021768f4: ; 0x021768f4 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 bl func_ov61_021665e8 str r0, [sp] ldr r0, [r4, #0xc] ldr r1, _0217692c ; =func_ov61_0217689c add r2, sp, #0 bl func_ov61_021664e4 cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_021768f4 _0217692c: .word func_ov61_0217689c .global func_ov61_02176930 arm_func_start func_ov61_02176930 func_ov61_02176930: ; 0x02176930 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r0, [r5, #0x10] bl func_ov61_02165a68 subs r4, r0, #1 ldmmiia sp!, {r3, r4, r5, pc} _02176948: ldr r0, [r5, #0x10] mov r1, r4 bl func_ov61_02165a70 ldr r0, [r0] bl func_ov61_02176630 subs r4, r4, #1 bpl _02176948 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02176930 .global func_ov61_02176968 arm_func_start func_ov61_02176968 func_ov61_02176968: ; 0x02176968 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x18] cmp r1, #0 ldmneia sp!, {r4, pc} mov r1, #1 str r1, [r4, #0x18] bl func_ov61_021744b8 mov r0, r4 bl func_ov61_021733e4 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov61_021763c4 ldmia sp!, {r4, pc} arm_func_end func_ov61_02176968 .global func_ov61_021769a4 arm_func_start func_ov61_021769a4 func_ov61_021769a4: ; 0x021769a4 stmdb sp!, {r3, r4, r5, lr} movs r4, r2 mov r5, r1 bne _021769d0 ldr r2, _02176a40 ; =data_ov61_02181588 ldr r3, _02176a44 ; =data_ov61_0218158c ldr ip, [r2] mov r1, #0x16 eor ip, ip, #1 mla r4, ip, r1, r3 str ip, [r2] _021769d0: cmp r0, #0 beq _02176a18 str r0, [sp] cmp r5, #0 beq _02176a00 bl func_ov61_02159554 mov r2, r0 ldr r1, _02176a48 ; =data_ov61_0217e114 mov r0, r4 mov r3, r5 bl func_020459b8 b _02176a38 _02176a00: bl func_ov61_02159554 mov r2, r0 ldr r1, _02176a4c ; =data_ov61_0217e11c mov r0, r4 bl func_020459b8 b _02176a38 _02176a18: cmp r5, #0 moveq r0, #0 streqb r0, [r4] beq _02176a38 ldr r1, _02176a50 ; =data_ov61_0217e120 mov r0, r4 mov r2, r5 bl func_020459b8 _02176a38: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021769a4 _02176a40: .word data_ov61_02181588 _02176a44: .word data_ov61_0218158c _02176a48: .word data_ov61_0217e114 _02176a4c: .word data_ov61_0217e11c _02176a50: .word data_ov61_0217e120 .global func_ov61_02176a54 arm_func_start func_ov61_02176a54 func_ov61_02176a54: ; 0x02176a54 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x104 movs r8, r0 mov r7, r1 ldrnesb r1, [r8] mov r6, r2 cmpne r1, #0 moveq r4, #0 moveq r5, r4 beq _02176ba8 mov r1, #0x3a bl func_020472b4 movs r5, r0 moveq r5, #0 beq _02176b64 cmp r5, r8 moveq r8, #0 moveq r4, r8 beq _02176adc sub sb, r5, r8 cmp sb, #0x100 blt _02176ac0 ldr r0, _02176bc4 ; =data_ov61_0217e124 ldr r1, _02176bc8 ; =data_ov61_0217e144 ldr r2, _02176bcc ; =data_ov61_0217e100 mov r3, #0x81 bl func_02042f80 _02176ac0: add r0, sp, #0 mov r1, r8 mov r2, sb bl func_02043594 add r8, sp, #0 mov r0, #0 strb r0, [r8, sb] _02176adc: ldrsb r0, [r5, #1] add r3, r5, #1 cmp r0, #0 beq _02176b34 ldr r1, _02176bd0 ; =data_02056d98 mov r2, #0 _02176af4: cmp r0, #0 blt _02176b04 cmp r0, #0x80 blt _02176b0c _02176b04: mov r0, r2 b _02176b18 _02176b0c: mov r0, r0, lsl #0x1 ldrh r0, [r1, r0] and r0, r0, #8 _02176b18: cmp r0, #0 addeq sp, sp, #0x104 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldrsb r0, [r3, #1]! cmp r0, #0 bne _02176af4 _02176b34: add r0, r5, #1 bl func_0204902c cmp r0, #0 blt _02176b50 ldr r1, _02176bd4 ; =0x0000ffff cmp r0, r1 ble _02176b5c _02176b50: add sp, sp, #0x104 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _02176b5c: mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 _02176b64: cmp r8, #0 beq _02176ba8 mov r0, r8 bl func_ov61_02166cc4 mov r4, r0 mvn r0, #0 cmp r4, r0 bne _02176ba8 mov r0, r8 bl func_ov61_021590ac cmp r0, #0 addeq sp, sp, #0x104 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc} ldr r0, [r0, #0xc] ldr r0, [r0] ldr r4, [r0] _02176ba8: cmp r7, #0 strne r4, [r7] cmp r6, #0 strneh r5, [r6] mov r0, #1 add sp, sp, #0x104 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02176a54 _02176bc4: .word data_ov61_0217e124 _02176bc8: .word data_ov61_0217e144 _02176bcc: .word data_ov61_0217e100 _02176bd0: .word data_02056d98 _02176bd4: .word 0x0000ffff .global func_ov61_02176bd8 arm_func_start func_ov61_02176bd8 func_ov61_02176bd8: ; 0x02176bd8 stmdb sp!, {r4, lr} ldr r2, [r0] mov r4, r1 cmp r2, #0 bne _02176c00 ldr r2, _02176c24 ; =data_ov61_0217e154 mov r1, #0 str r2, [r0] str r1, [r4] ldmia sp!, {r4, pc} _02176c00: ldr r1, [r4] mvn r0, #0 cmp r1, r0 ldmneia sp!, {r4, pc} mov r0, r2 bl func_02047008 add r0, r0, #1 str r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02176bd8 _02176c24: .word data_ov61_0217e154 .global func_ov61_02176c28 arm_func_start func_ov61_02176c28 func_ov61_02176c28: ; 0x02176c28 stmdb sp!, {r4, r5, r6, lr} ldr r1, _02176c8c ; =data_ov61_021815b8 mov r6, r0 ldr r0, [r1, #0x10] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r5, #0 bl func_ov61_02165a68 cmp r0, #0 ble _02176c84 ldr r4, _02176c8c ; =data_ov61_021815b8 _02176c58: ldr r0, [r4, #0x10] mov r1, r5 bl func_ov61_02165a70 ldr r1, [r0, #8] cmp r1, r6 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, [r4, #0x10] add r5, r5, #1 bl func_ov61_02165a68 cmp r5, r0 blt _02176c58 _02176c84: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02176c28 _02176c8c: .word data_ov61_021815b8 .global func_ov61_02176c90 arm_func_start func_ov61_02176c90 func_ov61_02176c90: ; 0x02176c90 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4] mvn r1, #0 cmp r0, r1 beq _02176cac bl func_ov61_02166a98 _02176cac: mvn r0, #0 str r0, [r4] mov r0, #4 str r0, [r4, #0x10] ldmia sp!, {r4, pc} arm_func_end func_ov61_02176c90 .global func_ov61_02176cc0 arm_func_start func_ov61_02176cc0 func_ov61_02176cc0: ; 0x02176cc0 stmdb sp!, {r3, lr} sub sp, sp, #0x40 mov r0, #0 add r3, sp, #0 mov r1, r0 stmia r3!, {r0, r1} stmia r3!, {r0, r1} stmia r3!, {r0, r1} stmia r3!, {r0, r1} stmia r3!, {r0, r1} stmia r3!, {r0, r1} ldr r2, _02176d50 ; =data_ov61_021815b8 stmia r3!, {r0, r1} ldr r2, [r2, #0x10] stmia r3, {r0, r1} cmp r2, #0 bne _02176d1c ldr r2, _02176d54 ; =func_ov61_02176c90 mov r0, #0x40 mov r1, #4 bl func_ov61_02165938 ldr r1, _02176d50 ; =data_ov61_021815b8 str r0, [r1, #0x10] _02176d1c: ldr r0, _02176d50 ; =data_ov61_021815b8 add r1, sp, #0 ldr r0, [r0, #0x10] bl func_ov61_02165ad8 ldr r0, _02176d50 ; =data_ov61_021815b8 ldr r0, [r0, #0x10] bl func_ov61_02165a68 ldr r2, _02176d50 ; =data_ov61_021815b8 sub r1, r0, #1 ldr r0, [r2, #0x10] bl func_ov61_02165a70 add sp, sp, #0x40 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02176cc0 _02176d50: .word data_ov61_021815b8 _02176d54: .word func_ov61_02176c90 .global func_ov61_02176d58 arm_func_start func_ov61_02176d58 func_ov61_02176d58: ; 0x02176d58 stmdb sp!, {r4, r5, r6, lr} ldr r1, _02176dbc ; =data_ov61_021815b8 mov r6, r0 ldr r0, [r1, #0x10] mov r5, #0 bl func_ov61_02165a68 cmp r0, #0 ldmleia sp!, {r4, r5, r6, pc} ldr r4, _02176dbc ; =data_ov61_021815b8 _02176d7c: ldr r0, [r4, #0x10] mov r1, r5 bl func_ov61_02165a70 cmp r6, r0 bne _02176da4 ldr r0, _02176dbc ; =data_ov61_021815b8 mov r1, r5 ldr r0, [r0, #0x10] bl func_ov61_02165c5c ldmia sp!, {r4, r5, r6, pc} _02176da4: ldr r0, [r4, #0x10] add r5, r5, #1 bl func_ov61_02165a68 cmp r5, r0 blt _02176d7c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02176d58 _02176dbc: .word data_ov61_021815b8 .global func_ov61_02176dc0 arm_func_start func_ov61_02176dc0 func_ov61_02176dc0: ; 0x02176dc0 stmdb sp!, {r3, lr} ldr r0, _02176de8 ; =data_ov61_021815b8 ldr r0, [r0, #0x10] cmp r0, #0 ldmeqia sp!, {r3, pc} bl func_ov61_021659fc ldr r0, _02176de8 ; =data_ov61_021815b8 mov r1, #0 str r1, [r0, #0x10] ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02176dc0 _02176de8: .word data_ov61_021815b8 .global func_ov61_02176dec arm_func_start func_ov61_02176dec func_ov61_02176dec: ; 0x02176dec stmdb sp!, {r3, lr} ldr r1, _02176e0c ; =data_ov61_0217e158 mov r2, #6 bl func_0204366c cmp r0, #0 moveq r0, #1 movne r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_02176dec _02176e0c: .word data_ov61_0217e158 .global func_ov61_02176e10 arm_func_start func_ov61_02176e10 func_ov61_02176e10: ; 0x02176e10 stmdb sp!, {r3, lr} sub sp, sp, #0x10 mov ip, r2, asr #0x8 mov r2, r2, lsl #0x8 str r1, [sp, #0xc] mov r1, r3 and r3, ip, #0xff and r2, r2, #0xff00 orr r2, r3, r2 mov lr, #2 strh r2, [sp, #0xa] add r3, sp, #8 strb lr, [sp, #9] str r3, [sp] mov ip, #8 ldr r2, [sp, #0x18] mov r3, #0 str ip, [sp, #4] bl func_ov61_02166c04 add sp, sp, #0x10 ldmia sp!, {r3, pc} arm_func_end func_ov61_02176e10 .global func_ov61_02176e64 arm_func_start func_ov61_02176e64 func_ov61_02176e64: ; 0x02176e64 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, #0 bl func_ov61_02166964 movs r6, r0 moveq r0, r7 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r4, _02176ec4 ; =0x0100007f mov r5, r7 _02176e84: ldr r0, [r6, #0xc] ldr r0, [r0, r5, lsl #2] cmp r0, #0 beq _02176ebc ldr r1, [r0] cmp r1, r4 beq _02176eb4 mov r7, r1 bl func_ov61_021669f0 cmp r0, #0 movne r0, r7 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _02176eb4: add r5, r5, #1 b _02176e84 _02176ebc: mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02176e64 _02176ec4: .word 0x0100007f .global func_ov61_02176ec8 arm_func_start func_ov61_02176ec8 func_ov61_02176ec8: ; 0x02176ec8 stmdb sp!, {lr} sub sp, sp, #0xc mov r3, #8 add r1, sp, #4 add r2, sp, #0 str r3, [sp] bl func_ov61_02166c98 mvn r1, #0 cmp r0, r1 moveq r0, #0 ldrneh r0, [sp, #6] add sp, sp, #0xc ldmia sp!, {pc} arm_func_end func_ov61_02176ec8 .global func_ov61_02176efc arm_func_start func_ov61_02176efc func_ov61_02176efc: ; 0x02176efc stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x5c ldr r2, _02177134 ; =data_ov61_0217e158 mov r1, #0 ldrb lr, [r2] ldrb ip, [r2, #1] add r5, sp, #4 ldrb r8, [r2, #2] ldrb r7, [r2, #3] ldrb r4, [r2, #4] ldrb r3, [r2, #5] mov r2, #2 mov r6, r0 strb lr, [r5] strb ip, [r5, #1] strb r8, [r5, #2] strb r7, [r5, #3] strb r4, [r5, #4] strb r3, [r5, #5] strb r1, [r5, #7] strb r2, [r5, #6] ldr r2, [r6, #0xc] sub r0, r1, #1 strb r2, [r5, #0xd] ldr r7, [r6, #8] mov r3, r7, lsr #0x18 mov r2, r7, lsr #0x8 mov r4, r7, lsl #0x8 and r3, r3, #0xff and r2, r2, #0xff00 mov r7, r7, lsl #0x18 orr r2, r3, r2 and r4, r4, #0xff0000 and r3, r7, #0xff000000 orr r2, r4, r2 orr r2, r3, r2 str r2, [r5, #8] ldr r2, [r6, #4] cmp r2, r0 movne r1, #1 strb r1, [r5, #0xe] bl func_ov61_02176e64 mov r7, r0 bl func_ov61_02176e64 mov r8, r0 bl func_ov61_02176e64 mov r4, r0 bl func_ov61_02176e64 mov r2, #0 mov r1, r7, lsl #0x18 and r7, r1, #0xff000000 mov r1, r8, lsl #0x8 mov r0, r0, lsr #0x8 and r3, r1, #0xff0000 mov r1, r4, lsr #0x18 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 orr r0, r3, r0 orr r3, r7, r0 mov r1, r3, lsr #0x18 strb r1, [sp, #0x13] mov r1, r3, lsr #0x8 mov r0, r3, lsr #0x10 strb r1, [sp, #0x15] strb r0, [sp, #0x14] ldr r1, _02177138 ; =data_ov61_021810c0 add r0, sp, #0x19 strb r3, [sp, #0x16] strb r2, [sp, #0x17] strb r2, [sp, #0x18] bl func_02047024 ldr r0, _02177138 ; =data_ov61_021810c0 bl func_02047008 ldrb r1, [r5, #0xe] add r4, r0, #0x16 cmp r1, #0 beq _02177064 ldr r0, [r6, #0x14] cmp r0, #0 bne _02177064 mov r0, #0 strb r0, [r5, #0xc] str r4, [sp] ldr r1, _0217713c ; =data_ov61_021815b8 ldr r0, [r6, #4] ldr r1, [r1, #0xc] ldr r2, _02177140 ; =0x00006cfd mov r3, r5 bl func_ov61_02176e10 _02177064: ldr r0, [r6, #0x18] cmp r0, #0 bne _02177094 mov r0, #1 strb r0, [r5, #0xc] str r4, [sp] ldr r1, _0217713c ; =data_ov61_021815b8 ldr r0, [r6] ldr r1, [r1, #0xc] ldr r2, _02177140 ; =0x00006cfd mov r3, r5 bl func_ov61_02176e10 _02177094: ldrb r0, [r5, #0xe] cmp r0, #0 ldrne r8, [r6, #4] ldreq r8, [r6] cmp r0, #0 ldrne r0, [r6, #4] ldreq r0, [r6] bl func_ov61_02176ec8 mov r7, r0 mov r0, r8 bl func_ov61_02176ec8 mov r1, r7, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 mov r0, r0, lsl #0x10 mov r1, r0, lsr #0x10 mov r0, r1, asr #0x8 strb r1, [sp, #0x18] strb r0, [sp, #0x17] ldr r0, [r6, #0x1c] cmp r0, #0 bne _02177118 mov r0, #2 strb r0, [r5, #0xc] str r4, [sp] ldr r1, _0217713c ; =data_ov61_021815b8 ldr r0, [r6] ldr r1, [r1, #8] ldr r2, _02177140 ; =0x00006cfd mov r3, r5 bl func_ov61_02176e10 _02177118: bl func_ov61_021665e8 add r0, r0, #0x1f4 str r0, [r6, #0x28] mov r0, #0x1e str r0, [r6, #0x24] add sp, sp, #0x5c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02176efc _02177134: .word data_ov61_0217e158 _02177138: .word data_ov61_021810c0 _0217713c: .word data_ov61_021815b8 _02177140: .word 0x00006cfd .global func_ov61_02177144 arm_func_start func_ov61_02177144 func_ov61_02177144: ; 0x02177144 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 ldr r1, _02177260 ; =data_ov61_0217e158 mov r2, #2 ldrb r7, [r1] ldrb r6, [r1, #1] add r8, sp, #4 ldrb r5, [r1, #2] ldrb lr, [r1, #3] ldrb ip, [r1, #4] ldrb r3, [r1, #5] mov r1, #7 mov r4, r0 strb r7, [r8] strb r6, [r8, #1] strb r5, [r8, #2] strb lr, [r8, #3] strb ip, [r8, #4] strb r2, [sp, #0xa] strb r1, [sp, #0xb] strb r3, [r8, #5] ldr r3, [r4, #8] mov r1, r3, lsr #0x18 mov r0, r3, lsr #0x8 mov r2, r3, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 mov r3, r3, lsl #0x18 orr r0, r1, r0 and r2, r2, #0xff0000 and r1, r3, #0xff000000 orr r0, r2, r0 orr r0, r1, r0 str r0, [sp, #0xc] ldr r0, [r4, #0x2c] add r3, sp, #4 str r0, [sp, #0x10] ldrh r0, [r4, #0x30] mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 strh r0, [sp, #0x14] ldrb r0, [r4, #0x32] mvn r1, #0 strb r0, [sp, #0x16] ldr r0, [r4, #0x10] cmp r0, #2 movne r0, #1 moveq r0, #0 strb r0, [sp, #0x17] ldr r0, [r4, #4] cmp r0, r1 ldreq r0, [r4] mov r1, #0x14 str r1, [sp] ldrh r2, [r4, #0x30] ldr r1, [r4, #0x2c] bl func_ov61_02176e10 bl func_ov61_021665e8 add r0, r0, #0x2bc str r0, [r4, #0x28] mov r0, #0xc str r0, [r4, #0x24] ldrb r0, [r4, #0x32] cmp r0, #0 movne r0, #1 strneb r0, [r4, #0x33] add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02177144 _02177260: .word data_ov61_0217e158 .global func_ov61_02177264 arm_func_start func_ov61_02177264 func_ov61_02177264: ; 0x02177264 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_02166cc4 mvn r1, #0 cmp r0, r1 ldmneia sp!, {r4, pc} mov r0, r4 bl func_ov61_021590ac cmp r0, #0 moveq r0, #0 ldrne r0, [r0, #0xc] ldrne r0, [r0] ldrne r0, [r0] ldmia sp!, {r4, pc} arm_func_end func_ov61_02177264 .global func_ov61_0217729c arm_func_start func_ov61_0217729c func_ov61_0217729c: ; 0x0217729c stmdb sp!, {lr} sub sp, sp, #0x84 cmp r0, #0 bne _021772c8 ldr r2, _021772d4 ; =data_ov61_0217e160 str r1, [sp] ldr r3, _021772d8 ; =data_ov61_021810c0 add r0, sp, #4 mov r1, #0x80 bl func_02045990 add r0, sp, #4 _021772c8: bl func_ov61_02177264 add sp, sp, #0x84 ldmia sp!, {pc} .align 2, 0 arm_func_end func_ov61_0217729c _021772d4: .word data_ov61_0217e160 _021772d8: .word data_ov61_021810c0 .global func_ov61_021772dc arm_func_start func_ov61_021772dc func_ov61_021772dc: ; 0x021772dc stmdb sp!, {r3, lr} ldr r0, _02177348 ; =data_ov61_021815b8 ldr r1, [r0, #0xc] cmp r1, #0 bne _02177304 ldr r0, [r0, #4] ldr r1, _0217734c ; =data_ov61_0217e168 bl func_ov61_0217729c ldr r1, _02177348 ; =data_ov61_021815b8 str r0, [r1, #0xc] _02177304: ldr r0, _02177348 ; =data_ov61_021815b8 ldr r1, [r0, #8] cmp r1, #0 bne _02177328 ldr r0, [r0] ldr r1, _02177350 ; =data_ov61_0217e184 bl func_ov61_0217729c ldr r1, _02177348 ; =data_ov61_021815b8 str r0, [r1, #8] _02177328: ldr r0, _02177348 ; =data_ov61_021815b8 ldr r1, [r0, #0xc] cmp r1, #0 ldrne r0, [r0, #8] cmpne r0, #0 moveq r0, #0 movne r0, #1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021772dc _02177348: .word data_ov61_021815b8 _0217734c: .word data_ov61_0217e168 _02177350: .word data_ov61_0217e184 .global func_ov61_02177354 arm_func_start func_ov61_02177354 func_ov61_02177354: ; 0x02177354 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr ip, _02177418 ; =data_ov61_02181024 mov r8, r0 ldr r0, [ip] mov r7, r1 cmp r0, #1 mov r6, r2 mov r5, r3 movne r0, #2 ldmneia sp!, {r4, r5, r6, r7, r8, pc} bl func_ov61_021772dc cmp r0, #0 moveq r0, #3 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} bl func_ov61_02176cc0 movs r4, r0 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} str r8, [r4, #4] str r6, [r4, #0xc] str r7, [r4, #8] ldr r1, [sp, #0x18] str r5, [r4, #0x34] ldr r2, [sp, #0x1c] str r1, [r4, #0x38] mov r0, #2 str r2, [r4, #0x3c] mov r1, r0 mov r2, #0 bl func_ov61_02166a84 mov r2, #0 str r0, [r4] str r2, [r4, #0x20] strb r2, [r4, #0x32] strb r2, [r4, #0x33] str r2, [r4, #0x2c] strh r2, [r4, #0x30] str r2, [r4, #0x24] ldr r1, [r4] sub r0, r2, #1 cmp r1, r0 mov r0, r4 bne _0217740c bl func_ov61_02176d58 mov r0, #2 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0217740c: bl func_ov61_02176efc mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02177354 _02177418: .word data_ov61_02181024 .global func_ov61_0217741c arm_func_start func_ov61_0217741c func_ov61_0217741c: ; 0x0217741c stmdb sp!, {r4, lr} bl func_ov61_02176c28 movs r4, r0 ldmeqia sp!, {r4, pc} ldr r0, [r4] mvn r1, #0 cmp r0, r1 beq _02177440 bl func_ov61_02166a98 _02177440: mvn r0, #0 str r0, [r4] mov r0, #4 str r0, [r4, #0x10] ldmia sp!, {r4, pc} arm_func_end func_ov61_0217741c .global func_ov61_02177454 arm_func_start func_ov61_02177454 func_ov61_02177454: ; 0x02177454 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #0x1c mov r2, #8 mov sb, r0 str r2, [sp, #0x10] ldr r1, [sb, #0x10] cmp r1, #4 bne _02177480 bl func_ov61_02176d58 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} _02177480: ldr r0, [sb] sub r1, r2, #9 cmp r0, r1 beq _021774fc ldr r6, _02177640 ; =data_ov61_021815cc add r8, sp, #0x14 add r7, sp, #0x10 mov r5, #0x200 mov r4, #0 mvn sl, #0 _021774a8: bl func_ov61_02166914 cmp r0, #0 beq _021774fc str r8, [sp] str r7, [sp, #4] ldr r0, [sb] mov r1, r6 mov r2, r5 mov r3, r4 bl func_ov61_02166bc0 mov r1, r0 cmp r1, sl beq _021774fc mov r0, r6 mov r2, r8 bl func_ov61_021779dc ldr r0, [sb, #0x10] cmp r0, #4 ldrne r0, [sb] cmpne r0, sl bne _021774a8 _021774fc: ldr r0, [sb, #0x10] cmp r0, #0 cmpne r0, #2 bne _02177574 bl func_ov61_021665e8 ldr r1, [sb, #0x28] cmp r0, r1 bls _02177574 ldr r1, [sb, #0x20] ldr r0, [sb, #0x24] cmp r1, r0 ble _02177550 mov r0, #2 ldr r3, [sb, #0x3c] ldr r4, [sb, #0x38] sub r1, r0, #3 mov r2, #0 blx r4 ldr r0, [sb, #8] bl func_ov61_0217741c b _02177574 _02177550: add r0, r1, #1 str r0, [sb, #0x20] ldr r0, [sb, #0x10] cmp r0, #0 mov r0, sb bne _02177570 bl func_ov61_02176efc b _02177574 _02177570: bl func_ov61_02177144 _02177574: ldr r0, [sb, #0x10] cmp r0, #3 bne _021775f4 bl func_ov61_021665e8 ldr r1, [sb, #0x28] cmp r0, r1 bls _021775f4 ldr r1, [sb, #4] mvn r0, #0 cmp r1, r0 bne _021775ec mov r0, #2 strb r0, [sp, #9] ldrh r1, [sb, #0x30] add r2, sp, #8 mov r0, #0 mov r3, r1, asr #0x8 mov r1, r1, lsl #0x8 and r3, r3, #0xff and r1, r1, #0xff00 orr r1, r3, r1 strh r1, [sp, #0xa] ldr r1, [sb, #0x2c] str r1, [sp, #0xc] ldr r1, [sb] ldr r3, [sb, #0x3c] ldr r4, [sb, #0x38] blx r4 mvn r0, #0 str r0, [sb] _021775ec: ldr r0, [sb, #8] bl func_ov61_0217741c _021775f4: ldr r0, [sb, #0x10] cmp r0, #1 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} bl func_ov61_021665e8 ldr r1, [sb, #0x28] cmp r0, r1 addls sp, sp, #0x1c ldmlsia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} mov r0, #1 ldr r3, [sb, #0x3c] ldr r4, [sb, #0x38] sub r1, r0, #2 mov r2, #0 blx r4 ldr r0, [sb, #8] bl func_ov61_0217741c add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 arm_func_end func_ov61_02177454 _02177640: .word data_ov61_021815cc .global func_ov61_02177644 arm_func_start func_ov61_02177644 func_ov61_02177644: ; 0x02177644 stmdb sp!, {r3, r4, r5, lr} ldr r0, _02177684 ; =data_ov61_021815b8 ldr r0, [r0, #0x10] cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} bl func_ov61_02165a68 subs r5, r0, #1 ldmmiia sp!, {r3, r4, r5, pc} ldr r4, _02177684 ; =data_ov61_021815b8 _02177668: ldr r0, [r4, #0x10] mov r1, r5 bl func_ov61_02165a70 bl func_ov61_02177454 subs r5, r5, #1 bpl _02177668 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02177644 _02177684: .word data_ov61_021815b8 .global func_ov61_02177688 arm_func_start func_ov61_02177688 func_ov61_02177688: ; 0x02177688 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x1c ldr r2, _02177750 ; =data_ov61_0217e158 mov r4, #2 ldrb r8, [r2] ldrb r7, [r2, #1] add r3, sp, #4 ldrb r6, [r2, #2] ldrb lr, [r2, #3] ldrb ip, [r2, #4] ldrb r5, [r2, #5] mov r2, #6 strb r2, [sp, #0xb] strb r8, [r3] strb r7, [r3, #1] strb r6, [r3, #2] strb lr, [r3, #3] strb ip, [r3, #4] strb r5, [r3, #5] strb r4, [sp, #0xa] ldr r4, [r0, #0xc] mov r2, #0x15 strb r4, [sp, #0x11] ldr r5, [r0, #8] mov lr, r5, lsr #0x18 mov ip, r5, lsr #0x8 mov r4, r5, lsl #0x8 mov r5, r5, lsl #0x18 and lr, lr, #0xff and ip, ip, #0xff00 and r4, r4, #0xff0000 orr ip, lr, ip and r5, r5, #0xff000000 orr r4, r4, ip orr r4, r5, r4 str r4, [sp, #0xc] ldrh lr, [r1, #2] str r2, [sp] mov ip, lr, asr #0x8 mov r2, lr, lsl #0x8 and ip, ip, #0xff and r2, r2, #0xff00 orr r2, ip, r2 mov r2, r2, lsl #0x10 ldr r0, [r0] ldr r1, [r1, #4] mov r2, r2, lsr #0x10 bl func_ov61_02176e10 add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02177688 _02177750: .word data_ov61_0217e158 .global func_ov61_02177754 arm_func_start func_ov61_02177754 func_ov61_02177754: ; 0x02177754 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 ldrb r1, [r5, #0x13] mov r4, r0 cmp r1, #0 bne _02177774 mov r1, r2 bl func_ov61_02177688 _02177774: ldr r0, [r4, #0x10] cmp r0, #2 ldmgeia sp!, {r3, r4, r5, pc} ldrb r1, [r5, #0x13] cmp r1, #0 beq _021777c4 mov r0, #3 cmp r1, #1 moveq r0, #1 beq _021777a4 cmp r1, #2 moveq r0, #2 _021777a4: ldr r3, [r4, #0x3c] ldr ip, [r4, #0x38] mvn r1, #0 mov r2, #0 blx ip ldr r0, [r4, #8] bl func_ov61_0217741c ldmia sp!, {r3, r4, r5, pc} _021777c4: ldr r1, [r5, #0xc] mov r0, #2 str r1, [r4, #0x2c] ldrh r2, [r5, #0x10] mov r1, #0 mov r3, r2, asr #0x8 mov r2, r2, lsl #0x8 and r3, r3, #0xff and r2, r2, #0xff00 orr r2, r3, r2 strh r2, [r4, #0x30] str r1, [r4, #0x20] str r0, [r4, #0x10] ldr r1, [r4, #0x3c] ldr r2, [r4, #0x34] blx r2 mov r0, r4 bl func_ov61_02177144 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02177754 .global func_ov61_02177810 arm_func_start func_ov61_02177810 func_ov61_02177810: ; 0x02177810 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 ldr r3, [r5, #0x10] mov r4, r2 cmp r3, #2 ldmltia sp!, {r3, r4, r5, pc} ldr r3, [r4, #4] mov r2, #1 str r3, [r5, #0x2c] ldrh r3, [r4, #2] mov ip, r3, asr #0x8 mov r3, r3, lsl #0x8 and ip, ip, #0xff and r3, r3, #0xff00 orr r3, ip, r3 strh r3, [r5, #0x30] strb r2, [r5, #0x32] ldrb r2, [r1, #0x12] cmp r2, #0 bne _02177868 bl func_ov61_02177144 ldmia sp!, {r3, r4, r5, pc} _02177868: ldr r2, [r5, #0x10] cmp r2, #2 bne _021778c4 ldrb r1, [r5, #0x33] cmp r1, #0 bne _02177884 bl func_ov61_02177144 _02177884: mov r0, #3 str r0, [r5, #0x10] bl func_ov61_021665e8 add r0, r0, #0x388 add r0, r0, #0x1000 str r0, [r5, #0x28] ldr r1, [r5, #4] mvn r0, #0 cmp r1, r0 ldmeqia sp!, {r3, r4, r5, pc} ldr r3, [r5, #0x3c] ldr r5, [r5, #0x38] mov r2, r4 mov r0, #0 blx r5 ldmia sp!, {r3, r4, r5, pc} _021778c4: ldrb r1, [r1, #0x13] cmp r1, #0 ldmneia sp!, {r3, r4, r5, pc} bl func_ov61_02177144 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02177810 .global func_ov61_021778d8 arm_func_start func_ov61_021778d8 func_ov61_021778d8: ; 0x021778d8 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r3, r1 ldrb r1, [r3, #7] mov r4, r0 cmp r1, #1 beq _02177904 cmp r1, #2 beq _02177998 add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02177904: ldrb r0, [r3, #0xc] cmp r0, #2 addhi sp, sp, #4 ldmhiia sp!, {r3, r4, pc} add r0, r4, r0, lsl #2 mov r2, #1 str r2, [r0, #0x14] ldr r0, [r4, #0x10] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r3, r4, pc} ldr r0, [r4, #0x18] cmp r0, #0 ldrne r0, [r4, #0x1c] cmpne r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} ldr r1, [r4, #4] sub r0, r2, #2 cmp r1, r0 beq _02177968 ldr r0, [r4, #0x14] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, pc} _02177968: mov r0, #1 str r0, [r4, #0x10] bl func_ov61_021665e8 add r0, r0, #0x710 add r0, r0, #0x2000 str r0, [r4, #0x28] ldr r0, [r4, #0x10] ldr r1, [r4, #0x3c] ldr r2, [r4, #0x34] blx r2 add sp, sp, #4 ldmia sp!, {r3, r4, pc} _02177998: mov r0, #3 strb r0, [r3, #7] ldrh r0, [r2, #2] mov ip, #0x15 mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 str ip, [sp] and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 mov ip, r0, lsl #0x10 ldr r1, [r2, #4] ldr r0, [r4] mov r2, ip, lsr #0x10 bl func_ov61_02176e10 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_021778d8 .global func_ov61_021779dc arm_func_start func_ov61_021779dc func_ov61_021779dc: ; 0x021779dc stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x2c mov r6, r0 mov r7, r1 mov r5, r2 bl func_ov61_02176dec cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r4, r5, r6, r7, pc} ldrb r4, [r6, #7] cmp r4, #5 cmpne r4, #7 bne _02177aac cmp r7, #0x14 addlt sp, sp, #0x2c ldmltia sp!, {r4, r5, r6, r7, pc} add r3, sp, #0x18 mov r2, #0xa _02177a24: ldrb r1, [r6] ldrb r0, [r6, #1] add r6, r6, #2 subs r2, r2, #1 strb r1, [r3] strb r0, [r3, #1] add r3, r3, #2 bne _02177a24 ldr r3, [sp, #0x20] mov r1, r3, lsr #0x18 mov r0, r3, lsr #0x8 mov r2, r3, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 mov r3, r3, lsl #0x18 orr r0, r1, r0 and r2, r2, #0xff0000 and r1, r3, #0xff000000 orr r0, r2, r0 orr r0, r1, r0 bl func_ov61_02176c28 cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r4, r5, r6, r7, pc} cmp r4, #5 add r1, sp, #0x18 mov r2, r5 bne _02177aa0 bl func_ov61_02177754 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, pc} _02177aa0: bl func_ov61_02177810 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, pc} _02177aac: cmp r7, #0x15 addlt sp, sp, #0x2c ldmltia sp!, {r4, r5, r6, r7, pc} add r3, sp, #0 mov r2, #0xa _02177ac0: ldrb r1, [r6] ldrb r0, [r6, #1] add r6, r6, #2 subs r2, r2, #1 strb r1, [r3] strb r0, [r3, #1] add r3, r3, #2 bne _02177ac0 ldrb r0, [r6] strb r0, [r3] ldr r3, [sp, #8] mov r1, r3, lsr #0x18 mov r0, r3, lsr #0x8 mov r2, r3, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 mov r3, r3, lsl #0x18 orr r0, r1, r0 and r2, r2, #0xff0000 and r1, r3, #0xff000000 orr r0, r2, r0 orr r0, r1, r0 bl func_ov61_02176c28 cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r4, r5, r6, r7, pc} add r1, sp, #0 mov r2, r5 bl func_ov61_021778d8 add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end func_ov61_021779dc .global func_ov61_02177b3c arm_func_start func_ov61_02177b3c func_ov61_02177b3c: ; 0x02177b3c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x40 movs r5, r0 mov r8, r1 mov r4, r2 mov r7, r3 ldreq r6, _02177ce8 ; =data_ov61_0217e1a4 beq _02177b6c mov r0, #0x110 bl func_ov61_0213e10c mov r6, r0 str r0, [r5] _02177b6c: bl func_ov61_021665e8 bl func_02045b7c mov r1, r7 add r0, r6, #4 bl func_02047024 ldr r1, [sp, #0x58] add r0, r6, #0x44 bl func_02047024 str r4, [r6, #0xc0] mov r5, #0 str r5, [r6, #0xac] str r5, [r6, #0xb0] str r8, [r6] mov r1, #1 str r1, [r6, #0xb8] ldr r0, [sp, #0x7c] ldr r1, [sp, #0x64] str r0, [r6, #0x10c] str r1, [r6, #0x88] ldr r0, [sp, #0x68] ldr r1, [sp, #0x6c] str r0, [r6, #0x8c] str r1, [r6, #0x90] ldr r0, [sp, #0x70] ldr r1, [sp, #0x74] str r0, [r6, #0x94] ldr r0, [sp, #0x78] str r1, [r6, #0x98] str r0, [r6, #0x9c] str r5, [r6, #0xa0] str r5, [r6, #0xa4] ldr r0, [sp, #0x5c] str r5, [r6, #0xd4] str r0, [r6, #0xbc] ldr r0, [sp, #0x60] str r5, [r6, #0xc4] str r0, [r6, #0xc8] str r5, [r6, #0x104] add r0, r6, #0x100 strh r5, [r0, #8] str r5, [r6, #0xa8] ldr r4, _02177cec ; =0x80808081 str r5, [r6, #0xb4] mov r8, #0xff _02177c1c: bl func_02045b48 smull r1, r2, r4, r0 add r3, r6, r5 add r5, r5, #1 add r2, r0, r2 mov r1, r0, lsr #0x1f add r2, r1, r2, asr #7 smull r1, r2, r8, r2 sub r2, r0, r1 strb r2, [r3, #0x84] cmp r5, #4 blt _02177c1c mov r2, #0 mvn r1, #0 _02177c54: add r0, r6, r2, lsl #2 add r2, r2, #1 str r1, [r0, #0xd8] cmp r2, #0xa blt _02177c54 mov r1, #0 ldr r0, _02177cf0 ; =data_ov61_021817cc str r1, [r6, #0x100] ldr r0, [r0] cmp r0, #0 bne _02177c84 bl func_ov61_021780d8 _02177c84: ldr r0, [sp, #0x5c] cmp r0, #0 beq _02177cd0 ldr r0, _02177cf4 ; =data_ov61_021817e4 ldrsb r4, [r0] cmp r4, #0 bne _02177cb0 ldr r1, _02177cf8 ; =data_ov61_0217e2b4 add r0, sp, #0 mov r2, r7 bl func_020459b8 _02177cb0: cmp r4, #0 ldrne r0, _02177cf4 ; =data_ov61_021817e4 ldr r1, _02177cfc ; =0x00006cfc addeq r0, sp, #0 add r2, r6, #0xcc mov r3, #0 bl func_ov61_0217814c b _02177cd4 _02177cd0: mov r0, #1 _02177cd4: cmp r0, #0 moveq r0, #3 movne r0, #0 add sp, sp, #0x40 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_02177b3c _02177ce8: .word data_ov61_0217e1a4 _02177cec: .word 0x80808081 _02177cf0: .word data_ov61_021817cc _02177cf4: .word data_ov61_021817e4 _02177cf8: .word data_ov61_0217e2b4 _02177cfc: .word 0x00006cfc .global func_ov61_02177d00 arm_func_start func_ov61_02177d00 func_ov61_02177d00: ; 0x02177d00 cmp r0, #0 ldreq r0, _02177d14 ; =data_ov61_0217e1a0 ldreq r0, [r0] str r1, [r0, #0xa0] bx lr .align 2, 0 arm_func_end func_ov61_02177d00 _02177d14: .word data_ov61_0217e1a0 .global func_ov61_02177d18 arm_func_start func_ov61_02177d18 func_ov61_02177d18: ; 0x02177d18 cmp r0, #0 ldreq r0, _02177d2c ; =data_ov61_0217e1a0 ldreq r0, [r0] str r1, [r0, #0xa4] bx lr .align 2, 0 arm_func_end func_ov61_02177d18 _02177d2c: .word data_ov61_0217e1a0 .global func_ov61_02177d30 arm_func_start func_ov61_02177d30 func_ov61_02177d30: ; 0x02177d30 cmp r0, #0 ldreq r0, _02177d44 ; =data_ov61_0217e1a0 ldreq r0, [r0] str r1, [r0, #0xa8] bx lr .align 2, 0 arm_func_end func_ov61_02177d30 _02177d44: .word data_ov61_0217e1a0 .global func_ov61_02177d48 arm_func_start func_ov61_02177d48 func_ov61_02177d48: ; 0x02177d48 stmdb sp!, {r4, lr} movs r4, r0 ldreq r0, _02177d78 ; =data_ov61_0217e1a0 ldreq r4, [r0] ldr r0, [r4, #0xbc] cmp r0, #0 beq _02177d6c mov r0, r4 bl func_ov61_02177e28 _02177d6c: mov r0, r4 bl func_ov61_02177d7c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02177d48 _02177d78: .word data_ov61_0217e1a0 .global func_ov61_02177d7c arm_func_start func_ov61_02177d7c func_ov61_02177d7c: ; 0x02177d7c stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x14 mov r1, #8 mov sl, r0 str r1, [sp, #8] ldr r0, [sl, #0xc4] cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, [sl] bl func_ov61_02166914 cmp r0, #0 addeq sp, sp, #0x14 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r5, #0 ldr r7, _02177e24 ; =data_ov61_02181824 add sb, sp, #0xc add r8, sp, #8 mov r6, #0xff mov fp, r5 mvn r4, #0 _02177dd0: str sb, [sp] str r8, [sp, #4] ldr r0, [sl] mov r1, r7 mov r2, r6 mov r3, fp bl func_ov61_02166bc0 mov r2, r0 cmp r2, r4 beq _02177e0c mov r0, sl mov r1, r7 mov r3, sb strb r5, [r7, r2] bl func_ov61_02178d08 _02177e0c: ldr r0, [sl] bl func_ov61_02166914 cmp r0, #0 bne _02177dd0 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02177d7c _02177e24: .word data_ov61_02181824 .global func_ov61_02177e28 arm_func_start func_ov61_02177e28 func_ov61_02177e28: ; 0x02177e28 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl func_ov61_021665e8 ldr r2, [r5] mvn r1, #0 mov r4, r0 cmp r2, r1 ldmeqia sp!, {r3, r4, r5, pc} ldr r2, [r5, #0xb8] cmp r2, #0 ble _02177eac ldr r1, [r5, #0xac] ldr r0, _02177f2c ; =0x00002710 sub r1, r4, r1 cmp r1, r0 bls _02177eac cmp r2, #4 blt _02177e90 mov r0, #0 str r0, [r5, #0xb8] ldr r2, [r5, #0x10c] ldr r3, [r5, #0x9c] ldr r1, _02177f30 ; =data_ov61_0217e2d4 mov r0, #5 blx r3 ldmia sp!, {r3, r4, r5, pc} _02177e90: mov r0, r5 mov r1, #3 bl func_ov61_0217907c ldr r0, [r5, #0xb8] add r0, r0, #1 str r0, [r5, #0xb8] b _02177f0c _02177eac: ldr r0, [r5, #0xb4] cmp r0, #0 beq _02177edc ldr r1, [r5, #0xac] ldr r0, _02177f2c ; =0x00002710 sub r1, r4, r1 cmp r1, r0 bls _02177edc mov r0, r5 mov r1, #1 bl func_ov61_0217907c b _02177f0c _02177edc: ldr r2, [r5, #0xac] ldr r0, _02177f34 ; =0x0000ea60 sub r1, r4, r2 cmp r1, r0 bhi _02177f00 cmp r2, #0 beq _02177f00 cmp r4, r2 bhs _02177f0c _02177f00: mov r0, r5 mov r1, #0 bl func_ov61_0217907c _02177f0c: ldr r1, [r5, #0xb0] ldr r0, _02177f38 ; =0x00004e20 sub r1, r4, r1 cmp r1, r0 ldmlsia sp!, {r3, r4, r5, pc} mov r0, r5 bl func_ov61_0217901c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02177e28 _02177f2c: .word 0x00002710 _02177f30: .word data_ov61_0217e2d4 _02177f34: .word 0x0000ea60 _02177f38: .word 0x00004e20 .global func_ov61_02177f3c arm_func_start func_ov61_02177f3c func_ov61_02177f3c: ; 0x02177f3c stmdb sp!, {r4, lr} movs r4, r0 ldreq r0, _02177f90 ; =data_ov61_0217e1a0 ldreq r4, [r0] ldr r0, [r4, #0xbc] cmp r0, #0 ldmeqia sp!, {r4, pc} bl func_ov61_021665e8 ldr r2, [r4, #0xac] ldr r1, _02177f94 ; =0x00002710 sub r0, r0, r2 cmp r0, r1 movlo r0, #1 strlo r0, [r4, #0xb4] ldmloia sp!, {r4, pc} mov r0, r4 mov r1, #1 bl func_ov61_0217907c mov r0, #0 str r0, [r4, #0xb4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02177f3c _02177f90: .word data_ov61_0217e1a0 _02177f94: .word 0x00002710 .global func_ov61_02177f98 arm_func_start func_ov61_02177f98 func_ov61_02177f98: ; 0x02177f98 stmdb sp!, {r4, lr} movs r4, r0 ldreq r0, _02178014 ; =data_ov61_0217e1a0 ldreq r4, [r0] ldr r0, [r4, #0xbc] cmp r0, #0 beq _02177fc0 mov r0, r4 mov r1, #2 bl func_ov61_0217907c _02177fc0: ldr r0, [r4] mvn r1, #0 cmp r0, r1 ldrne r1, [r4, #0xc4] cmpne r1, #0 beq _02177fdc bl func_ov61_02166a98 _02177fdc: mvn r0, #0 str r0, [r4] mov r0, #0 str r0, [r4, #0xac] ldr r0, [r4, #0xc4] cmp r0, #0 beq _02177ffc bl func_ov61_02166650 _02177ffc: ldr r0, _02178018 ; =data_ov61_0217e1a4 cmp r4, r0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov61_0213e13c ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02177f98 _02178014: .word data_ov61_0217e1a0 _02178018: .word data_ov61_0217e1a4 .global func_ov61_0217801c arm_func_start func_ov61_0217801c func_ov61_0217801c: ; 0x0217801c ldr r3, [r0, #0x100] cmp r3, #0xfe bxge lr cmp r1, #1 bxlt lr cmp r1, #0xfe bxgt lr add r2, r3, #1 str r2, [r0, #0x100] strb r1, [r0, r3] bx lr arm_func_end func_ov61_0217801c .global func_ov61_02178048 arm_func_start func_ov61_02178048 func_ov61_02178048: ; 0x02178048 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r2, r1 mov r4, r0 ldr r1, _02178078 ; =data_ov61_0217e30c add r0, sp, #0 bl func_020459b8 add r1, sp, #0 mov r0, r4 bl func_ov61_0217807c add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_02178048 _02178078: .word data_ov61_0217e30c .global func_ov61_0217807c arm_func_start func_ov61_0217807c func_ov61_0217807c: ; 0x0217807c stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r4, r0 mov r0, r6 bl func_02047008 ldr r3, [r4, #0x800] add r5, r0, #1 rsb r0, r3, #0x800 cmp r5, r0 movgt r5, r0 cmp r5, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r1, r6 mov r2, r5 add r0, r4, r3 bl func_02043594 ldr r0, [r4, #0x800] mov r1, #0 add r0, r0, r5 str r0, [r4, #0x800] sub r0, r0, #1 strb r1, [r4, r0] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_0217807c .global func_ov61_021780d8 arm_func_start func_ov61_021780d8 func_ov61_021780d8: ; 0x021780d8 stmdb sp!, {r4, r5, r6, lr} bl func_ov61_02166964 cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, _02178144 ; =data_ov61_021817cc mov r6, #0 ldr ip, _02178148 ; =data_ov61_021817d0 str r6, [r1] _021780f8: ldr r2, [r0, #0xc] mov r5, r6, lsl #0x2 ldr r4, [r2, r6, lsl #2] cmp r4, #0 ldmeqia sp!, {r4, r5, r6, pc} ldrb r3, [r4] ldrb r2, [r4, #1] add r6, r6, #1 add lr, ip, r5 strb r3, [ip, r5] strb r2, [lr, #1] ldrb r3, [r4, #2] ldrb r2, [r4, #3] cmp r6, #5 strb r3, [lr, #2] strb r2, [lr, #3] str r6, [r1] blt _021780f8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021780d8 _02178144: .word data_ov61_021817cc _02178148: .word data_ov61_021817d0 .global func_ov61_0217814c arm_func_start func_ov61_0217814c func_ov61_0217814c: ; 0x0217814c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r4, r1, asr #0x8 mov r1, r1, lsl #0x8 mov r6, r2 mov r5, #2 and r2, r4, #0xff and r1, r1, #0xff00 strb r5, [r6, #1] orr r1, r2, r1 strh r1, [r6, #2] mov r4, #0 movs r7, r0 mov r5, r3 streq r4, [r6, #4] beq _02178198 bl func_ov61_02166cc4 str r0, [r6, #4] _02178198: ldr r1, [r6, #4] mvn r0, #0 cmp r1, r0 bne _021781e0 ldr r1, _021781f0 ; =data_ov61_0217e310 mov r0, r7 bl func_0204716c cmp r0, #0 beq _021781e0 mov r0, r7 bl func_ov61_021590ac movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, [r4, #0xc] ldr r0, [r0] ldr r0, [r0] str r0, [r6, #4] _021781e0: cmp r5, #0 strne r4, [r5] mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_0217814c _021781f0: .word data_ov61_0217e310 .global func_ov61_021781f4 arm_func_start func_ov61_021781f4 func_ov61_021781f4: ; 0x021781f4 ldrb r3, [r0] ldrb r2, [r1] strb r2, [r0] strb r3, [r1] bx lr arm_func_end func_ov61_021781f4 .global func_ov61_02178208 arm_func_start func_ov61_02178208 func_ov61_02178208: ; 0x02178208 cmp r0, #0x1a addlo r0, r0, #0x41 andlo r0, r0, #0xff bxlo lr cmp r0, #0x34 addlo r0, r0, #0x47 andlo r0, r0, #0xff bxlo lr cmp r0, #0x3e sublo r0, r0, #4 andlo r0, r0, #0xff bxlo lr moveq r0, #0x2b bxeq lr cmp r0, #0x3f moveq r0, #0x2f movne r0, #0 bx lr arm_func_end func_ov61_02178208 .global func_ov61_02178250 arm_func_start func_ov61_02178250 func_ov61_02178250: ; 0x02178250 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #8 mov r7, r1 mov r8, r0 mov r6, r2 cmp r7, #0 mov r4, #0 ble _02178304 _02178270: mov r2, #0 add r3, sp, #4 mov r0, r2 _0217827c: cmp r4, r7 ldrltb r1, [r8], #1 add r2, r2, #1 add r4, r4, #1 strltb r1, [r3] strgeb r0, [r3] cmp r2, #2 add r3, r3, #1 ble _0217827c ldrb r0, [sp, #4] ldrb r5, [sp, #5] ldrb r2, [sp, #6] mov r3, r0, lsl #0x1e mov r1, r5, asr #0x4 add ip, r1, r3, lsr #26 and r1, r2, #0x3f mov r3, r5, lsl #0x1c mov r2, r2, asr #0x6 mov r0, r0, asr #0x2 add r2, r2, r3, lsr #26 add r5, sp, #0 strb r0, [sp] strb ip, [sp, #1] strb r2, [sp, #2] strb r1, [sp, #3] mov sb, #0 _021782e4: ldrb r0, [r5], #1 bl func_ov61_02178208 add sb, sb, #1 cmp sb, #3 strb r0, [r6], #1 ble _021782e4 cmp r4, r7 blt _02178270 _02178304: mov r0, #0 strb r0, [r6] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} arm_func_end func_ov61_02178250 .global func_ov61_02178314 arm_func_start func_ov61_02178314 func_ov61_02178314: ; 0x02178314 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x104 str r1, [sp] add r4, sp, #4 mov sl, r0 mov sb, r2 mov r8, r3 mov r1, #0 _02178334: add r0, r1, #1 mov r0, r0, lsl #0x10 strb r1, [r4], #1 mov r1, r0, asr #0x10 cmp r1, #0x100 blt _02178334 mov r4, #0 add r6, sp, #4 mov r5, r4 mov r7, r4 mov fp, r6 _02178360: ldrb r3, [r6] ldrb r2, [sl, r4] ldr r1, [sp] add r0, r4, #1 add r2, r3, r2 add r2, r5, r2 mov r3, r2, lsr #0x1f rsb r2, r3, r2, lsl #24 add r2, r3, r2, ror #24 and r5, r2, #0xff bl func_02002c14 and r4, r1, #0xff mov r0, r6 add r1, fp, r5 bl func_ov61_021781f4 add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 cmp r7, #0x100 add r6, r6, #1 blt _02178360 mov r6, #0 cmp r8, #0 mov r7, r6 mov r5, r6 addle sp, sp, #0x104 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r4, sp, #4 _021783d0: ldrb r0, [sb, r5] add r0, r6, r0 add r0, r0, #1 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #24 add r0, r1, r0, ror #24 and r6, r0, #0xff ldrb r1, [r4, r6] add r0, r4, r6 add r1, r1, r7 mov r2, r1, lsr #0x1f rsb r1, r2, r1, lsl #24 add r1, r2, r1, ror #24 and r7, r1, #0xff add r1, r4, r7 bl func_ov61_021781f4 ldrb r3, [r4, r6] ldrb r1, [r4, r7] add r0, r5, #1 mov r2, r0, lsl #0x10 add r0, r3, r1 mov r1, r0, lsr #0x1f rsb r0, r1, r0, lsl #24 add r0, r1, r0, ror #24 and r0, r0, #0xff ldrb r1, [sb, r5] ldrb r0, [r4, r0] cmp r8, r2, asr #16 eor r0, r1, r0 strb r0, [sb, r5] mov r5, r2, asr #0x10 bgt _021783d0 add sp, sp, #0x104 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov61_02178314 .global func_ov61_02178458 arm_func_start func_ov61_02178458 func_ov61_02178458: ; 0x02178458 strb r1, [r0] ldrb ip, [r2] ldrb r3, [r2, #1] mov r1, #5 strb ip, [r0, #1] strb r3, [r0, #2] ldrb r3, [r2, #2] ldrb r2, [r2, #3] strb r3, [r0, #3] strb r2, [r0, #4] str r1, [r0, #0x800] bx lr arm_func_end func_ov61_02178458 .global func_ov61_02178488 arm_func_start func_ov61_02178488 func_ov61_02178488: ; 0x02178488 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x44 mov r5, r3 cmp r5, #1 mov r6, r0 mov r4, r1 addlt sp, sp, #0x44 ldmltia sp!, {r3, r4, r5, r6, pc} cmp r5, #0x41 addgt sp, sp, #0x44 ldmgtia sp!, {r3, r4, r5, r6, pc} sub r0, r5, #1 ldrsb r0, [r2, r0] cmp r0, #0 addne sp, sp, #0x44 ldmneia sp!, {r3, r4, r5, r6, pc} add r0, sp, #0 mov r1, r2 bl func_02047024 add r0, r6, #0x44 bl func_02047008 mov r1, r0 add r2, sp, #0 add r0, r6, #0x44 sub r3, r5, #1 bl func_ov61_02178314 ldr r2, [r4, #0x800] sub r1, r5, #1 add r0, sp, #0 add r2, r4, r2 bl func_ov61_02178250 ldr r0, [r4, #0x800] add r0, r4, r0 bl func_02047008 ldr r1, [r4, #0x800] add r0, r0, #1 add r0, r1, r0 str r0, [r4, #0x800] add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov61_02178488 .global func_ov61_02178528 arm_func_start func_ov61_02178528 func_ov61_02178528: ; 0x02178528 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 mov r0, r1 ldr r1, _021785d4 ; =data_ov61_0217e320 add r2, sp, #4 add r3, sp, #0 bl func_02046eb0 ldr r0, [sp, #4] ldr lr, [sp] mov r2, r0, lsr #0x18 mov r1, r0, lsr #0x8 mov r3, r0, lsl #0x8 mov ip, r0, lsl #0x18 and r2, r2, #0xff and r1, r1, #0xff00 orr r1, r2, r1 and r3, r3, #0xff0000 mov r0, lr, lsl #0x10 and r2, ip, #0xff000000 orr r1, r3, r1 orrs r2, r2, r1 mov r1, r0, lsr #0x10 str r2, [sp, #4] cmpne r1, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x104] cmp r0, r2 addeq r0, r4, #0x100 ldreqh r0, [r0, #8] cmpeq r0, r1 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} str r2, [r4, #0x104] add r0, r4, #0x100 strh r1, [r0, #8] ldr r0, [sp, #4] ldr r2, [r4, #0x10c] ldr r3, [r4, #0xa8] blx r3 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02178528 _021785d4: .word data_ov61_0217e320 .global func_ov61_021785d8 arm_func_start func_ov61_021785d8 func_ov61_021785d8: ; 0x021785d8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x10c movs fp, r3 mov r3, #0 ldr r7, [sp, #0x130] str r3, [sp, #0x108] mov sl, r0 mov sb, r1 mov r8, r2 addeq sp, sp, #0x10c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} sub r0, r8, #1 cmp r0, #1 bhi _02178684 ldr r0, [sb, #0x800] rsb r0, r0, #0x800 cmp r0, #2 addlo sp, sp, #0x10c ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sl, #0x10c] ldr r2, [sl, #0x98] mov r0, r8 blx r2 str r0, [sp] mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, asr #0x8 mov r0, r0, lsl #0x8 and r1, r1, #0xff and r0, r0, #0xff00 orr r0, r1, r0 strh r0, [sp, #4] add r0, sp, #4 ldrb r1, [r0] ldr r2, [sb, #0x800] ldrb r0, [r0, #1] add r3, sb, r2 strb r1, [sb, r2] strb r0, [r3, #1] ldr r0, [sb, #0x800] add r0, r0, #2 str r0, [sb, #0x800] b _0217868c _02178684: mov r0, #1 str r0, [sp] _0217868c: cmp fp, #0xff bne _02178760 ldr r2, [sl, #0x10c] ldr r3, [sl, #0x94] add r1, sp, #8 mov r0, r8 blx r3 ldr r0, [sp, #0x108] mov r5, #0 cmp r0, #0 ble _02178728 ldr fp, _02178824 ; =data_ov61_0217e32c ldr r4, _02178828 ; =data_ov61_0217e4e8 add r7, sp, #8 _021786c4: ldrb r0, [r7] ldr r1, [r4, r0, lsl #2] mov r0, sb cmp r1, #0 moveq r1, fp bl func_ov61_0217807c cmp r8, #0 bne _02178714 ldrb r0, [r7] ldr r2, [sl, #0x10c] ldr r3, [sl, #0x88] mov r1, sb ldr r6, [sb, #0x800] blx r3 ldr r0, [sb, #0x800] cmp r6, r0 bne _02178714 ldr r1, _0217882c ; =data_ov61_0217e334 mov r0, sb bl func_ov61_0217807c _02178714: ldr r0, [sp, #0x108] add r5, r5, #1 cmp r5, r0 add r7, r7, #1 blt _021786c4 _02178728: ldr r1, [sb, #0x800] rsb r0, r1, #0x800 cmp r0, #1 addlt sp, sp, #0x10c ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add r0, r1, #1 str r0, [sb, #0x800] mov r0, #0 strb r0, [sb, r1] ldr fp, [sp, #0x108] cmp r8, #0 add r7, sp, #8 addeq sp, sp, #0x10c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02178760: ldr r0, [sp] mov r4, #0 cmp r0, #0 addle sp, sp, #0x10c ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02178774: mov r5, #0 cmp fp, #0 ble _0217880c _02178780: cmp r8, #0 ldr r6, [sb, #0x800] bne _021787a4 ldrb r0, [r7, r5] ldr r2, [sl, #0x10c] ldr r3, [sl, #0x88] mov r1, sb blx r3 b _021787e8 _021787a4: cmp r8, #1 bne _021787c8 ldrb r0, [r7, r5] ldr r3, [sl, #0x10c] ldr ip, [sl, #0x8c] mov r1, r4 mov r2, sb blx ip b _021787e8 _021787c8: cmp r8, #2 bne _021787e8 ldrb r0, [r7, r5] ldr r3, [sl, #0x10c] ldr ip, [sl, #0x90] mov r1, r4 mov r2, sb blx ip _021787e8: ldr r0, [sb, #0x800] cmp r6, r0 bne _02178800 ldr r1, _0217882c ; =data_ov61_0217e334 mov r0, sb bl func_ov61_0217807c _02178800: add r5, r5, #1 cmp r5, fp blt _02178780 _0217880c: ldr r0, [sp] add r4, r4, #1 cmp r4, r0 blt _02178774 add sp, sp, #0x10c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_021785d8 _02178824: .word data_ov61_0217e32c _02178828: .word data_ov61_0217e4e8 _0217882c: .word data_ov61_0217e334 .global func_ov61_02178830 arm_func_start func_ov61_02178830 func_ov61_02178830: ; 0x02178830 stmdb sp!, {r3, r4, r5, lr} str r3, [sp] mov r3, r2 mov r2, #0 mov r5, r0 mov r4, r1 bl func_ov61_021785d8 ldr ip, [sp, #0x14] ldr r3, [sp, #0x10] mov r0, r5 mov r1, r4 mov r2, #1 str ip, [sp] bl func_ov61_021785d8 ldr r0, [sp, #0x1c] ldr r3, [sp, #0x18] str r0, [sp] mov r0, r5 mov r1, r4 mov r2, #2 bl func_ov61_021785d8 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02178830 .global func_ov61_02178888 arm_func_start func_ov61_02178888 func_ov61_02178888: ; 0x02178888 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 mov r5, #0 cmp r3, #3 mov r6, r5 mov r7, r5 addlt sp, sp, #0x10 ldmltia sp!, {r3, r4, r5, r6, r7, pc} ldrb ip, [r2], #1 sub r3, r3, #1 cmp ip, #0 cmpne ip, #0xff movne r5, r2 subne r3, r3, ip addne r2, r2, ip cmp r3, #2 addlt sp, sp, #0x10 ldmltia sp!, {r3, r4, r5, r6, r7, pc} ldrb lr, [r2], #1 sub r3, r3, #1 cmp lr, #0 cmpne lr, #0xff movne r6, r2 subne r3, r3, lr addne r2, r2, lr cmp r3, #1 addlt sp, sp, #0x10 ldmltia sp!, {r3, r4, r5, r6, r7, pc} ldrb r4, [r2] sub r3, r3, #1 cmp r4, #0 cmpne r4, #0xff subne r3, r3, r4 addne r7, r2, #1 cmp r3, #0 addlt sp, sp, #0x10 ldmltia sp!, {r3, r4, r5, r6, r7, pc} str lr, [sp] str r6, [sp, #4] str r4, [sp, #8] mov r2, ip mov r3, r5 str r7, [sp, #0xc] bl func_ov61_02178830 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov61_02178888 .global func_ov61_02178940 arm_func_start func_ov61_02178940 func_ov61_02178940: ; 0x02178940 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x188 mov r8, r2 sub r2, r8, #1 mov r3, #0 cmp r2, #1 mov sl, r0 mov sb, r1 str r3, [sp, #0x104] movhi fp, #1 bhi _02178980 ldr r1, [sl, #0x10c] ldr r2, [sl, #0x98] mov r0, r8 blx r2 mov fp, r0 _02178980: ldr r2, [sl, #0x10c] ldr r3, [sl, #0x94] add r1, sp, #4 mov r0, r8 blx r3 ldr r1, [sp, #0x104] mov r0, #0 str r0, [sp] cmp r1, #0 addle sp, sp, #0x188 ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} add r6, sp, #4 _021789b0: ldrb r1, [r6] ldr r0, _02178b08 ; =data_ov61_0217e4e8 ldr r5, [r0, r1, lsl #2] cmp r5, #0 ldreq r5, _02178b0c ; =data_ov61_0217e32c cmp r8, #0 bne _02178a2c mov r0, sb mov r1, r5 bl func_ov61_0217807c ldr r0, [sb, #0x800] mov r1, #0x5c add r0, sb, r0 strb r1, [r0, #-1] ldrb r0, [r6] ldr r2, [sl, #0x10c] ldr r3, [sl, #0x88] mov r1, sb ldr r4, [sb, #0x800] blx r3 ldr r0, [sb, #0x800] cmp r4, r0 bne _02178a18 ldr r1, _02178b10 ; =data_ov61_0217e334 mov r0, sb bl func_ov61_0217807c _02178a18: ldr r0, [sb, #0x800] mov r1, #0x5c add r0, sb, r0 strb r1, [r0, #-1] b _02178ae4 _02178a2c: cmp fp, #0 mov r4, #0 ble _02178ae4 _02178a38: ldr r1, _02178b14 ; =data_ov61_0217e338 add r0, sp, #0x108 mov r2, r5 mov r3, r4 bl func_020459b8 mov r0, sb add r1, sp, #0x108 bl func_ov61_0217807c ldr r0, [sb, #0x800] cmp r8, #1 add r1, sb, r0 mov r0, #0x5c strb r0, [r1, #-1] ldr r7, [sb, #0x800] bne _02178a90 ldrb r0, [r6] mov r1, r4 mov r2, sb ldr r3, [sl, #0x10c] ldr ip, [sl, #0x8c] blx ip b _02178ab0 _02178a90: cmp r8, #2 bne _02178ab0 ldrb r0, [r6] mov r1, r4 mov r2, sb ldr r3, [sl, #0x10c] ldr ip, [sl, #0x90] blx ip _02178ab0: ldr r0, [sb, #0x800] cmp r7, r0 bne _02178ac8 ldr r1, _02178b10 ; =data_ov61_0217e334 mov r0, sb bl func_ov61_0217807c _02178ac8: ldr r0, [sb, #0x800] add r4, r4, #1 add r1, sb, r0 mov r0, #0x5c strb r0, [r1, #-1] cmp r4, fp blt _02178a38 _02178ae4: ldr r0, [sp] ldr r1, [sp, #0x104] add r0, r0, #1 str r0, [sp] cmp r0, r1 add r6, r6, #1 blt _021789b0 add sp, sp, #0x188 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_02178940 _02178b08: .word data_ov61_0217e4e8 _02178b0c: .word data_ov61_0217e32c _02178b10: .word data_ov61_0217e334 _02178b14: .word data_ov61_0217e338 .global func_ov61_02178b18 arm_func_start func_ov61_02178b18 func_ov61_02178b18: ; 0x02178b18 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 mov r2, #1 mov r5, r0 str r2, [r4, #0x800] mov r3, #0x5c mov r2, #0 strb r3, [r4] bl func_ov61_02178940 mov r0, r5 mov r1, r4 mov r2, #1 bl func_ov61_02178940 mov r0, r5 mov r1, r4 mov r2, #2 bl func_ov61_02178940 ldr r1, _02178b78 ; =data_ov61_0217e340 mov r0, r4 bl func_ov61_0217807c ldr r0, [r4, #0x800] sub r0, r0, #1 str r0, [r4, #0x800] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02178b18 _02178b78: .word data_ov61_0217e340 .global func_ov61_02178b7c arm_func_start func_ov61_02178b7c func_ov61_02178b7c: ; 0x02178b7c stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc ldr ip, _02178ca0 ; =data_ov61_0217a5e4 mov r3, r0 ldrb r4, [ip] ldrb r0, [ip, #1] ldrb lr, [ip, #2] strb r4, [sp, #4] strb r0, [sp, #5] ldrb r0, [ip, #3] cmp r2, #0xa add r6, sp, #4 strb lr, [sp, #6] strb r0, [sp, #7] ldrb lr, [ip, #4] ldrb r0, [ip, #5] mov r5, #1 strb lr, [sp, #8] strb r0, [sp, #9] blt _02178bf8 mov r4, #0 _02178bd0: ldrb ip, [r6] ldrb r0, [r1, r4] cmp ip, r0 movne r5, #0 bne _02178bfc add r4, r4, #1 cmp r4, #6 add r6, r6, #1 blt _02178bd0 b _02178bfc _02178bf8: mov r5, #0 _02178bfc: cmp r5, #0 beq _02178c78 ldrb r2, [r1, #6] ldrb r0, [r1, #7] add ip, sp, #0 strb r2, [ip] strb r0, [ip, #1] ldrb r2, [r1, #8] ldrb r0, [r1, #9] strb r0, [ip, #3] strb r2, [ip, #2] ldr r2, [r3, #0xa0] cmp r2, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} ldr lr, [sp] ldr r1, [r3, #0x10c] mov r3, lr, lsr #0x18 mov r0, lr, lsr #0x8 mov ip, lr, lsl #0x8 and r3, r3, #0xff and r0, r0, #0xff00 mov lr, lr, lsl #0x18 orr r0, r3, r0 and ip, ip, #0xff0000 and r3, lr, #0xff000000 orr r0, ip, r0 orr r0, r3, r0 blx r2 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _02178c78: ldr ip, [r3, #0xa4] cmp ip, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} mov r0, r1 mov r1, r2 ldr r2, [r3, #0x10c] blx ip add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_02178b7c _02178ca0: .word data_ov61_0217a5e4 .global func_ov61_02178ca4 arm_func_start func_ov61_02178ca4 func_ov61_02178ca4: ; 0x02178ca4 stmdb sp!, {r4, lr} mov r3, #0 _02178cac: add r2, r0, r3, lsl #2 ldr r2, [r2, #0xd8] cmp r1, r2 moveq r0, #1 ldmeqia sp!, {r4, pc} add r3, r3, #1 cmp r3, #0xa blt _02178cac ldr r2, [r0, #0x100] ldr ip, _02178d04 ; =0x66666667 add lr, r2, #1 smull r3, r4, ip, lr mov r2, lr, lsr #0x1f add r4, r2, r4, asr #2 mov ip, #0xa smull r2, r3, ip, r4 sub r4, lr, r2 str r4, [r0, #0x100] add r0, r0, r4, lsl #2 str r1, [r0, #0xd8] mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02178ca4 _02178d04: .word 0x66666667 .global func_ov61_02178d08 arm_func_start func_ov61_02178d08 func_ov61_02178d08: ; 0x02178d08 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x810 movs r8, r0 mov r0, #0 str r0, [sp, #0x80c] ldreq r0, _02179018 ; =data_ov61_0217e1a0 mov r7, r2 ldreq r8, [r0] ldrsb r0, [r1] mov r6, r3 cmp r0, #0x3b bne _02178d60 ldr r3, [r8, #0xd4] cmp r3, #0 addeq sp, sp, #0x810 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, r1 mov r1, r7 mov r2, r6 blx r3 add sp, sp, #0x810 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02178d60: cmp r0, #0x5c bne _02178d9c add r1, sp, #0xc mov r0, r8 bl func_ov61_02178b18 str r6, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, [r8] ldr r2, [sp, #0x80c] add r1, sp, #0xc mov r3, #0 bl func_ov61_02166c04 add sp, sp, #0x810 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02178d9c: cmp r7, #7 addlt sp, sp, #0x810 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} and r0, r0, #0xff cmp r0, #0xfe ldreqb r0, [r1, #1] cmpeq r0, #0xfd addne sp, sp, #0x810 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r0, [r8, #0xb8] add r4, r1, #3 cmp r0, #0 movgt r0, #0 strgt r0, [r8, #0xb8] ldrsb sb, [r1, #2] add r5, r1, #7 add r0, sp, #0xc mov r1, sb mov r2, r4 sub r7, r7, #7 bl func_ov61_02178458 cmp sb, #8 addls pc, pc, sb, lsl #2 b _02178fe8 _02178dfc: ; jump table b _02178e20 ; case 0 b _02178e38 ; case 1 b _02178e74 ; case 2 b _02178fe8 ; case 3 b _02178eac ; case 4 b _02178fe8 ; case 5 b _02178f20 ; case 6 b _02178fe8 ; case 7 b _02178fe8 ; case 8 _02178e20: add r1, sp, #0xc mov r0, r8 mov r2, r5 mov r3, r7 bl func_ov61_02178888 b _02178ff0 _02178e38: cmp r7, #0xd blt _02178e5c ldr r0, [r8, #0xa8] cmp r0, #0 beq _02178e5c add r1, r5, r7 mov r0, r8 sub r1, r1, #0xd bl func_ov61_02178528 _02178e5c: add r1, sp, #0xc mov r0, r8 mov r2, r5 mov r3, r7 bl func_ov61_02178488 b _02178ff0 _02178e74: ldr r0, [sp, #0x80c] cmp r7, #0x20 movgt r7, #0x20 add r3, sp, #0xc mov r4, #5 mov r1, r5 mov r2, r7 add r0, r3, r0 strb r4, [sp, #0xc] bl func_02043594 ldr r0, [sp, #0x80c] add r0, r0, r7 str r0, [sp, #0x80c] b _02178ff0 _02178eac: ldr r1, [r8, #0xb8] mvn r0, #0 cmp r1, r0 addeq sp, sp, #0x810 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r2, #0 str r2, [sp, #8] _02178ec8: add r0, r8, r2 ldrsb r1, [r4, r2] ldrsb r0, [r0, #0x84] cmp r1, r0 addne sp, sp, #0x810 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r2, r2, #1 str r2, [sp, #8] cmp r2, #4 blt _02178ec8 cmp r7, #2 addlt sp, sp, #0x810 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mvn r0, #0 str r0, [r8, #0xb8] ldrsb r0, [r5] ldr r2, [r8, #0x10c] ldr r3, [r8, #0x9c] add r1, r5, #1 blx r3 add sp, sp, #0x810 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02178f20: mov r2, #0 str r2, [sp, #8] _02178f28: add r0, r8, r2 ldrsb r1, [r4, r2] ldrsb r0, [r0, #0x84] cmp r1, r0 addne sp, sp, #0x810 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} add r2, r2, #1 str r2, [sp, #8] cmp r2, #4 blt _02178f28 cmp r7, #4 addlt sp, sp, #0x810 ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, #7 strb r0, [sp, #0xc] ldrb r1, [r5] ldrb r0, [r5, #1] ldr r2, [sp, #0x80c] add r4, sp, #0xc strb r1, [r4, r2] add r4, r4, r2 strb r0, [r4, #1] ldrb r2, [r5, #2] ldrb r1, [r5, #3] add r3, sp, #8 mov r0, r8 strb r2, [r4, #2] strb r1, [r4, #3] ldr r1, [sp, #0x80c] add r1, r1, #4 str r1, [sp, #0x80c] ldrb r2, [r5] ldrb r1, [r5, #1] strb r2, [r3] strb r1, [r3, #1] ldrb r2, [r5, #2] ldrb r1, [r5, #3] strb r2, [r3, #2] strb r1, [r3, #3] ldr r1, [sp, #8] bl func_ov61_02178ca4 cmp r0, #0 bne _02178ff0 mov r0, r8 add r1, r5, #4 sub r2, r7, #4 bl func_ov61_02178b7c b _02178ff0 _02178fe8: add sp, sp, #0x810 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02178ff0: str r6, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, [r8] ldr r2, [sp, #0x80c] add r1, sp, #0xc mov r3, #0 bl func_ov61_02166c04 add sp, sp, #0x810 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02178d08 _02179018: .word data_ov61_0217e1a0 .global func_ov61_0217901c arm_func_start func_ov61_0217901c func_ov61_0217901c: ; 0x0217901c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc sub sp, sp, #0x800 mov r4, r0 mov r3, #0 add r0, sp, #8 add r2, r4, #0x84 mov r1, #8 str r3, [sp, #0x808] bl func_ov61_02178458 add r0, r4, #0xcc str r0, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, [r4] ldr r2, [sp, #0x808] add r1, sp, #8 mov r3, #0 bl func_ov61_02166c04 bl func_ov61_021665e8 str r0, [r4, #0xb0] add sp, sp, #0xc add sp, sp, #0x800 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_0217901c .global func_ov61_0217907c arm_func_start func_ov61_0217907c func_ov61_0217907c: ; 0x0217907c stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x28 sub sp, sp, #0x800 mov sl, r0 mov sb, r1 mov r3, #0 add r0, sp, #0x24 add r2, sl, #0x84 mov r1, #3 str r3, [sp, #0x824] bl func_ov61_02178458 ldr r4, _0217925c ; =data_ov61_021817cc mov r8, #0 ldr r0, [r4] cmp r0, #0 ble _0217910c ldr fp, _02179260 ; =data_ov61_0217e354 ldr r5, _02179264 ; =data_ov61_021817d0 add r7, sp, #0x10 add r6, sp, #0x24 _021790cc: mov r0, r7 mov r1, fp mov r2, r8 bl func_020459b8 mov r0, r6 mov r1, r7 bl func_ov61_0217807c ldr r0, [r5, r8, lsl #2] bl func_ov61_02159554 mov r1, r0 mov r0, r6 bl func_ov61_0217807c add r8, r8, #1 ldr r0, [r4] cmp r8, r0 blt _021790cc _0217910c: ldr r1, _02179268 ; =data_ov61_0217e360 add r0, sp, #0x24 bl func_ov61_0217807c ldr r1, [sl, #0xc0] add r0, sp, #0x24 bl func_ov61_02178048 ldr r1, _0217926c ; =data_ov61_0217e36c add r0, sp, #0x24 bl func_ov61_0217807c ldr r0, [sl, #0xc8] cmp r0, #0 ldrne r1, _02179270 ; =data_ov61_0217e374 add r0, sp, #0x24 ldreq r1, _02179274 ; =data_ov61_0217e378 bl func_ov61_0217807c cmp sb, #0 beq _02179168 ldr r1, _02179278 ; =data_ov61_0217e37c add r0, sp, #0x24 bl func_ov61_0217807c add r0, sp, #0x24 mov r1, sb bl func_ov61_02178048 _02179168: ldr r1, _0217927c ; =data_ov61_0217e38c add r0, sp, #0x24 bl func_ov61_0217807c add r0, sp, #0x24 add r1, sl, #4 bl func_ov61_0217807c ldr r0, [sl, #0xa8] cmp r0, #0 beq _021791c0 ldr r1, _02179280 ; =data_ov61_0217e398 add r0, sp, #0x24 bl func_ov61_0217807c ldr r1, [sl, #0x104] add r0, sp, #0x24 bl func_ov61_02178048 ldr r1, _02179284 ; =data_ov61_0217e3a4 add r0, sp, #0x24 bl func_ov61_0217807c add r0, sl, #0x100 ldrh r1, [r0, #8] add r0, sp, #0x24 bl func_ov61_02178048 _021791c0: cmp sb, #2 beq _021791f0 mov r2, #0xff str r2, [sp] mov r3, #0 str r3, [sp, #4] str r2, [sp, #8] add r1, sp, #0x24 mov r0, sl str r3, [sp, #0xc] bl func_ov61_02178830 b _02179214 _021791f0: ldr r2, [sp, #0x824] rsb r0, r2, #0x800 cmp r0, #1 blt _02179214 add r1, r2, #1 str r1, [sp, #0x824] add r0, sp, #0x24 mov r1, #0 strb r1, [r0, r2] _02179214: add r0, sl, #0xcc str r0, [sp] mov r0, #8 str r0, [sp, #4] ldr r0, [sl] ldr r2, [sp, #0x824] add r1, sp, #0x24 mov r3, #0 bl func_ov61_02166c04 bl func_ov61_021665e8 str r0, [sl, #0xac] str r0, [sl, #0xb0] cmp sb, #0 movne r0, #0 strne r0, [sl, #0xb4] add sp, sp, #0x28 add sp, sp, #0x800 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 arm_func_end func_ov61_0217907c _0217925c: .word data_ov61_021817cc _02179260: .word data_ov61_0217e354 _02179264: .word data_ov61_021817d0 _02179268: .word data_ov61_0217e360 _0217926c: .word data_ov61_0217e36c _02179270: .word data_ov61_0217e374 _02179274: .word data_ov61_0217e378 _02179278: .word data_ov61_0217e37c _0217927c: .word data_ov61_0217e38c _02179280: .word data_ov61_0217e398 _02179284: .word data_ov61_0217e3a4 .global func_ov61_02179288 arm_func_start func_ov61_02179288 func_ov61_02179288: ; 0x02179288 cmp r0, #0x32 bxlt lr cmp r0, #0xfe bxgt lr ldr r2, _021792a4 ; =data_ov61_0217e4e8 str r1, [r2, r0, lsl #2] bx lr .align 2, 0 arm_func_end func_ov61_02179288 _021792a4: .word data_ov61_0217e4e8 .global func_ov61_021792a8 arm_func_start func_ov61_021792a8 func_ov61_021792a8: ; 0x021792a8 stmdb sp!, {r3, lr} ldr r3, _021792c4 ; =data_ov61_02181940 mov r0, r1 ldr r3, [r3, #0x90] mov r1, r2 blx r3 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021792a8 _021792c4: .word data_ov61_02181940 .global func_ov61_021792c8 arm_func_start func_ov61_021792c8 func_ov61_021792c8: ; 0x021792c8 stmdb sp!, {r3, lr} cmp r1, #0 ldmeqia sp!, {r3, pc} ldr r2, _021792e8 ; =data_ov61_02181940 mov r0, r1 ldr r1, [r2, #0x94] blx r1 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov61_021792c8 _021792e8: .word data_ov61_02181940 .global func_ov61_021792ec arm_func_start func_ov61_021792ec func_ov61_021792ec: ; 0x021792ec ldr r0, _021792f8 ; =data_ov61_02181940 ldr r0, [r0, #0x98] bx lr .align 2, 0 arm_func_end func_ov61_021792ec _021792f8: .word data_ov61_02181940 .global func_ov61_021792fc arm_func_start func_ov61_021792fc func_ov61_021792fc: ; 0x021792fc stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 bl func_ov61_021792ec cmp r5, #0 mov r4, r0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, pc} ldr r0, _02179380 ; =func_ov61_021795f8 mov r1, #0 bl func_ov61_0213f28c ldr r0, _02179384 ; =func_ov61_0217961c bl func_ov61_0214a5c4 ldr r0, _02179388 ; =func_ov61_02179638 bl func_ov61_0214a5e4 mov r0, #0 str r0, [sp] ldr r2, _0217938c ; =func_ov61_021793c0 ldr r1, _02179390 ; =func_ov61_021793a0 str r2, [sp, #4] str r0, [sp, #8] mov r2, r0 ldr r3, _02179394 ; =func_ov61_021793bc bl func_ov61_0213ef98 ldr r0, _02179398 ; =func_ov61_02179424 mov r1, #0 bl func_ov61_02140d08 ldr r0, _0217939c ; =func_ov61_021796b0 bl func_ov61_0214a624 mov r0, #4 str r0, [r4, #0xe3c] add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov61_021792fc _02179380: .word func_ov61_021795f8 _02179384: .word func_ov61_0217961c _02179388: .word func_ov61_02179638 _0217938c: .word func_ov61_021793c0 _02179390: .word func_ov61_021793a0 _02179394: .word func_ov61_021793bc _02179398: .word func_ov61_02179424 _0217939c: .word func_ov61_021796b0 .global func_ov61_021793a0 arm_func_start func_ov61_021793a0 func_ov61_021793a0: ; 0x021793a0 stmdb sp!, {r3, lr} cmp r0, #0 ldmneia sp!, {r3, pc} bl func_ov61_021792ec mov r1, #5 str r1, [r0, #0xe3c] ldmia sp!, {r3, pc} arm_func_end func_ov61_021793a0 .global func_ov61_021793bc arm_func_start func_ov61_021793bc func_ov61_021793bc: ; 0x021793bc bx lr arm_func_end func_ov61_021793bc .global func_ov61_021793c0 arm_func_start func_ov61_021793c0 func_ov61_021793c0: ; 0x021793c0 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 bl func_ov61_021792ec mov r4, r0 ldr r2, [r4, #0xe1c] cmp r2, #0 beq _021793ec mov r0, r6 mov r1, r5 blx r2 _021793ec: ldr r0, [r4, #0xe3c] cmp r0, #6 ldreq r0, [r4, #0xe20] cmpeq r0, #0 ldreqb r0, [r4, #0xe40] cmpeq r6, r0 ldmneia sp!, {r4, r5, r6, pc} mov r0, r4 bl func_ov61_02179ee4 mov r0, r4 mov r2, r5 mov r1, #0 bl func_ov61_02179ce4 ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov61_021793c0 .global func_ov61_02179424 arm_func_start func_ov61_02179424 func_ov61_02179424: ; 0x02179424 bx lr arm_func_end func_ov61_02179424 .global func_ov61_02179428 arm_func_start func_ov61_02179428 func_ov61_02179428: ; 0x02179428 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} ldr r1, _0217953c ; =data_ov61_0217a5ec mvn r2, #0 ldr r1, [r1, #8] mov sb, r0 bl func_ov61_0214231c movs r4, r0 mvnmi r0, #0 ldmmiia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r1, _0217953c ; =data_ov61_0217a5ec mov r0, sb ldr r1, [r1, #0xc] mvn r2, #0 bl func_ov61_0214231c movs r5, r0 bmi _02179470 cmp r5, #9 ble _02179478 _02179470: mvn r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02179478: bl func_ov61_021792ec ldr r1, _0217953c ; =data_ov61_0217a5ec mov r6, r0 ldr r1, [r1, #0x14] mov r0, sb mov r2, #0 bl func_ov61_0214231c ldr r1, [r6, #0xe30] subs r0, r1, r0 rsbmi r0, r0, #0 cmp r0, #1 mvngt r0, #0 ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} ldr r1, _0217953c ; =data_ov61_0217a5ec mov r0, sb ldr r1, [r1, #0x10] mov r2, #4 bl func_ov61_0214231c mov r7, r0 cmp r7, #3 ldr r8, [r6, #0xe20] cmpne r7, #1 bne _021794f8 ldr r1, _0217953c ; =data_ov61_0217a5ec mov r0, sb ldr r1, [r1, #4] mvn r2, #0 bl func_ov61_0214231c ldr r1, [r6, #0xe24] cmp r1, r0 mvnne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _021794f8: ldr r0, [r6, #0xe2c] cmp r5, r0 beq _02179524 cmp r8, #1 cmpne r8, #2 beq _0217951c sub r0, r7, #1 cmp r0, #1 bhi _02179524 _0217951c: mvn r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} _02179524: ldr r0, [r6, #0xe28] subs r1, r4, r0 ldr r0, _02179540 ; =0x00002711 rsbmi r1, r1, #0 sub r0, r0, r1 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02179428 _0217953c: .word data_ov61_0217a5ec _02179540: .word 0x00002711 .global func_ov61_02179544 arm_func_start func_ov61_02179544 func_ov61_02179544: ; 0x02179544 stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr} mov r6, r0 mov r5, r1 bl func_ov61_021792ec mov r4, r0 cmp r6, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} cmp r5, #0 ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} mov r0, #0x88 mov sb, #0 mul r7, sb, r0 ldr r8, _021795ec ; =data_ov61_02181940 mov r6, r0 ldr r5, _021795f0 ; =0x00002710 b _021795b8 _02179584: mov r0, sb bl func_ov61_0213f4ac cmp r0, #0 beq _021795b0 mov r0, sb mov r2, r6 add r1, r8, r7 bl func_ov61_0214a578 mov r0, sb mov r1, r5 bl func_ov61_0214a6d0 _021795b0: add r0, sb, #1 and sb, r0, #0xff _021795b8: cmp sb, #2 blo _02179584 ldr r0, _021795f4 ; =func_ov61_0217968c bl func_ov61_0214a604 bl func_ov61_0213f478 strh r0, [r4, #0x1c] ldr r0, [r4, #8] cmp r0, #0 beq _021795e0 blx r0 _021795e0: mov r0, #7 str r0, [r4, #0xe3c] ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .align 2, 0 arm_func_end func_ov61_02179544 _021795ec: .word data_ov61_02181940 _021795f0: .word 0x00002710 _021795f4: .word func_ov61_0217968c .global func_ov61_021795f8 arm_func_start func_ov61_021795f8 func_ov61_021795f8: ; 0x021795f8 stmdb sp!, {r4, lr} mov r4, r3 bl func_ov61_021792ec mov r1, #1 ldrh r2, [r0, #0x1c] mvn r1, r1, lsl r4 and r1, r2, r1 strh r1, [r0, #0x1c] ldmia sp!, {r4, pc} arm_func_end func_ov61_021795f8 .global func_ov61_0217961c arm_func_start func_ov61_0217961c func_ov61_0217961c: ; 0x0217961c stmdb sp!, {r3, lr} bl func_ov61_021792ec ldr r0, [r0, #0xc] cmp r0, #0 ldmeqia sp!, {r3, pc} blx r0 ldmia sp!, {r3, pc} arm_func_end func_ov61_0217961c .global func_ov61_02179638 arm_func_start func_ov61_02179638 func_ov61_02179638: ; 0x02179638 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r6, r1 mov r5, r2 bl func_ov61_021792ec ldr r1, _02179688 ; =data_ov61_021819c8 mov r4, r0 ldr r1, [r1, r7, lsl #2] mov r0, r6 mov r2, r5 bl func_02007ad8 ldr r3, [r4, #0x10] cmp r3, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r1, _02179688 ; =data_ov61_021819c8 mov r0, r7 ldr r1, [r1, r7, lsl #2] mov r2, r5 blx r3 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02179638 _02179688: .word data_ov61_021819c8 .global func_ov61_0217968c arm_func_start func_ov61_0217968c func_ov61_0217968c: ; 0x0217968c stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_021792ec mov r1, #1 ldrh r2, [r0, #0x1c] mvn r1, r1, lsl r4 and r1, r2, r1 strh r1, [r0, #0x1c] ldmia sp!, {r4, pc} arm_func_end func_ov61_0217968c .global func_ov61_021796b0 arm_func_start func_ov61_021796b0 func_ov61_021796b0: ; 0x021796b0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_021792ec ldr r0, [r0, #0xe48] cmp r4, r0 ble _021796d0 bl func_ov61_021792ec str r4, [r0, #0xe48] _021796d0: bl func_ov61_021792ec str r4, [r0, #0xe44] ldmia sp!, {r4, pc} arm_func_end func_ov61_021796b0 .global func_ov61_021796dc arm_func_start func_ov61_021796dc func_ov61_021796dc: ; 0x021796dc stmdb sp!, {r4, lr} mov r4, r0 bl func_ov12_021135e0 ldr r0, _0217972c ; =data_ov61_0217e928 mov r1, #0 str r0, [r4] str r1, [r4, #0xe1c] mov r0, #4 str r0, [r4, #0xe20] str r1, [r4, #0xe34] strb r1, [r4, #0xe38] str r1, [r4, #0xe3c] str r1, [r4, #0xe44] ldr r0, _02179730 ; =data_ov61_02181940 str r1, [r4, #0xe48] str r4, [r0, #0x98] blx func_0202ab48 str r0, [r4, #0xe24] mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_021796dc _0217972c: .word data_ov61_0217e928 _02179730: .word data_ov61_02181940 .global func_ov61_02179734 arm_func_start func_ov61_02179734 func_ov61_02179734: ; 0x02179734 stmdb sp!, {r4, lr} ldr r1, _0217976c ; =data_ov61_0217e928 mov r4, r0 str r1, [r4] ldr r1, [r0] ldr r1, [r1, #0x1c] blx r1 ldr r1, _02179770 ; =data_ov61_02181940 mov r2, #0 mov r0, r4 str r2, [r1, #0x98] bl func_ov12_021136bc mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02179734 _0217976c: .word data_ov61_0217e928 _02179770: .word data_ov61_02181940 .global func_ov61_02179774 arm_func_start func_ov61_02179774 func_ov61_02179774: ; 0x02179774 stmdb sp!, {r4, lr} ldr r1, _021797b4 ; =data_ov61_0217e928 mov r4, r0 str r1, [r4] ldr r1, [r0] ldr r1, [r1, #0x1c] blx r1 ldr r1, _021797b8 ; =data_ov61_02181940 mov r2, #0 mov r0, r4 str r2, [r1, #0x98] bl func_ov12_021136bc mov r0, r4 bl _ZN9SysObjectdlEPv mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov61_02179774 _021797b4: .word data_ov61_0217e928 _021797b8: .word data_ov61_02181940 .global func_ov61_021797bc arm_func_start func_ov61_021797bc func_ov61_021797bc: ; 0x021797bc stmdb sp!, {r4, r5, r6, lr} ldr r3, [r0] mov r6, r0 ldr r3, [r3, #0x34] mov r5, r1 mov r4, r2 blx r3 cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} ldr r2, _02179818 ; =data_ov61_02181940 ldr r0, _0217981c ; =func_ov61_021792a8 str r5, [r2, #0x90] ldr r1, _02179820 ; =func_ov61_021792c8 str r4, [r2, #0x94] bl func_ov61_0213e020 mov r0, r6 bl func_ov61_0217a010 mov r0, #0 strb r0, [r6, #0xe41] mov r0, #1 str r0, [r6, #0xe3c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov61_021797bc _02179818: .word data_ov61_02181940 _0217981c: .word func_ov61_021792a8 _02179820: .word func_ov61_021792c8 .global func_ov61_02179824 arm_func_start func_ov61_02179824 func_ov61_02179824: ; 0x02179824 ldr r0, [r0, #0xe3c] cmp r0, #0 movgt r0, #1 movle r0, #0 bx lr arm_func_end func_ov61_02179824 .global func_ov61_02179838 arm_func_start func_ov61_02179838 func_ov61_02179838: ; 0x02179838 stmdb sp!, {r3, lr} mov r1, #1 strb r1, [r0, #0xe41] ldr r1, [r0] ldr r1, [r1, #0x18] blx r1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02179838 .global func_ov61_02179854 arm_func_start func_ov61_02179854 func_ov61_02179854: ; 0x02179854 stmdb sp!, {r4, lr} ldr r1, [r0] mov r4, r0 ldr r1, [r1, #0x34] blx r1 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x38] blx r1 cmp r0, #0 ldmneia sp!, {r4, pc} mov r1, #0 strh r1, [r4, #0x18] str r1, [r4, #0x14] mov r0, r4 strh r1, [r4, #0x1a] bl func_ov61_02179bb0 cmp r0, #0 movne r0, #1 strne r0, [r4, #0x20] mov r0, #0 str r0, [r4, #0xe44] str r0, [r4, #0xe48] ldmia sp!, {r4, pc} arm_func_end func_ov61_02179854 .global func_ov61_021798bc arm_func_start func_ov61_021798bc func_ov61_021798bc: ; 0x021798bc ldr r0, [r0, #0xe3c] cmp r0, #1 movgt r0, #1 movle r0, #0 bx lr arm_func_end func_ov61_021798bc .global func_ov61_021798d0 arm_func_start func_ov61_021798d0 func_ov61_021798d0: ; 0x021798d0 stmdb sp!, {r4, lr} ldr r1, [r0] mov r4, r0 ldr r1, [r1, #0x38] blx r1 cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 bl func_ov61_02179c78 ldmia sp!, {r4, pc} arm_func_end func_ov61_021798d0 .global func_ov61_021798f8 arm_func_start func_ov61_021798f8 func_ov61_021798f8: ; 0x021798f8 stmdb sp!, {r4, lr} ldr r1, [r0] mov r4, r0 ldr r1, [r1, #0xc] blx r1 mov r0, #0 strh r0, [r4, #0x18] str r0, [r4, #0x14] strh r0, [r4, #0x1a] mov r0, #1 str r0, [r4, #0x20] bl func_0200e8f8 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x34] blx r1 cmp r0, #0 ldmeqia sp!, {r4, pc} _02179940: blx func_0202bac4 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x20] blx r1 mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x34] blx r1 cmp r0, #0 bne _02179940 ldmia sp!, {r4, pc} arm_func_end func_ov61_021798f8 .global func_ov61_02179970 arm_func_start func_ov61_02179970 func_ov61_02179970: ; 0x02179970 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 ldr r1, [r4, #0xe3c] cmp r1, #8 addls pc, pc, r1, lsl #2 b _02179a30 _0217998c: ; jump table b _02179a30 ; case 0 b _02179a14 ; case 1 b _021799b0 ; case 2 b _021799e8 ; case 3 b _021799e8 ; case 4 b _021799e8 ; case 5 b _021799e8 ; case 6 b _021799e8 ; case 7 b _021799f0 ; case 8 _021799b0: bl func_ov61_0213e2f4 bl func_ov61_0213e2b4 cmp r0, #0 beq _02179a30 mov r0, #0 bl func_ov61_0213dec0 cmp r0, #0 bne _02179a30 bl func_ov61_0213e36c cmp r0, #4 bne _02179a30 mov r0, r4 bl func_ov61_02179bf8 b _02179a30 _021799e8: bl func_ov61_0213ec40 b _02179a30 _021799f0: bl func_ov61_0213e47c cmp r0, #0 beq _02179a30 mov r1, #0 strh r1, [r4, #0x1c] mov r0, #1 str r0, [r4, #0xe3c] str r1, [r4, #0x20] b _02179a30 _02179a14: ldrb r1, [r4, #0xe41] cmp r1, #0 beq _02179a30 bl func_ov61_0217a100 mov r0, #0 strb r0, [r4, #0xe41] str r0, [r4, #0xe3c] _02179a30: ldr r0, [r4, #0x20] cmp r0, #2 moveq r0, #1 movne r0, #0 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} add r0, sp, #4 add r1, sp, #0 bl func_ov61_0213dee0 cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, [sp] cmp r0, #1 beq _02179a84 cmp r0, #2 beq _02179a8c cmp r0, #7 beq _02179a94 b _02179a9c _02179a84: mov r0, #0 str r0, [sp, #4] _02179a8c: mov r2, #1 b _02179aa0 _02179a94: mov r2, #3 b _02179aa0 _02179a9c: mov r2, #2 _02179aa0: ldr r0, [sp, #4] ldr r1, [r4, #0xe3c] rsb r0, r0, #0 strh r2, [r4, #0x18] str r0, [r4, #0x14] mov r0, #0 strh r0, [r4, #0x1a] mov r0, #2 str r0, [r4, #0x20] add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov61_02179970 .global func_ov61_02179acc arm_func_start func_ov61_02179acc func_ov61_02179acc: ; 0x02179acc ldr r0, _02179ad8 ; =data_ov61_021819c8 str r2, [r0, r1, lsl #2] bx lr .align 2, 0 arm_func_end func_ov61_02179acc _02179ad8: .word data_ov61_021819c8 .global func_ov61_02179adc arm_func_start func_ov61_02179adc func_ov61_02179adc: ; 0x02179adc stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 cmp r3, #0 beq _02179b04 bl func_ov61_0213f478 mov r1, r5 mov r2, r4 bl func_ov61_0214a408 ldmia sp!, {r3, r4, r5, pc} _02179b04: bl func_ov61_0213f478 mov r1, r5 mov r2, r4 bl func_ov61_0214a508 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov61_02179adc .global func_ov61_02179b18 arm_func_start func_ov61_02179b18 func_ov61_02179b18: ; 0x02179b18 stmdb sp!, {r4, lr} mov r4, #0 _02179b20: mov r0, r4 bl func_ov61_0213f4ac cmp r0, #0 beq _02179b44 mov r0, r4 bl func_ov61_0214a238 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _02179b44: add r0, r4, #1 and r4, r0, #0xff cmp r4, #2 blo _02179b20 mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov61_02179b18 .global func_ov61_02179b5c arm_func_start func_ov61_02179b5c func_ov61_02179b5c: ; 0x02179b5c ldr ip, _02179b64 ; =func_ov61_0213e518 bx ip .align 2, 0 arm_func_end func_ov61_02179b5c _02179b64: .word func_ov61_0213e518 .global func_ov61_02179b68 arm_func_start func_ov61_02179b68 func_ov61_02179b68: ; 0x02179b68 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 ldr r0, [r4, #4] ldr r1, _02179bac ; =0x415a454a blx func_ov00_020777ec ldr r4, [r4, #4] mov r5, #0 _02179b84: add r0, r4, #0x40 blx func_ov00_020777d0 cmp r0, #0 beq _02179b9c add r0, r4, #0x40 blx func_ov00_02077518 _02179b9c: add r5, r5, #1 cmp r5, #0x20 blt _02179b84 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov61_02179b68 _02179bac: .word 0x415a454a .global func_ov61_02179bb0 arm_func_start func_ov61_02179bb0 func_ov61_02179bb0: ; 0x02179bb0 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov61_0217a100 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0x24 mov r1, #2 mov r2, #1 mov r3, #0x14 bl func_ov61_0213e154 mov r0, #2 bl func_ov61_0213e1b4 bl func_ov61_0213e204 mov r0, #2 str r0, [r4, #0xe3c] mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov61_02179bb0 .global func_ov61_02179bf8 arm_func_start func_ov61_02179bf8 func_ov61_02179bf8: ; 0x02179bf8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 mov r4, r0 ldr r1, [r4, #4] ldr r0, _02179c6c ; =data_ov61_0217e9ec mov r2, #0x2800 stmia sp, {r0, r2} str r2, [sp, #8] add r0, r1, #0x40 str r0, [sp, #0xc] mov r0, #0x20 str r0, [sp, #0x10] ldr r3, _02179c70 ; =data_ov61_0217e9e0 add r0, r4, #0x30 add r2, r2, #0x2d8 bl func_ov61_0213e854 ldr r0, [r4, #4] mov r1, #0 ldr r2, _02179c74 ; =func_ov61_021792fc mov r3, r1 add r0, r0, #0x480 bl func_ov61_0213ee90 cmp r0, #0 moveq r0, #0 movne r0, #3 strne r0, [r4, #0xe3c] movne r0, #1 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 arm_func_end func_ov61_02179bf8 _02179c6c: .word data_ov61_0217e9ec _02179c70: .word data_ov61_0217e9e0 _02179c74: .word func_ov61_021792fc .global func_ov61_02179c78 arm_func_start func_ov61_02179c78 func_ov61_02179c78: ; 0x02179c78 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0xe3c] cmp r0, #8 ldmgeia sp!, {r4, pc} bl func_ov61_0213dfcc ldr r0, [r4, #0x20] cmp r0, #2 moveq r0, #1 movne r0, #0 cmp r0, #0 beq _02179cc0 mov r0, #0 strh r0, [r4, #0x18] str r0, [r4, #0x14] strh r0, [r4, #0x1a] mov r0, #1 str r0, [r4, #0x20] _02179cc0: ldr r0, [r4, #0xe3c] cmp r0, #3 blt _02179cd8 mov r0, r4 bl func_ov61_02179ee4 bl func_ov61_0213ead8 _02179cd8: mov r0, #8 str r0, [r4, #0xe3c] ldmia sp!, {r4, pc} arm_func_end func_ov61_02179c78 .global func_ov61_02179ce4 arm_func_start func_ov61_02179ce4 func_ov61_02179ce4: ; 0x02179ce4 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0xb0 mov r7, r0 ldr r0, [r7, #0xe3c] cmp r0, #5 addne sp, sp, #0xb0 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} str r1, [r7, #0xe20] cmp r1, #0 bne _02179d40 ldr r0, _02179ecc ; =func_ov61_02179544 strb r2, [r7, #0xe40] str r0, [sp] mov r3, #0 str r3, [sp, #4] str r3, [sp, #8] add r0, r7, #0xe40 mov r1, #1 mov r2, #2 str r3, [sp, #0xc] bl func_ov61_0213f0e0 b _02179eb8 _02179d40: cmp r1, #5 mov r0, #0 bne _02179d74 ldr r1, _02179ecc ; =func_ov61_02179544 mov r3, r0 str r1, [sp] str r0, [sp, #4] str r0, [sp, #8] mov r1, r0 mov r2, #2 str r0, [sp, #0xc] bl func_ov61_0213f0e0 b _02179eb8 _02179d74: ldr r1, _02179ed0 ; =data_ov61_0217a5ec ldr r5, [r1, #0x18] ldr r4, [r1] mov r2, r5 mov r1, r4 bl func_ov61_021421ec ldr r1, _02179ed0 ; =data_ov61_0217a5ec add r0, r7, #0x224 ldr r6, [r1, #4] add r2, r0, #0xc00 mov r1, r6 mov r0, #0 bl func_ov61_021420c0 ldr r0, [r7, #4] ldr r1, _02179ed0 ; =data_ov61_0217a5ec add r0, r0, #0x400 ldrh r2, [r0, #0x98] add r0, r7, #0x228 ldr r1, [r1, #8] str r2, [r7, #0xe28] add r2, r0, #0xc00 mov r0, #0 bl func_ov61_021420c0 ldr r0, [r7, #4] ldr r1, _02179ed0 ; =data_ov61_0217a5ec ldrb r0, [r0, #0x49d] ldr r1, [r1, #0xc] str r0, [r7, #0xe2c] cmp r0, #9 moveq r0, #8 streq r0, [r7, #0xe2c] add r0, r7, #0x22c add r2, r0, #0xc00 mov r0, #0 bl func_ov61_021420c0 ldr r0, _02179ed0 ; =data_ov61_0217a5ec add r2, r7, #0xe20 ldr r1, [r0, #0x10] mov r0, #0 bl func_ov61_021420c0 ldr r0, [r7, #4] add r0, r0, #0x480 bl func_ov01_020f5578 ldr r1, _02179ed0 ; =data_ov61_0217a5ec str r0, [r7, #0xe30] ldr r1, [r1, #0x14] mov r0, #0 add r2, r7, #0xe30 bl func_ov61_021420c0 mov r1, r4 add r0, sp, #0x30 bl func_02047024 ldr r1, _02179ed4 ; =data_ov61_0217e9f4 add r0, sp, #0x30 bl func_0204713c mov r1, r5 add r0, sp, #0x30 bl func_0204713c ldr r1, _02179ed8 ; =data_ov61_0217e9f8 add r0, sp, #0x30 bl func_0204713c ldr r0, [r7, #0xe20] cmp r0, #3 cmpne r0, #1 bne _02179e98 ldr r3, [r7, #0xe24] ldr r1, _02179edc ; =data_ov61_0217e9fc add r0, sp, #0x10 mov r2, r6 bl func_020459b8 add r0, sp, #0x30 add r1, sp, #0x10 bl func_0204713c _02179e98: ldr r0, _02179ee0 ; =func_ov61_02179428 ldr r2, _02179ecc ; =func_ov61_02179544 str r0, [sp] mov r3, #0 add r1, sp, #0x30 mov r0, #2 str r3, [sp, #4] bl func_ov61_0213f040 _02179eb8: mov r0, #6 str r0, [r7, #0xe3c] mov r0, #1 add sp, sp, #0xb0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end func_ov61_02179ce4 _02179ecc: .word func_ov61_02179544 _02179ed0: .word data_ov61_0217a5ec _02179ed4: .word data_ov61_0217e9f4 _02179ed8: .word data_ov61_0217e9f8 _02179edc: .word data_ov61_0217e9fc _02179ee0: .word func_ov61_02179428 .global func_ov61_02179ee4 arm_func_start func_ov61_02179ee4 func_ov61_02179ee4: ; 0x02179ee4 stmdb sp!, {r3, lr} ldr r1, [r0] ldr r1, [r1, #0x14] blx r1 ldmia sp!, {r3, pc} arm_func_end func_ov61_02179ee4 .global func_ov61_02179ef8 arm_func_start func_ov61_02179ef8 func_ov61_02179ef8: ; 0x02179ef8 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0xe3c] cmp r0, #7 bne _02179f18 bl func_ov61_0213f2b8 bl func_ov61_02142004 b _02179f3c _02179f18: ldr r0, [r4, #0xe3c] cmp r0, #6 bne _02179f2c bl func_ov61_02142054 b _02179f3c _02179f2c: ldr r0, [r4, #0xe3c] cmp r0, #5 movne r0, #0 ldmneia sp!, {r4, pc} _02179f3c: ldr r0, [r4, #0x20] cmp r0, #2 moveq r0, #1 movne r0, #0 cmp r0, #0 beq _02179f70 bl func_ov61_0213dfcc mov r0, #0 strh r0, [r4, #0x18] str r0, [r4, #0x14] strh r0, [r4, #0x1a] mov r0, #1 str r0, [r4, #0x20] _02179f70: mov r0, #0 strh r0, [r4, #0x1c] mov r0, #5 str r0, [r4, #0xe3c] mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov61_02179ef8 .global func_ov61_02179f88 arm_func_start func_ov61_02179f88 func_ov61_02179f88: ; 0x02179f88 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 mov r4, r0 add r0, sp, #0 bl func_ov61_0213dec0 cmp r0, #0 addne sp, sp, #4 movne r0, #2 ldmneia sp!, {r3, r4, pc} ldr r0, [r4, #0xe3c] cmp r0, #5 blt _02179fd0 bl func_ov61_0213e570 cmp r0, #2 moveq r0, #3 add sp, sp, #4 movne r0, #1 ldmia sp!, {r3, r4, pc} _02179fd0: mov r0, #0 add sp, sp, #4 ldmia sp!, {r3, r4, pc} arm_func_end func_ov61_02179f88 .global func_ov61_02179fdc arm_func_start func_ov61_02179fdc func_ov61_02179fdc: ; 0x02179fdc stmdb sp!, {r3, lr} ldr r2, [r0, #0xe20] cmp r2, #0 cmpne r2, #5 bne _02179ffc ldr r0, [r0, #4] blx func_ov00_020779d8 ldmia sp!, {r3, pc} _02179ffc: mov r0, r1 mov r1, #0 mov r2, #0xc bl func_02007a44 ldmia sp!, {r3, pc} arm_func_end func_ov61_02179fdc .global func_ov61_0217a010 arm_func_start func_ov61_0217a010 func_ov61_0217a010: ; 0x0217a010 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 ldrb r0, [r6, #0xe38] cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, [r6, #0xe34] cmp r0, #0 bne _0217a048 ldr r1, _0217a0e0 ; =data_ov61_02181940 mov r0, #0xf00 ldr r2, [r1, #0x90] mov r1, #0x20 blx r2 str r0, [r6, #0xe34] _0217a048: ldr r0, [r6, #0xe34] cmp r0, #0 beq _0217a0b8 mov r1, #2 bl func_ov01_020eed40 cmp r0, #0 bne _0217a0b8 ldr r0, _0217a0e4 ; =func_ov61_0217a0ec bl func_ov01_020efe20 cmp r0, #2 bne _0217a0b8 bl func_0200e8f8 ldrb r2, [r6, #0xe38] mov r4, r0 mov r5, r1 cmp r2, #0 bne _0217a0b8 ldr r7, _0217a0e8 ; =0x0027f3a9 mov r8, #0 _0217a094: bl func_0200e8f8 subs r2, r0, r4 sbc r0, r1, r5 cmp r0, r8 cmpeq r2, r7 bhi _0217a0b8 ldrb r0, [r6, #0xe38] cmp r0, #0 beq _0217a094 _0217a0b8: ldrb r0, [r6, #0xe38] cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} mov r0, #2 strh r0, [r6, #0x18] mov r0, #0 str r0, [r6, #0x14] mov r0, #1 strh r0, [r6, #0x1a] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0217a010 _0217a0e0: .word data_ov61_02181940 _0217a0e4: .word func_ov61_0217a0ec _0217a0e8: .word 0x0027f3a9 .global func_ov61_0217a0ec arm_func_start func_ov61_0217a0ec func_ov61_0217a0ec: ; 0x0217a0ec stmdb sp!, {r3, lr} bl func_ov61_021792ec mov r1, #1 strb r1, [r0, #0xe38] ldmia sp!, {r3, pc} arm_func_end func_ov61_0217a0ec .global func_ov61_0217a100 arm_func_start func_ov61_0217a100 func_ov61_0217a100: ; 0x0217a100 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 ldrb r0, [r6, #0xe38] cmp r0, #0 beq _0217a1b8 ldr r0, _0217a1c0 ; =func_ov61_0217a1cc bl func_ov01_020efe80 cmp r0, #2 bne _0217a1a0 bl func_0200e8f8 ldrb r2, [r6, #0xe38] mov r4, r0 mov r5, r1 cmp r2, #0 beq _0217a168 ldr r7, _0217a1c4 ; =0x0027f3a9 mov r8, #0 _0217a144: bl func_0200e8f8 subs r2, r0, r4 sbc r0, r1, r5 cmp r0, r8 cmpeq r2, r7 bhi _0217a168 ldrb r0, [r6, #0xe38] cmp r0, #0 bne _0217a144 _0217a168: ldrb r0, [r6, #0xe38] cmp r0, #0 bne _0217a1a0 bl func_ov01_020eef50 cmp r0, #0 bne _0217a1a0 ldr r1, _0217a1c8 ; =data_ov61_02181940 ldr r0, [r6, #0xe34] ldr r1, [r1, #0x94] blx r1 mov r0, #0 str r0, [r6, #0xe34] mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0217a1a0: mov r1, #2 strh r1, [r6, #0x18] mov r0, #0 str r0, [r6, #0x14] strh r1, [r6, #0x1a] ldmia sp!, {r4, r5, r6, r7, r8, pc} _0217a1b8: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov61_0217a100 _0217a1c0: .word func_ov61_0217a1cc _0217a1c4: .word 0x0027f3a9 _0217a1c8: .word data_ov61_02181940 .global func_ov61_0217a1cc arm_func_start func_ov61_0217a1cc func_ov61_0217a1cc: ; 0x0217a1cc stmdb sp!, {r3, lr} bl func_ov61_021792ec mov r1, #0 strb r1, [r0, #0xe38] ldmia sp!, {r3, pc} arm_func_end func_ov61_0217a1cc .global func_ov61_0217a1e0 arm_func_start func_ov61_0217a1e0 func_ov61_0217a1e0: ; 0x0217a1e0 ldr ip, _0217a1e8 ; =func_ov61_0213f40c bx ip .align 2, 0 arm_func_end func_ov61_0217a1e0 _0217a1e8: .word func_ov61_0213f40c .global func_ov61_0217a1ec arm_func_start func_ov61_0217a1ec func_ov61_0217a1ec: ; 0x0217a1ec stmdb sp!, {r3, lr} bl func_ov61_0213f3c4 and r0, r0, #0xff ldmia sp!, {r3, pc} arm_func_end func_ov61_0217a1ec .global func_ov61_0217a1fc arm_func_start func_ov61_0217a1fc func_ov61_0217a1fc: ; 0x0217a1fc ldr r0, [r0, #0xe3c] cmp r0, #7 moveq r0, #1 movne r0, #0 bx lr arm_func_end func_ov61_0217a1fc .rodata .global data_ov61_0217a210 data_ov61_0217a210: ; 0x0217a210 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217a214 data_ov61_0217a214: ; 0x0217a214 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217a218 data_ov61_0217a218: ; 0x0217a218 .byte 0x02, 0x00, 0x00, 0x00 .global data_ov61_0217a21c data_ov61_0217a21c: ; 0x0217a21c .byte 0x02, 0x00, 0x00, 0x00 .global data_ov61_0217a220 data_ov61_0217a220: ; 0x0217a220 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov61_0217a224 data_ov61_0217a224: ; 0x0217a224 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov61_0217a228 data_ov61_0217a228: ; 0x0217a228 .ascii "Wayport2" .global data_ov61_0217a230 data_ov61_0217a230: ; 0x0217a230 .ascii "FREESPOT" .global data_ov61_0217a238 data_ov61_0217a238: ; 0x0217a238 .ascii "NINTENDOWFC" .byte 0x00 .global data_ov61_0217a244 data_ov61_0217a244: ; 0x0217a244 .byte 0x02, 0x80, 0x00, 0x00 .global data_ov61_0217a248 data_ov61_0217a248: ; 0x0217a248 .byte 0x04, 0x80, 0x00, 0x00 .global data_ov61_0217a24c data_ov61_0217a24c: ; 0x0217a24c .byte 0x08, 0x80, 0x00, 0x00 .global data_ov61_0217a250 data_ov61_0217a250: ; 0x0217a250 .byte 0x10, 0x80, 0x00, 0x00 .global data_ov61_0217a254 data_ov61_0217a254: ; 0x0217a254 .byte 0x20, 0x80, 0x00, 0x00 .global data_ov61_0217a258 data_ov61_0217a258: ; 0x0217a258 .byte 0x40, 0x80, 0x00, 0x00 .global data_ov61_0217a25c data_ov61_0217a25c: ; 0x0217a25c .byte 0x80, 0x80, 0x00, 0x00 .global data_ov61_0217a260 data_ov61_0217a260: ; 0x0217a260 .byte 0x00, 0x81, 0x00, 0x00 .global data_ov61_0217a264 data_ov61_0217a264: ; 0x0217a264 .byte 0x00, 0x82, 0x00, 0x00 .global data_ov61_0217a268 data_ov61_0217a268: ; 0x0217a268 .byte 0x00, 0x84, 0x00, 0x00 .global data_ov61_0217a26c data_ov61_0217a26c: ; 0x0217a26c .byte 0x00, 0x88, 0x00, 0x00 .global data_ov61_0217a270 data_ov61_0217a270: ; 0x0217a270 .byte 0x00, 0x90, 0x00, 0x00 .global data_ov61_0217a274 data_ov61_0217a274: ; 0x0217a274 .byte 0x00, 0xa0, 0x00, 0x00 .global data_ov61_0217a278 data_ov61_0217a278: ; 0x0217a278 .byte 0x00, 0x00, 0x00, 0x01 .global data_ov61_0217a27c data_ov61_0217a27c: ; 0x0217a27c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a280 data_ov61_0217a280: ; 0x0217a280 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a284 data_ov61_0217a284: ; 0x0217a284 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov61_0217a288 data_ov61_0217a288: ; 0x0217a288 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a28c data_ov61_0217a28c: ; 0x0217a28c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a290 data_ov61_0217a290: ; 0x0217a290 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a294 data_ov61_0217a294: ; 0x0217a294 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a298 data_ov61_0217a298: ; 0x0217a298 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a29c data_ov61_0217a29c: ; 0x0217a29c .byte 0x00, 0x10, 0x00, 0x00 .global data_ov61_0217a2a0 data_ov61_0217a2a0: ; 0x0217a2a0 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov61_0217a2a4 data_ov61_0217a2a4: ; 0x0217a2a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2a8 data_ov61_0217a2a8: ; 0x0217a2a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2ac data_ov61_0217a2ac: ; 0x0217a2ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2b0 data_ov61_0217a2b0: ; 0x0217a2b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2b4 data_ov61_0217a2b4: ; 0x0217a2b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2b8 data_ov61_0217a2b8: ; 0x0217a2b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2bc data_ov61_0217a2bc: ; 0x0217a2bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2c0 data_ov61_0217a2c0: ; 0x0217a2c0 .word data_ov61_0217a844 .global data_ov61_0217a2c4 data_ov61_0217a2c4: ; 0x0217a2c4 .byte 0x04, 0x00, 0x00, 0x00 .global data_ov61_0217a2c8 data_ov61_0217a2c8: ; 0x0217a2c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2cc data_ov61_0217a2cc: ; 0x0217a2cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a2d0 data_ov61_0217a2d0: ; 0x0217a2d0 .byte 0x61 .global data_ov61_0217a2d1 data_ov61_0217a2d1: ; 0x0217a2d1 .byte 0x61 .global data_ov61_0217a2d2 data_ov61_0217a2d2: ; 0x0217a2d2 .byte 0x61 .global data_ov61_0217a2d3 data_ov61_0217a2d3: ; 0x0217a2d3 .byte 0x17 .global data_ov61_0217a2d4 data_ov61_0217a2d4: ; 0x0217a2d4 .byte 0x14 .global data_ov61_0217a2d5 data_ov61_0217a2d5: ; 0x0217a2d5 .byte 0x11 .global data_ov61_0217a2d6 data_ov61_0217a2d6: ; 0x0217a2d6 .byte 0x0d .global data_ov61_0217a2d7 data_ov61_0217a2d7: ; 0x0217a2d7 .byte 0x0b .global data_ov61_0217a2d8 data_ov61_0217a2d8: ; 0x0217a2d8 .byte 0x06 .global data_ov61_0217a2d9 data_ov61_0217a2d9: ; 0x0217a2d9 .byte 0x0f .global data_ov61_0217a2da data_ov61_0217a2da: ; 0x0217a2da .byte 0x0e .global data_ov61_0217a2db data_ov61_0217a2db: ; 0x0217a2db .byte 0x09 .global data_ov61_0217a2dc data_ov61_0217a2dc: ; 0x0217a2dc .byte 0x15 .global data_ov61_0217a2dd data_ov61_0217a2dd: ; 0x0217a2dd .byte 0x0c .global data_ov61_0217a2de data_ov61_0217a2de: ; 0x0217a2de .byte 0x04 .global data_ov61_0217a2df data_ov61_0217a2df: ; 0x0217a2df .byte 0x02 .global data_ov61_0217a2e0 data_ov61_0217a2e0: ; 0x0217a2e0 .byte 0x01 .global data_ov61_0217a2e1 data_ov61_0217a2e1: ; 0x0217a2e1 .byte 0x12 .global data_ov61_0217a2e2 data_ov61_0217a2e2: ; 0x0217a2e2 .byte 0x10 .global data_ov61_0217a2e3 data_ov61_0217a2e3: ; 0x0217a2e3 .byte 0x05 .global data_ov61_0217a2e4 data_ov61_0217a2e4: ; 0x0217a2e4 .byte 0x03 .global data_ov61_0217a2e5 data_ov61_0217a2e5: ; 0x0217a2e5 .byte 0x13 .global data_ov61_0217a2e6 data_ov61_0217a2e6: ; 0x0217a2e6 .byte 0x0a .global data_ov61_0217a2e7 data_ov61_0217a2e7: ; 0x0217a2e7 .byte 0x07 .global data_ov61_0217a2e8 data_ov61_0217a2e8: ; 0x0217a2e8 .byte 0x08 .global data_ov61_0217a2e9 data_ov61_0217a2e9: ; 0x0217a2e9 .byte 0x00 .global data_ov61_0217a2ea data_ov61_0217a2ea: ; 0x0217a2ea .byte 0x16 .global data_ov61_0217a2eb data_ov61_0217a2eb: ; 0x0217a2eb .byte 0x00 .global data_ov61_0217a2ec data_ov61_0217a2ec: ; 0x0217a2ec .byte 0x05 .global data_ov61_0217a2ed data_ov61_0217a2ed: ; 0x0217a2ed .byte 0x01 .global data_ov61_0217a2ee data_ov61_0217a2ee: ; 0x0217a2ee .byte 0x0c .global data_ov61_0217a2ef data_ov61_0217a2ef: ; 0x0217a2ef .byte 0x04 .global data_ov61_0217a2f0 data_ov61_0217a2f0: ; 0x0217a2f0 .byte 0x02 .global data_ov61_0217a2f1 data_ov61_0217a2f1: ; 0x0217a2f1 .byte 0x03 .global data_ov61_0217a2f2 data_ov61_0217a2f2: ; 0x0217a2f2 .byte 0x0a .global data_ov61_0217a2f3 data_ov61_0217a2f3: ; 0x0217a2f3 .byte 0x00 .global data_ov61_0217a2f4 data_ov61_0217a2f4: ; 0x0217a2f4 .byte 0x0b .global data_ov61_0217a2f5 data_ov61_0217a2f5: ; 0x0217a2f5 .byte 0x07 .global data_ov61_0217a2f6 data_ov61_0217a2f6: ; 0x0217a2f6 .byte 0x09 .global data_ov61_0217a2f7 data_ov61_0217a2f7: ; 0x0217a2f7 .byte 0x08 .global data_ov61_0217a2f8 data_ov61_0217a2f8: ; 0x0217a2f8 .byte 0x06 .global data_ov61_0217a2f9 data_ov61_0217a2f9: ; 0x0217a2f9 .byte 0x00 .global data_ov61_0217a2fa data_ov61_0217a2fa: ; 0x0217a2fa .byte 0x00 .global data_ov61_0217a2fb data_ov61_0217a2fb: ; 0x0217a2fb .byte 0x00 .global data_ov61_0217a2fc data_ov61_0217a2fc: ; 0x0217a2fc .byte 0x0a .global data_ov61_0217a2fd data_ov61_0217a2fd: ; 0x0217a2fd .byte 0x0d .global data_ov61_0217a2fe data_ov61_0217a2fe: ; 0x0217a2fe .byte 0x0e .global data_ov61_0217a2ff data_ov61_0217a2ff: ; 0x0217a2ff .byte 0x08 .global data_ov61_0217a300 data_ov61_0217a300: ; 0x0217a300 .byte 0x09 .global data_ov61_0217a301 data_ov61_0217a301: ; 0x0217a301 .byte 0x03 .global data_ov61_0217a302 data_ov61_0217a302: ; 0x0217a302 .byte 0x06 .global data_ov61_0217a303 data_ov61_0217a303: ; 0x0217a303 .byte 0x00 .global data_ov61_0217a304 data_ov61_0217a304: ; 0x0217a304 .byte 0x0c .global data_ov61_0217a305 data_ov61_0217a305: ; 0x0217a305 .byte 0x05 .global data_ov61_0217a306 data_ov61_0217a306: ; 0x0217a306 .byte 0x02 .global data_ov61_0217a307 data_ov61_0217a307: ; 0x0217a307 .byte 0x07 .global data_ov61_0217a308 data_ov61_0217a308: ; 0x0217a308 .byte 0x0b .global data_ov61_0217a309 data_ov61_0217a309: ; 0x0217a309 .byte 0x01 .global data_ov61_0217a30a data_ov61_0217a30a: ; 0x0217a30a .byte 0x0f .global data_ov61_0217a30b data_ov61_0217a30b: ; 0x0217a30b .byte 0x04 .global data_ov61_0217a30c data_ov61_0217a30c: ; 0x0217a30c .byte 0xff, 0xff .global data_ov61_0217a30e data_ov61_0217a30e: ; 0x0217a30e .byte 0xff, 0xff .global data_ov61_0217a310 data_ov61_0217a310: ; 0x0217a310 .byte 0xff, 0xff .global data_ov61_0217a312 data_ov61_0217a312: ; 0x0217a312 .byte 0x00, 0x00 .global data_ov61_0217a314 data_ov61_0217a314: ; 0x0217a314 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217a318 data_ov61_0217a318: ; 0x0217a318 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217a31c data_ov61_0217a31c: ; 0x0217a31c .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217a320 data_ov61_0217a320: ; 0x0217a320 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217a324 data_ov61_0217a324: ; 0x0217a324 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217a328 data_ov61_0217a328: ; 0x0217a328 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217a32c data_ov61_0217a32c: ; 0x0217a32c .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217a330 data_ov61_0217a330: ; 0x0217a330 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217a334 data_ov61_0217a334: ; 0x0217a334 .word data_ov61_0217bee0 .global data_ov61_0217a338 data_ov61_0217a338: ; 0x0217a338 .word data_ov61_0217bed8 .global data_ov61_0217a33c data_ov61_0217a33c: ; 0x0217a33c .ascii "[]_" .byte 0x00 .global data_ov61_0217a340 data_ov61_0217a340: ; 0x0217a340 .ascii "-_=" .byte 0x00 .global data_ov61_0217a344 data_ov61_0217a344: ; 0x0217a344 .ascii "+/=" .byte 0x00 .global data_ov61_0217a348 data_ov61_0217a348: ; 0x0217a348 .ascii "\\mod\\%d" .byte 0x00 .global data_ov61_0217a350 data_ov61_0217a350: ; 0x0217a350 .byte 0x13, 0x1d, 0x01, 0x04 .global data_ov61_0217a354 data_ov61_0217a354: ; 0x0217a354 .byte 0x00, 0x00, 0x00, 0x28 .global data_ov61_0217a358 data_ov61_0217a358: ; 0x0217a358 .byte 0x1f, 0x06, 0x45, 0x34 .global data_ov61_0217a35c data_ov61_0217a35c: ; 0x0217a35c .byte 0x3f, 0x01, 0x1b, 0x00 .global data_ov61_0217a360 data_ov61_0217a360: ; 0x0217a360 .byte 0x13 .global data_ov61_0217a361 data_ov61_0217a361: ; 0x0217a361 .byte 0x1d .global data_ov61_0217a362 data_ov61_0217a362: ; 0x0217a362 .byte 0x01 .global data_ov61_0217a363 data_ov61_0217a363: ; 0x0217a363 .byte 0x04 .global data_ov61_0217a364 data_ov61_0217a364: ; 0x0217a364 .byte 0x00 .global data_ov61_0217a365 data_ov61_0217a365: ; 0x0217a365 .byte 0x00 .global data_ov61_0217a366 data_ov61_0217a366: ; 0x0217a366 .byte 0x00 .global data_ov61_0217a367 data_ov61_0217a367: ; 0x0217a367 .byte 0x28 .global data_ov61_0217a368 data_ov61_0217a368: ; 0x0217a368 .byte 0x1f .global data_ov61_0217a369 data_ov61_0217a369: ; 0x0217a369 .byte 0x06 .global data_ov61_0217a36a data_ov61_0217a36a: ; 0x0217a36a .byte 0x45 .global data_ov61_0217a36b data_ov61_0217a36b: ; 0x0217a36b .byte 0x34 .global data_ov61_0217a36c data_ov61_0217a36c: ; 0x0217a36c .byte 0x3f .global data_ov61_0217a36d data_ov61_0217a36d: ; 0x0217a36d .byte 0x01 .global data_ov61_0217a36e data_ov61_0217a36e: ; 0x0217a36e .byte 0x1b .global data_ov61_0217a36f data_ov61_0217a36f: ; 0x0217a36f .byte 0x00 .global data_ov61_0217a370 data_ov61_0217a370: ; 0x0217a370 .byte 0x0c .global data_ov61_0217a371 data_ov61_0217a371: ; 0x0217a371 .byte 0x13 .global data_ov61_0217a372 data_ov61_0217a372: ; 0x0217a372 .byte 0x1a .global data_ov61_0217a373 data_ov61_0217a373: ; 0x0217a373 .byte 0x1e .global data_ov61_0217a374 data_ov61_0217a374: ; 0x0217a374 .byte 0x0d .global data_ov61_0217a375 data_ov61_0217a375: ; 0x0217a375 .byte 0x13 .global data_ov61_0217a376 data_ov61_0217a376: ; 0x0217a376 .byte 0x28 .global data_ov61_0217a377 data_ov61_0217a377: ; 0x0217a377 .byte 0x1d .global data_ov61_0217a378 data_ov61_0217a378: ; 0x0217a378 .byte 0x00 .global data_ov61_0217a379 data_ov61_0217a379: ; 0x0217a379 .byte 0x01 .global data_ov61_0217a37a data_ov61_0217a37a: ; 0x0217a37a .byte 0x01 .global data_ov61_0217a37b data_ov61_0217a37b: ; 0x0217a37b .byte 0x24 .global data_ov61_0217a37c data_ov61_0217a37c: ; 0x0217a37c .byte 0x75 .global data_ov61_0217a37d data_ov61_0217a37d: ; 0x0217a37d .byte 0x16 .global data_ov61_0217a37e data_ov61_0217a37e: ; 0x0217a37e .byte 0x33 .global data_ov61_0217a37f data_ov61_0217a37f: ; 0x0217a37f .byte 0x18 .global data_ov61_0217a380 data_ov61_0217a380: ; 0x0217a380 .byte 0x00 .global data_ov61_0217a381 data_ov61_0217a381: ; 0x0217a381 .byte 0x10 .global data_ov61_0217a382 data_ov61_0217a382: ; 0x0217a382 .byte 0x04 .global data_ov61_0217a383 data_ov61_0217a383: ; 0x0217a383 .byte 0x1d .global data_ov61_0217a384 data_ov61_0217a384: ; 0x0217a384 .byte 0x55 .global data_ov61_0217a385 data_ov61_0217a385: ; 0x0217a385 .byte 0x1b .global data_ov61_0217a386 data_ov61_0217a386: ; 0x0217a386 .byte 0x39 .global data_ov61_0217a387 data_ov61_0217a387: ; 0x0217a387 .byte 0x14 .global data_ov61_0217a388 data_ov61_0217a388: ; 0x0217a388 .byte 0x39 .global data_ov61_0217a389 data_ov61_0217a389: ; 0x0217a389 .byte 0x16 .global data_ov61_0217a38a data_ov61_0217a38a: ; 0x0217a38a .byte 0x33 .global data_ov61_0217a38b data_ov61_0217a38b: ; 0x0217a38b .byte 0x4f .global data_ov61_0217a38c data_ov61_0217a38c: ; 0x0217a38c .byte 0x01 .global data_ov61_0217a38d data_ov61_0217a38d: ; 0x0217a38d .byte 0x00 .global data_ov61_0217a38e data_ov61_0217a38e: ; 0x0217a38e .byte 0x0c .global data_ov61_0217a38f data_ov61_0217a38f: ; 0x0217a38f .byte 0x1c .global data_ov61_0217a390 data_ov61_0217a390: ; 0x0217a390 .byte 0x0a .global data_ov61_0217a391 data_ov61_0217a391: ; 0x0217a391 .byte 0x1d .global data_ov61_0217a392 data_ov61_0217a392: ; 0x0217a392 .byte 0x02 .global data_ov61_0217a393 data_ov61_0217a393: ; 0x0217a393 .byte 0x02 .global data_ov61_0217a394 data_ov61_0217a394: ; 0x0217a394 .byte 0x19 .global data_ov61_0217a395 data_ov61_0217a395: ; 0x0217a395 .byte 0x24 .global data_ov61_0217a396 data_ov61_0217a396: ; 0x0217a396 .byte 0x2c .global data_ov61_0217a397 data_ov61_0217a397: ; 0x0217a397 .byte 0x34 .global data_ov61_0217a398 data_ov61_0217a398: ; 0x0217a398 .byte 0x06 .global data_ov61_0217a399 data_ov61_0217a399: ; 0x0217a399 .byte 0x17 .global data_ov61_0217a39a data_ov61_0217a39a: ; 0x0217a39a .byte 0x3e .global data_ov61_0217a39b data_ov61_0217a39b: ; 0x0217a39b .byte 0x1c .global data_ov61_0217a39c data_ov61_0217a39c: ; 0x0217a39c .byte 0x06 .global data_ov61_0217a39d data_ov61_0217a39d: ; 0x0217a39d .byte 0x0e .global data_ov61_0217a39e data_ov61_0217a39e: ; 0x0217a39e .byte 0x39 .global data_ov61_0217a39f data_ov61_0217a39f: ; 0x0217a39f .byte 0x46 .global data_ov61_0217a3a0 data_ov61_0217a3a0: ; 0x0217a3a0 .byte 0x10 .global data_ov61_0217a3a1 data_ov61_0217a3a1: ; 0x0217a3a1 .byte 0x1d .global data_ov61_0217a3a2 data_ov61_0217a3a2: ; 0x0217a3a2 .byte 0x03 .global data_ov61_0217a3a3 data_ov61_0217a3a3: ; 0x0217a3a3 .byte 0x0d .global data_ov61_0217a3a4 data_ov61_0217a3a4: ; 0x0217a3a4 .byte 0x16 .global data_ov61_0217a3a5 data_ov61_0217a3a5: ; 0x0217a3a5 .byte 0x0b .global data_ov61_0217a3a6 data_ov61_0217a3a6: ; 0x0217a3a6 .byte 0x3b .global data_ov61_0217a3a7 data_ov61_0217a3a7: ; 0x0217a3a7 .byte 0x17 .global data_ov61_0217a3a8 data_ov61_0217a3a8: ; 0x0217a3a8 .byte 0x16 .global data_ov61_0217a3a9 data_ov61_0217a3a9: ; 0x0217a3a9 .byte 0x36 .global data_ov61_0217a3aa data_ov61_0217a3aa: ; 0x0217a3aa .byte 0x40 .global data_ov61_0217a3ab data_ov61_0217a3ab: ; 0x0217a3ab .byte 0x07 .global data_ov61_0217a3ac data_ov61_0217a3ac: ; 0x0217a3ac .byte 0x00 .global data_ov61_0217a3ad data_ov61_0217a3ad: ; 0x0217a3ad .byte 0x0c .global data_ov61_0217a3ae data_ov61_0217a3ae: ; 0x0217a3ae .byte 0x15 .global data_ov61_0217a3af data_ov61_0217a3af: ; 0x0217a3af .byte 0x0a .global data_ov61_0217a3b0 data_ov61_0217a3b0: ; 0x0217a3b0 .byte 0x1e .global data_ov61_0217a3b1 data_ov61_0217a3b1: ; 0x0217a3b1 .byte 0x15 .global data_ov61_0217a3b2 data_ov61_0217a3b2: ; 0x0217a3b2 .byte 0x0a .global data_ov61_0217a3b3 data_ov61_0217a3b3: ; 0x0217a3b3 .byte 0x10 .global data_ov61_0217a3b4 data_ov61_0217a3b4: ; 0x0217a3b4 .byte 0x1d .global data_ov61_0217a3b5 data_ov61_0217a3b5: ; 0x0217a3b5 .byte 0x2c .global data_ov61_0217a3b6 data_ov61_0217a3b6: ; 0x0217a3b6 .byte 0x06 .global data_ov61_0217a3b7 data_ov61_0217a3b7: ; 0x0217a3b7 .byte 0x0c .global data_ov61_0217a3b8 data_ov61_0217a3b8: ; 0x0217a3b8 .byte 0x1b .global data_ov61_0217a3b9 data_ov61_0217a3b9: ; 0x0217a3b9 .byte 0x3b .global data_ov61_0217a3ba data_ov61_0217a3ba: ; 0x0217a3ba .byte 0x2e .global data_ov61_0217a3bb data_ov61_0217a3bb: ; 0x0217a3bb .byte 0x4a .global data_ov61_0217a3bc data_ov61_0217a3bc: ; 0x0217a3bc .byte 0x19 .global data_ov61_0217a3bd data_ov61_0217a3bd: ; 0x0217a3bd .byte 0x39 .global data_ov61_0217a3be data_ov61_0217a3be: ; 0x0217a3be .byte 0x08 .global data_ov61_0217a3bf data_ov61_0217a3bf: ; 0x0217a3bf .byte 0x11 .global data_ov61_0217a3c0 data_ov61_0217a3c0: ; 0x0217a3c0 .byte 0x38 .global data_ov61_0217a3c1 data_ov61_0217a3c1: ; 0x0217a3c1 .byte 0x18 .global data_ov61_0217a3c2 data_ov61_0217a3c2: ; 0x0217a3c2 .byte 0x09 .global data_ov61_0217a3c3 data_ov61_0217a3c3: ; 0x0217a3c3 .byte 0x16 .global data_ov61_0217a3c4 data_ov61_0217a3c4: ; 0x0217a3c4 .byte 0x10 .global data_ov61_0217a3c5 data_ov61_0217a3c5: ; 0x0217a3c5 .byte 0x0c .global data_ov61_0217a3c6 data_ov61_0217a3c6: ; 0x0217a3c6 .byte 0x57 .global data_ov61_0217a3c7 data_ov61_0217a3c7: ; 0x0217a3c7 .byte 0x1c .global data_ov61_0217a3c8 data_ov61_0217a3c8: ; 0x0217a3c8 .byte 0x36 .global data_ov61_0217a3c9 data_ov61_0217a3c9: ; 0x0217a3c9 .byte 0x09 .global data_ov61_0217a3ca data_ov61_0217a3ca: ; 0x0217a3ca .byte 0x0a .global data_ov61_0217a3cb data_ov61_0217a3cb: ; 0x0217a3cb .byte 0x10 .global data_ov61_0217a3cc data_ov61_0217a3cc: ; 0x0217a3cc .byte 0x1d .global data_ov61_0217a3cd data_ov61_0217a3cd: ; 0x0217a3cd .byte 0x55 .global data_ov61_0217a3ce data_ov61_0217a3ce: ; 0x0217a3ce .byte 0x0c .global data_ov61_0217a3cf data_ov61_0217a3cf: ; 0x0217a3cf .byte 0x00 .global data_ov61_0217a3d0 data_ov61_0217a3d0: ; 0x0217a3d0 .byte 0x0c .global data_ov61_0217a3d1 data_ov61_0217a3d1: ; 0x0217a3d1 .byte 0x13 .global data_ov61_0217a3d2 data_ov61_0217a3d2: ; 0x0217a3d2 .byte 0x1a .global data_ov61_0217a3d3 data_ov61_0217a3d3: ; 0x0217a3d3 .byte 0x1e .global data_ov61_0217a3d4 data_ov61_0217a3d4: ; 0x0217a3d4 .byte 0x0d .global data_ov61_0217a3d5 data_ov61_0217a3d5: ; 0x0217a3d5 .byte 0x13 .global data_ov61_0217a3d6 data_ov61_0217a3d6: ; 0x0217a3d6 .byte 0x28 .global data_ov61_0217a3d7 data_ov61_0217a3d7: ; 0x0217a3d7 .byte 0x1d .global data_ov61_0217a3d8 data_ov61_0217a3d8: ; 0x0217a3d8 .byte 0x11 .global data_ov61_0217a3d9 data_ov61_0217a3d9: ; 0x0217a3d9 .byte 0x1d .global data_ov61_0217a3da data_ov61_0217a3da: ; 0x0217a3da .byte 0x11 .global data_ov61_0217a3db data_ov61_0217a3db: ; 0x0217a3db .byte 0x10 .global data_ov61_0217a3dc data_ov61_0217a3dc: ; 0x0217a3dc .byte 0x24 .global data_ov61_0217a3dd data_ov61_0217a3dd: ; 0x0217a3dd .byte 0x1d .global data_ov61_0217a3de data_ov61_0217a3de: ; 0x0217a3de .byte 0x04 .global data_ov61_0217a3df data_ov61_0217a3df: ; 0x0217a3df .byte 0x0f .global data_ov61_0217a3e0 data_ov61_0217a3e0: ; 0x0217a3e0 .byte 0x0b .global data_ov61_0217a3e1 data_ov61_0217a3e1: ; 0x0217a3e1 .byte 0x3f .global data_ov61_0217a3e2 data_ov61_0217a3e2: ; 0x0217a3e2 .byte 0x51 .global data_ov61_0217a3e3 data_ov61_0217a3e3: ; 0x0217a3e3 .byte 0x32 .global data_ov61_0217a3e4 data_ov61_0217a3e4: ; 0x0217a3e4 .byte 0x2c .global data_ov61_0217a3e5 data_ov61_0217a3e5: ; 0x0217a3e5 .byte 0x1a .global data_ov61_0217a3e6 data_ov61_0217a3e6: ; 0x0217a3e6 .byte 0x00 .global data_ov61_0217a3e7 data_ov61_0217a3e7: ; 0x0217a3e7 .byte 0x0b .global data_ov61_0217a3e8 data_ov61_0217a3e8: ; 0x0217a3e8 .byte 0x20 .global data_ov61_0217a3e9 data_ov61_0217a3e9: ; 0x0217a3e9 .byte 0x2e .global data_ov61_0217a3ea data_ov61_0217a3ea: ; 0x0217a3ea .byte 0x4a .global data_ov61_0217a3eb data_ov61_0217a3eb: ; 0x0217a3eb .byte 0x19 .global data_ov61_0217a3ec data_ov61_0217a3ec: ; 0x0217a3ec .byte 0x39 .global data_ov61_0217a3ed data_ov61_0217a3ed: ; 0x0217a3ed .byte 0x0f .global data_ov61_0217a3ee data_ov61_0217a3ee: ; 0x0217a3ee .byte 0x1d .global data_ov61_0217a3ef data_ov61_0217a3ef: ; 0x0217a3ef .byte 0x25 .global data_ov61_0217a3f0 data_ov61_0217a3f0: ; 0x0217a3f0 .byte 0x2c .global data_ov61_0217a3f1 data_ov61_0217a3f1: ; 0x0217a3f1 .byte 0x4d .global data_ov61_0217a3f2 data_ov61_0217a3f2: ; 0x0217a3f2 .byte 0x01 .global data_ov61_0217a3f3 data_ov61_0217a3f3: ; 0x0217a3f3 .byte 0x00 .global data_ov61_0217a3f4 data_ov61_0217a3f4: ; 0x0217a3f4 .byte 0x0c .global data_ov61_0217a3f5 data_ov61_0217a3f5: ; 0x0217a3f5 .byte 0x07 .global data_ov61_0217a3f6 data_ov61_0217a3f6: ; 0x0217a3f6 .byte 0x1f .global data_ov61_0217a3f7 data_ov61_0217a3f7: ; 0x0217a3f7 .byte 0x0e .global data_ov61_0217a3f8 data_ov61_0217a3f8: ; 0x0217a3f8 .byte 0x02 .global data_ov61_0217a3f9 data_ov61_0217a3f9: ; 0x0217a3f9 .byte 0x02 .global data_ov61_0217a3fa data_ov61_0217a3fa: ; 0x0217a3fa .byte 0x19 .global data_ov61_0217a3fb data_ov61_0217a3fb: ; 0x0217a3fb .byte 0x24 .global data_ov61_0217a3fc data_ov61_0217a3fc: ; 0x0217a3fc .byte 0x2c .global data_ov61_0217a3fd data_ov61_0217a3fd: ; 0x0217a3fd .byte 0x34 .global data_ov61_0217a3fe data_ov61_0217a3fe: ; 0x0217a3fe .byte 0x16 .global data_ov61_0217a3ff data_ov61_0217a3ff: ; 0x0217a3ff .byte 0x1d .global data_ov61_0217a400 data_ov61_0217a400: ; 0x0217a400 .byte 0x23 .global data_ov61_0217a401 data_ov61_0217a401: ; 0x0217a401 .byte 0x01 .global data_ov61_0217a402 data_ov61_0217a402: ; 0x0217a402 .byte 0x04 .global data_ov61_0217a403 data_ov61_0217a403: ; 0x0217a403 .byte 0x0f .global data_ov61_0217a404 data_ov61_0217a404: ; 0x0217a404 .byte 0x1c .global data_ov61_0217a405 data_ov61_0217a405: ; 0x0217a405 .byte 0x3f .global data_ov61_0217a406 data_ov61_0217a406: ; 0x0217a406 .byte 0x51 .global data_ov61_0217a407 data_ov61_0217a407: ; 0x0217a407 .byte 0x25 .global data_ov61_0217a408 data_ov61_0217a408: ; 0x0217a408 .byte 0x2c .global data_ov61_0217a409 data_ov61_0217a409: ; 0x0217a409 .byte 0x0c .global data_ov61_0217a40a data_ov61_0217a40a: ; 0x0217a40a .byte 0x0a .global data_ov61_0217a40b data_ov61_0217a40b: ; 0x0217a40b .byte 0x16 .global data_ov61_0217a40c data_ov61_0217a40c: ; 0x0217a40c .byte 0x35 .global data_ov61_0217a40d data_ov61_0217a40d: ; 0x0217a40d .byte 0x2e .global data_ov61_0217a40e data_ov61_0217a40e: ; 0x0217a40e .byte 0x4a .global data_ov61_0217a40f data_ov61_0217a40f: ; 0x0217a40f .byte 0x0e .global data_ov61_0217a410 data_ov61_0217a410: ; 0x0217a410 .byte 0x39 .global data_ov61_0217a411 data_ov61_0217a411: ; 0x0217a411 .byte 0x04 .global data_ov61_0217a412 data_ov61_0217a412: ; 0x0217a412 .byte 0x15 .global data_ov61_0217a413 data_ov61_0217a413: ; 0x0217a413 .byte 0x2c .global data_ov61_0217a414 data_ov61_0217a414: ; 0x0217a414 .byte 0x15 .global data_ov61_0217a415 data_ov61_0217a415: ; 0x0217a415 .byte 0x0c .global data_ov61_0217a416 data_ov61_0217a416: ; 0x0217a416 .byte 0x04 .global data_ov61_0217a417 data_ov61_0217a417: ; 0x0217a417 .byte 0x0c .global data_ov61_0217a418 data_ov61_0217a418: ; 0x0217a418 .byte 0x31 .global data_ov61_0217a419 data_ov61_0217a419: ; 0x0217a419 .byte 0x2e .global data_ov61_0217a41a data_ov61_0217a41a: ; 0x0217a41a .byte 0x4a .global data_ov61_0217a41b data_ov61_0217a41b: ; 0x0217a41b .byte 0x19 .global data_ov61_0217a41c data_ov61_0217a41c: ; 0x0217a41c .byte 0x00 .global data_ov61_0217a41d data_ov61_0217a41d: ; 0x0217a41d .byte 0x0c .global data_ov61_0217a41e data_ov61_0217a41e: ; 0x0217a41e .byte 0x13 .global data_ov61_0217a41f data_ov61_0217a41f: ; 0x0217a41f .byte 0x1a .global data_ov61_0217a420 data_ov61_0217a420: ; 0x0217a420 .byte 0x1e .global data_ov61_0217a421 data_ov61_0217a421: ; 0x0217a421 .byte 0x0d .global data_ov61_0217a422 data_ov61_0217a422: ; 0x0217a422 .byte 0x13 .global data_ov61_0217a423 data_ov61_0217a423: ; 0x0217a423 .byte 0x28 .global data_ov61_0217a424 data_ov61_0217a424: ; 0x0217a424 .byte 0x1d .global data_ov61_0217a425 data_ov61_0217a425: ; 0x0217a425 .byte 0x1e .global data_ov61_0217a426 data_ov61_0217a426: ; 0x0217a426 .byte 0x01 .global data_ov61_0217a427 data_ov61_0217a427: ; 0x0217a427 .byte 0x06 .global data_ov61_0217a428 data_ov61_0217a428: ; 0x0217a428 .byte 0x13 .global data_ov61_0217a429 data_ov61_0217a429: ; 0x0217a429 .byte 0x0c .global data_ov61_0217a42a data_ov61_0217a42a: ; 0x0217a42a .byte 0x57 .global data_ov61_0217a42b data_ov61_0217a42b: ; 0x0217a42b .byte 0x1c .global data_ov61_0217a42c data_ov61_0217a42c: ; 0x0217a42c .byte 0x36 .global data_ov61_0217a42d data_ov61_0217a42d: ; 0x0217a42d .byte 0x0e .global data_ov61_0217a42e data_ov61_0217a42e: ; 0x0217a42e .byte 0x06 .global data_ov61_0217a42f data_ov61_0217a42f: ; 0x0217a42f .byte 0x0d .global data_ov61_0217a430 data_ov61_0217a430: ; 0x0217a430 .byte 0x29 .global data_ov61_0217a431 data_ov61_0217a431: ; 0x0217a431 .byte 0x11 .global data_ov61_0217a432 data_ov61_0217a432: ; 0x0217a432 .byte 0x1b .global data_ov61_0217a433 data_ov61_0217a433: ; 0x0217a433 .byte 0x0d .global data_ov61_0217a434 data_ov61_0217a434: ; 0x0217a434 .byte 0x24 .global data_ov61_0217a435 data_ov61_0217a435: ; 0x0217a435 .byte 0x75 .global data_ov61_0217a436 data_ov61_0217a436: ; 0x0217a436 .byte 0x01 .global data_ov61_0217a437 data_ov61_0217a437: ; 0x0217a437 .byte 0x33 .global data_ov61_0217a438 data_ov61_0217a438: ; 0x0217a438 .byte 0x18 .global data_ov61_0217a439 data_ov61_0217a439: ; 0x0217a439 .byte 0x00 .global data_ov61_0217a43a data_ov61_0217a43a: ; 0x0217a43a .byte 0x10 .global data_ov61_0217a43b data_ov61_0217a43b: ; 0x0217a43b .byte 0x04 .global data_ov61_0217a43c data_ov61_0217a43c: ; 0x0217a43c .byte 0x1d .global data_ov61_0217a43d data_ov61_0217a43d: ; 0x0217a43d .byte 0x55 .global data_ov61_0217a43e data_ov61_0217a43e: ; 0x0217a43e .byte 0x1b .global data_ov61_0217a43f data_ov61_0217a43f: ; 0x0217a43f .byte 0x39 .global data_ov61_0217a440 data_ov61_0217a440: ; 0x0217a440 .byte 0x14 .global data_ov61_0217a441 data_ov61_0217a441: ; 0x0217a441 .byte 0x39 .global data_ov61_0217a442 data_ov61_0217a442: ; 0x0217a442 .byte 0x16 .global data_ov61_0217a443 data_ov61_0217a443: ; 0x0217a443 .byte 0x33 .global data_ov61_0217a444 data_ov61_0217a444: ; 0x0217a444 .byte 0x4f .global data_ov61_0217a445 data_ov61_0217a445: ; 0x0217a445 .byte 0x01 .global data_ov61_0217a446 data_ov61_0217a446: ; 0x0217a446 .byte 0x00 .global data_ov61_0217a447 data_ov61_0217a447: ; 0x0217a447 .byte 0x0c .global data_ov61_0217a448 data_ov61_0217a448: ; 0x0217a448 .byte 0x13 .global data_ov61_0217a449 data_ov61_0217a449: ; 0x0217a449 .byte 0x1a .global data_ov61_0217a44a data_ov61_0217a44a: ; 0x0217a44a .byte 0x1e .global data_ov61_0217a44b data_ov61_0217a44b: ; 0x0217a44b .byte 0x0d .global data_ov61_0217a44c data_ov61_0217a44c: ; 0x0217a44c .byte 0x3f .global data_ov61_0217a44d data_ov61_0217a44d: ; 0x0217a44d .byte 0x28 .global data_ov61_0217a44e data_ov61_0217a44e: ; 0x0217a44e .byte 0x26 .global data_ov61_0217a44f data_ov61_0217a44f: ; 0x0217a44f .byte 0x11 .global data_ov61_0217a450 data_ov61_0217a450: ; 0x0217a450 .byte 0x05 .global data_ov61_0217a451 data_ov61_0217a451: ; 0x0217a451 .byte 0x00 .global data_ov61_0217a452 data_ov61_0217a452: ; 0x0217a452 .byte 0x16 .global data_ov61_0217a453 data_ov61_0217a453: ; 0x0217a453 .byte 0x31 .global data_ov61_0217a454 data_ov61_0217a454: ; 0x0217a454 .byte 0x1f .global data_ov61_0217a455 data_ov61_0217a455: ; 0x0217a455 .byte 0x0a .global data_ov61_0217a456 data_ov61_0217a456: ; 0x0217a456 .byte 0x36 .global data_ov61_0217a457 data_ov61_0217a457: ; 0x0217a457 .byte 0x40 .global data_ov61_0217a458 data_ov61_0217a458: ; 0x0217a458 .byte 0x10 .global data_ov61_0217a459 data_ov61_0217a459: ; 0x0217a459 .byte 0x28 .global data_ov61_0217a45a data_ov61_0217a45a: ; 0x0217a45a .byte 0x33 .global data_ov61_0217a45b data_ov61_0217a45b: ; 0x0217a45b .byte 0x15 .global data_ov61_0217a45c data_ov61_0217a45c: ; 0x0217a45c .byte 0x1b .global data_ov61_0217a45d data_ov61_0217a45d: ; 0x0217a45d .byte 0x15 .global data_ov61_0217a45e data_ov61_0217a45e: ; 0x0217a45e .byte 0x17 .global data_ov61_0217a45f data_ov61_0217a45f: ; 0x0217a45f .byte 0x3e .global data_ov61_0217a460 data_ov61_0217a460: ; 0x0217a460 .byte 0x01 .global data_ov61_0217a461 data_ov61_0217a461: ; 0x0217a461 .byte 0x0a .global data_ov61_0217a462 data_ov61_0217a462: ; 0x0217a462 .byte 0x36 .global data_ov61_0217a463 data_ov61_0217a463: ; 0x0217a463 .byte 0x40 .global data_ov61_0217a464 data_ov61_0217a464: ; 0x0217a464 .byte 0x10 .global data_ov61_0217a465 data_ov61_0217a465: ; 0x0217a465 .byte 0x28 .global data_ov61_0217a466 data_ov61_0217a466: ; 0x0217a466 .byte 0x31 .global data_ov61_0217a467 data_ov61_0217a467: ; 0x0217a467 .byte 0x1f .global data_ov61_0217a468 data_ov61_0217a468: ; 0x0217a468 .byte 0x1a .global data_ov61_0217a469 data_ov61_0217a469: ; 0x0217a469 .byte 0x11 .global data_ov61_0217a46a data_ov61_0217a46a: ; 0x0217a46a .byte 0x24 .global data_ov61_0217a46b data_ov61_0217a46b: ; 0x0217a46b .byte 0x75 .global data_ov61_0217a46c data_ov61_0217a46c: ; 0x0217a46c .byte 0x16 .global data_ov61_0217a46d data_ov61_0217a46d: ; 0x0217a46d .byte 0x33 .global data_ov61_0217a46e data_ov61_0217a46e: ; 0x0217a46e .byte 0x03 .global data_ov61_0217a46f data_ov61_0217a46f: ; 0x0217a46f .byte 0x01 .global data_ov61_0217a470 data_ov61_0217a470: ; 0x0217a470 .byte 0x3f .global data_ov61_0217a471 data_ov61_0217a471: ; 0x0217a471 .byte 0x45 .global data_ov61_0217a472 data_ov61_0217a472: ; 0x0217a472 .byte 0x00 .global data_ov61_0217a473 data_ov61_0217a473: ; 0x0217a473 .byte 0x0c .global data_ov61_0217a474 data_ov61_0217a474: ; 0x0217a474 .byte 0x15 .global data_ov61_0217a475 data_ov61_0217a475: ; 0x0217a475 .byte 0x0a .global data_ov61_0217a476 data_ov61_0217a476: ; 0x0217a476 .byte 0x1e .global data_ov61_0217a477 data_ov61_0217a477: ; 0x0217a477 .byte 0x15 .global data_ov61_0217a478 data_ov61_0217a478: ; 0x0217a478 .byte 0x07 .global data_ov61_0217a479 data_ov61_0217a479: ; 0x0217a479 .byte 0x28 .global data_ov61_0217a47a data_ov61_0217a47a: ; 0x0217a47a .byte 0x1d .global data_ov61_0217a47b data_ov61_0217a47b: ; 0x0217a47b .byte 0x00 .global data_ov61_0217a47c data_ov61_0217a47c: ; 0x0217a47c .byte 0x01 .global data_ov61_0217a47d data_ov61_0217a47d: ; 0x0217a47d .byte 0x01 .global data_ov61_0217a47e data_ov61_0217a47e: ; 0x0217a47e .byte 0x24 .global data_ov61_0217a47f data_ov61_0217a47f: ; 0x0217a47f .byte 0x75 .global data_ov61_0217a480 data_ov61_0217a480: ; 0x0217a480 .byte 0x16 .global data_ov61_0217a481 data_ov61_0217a481: ; 0x0217a481 .byte 0x33 .global data_ov61_0217a482 data_ov61_0217a482: ; 0x0217a482 .byte 0x1a .global data_ov61_0217a483 data_ov61_0217a483: ; 0x0217a483 .byte 0x11 .global data_ov61_0217a484 data_ov61_0217a484: ; 0x0217a484 .byte 0x1a .global data_ov61_0217a485 data_ov61_0217a485: ; 0x0217a485 .byte 0x04 .global data_ov61_0217a486 data_ov61_0217a486: ; 0x0217a486 .byte 0x24 .global data_ov61_0217a487 data_ov61_0217a487: ; 0x0217a487 .byte 0x2c .global data_ov61_0217a488 data_ov61_0217a488: ; 0x0217a488 .byte 0x4d .global data_ov61_0217a489 data_ov61_0217a489: ; 0x0217a489 .byte 0x01 .global data_ov61_0217a48a data_ov61_0217a48a: ; 0x0217a48a .byte 0x24 .global data_ov61_0217a48b data_ov61_0217a48b: ; 0x0217a48b .byte 0x34 .global data_ov61_0217a48c data_ov61_0217a48c: ; 0x0217a48c .byte 0x1b .global data_ov61_0217a48d data_ov61_0217a48d: ; 0x0217a48d .byte 0x01 .global data_ov61_0217a48e data_ov61_0217a48e: ; 0x0217a48e .byte 0x0e .global data_ov61_0217a48f data_ov61_0217a48f: ; 0x0217a48f .byte 0x00 .global data_ov61_0217a490 data_ov61_0217a490: ; 0x0217a490 .byte 0x1b .global data_ov61_0217a491 data_ov61_0217a491: ; 0x0217a491 .byte 0x28 .global data_ov61_0217a492 data_ov61_0217a492: ; 0x0217a492 .byte 0x64 .global data_ov61_0217a493 data_ov61_0217a493: ; 0x0217a493 .byte 0x14 .global data_ov61_0217a494 data_ov61_0217a494: ; 0x0217a494 .byte 0x34 .global data_ov61_0217a495 data_ov61_0217a495: ; 0x0217a495 .byte 0x0e .global data_ov61_0217a496 data_ov61_0217a496: ; 0x0217a496 .byte 0x1d .global data_ov61_0217a497 data_ov61_0217a497: ; 0x0217a497 .byte 0x29 .global data_ov61_0217a498 data_ov61_0217a498: ; 0x0217a498 .byte 0x01 .global data_ov61_0217a499 data_ov61_0217a499: ; 0x0217a499 .byte 0x33 .global data_ov61_0217a49a data_ov61_0217a49a: ; 0x0217a49a .byte 0x4f .global data_ov61_0217a49b data_ov61_0217a49b: ; 0x0217a49b .byte 0x16 .global data_ov61_0217a49c data_ov61_0217a49c: ; 0x0217a49c .byte 0x3f .global data_ov61_0217a49d data_ov61_0217a49d: ; 0x0217a49d .byte 0x18 .global data_ov61_0217a49e data_ov61_0217a49e: ; 0x0217a49e .byte 0x28 .global data_ov61_0217a49f data_ov61_0217a49f: ; 0x0217a49f .byte 0x14 .global data_ov61_0217a4a0 data_ov61_0217a4a0: ; 0x0217a4a0 .byte 0x34 .global data_ov61_0217a4a1 data_ov61_0217a4a1: ; 0x0217a4a1 .byte 0x40 .global data_ov61_0217a4a2 data_ov61_0217a4a2: ; 0x0217a4a2 .byte 0x1c .global data_ov61_0217a4a3 data_ov61_0217a4a3: ; 0x0217a4a3 .byte 0x00 .global data_ov61_0217a4a4 data_ov61_0217a4a4: ; 0x0217a4a4 .byte 0x0c .global data_ov61_0217a4a5 data_ov61_0217a4a5: ; 0x0217a4a5 .byte 0x01 .global data_ov61_0217a4a6 data_ov61_0217a4a6: ; 0x0217a4a6 .byte 0x0a .global data_ov61_0217a4a7 data_ov61_0217a4a7: ; 0x0217a4a7 .byte 0x1e .global data_ov61_0217a4a8 data_ov61_0217a4a8: ; 0x0217a4a8 .byte 0x15 .global data_ov61_0217a4a9 data_ov61_0217a4a9: ; 0x0217a4a9 .byte 0x07 .global data_ov61_0217a4aa data_ov61_0217a4aa: ; 0x0217a4aa .byte 0x28 .global data_ov61_0217a4ab data_ov61_0217a4ab: ; 0x0217a4ab .byte 0x1d .global data_ov61_0217a4ac data_ov61_0217a4ac: ; 0x0217a4ac .byte 0x00 .global data_ov61_0217a4ad data_ov61_0217a4ad: ; 0x0217a4ad .byte 0x01 .global data_ov61_0217a4ae data_ov61_0217a4ae: ; 0x0217a4ae .byte 0x01 .global data_ov61_0217a4af data_ov61_0217a4af: ; 0x0217a4af .byte 0x24 .global data_ov61_0217a4b0 data_ov61_0217a4b0: ; 0x0217a4b0 .byte 0x75 .global data_ov61_0217a4b1 data_ov61_0217a4b1: ; 0x0217a4b1 .byte 0x16 .global data_ov61_0217a4b2 data_ov61_0217a4b2: ; 0x0217a4b2 .byte 0x33 .global data_ov61_0217a4b3 data_ov61_0217a4b3: ; 0x0217a4b3 .byte 0x1a .global data_ov61_0217a4b4 data_ov61_0217a4b4: ; 0x0217a4b4 .byte 0x11 .global data_ov61_0217a4b5 data_ov61_0217a4b5: ; 0x0217a4b5 .byte 0x1a .global data_ov61_0217a4b6 data_ov61_0217a4b6: ; 0x0217a4b6 .byte 0x04 .global data_ov61_0217a4b7 data_ov61_0217a4b7: ; 0x0217a4b7 .byte 0x24 .global data_ov61_0217a4b8 data_ov61_0217a4b8: ; 0x0217a4b8 .byte 0x2c .global data_ov61_0217a4b9 data_ov61_0217a4b9: ; 0x0217a4b9 .byte 0x4d .global data_ov61_0217a4ba data_ov61_0217a4ba: ; 0x0217a4ba .byte 0x01 .global data_ov61_0217a4bb data_ov61_0217a4bb: ; 0x0217a4bb .byte 0x24 .global data_ov61_0217a4bc data_ov61_0217a4bc: ; 0x0217a4bc .byte 0x34 .global data_ov61_0217a4bd data_ov61_0217a4bd: ; 0x0217a4bd .byte 0x1b .global data_ov61_0217a4be data_ov61_0217a4be: ; 0x0217a4be .byte 0x01 .global data_ov61_0217a4bf data_ov61_0217a4bf: ; 0x0217a4bf .byte 0x0e .global data_ov61_0217a4c0 data_ov61_0217a4c0: ; 0x0217a4c0 .byte 0x00 .global data_ov61_0217a4c1 data_ov61_0217a4c1: ; 0x0217a4c1 .byte 0x1b .global data_ov61_0217a4c2 data_ov61_0217a4c2: ; 0x0217a4c2 .byte 0x28 .global data_ov61_0217a4c3 data_ov61_0217a4c3: ; 0x0217a4c3 .byte 0x64 .global data_ov61_0217a4c4 data_ov61_0217a4c4: ; 0x0217a4c4 .byte 0x14 .global data_ov61_0217a4c5 data_ov61_0217a4c5: ; 0x0217a4c5 .byte 0x34 .global data_ov61_0217a4c6 data_ov61_0217a4c6: ; 0x0217a4c6 .byte 0x0e .global data_ov61_0217a4c7 data_ov61_0217a4c7: ; 0x0217a4c7 .byte 0x0e .global data_ov61_0217a4c8 data_ov61_0217a4c8: ; 0x0217a4c8 .byte 0x0c .global data_ov61_0217a4c9 data_ov61_0217a4c9: ; 0x0217a4c9 .byte 0x57 .global data_ov61_0217a4ca data_ov61_0217a4ca: ; 0x0217a4ca .byte 0x0b .global data_ov61_0217a4cb data_ov61_0217a4cb: ; 0x0217a4cb .byte 0x36 .global data_ov61_0217a4cc data_ov61_0217a4cc: ; 0x0217a4cc .byte 0x09 .global data_ov61_0217a4cd data_ov61_0217a4cd: ; 0x0217a4cd .byte 0x0a .global data_ov61_0217a4ce data_ov61_0217a4ce: ; 0x0217a4ce .byte 0x10 .global data_ov61_0217a4cf data_ov61_0217a4cf: ; 0x0217a4cf .byte 0x1d .global data_ov61_0217a4d0 data_ov61_0217a4d0: ; 0x0217a4d0 .byte 0x55 .global data_ov61_0217a4d1 data_ov61_0217a4d1: ; 0x0217a4d1 .byte 0x0c .global data_ov61_0217a4d2 data_ov61_0217a4d2: ; 0x0217a4d2 .byte 0x39 .global data_ov61_0217a4d3 data_ov61_0217a4d3: ; 0x0217a4d3 .byte 0x14 .global data_ov61_0217a4d4 data_ov61_0217a4d4: ; 0x0217a4d4 .byte 0x35 .global data_ov61_0217a4d5 data_ov61_0217a4d5: ; 0x0217a4d5 .byte 0x1c .global data_ov61_0217a4d6 data_ov61_0217a4d6: ; 0x0217a4d6 .byte 0x08 .global data_ov61_0217a4d7 data_ov61_0217a4d7: ; 0x0217a4d7 .byte 0x1e .global data_ov61_0217a4d8 data_ov61_0217a4d8: ; 0x0217a4d8 .byte 0x0d .global data_ov61_0217a4d9 data_ov61_0217a4d9: ; 0x0217a4d9 .byte 0x3f .global data_ov61_0217a4da data_ov61_0217a4da: ; 0x0217a4da .byte 0x51 .global data_ov61_0217a4db data_ov61_0217a4db: ; 0x0217a4db .byte 0x25 .global data_ov61_0217a4dc data_ov61_0217a4dc: ; 0x0217a4dc .byte 0x2c .global data_ov61_0217a4dd data_ov61_0217a4dd: ; 0x0217a4dd .byte 0x0c .global data_ov61_0217a4de data_ov61_0217a4de: ; 0x0217a4de .byte 0x04 .global data_ov61_0217a4df data_ov61_0217a4df: ; 0x0217a4df .byte 0x0c .global data_ov61_0217a4e0 data_ov61_0217a4e0: ; 0x0217a4e0 .byte 0x31 .global data_ov61_0217a4e1 data_ov61_0217a4e1: ; 0x0217a4e1 .byte 0x2e .global data_ov61_0217a4e2 data_ov61_0217a4e2: ; 0x0217a4e2 .byte 0x00 .global data_ov61_0217a4e3 data_ov61_0217a4e3: ; 0x0217a4e3 .byte 0x5c .global data_ov61_0217a4e4 data_ov61_0217a4e4: ; 0x0217a4e4 .byte 0x00 .global data_ov61_0217a4e5 data_ov61_0217a4e5: ; 0x0217a4e5 .byte 0x00 .global data_ov61_0217a4e6 data_ov61_0217a4e6: ; 0x0217a4e6 .byte 0x00 .global data_ov61_0217a4e7 data_ov61_0217a4e7: ; 0x0217a4e7 .byte 0x00 .global data_ov61_0217a4e8 data_ov61_0217a4e8: ; 0x0217a4e8 .byte 0x00 .global data_ov61_0217a4e9 data_ov61_0217a4e9: ; 0x0217a4e9 .byte 0x00 .global data_ov61_0217a4ea data_ov61_0217a4ea: ; 0x0217a4ea .byte 0x00 .global data_ov61_0217a4eb data_ov61_0217a4eb: ; 0x0217a4eb .byte 0x00 .global data_ov61_0217a4ec data_ov61_0217a4ec: ; 0x0217a4ec .byte 0x00 .global data_ov61_0217a4ed data_ov61_0217a4ed: ; 0x0217a4ed .byte 0x00 .global data_ov61_0217a4ee data_ov61_0217a4ee: ; 0x0217a4ee .byte 0x00 .global data_ov61_0217a4ef data_ov61_0217a4ef: ; 0x0217a4ef .byte 0x00 .global data_ov61_0217a4f0 data_ov61_0217a4f0: ; 0x0217a4f0 .byte 0x00 .global data_ov61_0217a4f1 data_ov61_0217a4f1: ; 0x0217a4f1 .byte 0x00 .global data_ov61_0217a4f2 data_ov61_0217a4f2: ; 0x0217a4f2 .byte 0x00 .global data_ov61_0217a4f3 data_ov61_0217a4f3: ; 0x0217a4f3 .byte 0x00 .global data_ov61_0217a4f4 data_ov61_0217a4f4: ; 0x0217a4f4 .byte 0x00 .global data_ov61_0217a4f5 data_ov61_0217a4f5: ; 0x0217a4f5 .byte 0x00 .global data_ov61_0217a4f6 data_ov61_0217a4f6: ; 0x0217a4f6 .byte 0x00 .global data_ov61_0217a4f7 data_ov61_0217a4f7: ; 0x0217a4f7 .byte 0x00 .global data_ov61_0217a4f8 data_ov61_0217a4f8: ; 0x0217a4f8 .byte 0x00 .global data_ov61_0217a4f9 data_ov61_0217a4f9: ; 0x0217a4f9 .byte 0x00 .global data_ov61_0217a4fa data_ov61_0217a4fa: ; 0x0217a4fa .byte 0x00 .global data_ov61_0217a4fb data_ov61_0217a4fb: ; 0x0217a4fb .byte 0x00 .global data_ov61_0217a4fc data_ov61_0217a4fc: ; 0x0217a4fc .byte 0x00 .global data_ov61_0217a4fd data_ov61_0217a4fd: ; 0x0217a4fd .byte 0x00 .global data_ov61_0217a4fe data_ov61_0217a4fe: ; 0x0217a4fe .byte 0x00 .global data_ov61_0217a4ff data_ov61_0217a4ff: ; 0x0217a4ff .byte 0x00 .global data_ov61_0217a500 data_ov61_0217a500: ; 0x0217a500 .byte 0x00 .global data_ov61_0217a501 data_ov61_0217a501: ; 0x0217a501 .byte 0x00 .global data_ov61_0217a502 data_ov61_0217a502: ; 0x0217a502 .byte 0x00 .global data_ov61_0217a503 data_ov61_0217a503: ; 0x0217a503 .byte 0x00 .global data_ov61_0217a504 data_ov61_0217a504: ; 0x0217a504 .byte 0x00 .global data_ov61_0217a505 data_ov61_0217a505: ; 0x0217a505 .byte 0x00 .global data_ov61_0217a506 data_ov61_0217a506: ; 0x0217a506 .byte 0x00 .global data_ov61_0217a507 data_ov61_0217a507: ; 0x0217a507 .byte 0x00 .global data_ov61_0217a508 data_ov61_0217a508: ; 0x0217a508 .byte 0x00 .global data_ov61_0217a509 data_ov61_0217a509: ; 0x0217a509 .byte 0x00 .global data_ov61_0217a50a data_ov61_0217a50a: ; 0x0217a50a .byte 0x00 .global data_ov61_0217a50b data_ov61_0217a50b: ; 0x0217a50b .byte 0x00 .global data_ov61_0217a50c data_ov61_0217a50c: ; 0x0217a50c .byte 0x00 .global data_ov61_0217a50d data_ov61_0217a50d: ; 0x0217a50d .byte 0x00 .global data_ov61_0217a50e data_ov61_0217a50e: ; 0x0217a50e .byte 0x00 .global data_ov61_0217a50f data_ov61_0217a50f: ; 0x0217a50f .byte 0x00 .global data_ov61_0217a510 data_ov61_0217a510: ; 0x0217a510 .byte 0x00 .global data_ov61_0217a511 data_ov61_0217a511: ; 0x0217a511 .byte 0x00 .global data_ov61_0217a512 data_ov61_0217a512: ; 0x0217a512 .byte 0x00 .global data_ov61_0217a513 data_ov61_0217a513: ; 0x0217a513 .byte 0x00 .global data_ov61_0217a514 data_ov61_0217a514: ; 0x0217a514 .byte 0x00 .global data_ov61_0217a515 data_ov61_0217a515: ; 0x0217a515 .byte 0x00 .global data_ov61_0217a516 data_ov61_0217a516: ; 0x0217a516 .byte 0x00 .global data_ov61_0217a517 data_ov61_0217a517: ; 0x0217a517 .byte 0x00 .global data_ov61_0217a518 data_ov61_0217a518: ; 0x0217a518 .byte 0x00 .global data_ov61_0217a519 data_ov61_0217a519: ; 0x0217a519 .byte 0x00 .global data_ov61_0217a51a data_ov61_0217a51a: ; 0x0217a51a .byte 0x00 .global data_ov61_0217a51b data_ov61_0217a51b: ; 0x0217a51b .byte 0x00 .global data_ov61_0217a51c data_ov61_0217a51c: ; 0x0217a51c .byte 0x00 .global data_ov61_0217a51d data_ov61_0217a51d: ; 0x0217a51d .byte 0x00 .global data_ov61_0217a51e data_ov61_0217a51e: ; 0x0217a51e .byte 0x00 .global data_ov61_0217a51f data_ov61_0217a51f: ; 0x0217a51f .byte 0x00 .global data_ov61_0217a520 data_ov61_0217a520: ; 0x0217a520 .byte 0x00 .global data_ov61_0217a521 data_ov61_0217a521: ; 0x0217a521 .byte 0x00 .global data_ov61_0217a522 data_ov61_0217a522: ; 0x0217a522 .byte 0x00 .global data_ov61_0217a523 data_ov61_0217a523: ; 0x0217a523 .byte 0x00 .global data_ov61_0217a524 data_ov61_0217a524: ; 0x0217a524 .byte 0x00 .global data_ov61_0217a525 data_ov61_0217a525: ; 0x0217a525 .byte 0x00 .global data_ov61_0217a526 data_ov61_0217a526: ; 0x0217a526 .byte 0x00 .global data_ov61_0217a527 data_ov61_0217a527: ; 0x0217a527 .byte 0x00 .global data_ov61_0217a528 data_ov61_0217a528: ; 0x0217a528 .byte 0x00 .global data_ov61_0217a529 data_ov61_0217a529: ; 0x0217a529 .byte 0x00 .global data_ov61_0217a52a data_ov61_0217a52a: ; 0x0217a52a .byte 0x00 .global data_ov61_0217a52b data_ov61_0217a52b: ; 0x0217a52b .byte 0x00 .global data_ov61_0217a52c data_ov61_0217a52c: ; 0x0217a52c .byte 0x00 .global data_ov61_0217a52d data_ov61_0217a52d: ; 0x0217a52d .byte 0x00 .global data_ov61_0217a52e data_ov61_0217a52e: ; 0x0217a52e .byte 0x00 .global data_ov61_0217a52f data_ov61_0217a52f: ; 0x0217a52f .byte 0x00 .global data_ov61_0217a530 data_ov61_0217a530: ; 0x0217a530 .byte 0x00 .global data_ov61_0217a531 data_ov61_0217a531: ; 0x0217a531 .byte 0x00 .global data_ov61_0217a532 data_ov61_0217a532: ; 0x0217a532 .byte 0x00 .global data_ov61_0217a533 data_ov61_0217a533: ; 0x0217a533 .byte 0x00 .global data_ov61_0217a534 data_ov61_0217a534: ; 0x0217a534 .byte 0x00 .global data_ov61_0217a535 data_ov61_0217a535: ; 0x0217a535 .byte 0x00 .global data_ov61_0217a536 data_ov61_0217a536: ; 0x0217a536 .byte 0x00 .global data_ov61_0217a537 data_ov61_0217a537: ; 0x0217a537 .byte 0x00 .global data_ov61_0217a538 data_ov61_0217a538: ; 0x0217a538 .byte 0x00 .global data_ov61_0217a539 data_ov61_0217a539: ; 0x0217a539 .byte 0x00 .global data_ov61_0217a53a data_ov61_0217a53a: ; 0x0217a53a .byte 0x00 .global data_ov61_0217a53b data_ov61_0217a53b: ; 0x0217a53b .byte 0x00 .global data_ov61_0217a53c data_ov61_0217a53c: ; 0x0217a53c .byte 0x00 .global data_ov61_0217a53d data_ov61_0217a53d: ; 0x0217a53d .byte 0x00 .global data_ov61_0217a53e data_ov61_0217a53e: ; 0x0217a53e .byte 0x00 .global data_ov61_0217a53f data_ov61_0217a53f: ; 0x0217a53f .byte 0x00 .global data_ov61_0217a540 data_ov61_0217a540: ; 0x0217a540 .byte 0x00 .global data_ov61_0217a541 data_ov61_0217a541: ; 0x0217a541 .byte 0x00 .global data_ov61_0217a542 data_ov61_0217a542: ; 0x0217a542 .byte 0x00 .global data_ov61_0217a543 data_ov61_0217a543: ; 0x0217a543 .byte 0x00 .global data_ov61_0217a544 data_ov61_0217a544: ; 0x0217a544 .byte 0x00 .global data_ov61_0217a545 data_ov61_0217a545: ; 0x0217a545 .byte 0x00 .global data_ov61_0217a546 data_ov61_0217a546: ; 0x0217a546 .byte 0x00 .global data_ov61_0217a547 data_ov61_0217a547: ; 0x0217a547 .byte 0x00 .global data_ov61_0217a548 data_ov61_0217a548: ; 0x0217a548 .byte 0x00 .global data_ov61_0217a549 data_ov61_0217a549: ; 0x0217a549 .byte 0x00 .global data_ov61_0217a54a data_ov61_0217a54a: ; 0x0217a54a .byte 0x00 .global data_ov61_0217a54b data_ov61_0217a54b: ; 0x0217a54b .byte 0x00 .global data_ov61_0217a54c data_ov61_0217a54c: ; 0x0217a54c .byte 0x00 .global data_ov61_0217a54d data_ov61_0217a54d: ; 0x0217a54d .byte 0x00 .global data_ov61_0217a54e data_ov61_0217a54e: ; 0x0217a54e .byte 0x00 .global data_ov61_0217a54f data_ov61_0217a54f: ; 0x0217a54f .byte 0x00 .global data_ov61_0217a550 data_ov61_0217a550: ; 0x0217a550 .byte 0x00 .global data_ov61_0217a551 data_ov61_0217a551: ; 0x0217a551 .byte 0x00 .global data_ov61_0217a552 data_ov61_0217a552: ; 0x0217a552 .byte 0x00 .global data_ov61_0217a553 data_ov61_0217a553: ; 0x0217a553 .byte 0x00 .global data_ov61_0217a554 data_ov61_0217a554: ; 0x0217a554 .byte 0x00 .global data_ov61_0217a555 data_ov61_0217a555: ; 0x0217a555 .byte 0x00 .global data_ov61_0217a556 data_ov61_0217a556: ; 0x0217a556 .byte 0x00 .global data_ov61_0217a557 data_ov61_0217a557: ; 0x0217a557 .byte 0x00 .global data_ov61_0217a558 data_ov61_0217a558: ; 0x0217a558 .byte 0x00 .global data_ov61_0217a559 data_ov61_0217a559: ; 0x0217a559 .byte 0x00 .global data_ov61_0217a55a data_ov61_0217a55a: ; 0x0217a55a .byte 0x00 .global data_ov61_0217a55b data_ov61_0217a55b: ; 0x0217a55b .byte 0x00 .global data_ov61_0217a55c data_ov61_0217a55c: ; 0x0217a55c .byte 0x00 .global data_ov61_0217a55d data_ov61_0217a55d: ; 0x0217a55d .byte 0x00 .global data_ov61_0217a55e data_ov61_0217a55e: ; 0x0217a55e .byte 0x00 .global data_ov61_0217a55f data_ov61_0217a55f: ; 0x0217a55f .byte 0x00 .global data_ov61_0217a560 data_ov61_0217a560: ; 0x0217a560 .byte 0x00 .global data_ov61_0217a561 data_ov61_0217a561: ; 0x0217a561 .byte 0x00 .global data_ov61_0217a562 data_ov61_0217a562: ; 0x0217a562 .byte 0x00 .global data_ov61_0217a563 data_ov61_0217a563: ; 0x0217a563 .byte 0x00 .global data_ov61_0217a564 data_ov61_0217a564: ; 0x0217a564 .byte 0x00 .global data_ov61_0217a565 data_ov61_0217a565: ; 0x0217a565 .byte 0x00 .global data_ov61_0217a566 data_ov61_0217a566: ; 0x0217a566 .byte 0x00 .global data_ov61_0217a567 data_ov61_0217a567: ; 0x0217a567 .byte 0x00 .global data_ov61_0217a568 data_ov61_0217a568: ; 0x0217a568 .byte 0x00 .global data_ov61_0217a569 data_ov61_0217a569: ; 0x0217a569 .byte 0x00 .global data_ov61_0217a56a data_ov61_0217a56a: ; 0x0217a56a .byte 0x00 .global data_ov61_0217a56b data_ov61_0217a56b: ; 0x0217a56b .byte 0x00 .global data_ov61_0217a56c data_ov61_0217a56c: ; 0x0217a56c .byte 0x00 .global data_ov61_0217a56d data_ov61_0217a56d: ; 0x0217a56d .byte 0x00 .global data_ov61_0217a56e data_ov61_0217a56e: ; 0x0217a56e .byte 0x00 .global data_ov61_0217a56f data_ov61_0217a56f: ; 0x0217a56f .byte 0x00 .global data_ov61_0217a570 data_ov61_0217a570: ; 0x0217a570 .byte 0x00 .global data_ov61_0217a571 data_ov61_0217a571: ; 0x0217a571 .byte 0x00 .global data_ov61_0217a572 data_ov61_0217a572: ; 0x0217a572 .byte 0x00 .global data_ov61_0217a573 data_ov61_0217a573: ; 0x0217a573 .byte 0x00 .global data_ov61_0217a574 data_ov61_0217a574: ; 0x0217a574 .byte 0x00 .global data_ov61_0217a575 data_ov61_0217a575: ; 0x0217a575 .byte 0x00 .global data_ov61_0217a576 data_ov61_0217a576: ; 0x0217a576 .byte 0x00 .global data_ov61_0217a577 data_ov61_0217a577: ; 0x0217a577 .byte 0x00 .global data_ov61_0217a578 data_ov61_0217a578: ; 0x0217a578 .byte 0x00 .global data_ov61_0217a579 data_ov61_0217a579: ; 0x0217a579 .byte 0x00 .global data_ov61_0217a57a data_ov61_0217a57a: ; 0x0217a57a .byte 0x00 .global data_ov61_0217a57b data_ov61_0217a57b: ; 0x0217a57b .byte 0x00 .global data_ov61_0217a57c data_ov61_0217a57c: ; 0x0217a57c .byte 0x00 .global data_ov61_0217a57d data_ov61_0217a57d: ; 0x0217a57d .byte 0x00 .global data_ov61_0217a57e data_ov61_0217a57e: ; 0x0217a57e .byte 0x00 .global data_ov61_0217a57f data_ov61_0217a57f: ; 0x0217a57f .byte 0x00 .global data_ov61_0217a580 data_ov61_0217a580: ; 0x0217a580 .byte 0x00 .global data_ov61_0217a581 data_ov61_0217a581: ; 0x0217a581 .byte 0x00 .global data_ov61_0217a582 data_ov61_0217a582: ; 0x0217a582 .byte 0x00 .global data_ov61_0217a583 data_ov61_0217a583: ; 0x0217a583 .byte 0x00 .global data_ov61_0217a584 data_ov61_0217a584: ; 0x0217a584 .byte 0x00 .global data_ov61_0217a585 data_ov61_0217a585: ; 0x0217a585 .byte 0x00 .global data_ov61_0217a586 data_ov61_0217a586: ; 0x0217a586 .byte 0x00 .global data_ov61_0217a587 data_ov61_0217a587: ; 0x0217a587 .byte 0x00 .global data_ov61_0217a588 data_ov61_0217a588: ; 0x0217a588 .byte 0x00 .global data_ov61_0217a589 data_ov61_0217a589: ; 0x0217a589 .byte 0x00 .global data_ov61_0217a58a data_ov61_0217a58a: ; 0x0217a58a .byte 0x00 .global data_ov61_0217a58b data_ov61_0217a58b: ; 0x0217a58b .byte 0x00 .global data_ov61_0217a58c data_ov61_0217a58c: ; 0x0217a58c .byte 0x00 .global data_ov61_0217a58d data_ov61_0217a58d: ; 0x0217a58d .byte 0x00 .global data_ov61_0217a58e data_ov61_0217a58e: ; 0x0217a58e .byte 0x00 .global data_ov61_0217a58f data_ov61_0217a58f: ; 0x0217a58f .byte 0x00 .global data_ov61_0217a590 data_ov61_0217a590: ; 0x0217a590 .byte 0x00 .global data_ov61_0217a591 data_ov61_0217a591: ; 0x0217a591 .byte 0x00 .global data_ov61_0217a592 data_ov61_0217a592: ; 0x0217a592 .byte 0x00 .global data_ov61_0217a593 data_ov61_0217a593: ; 0x0217a593 .byte 0x00 .global data_ov61_0217a594 data_ov61_0217a594: ; 0x0217a594 .byte 0x00 .global data_ov61_0217a595 data_ov61_0217a595: ; 0x0217a595 .byte 0x00 .global data_ov61_0217a596 data_ov61_0217a596: ; 0x0217a596 .byte 0x00 .global data_ov61_0217a597 data_ov61_0217a597: ; 0x0217a597 .byte 0x00 .global data_ov61_0217a598 data_ov61_0217a598: ; 0x0217a598 .byte 0x00 .global data_ov61_0217a599 data_ov61_0217a599: ; 0x0217a599 .byte 0x00 .global data_ov61_0217a59a data_ov61_0217a59a: ; 0x0217a59a .byte 0x00 .global data_ov61_0217a59b data_ov61_0217a59b: ; 0x0217a59b .byte 0x00 .global data_ov61_0217a59c data_ov61_0217a59c: ; 0x0217a59c .byte 0x00 .global data_ov61_0217a59d data_ov61_0217a59d: ; 0x0217a59d .byte 0x00 .global data_ov61_0217a59e data_ov61_0217a59e: ; 0x0217a59e .byte 0x00 .global data_ov61_0217a59f data_ov61_0217a59f: ; 0x0217a59f .byte 0x00 .global data_ov61_0217a5a0 data_ov61_0217a5a0: ; 0x0217a5a0 .byte 0x00 .global data_ov61_0217a5a1 data_ov61_0217a5a1: ; 0x0217a5a1 .byte 0x00 .global data_ov61_0217a5a2 data_ov61_0217a5a2: ; 0x0217a5a2 .byte 0x00 .global data_ov61_0217a5a3 data_ov61_0217a5a3: ; 0x0217a5a3 .byte 0x00 .global data_ov61_0217a5a4 data_ov61_0217a5a4: ; 0x0217a5a4 .byte 0x00 .global data_ov61_0217a5a5 data_ov61_0217a5a5: ; 0x0217a5a5 .byte 0x00 .global data_ov61_0217a5a6 data_ov61_0217a5a6: ; 0x0217a5a6 .byte 0x00 .global data_ov61_0217a5a7 data_ov61_0217a5a7: ; 0x0217a5a7 .byte 0x00 .global data_ov61_0217a5a8 data_ov61_0217a5a8: ; 0x0217a5a8 .byte 0x00 .global data_ov61_0217a5a9 data_ov61_0217a5a9: ; 0x0217a5a9 .byte 0x00 .global data_ov61_0217a5aa data_ov61_0217a5aa: ; 0x0217a5aa .byte 0x00 .global data_ov61_0217a5ab data_ov61_0217a5ab: ; 0x0217a5ab .byte 0x00 .global data_ov61_0217a5ac data_ov61_0217a5ac: ; 0x0217a5ac .byte 0x00 .global data_ov61_0217a5ad data_ov61_0217a5ad: ; 0x0217a5ad .byte 0x00 .global data_ov61_0217a5ae data_ov61_0217a5ae: ; 0x0217a5ae .byte 0x00 .global data_ov61_0217a5af data_ov61_0217a5af: ; 0x0217a5af .byte 0x00 .global data_ov61_0217a5b0 data_ov61_0217a5b0: ; 0x0217a5b0 .byte 0x00 .global data_ov61_0217a5b1 data_ov61_0217a5b1: ; 0x0217a5b1 .byte 0x00 .global data_ov61_0217a5b2 data_ov61_0217a5b2: ; 0x0217a5b2 .byte 0x00 .global data_ov61_0217a5b3 data_ov61_0217a5b3: ; 0x0217a5b3 .byte 0x00 .global data_ov61_0217a5b4 data_ov61_0217a5b4: ; 0x0217a5b4 .byte 0x00 .global data_ov61_0217a5b5 data_ov61_0217a5b5: ; 0x0217a5b5 .byte 0x00 .global data_ov61_0217a5b6 data_ov61_0217a5b6: ; 0x0217a5b6 .byte 0x00 .global data_ov61_0217a5b7 data_ov61_0217a5b7: ; 0x0217a5b7 .byte 0x00 .global data_ov61_0217a5b8 data_ov61_0217a5b8: ; 0x0217a5b8 .byte 0x00 .global data_ov61_0217a5b9 data_ov61_0217a5b9: ; 0x0217a5b9 .byte 0x00 .global data_ov61_0217a5ba data_ov61_0217a5ba: ; 0x0217a5ba .byte 0x00 .global data_ov61_0217a5bb data_ov61_0217a5bb: ; 0x0217a5bb .byte 0x00 .global data_ov61_0217a5bc data_ov61_0217a5bc: ; 0x0217a5bc .byte 0x00 .global data_ov61_0217a5bd data_ov61_0217a5bd: ; 0x0217a5bd .byte 0x00 .global data_ov61_0217a5be data_ov61_0217a5be: ; 0x0217a5be .byte 0x00 .global data_ov61_0217a5bf data_ov61_0217a5bf: ; 0x0217a5bf .byte 0x00 .global data_ov61_0217a5c0 data_ov61_0217a5c0: ; 0x0217a5c0 .byte 0x00 .global data_ov61_0217a5c1 data_ov61_0217a5c1: ; 0x0217a5c1 .byte 0x00 .global data_ov61_0217a5c2 data_ov61_0217a5c2: ; 0x0217a5c2 .byte 0x00 .global data_ov61_0217a5c3 data_ov61_0217a5c3: ; 0x0217a5c3 .byte 0x00 .global data_ov61_0217a5c4 data_ov61_0217a5c4: ; 0x0217a5c4 .byte 0x00 .global data_ov61_0217a5c5 data_ov61_0217a5c5: ; 0x0217a5c5 .byte 0x00 .global data_ov61_0217a5c6 data_ov61_0217a5c6: ; 0x0217a5c6 .byte 0x00 .global data_ov61_0217a5c7 data_ov61_0217a5c7: ; 0x0217a5c7 .byte 0x00 .global data_ov61_0217a5c8 data_ov61_0217a5c8: ; 0x0217a5c8 .byte 0x00 .global data_ov61_0217a5c9 data_ov61_0217a5c9: ; 0x0217a5c9 .byte 0x00 .global data_ov61_0217a5ca data_ov61_0217a5ca: ; 0x0217a5ca .byte 0x00 .global data_ov61_0217a5cb data_ov61_0217a5cb: ; 0x0217a5cb .byte 0x00 .global data_ov61_0217a5cc data_ov61_0217a5cc: ; 0x0217a5cc .byte 0x00 .global data_ov61_0217a5cd data_ov61_0217a5cd: ; 0x0217a5cd .byte 0x00 .global data_ov61_0217a5ce data_ov61_0217a5ce: ; 0x0217a5ce .byte 0x00 .global data_ov61_0217a5cf data_ov61_0217a5cf: ; 0x0217a5cf .byte 0x00 .global data_ov61_0217a5d0 data_ov61_0217a5d0: ; 0x0217a5d0 .byte 0x00 .global data_ov61_0217a5d1 data_ov61_0217a5d1: ; 0x0217a5d1 .byte 0x00 .global data_ov61_0217a5d2 data_ov61_0217a5d2: ; 0x0217a5d2 .byte 0x00 .global data_ov61_0217a5d3 data_ov61_0217a5d3: ; 0x0217a5d3 .byte 0x00 .global data_ov61_0217a5d4 data_ov61_0217a5d4: ; 0x0217a5d4 .byte 0x00 .global data_ov61_0217a5d5 data_ov61_0217a5d5: ; 0x0217a5d5 .byte 0x00 .global data_ov61_0217a5d6 data_ov61_0217a5d6: ; 0x0217a5d6 .byte 0x00 .global data_ov61_0217a5d7 data_ov61_0217a5d7: ; 0x0217a5d7 .byte 0x00 .global data_ov61_0217a5d8 data_ov61_0217a5d8: ; 0x0217a5d8 .byte 0x00 .global data_ov61_0217a5d9 data_ov61_0217a5d9: ; 0x0217a5d9 .byte 0x00 .global data_ov61_0217a5da data_ov61_0217a5da: ; 0x0217a5da .byte 0x00 .global data_ov61_0217a5db data_ov61_0217a5db: ; 0x0217a5db .byte 0x00 .global data_ov61_0217a5dc data_ov61_0217a5dc: ; 0x0217a5dc .byte 0x00 .global data_ov61_0217a5dd data_ov61_0217a5dd: ; 0x0217a5dd .byte 0x00 .global data_ov61_0217a5de data_ov61_0217a5de: ; 0x0217a5de .byte 0x00 .global data_ov61_0217a5df data_ov61_0217a5df: ; 0x0217a5df .byte 0x00 .global data_ov61_0217a5e0 data_ov61_0217a5e0: ; 0x0217a5e0 .byte 0x00 .global data_ov61_0217a5e1 data_ov61_0217a5e1: ; 0x0217a5e1 .byte 0x00 .global data_ov61_0217a5e2 data_ov61_0217a5e2: ; 0x0217a5e2 .byte 0x00 .global data_ov61_0217a5e3 data_ov61_0217a5e3: ; 0x0217a5e3 .byte 0x00 .global data_ov61_0217a5e4 data_ov61_0217a5e4: ; 0x0217a5e4 .byte 0xfd .global data_ov61_0217a5e5 data_ov61_0217a5e5: ; 0x0217a5e5 .byte 0xfc .global data_ov61_0217a5e6 data_ov61_0217a5e6: ; 0x0217a5e6 .byte 0x1e .global data_ov61_0217a5e7 data_ov61_0217a5e7: ; 0x0217a5e7 .byte 0x66 .global data_ov61_0217a5e8 data_ov61_0217a5e8: ; 0x0217a5e8 .byte 0x6a .global data_ov61_0217a5e9 data_ov61_0217a5e9: ; 0x0217a5e9 .byte 0xb2 .global data_ov61_0217a5ea data_ov61_0217a5ea: ; 0x0217a5ea .byte 0x00 .global data_ov61_0217a5eb data_ov61_0217a5eb: ; 0x0217a5eb .byte 0x00 .global data_ov61_0217a5ec data_ov61_0217a5ec: ; 0x0217a5ec .word data_ov61_0217e974 .global data_ov61_0217a5f0 data_ov61_0217a5f0: ; 0x0217a5f0 .word data_ov61_0217e980 .global data_ov61_0217a5f4 data_ov61_0217a5f4: ; 0x0217a5f4 .word data_ov61_0217e990 .global data_ov61_0217a5f8 data_ov61_0217a5f8: ; 0x0217a5f8 .word data_ov61_0217e99c .global data_ov61_0217a5fc data_ov61_0217a5fc: ; 0x0217a5fc .word data_ov61_0217e9a8 .global data_ov61_0217a600 data_ov61_0217a600: ; 0x0217a600 .word data_ov61_0217e9b4 .global data_ov61_0217a604 data_ov61_0217a604: ; 0x0217a604 .word data_ov61_0217e9c4 .global data_ov61_0217a608 .section .init, 4, 1, 4 .section .ctor, 4, 1, 4 .data .global data_ov61_0217a620 data_ov61_0217a620: ; 0x0217a620 .ascii "https://nas.test.nintendowifi.net/ac" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a648 data_ov61_0217a648: ; 0x0217a648 .ascii "https://nas.dev.nintendowifi.net/ac" .byte 0x00 .global data_ov61_0217a66c data_ov61_0217a66c: ; 0x0217a66c .ascii "https://nas.nintendowifi.net/ac" .byte 0x00 .global data_ov61_0217a68c data_ov61_0217a68c: ; 0x0217a68c .ascii "%c%s%c%s" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a698 data_ov61_0217a698: ; 0x0217a698 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a69c data_ov61_0217a69c: ; 0x0217a69c .ascii "GPCM" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a6a4 data_ov61_0217a6a4: ; 0x0217a6a4 .ascii "MAT" .byte 0x00 .global data_ov61_0217a6a8 data_ov61_0217a6a8: ; 0x0217a6a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a6ac data_ov61_0217a6ac: ; 0x0217a6ac .ascii "SCM" .byte 0x00 .global data_ov61_0217a6b0 data_ov61_0217a6b0: ; 0x0217a6b0 .ascii "SCN" .byte 0x00 .global data_ov61_0217a6b4 data_ov61_0217a6b4: ; 0x0217a6b4 .ascii "I have authorized your request to add me to your list" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a6ec data_ov61_0217a6ec: ; 0x0217a6ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a6f0 data_ov61_0217a6f0: ; 0x0217a6f0 .ascii "%c%c%c%c" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a6fc data_ov61_0217a6fc: ; 0x0217a6fc .ascii " and ()" .byte 0x00 .global data_ov61_0217a704 data_ov61_0217a704: ; 0x0217a704 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a708 data_ov61_0217a708: ; 0x0217a708 .ascii "%u" .byte 0x00, 0x00 .global data_ov61_0217a70c data_ov61_0217a70c: ; 0x0217a70c .ascii "FME" .byte 0x00 .global data_ov61_0217a710 data_ov61_0217a710: ; 0x0217a710 .ascii "Y" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a714 data_ov61_0217a714: ; 0x0217a714 .ascii "N" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a718 data_ov61_0217a718: ; 0x0217a718 .ascii "MDF" .byte 0x00 .global data_ov61_0217a71c data_ov61_0217a71c: ; 0x0217a71c .ascii "VER" .byte 0x00 .global data_ov61_0217a720 data_ov61_0217a720: ; 0x0217a720 .ascii "Init state" .byte 0x00, 0x00 .global data_ov61_0217a72c data_ov61_0217a72c: ; 0x0217a72c .ascii "Server full" .byte 0x00 .global data_ov61_0217a738 data_ov61_0217a738: ; 0x0217a738 .ascii "Unknown connect attempt" .byte 0x00 .global data_ov61_0217a750 data_ov61_0217a750: ; 0x0217a750 .ascii "SCM" .byte 0x00 .global data_ov61_0217a754 data_ov61_0217a754: ; 0x0217a754 .ascii "SCN" .byte 0x00 .global data_ov61_0217a758 data_ov61_0217a758: ; 0x0217a758 .ascii "dwc_pid" .byte 0x00 .global data_ov61_0217a760 data_ov61_0217a760: ; 0x0217a760 .ascii "dwc_mtype" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a76c data_ov61_0217a76c: ; 0x0217a76c .ascii "dwc_mresv" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a778 data_ov61_0217a778: ; 0x0217a778 .ascii "dwc_mver" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a784 data_ov61_0217a784: ; 0x0217a784 .ascii "dwc_eval" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a790 data_ov61_0217a790: ; 0x0217a790 .ascii "%s and (%s)" .byte 0x00 .global data_ov61_0217a79c data_ov61_0217a79c: ; 0x0217a79c .ascii "%s = %u" .byte 0x00 .global data_ov61_0217a7a4 data_ov61_0217a7a4: ; 0x0217a7a4 .ascii "%s = %d and %s != %u and maxplayers = %d and numplayers < %d and %s = %d and %s != %s" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a7fc data_ov61_0217a7fc: ; 0x0217a7fc .ascii "/%u" .byte 0x00 .global data_ov61_0217a800 data_ov61_0217a800: ; 0x0217a800 .ascii "SBCM" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a808 data_ov61_0217a808: ; 0x0217a808 .ascii "%s%dv%s" .byte 0x00 .global data_ov61_0217a810 data_ov61_0217a810: ; 0x0217a810 .ascii "GPCM" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a818 data_ov61_0217a818: ; 0x0217a818 .ascii "MAT" .byte 0x00 .global data_ov61_0217a81c data_ov61_0217a81c: ; 0x0217a81c .ascii "numplayers" .byte 0x00, 0x00 .global data_ov61_0217a828 data_ov61_0217a828: ; 0x0217a828 .ascii "maxplayers" .byte 0x00, 0x00 .global data_ov61_0217a834 data_ov61_0217a834: ; 0x0217a834 .ascii "DT" .byte 0x00, 0x00 .global data_ov61_0217a838 data_ov61_0217a838: ; 0x0217a838 .ascii "NWCUSBAP" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a844 data_ov61_0217a844: ; 0x0217a844 .ascii "NINTENDO-DS" .byte 0x00 .global data_ov61_0217a850 data_ov61_0217a850: ; 0x0217a850 .word data_ov61_0217a89c .global data_ov61_0217a854 data_ov61_0217a854: ; 0x0217a854 .word data_ov61_0217a860 .global data_ov61_0217a858 data_ov61_0217a858: ; 0x0217a858 .word data_ov61_0217a880 .global data_ov61_0217a85c data_ov61_0217a85c: ; 0x0217a85c .word data_ov61_0217a870 .global data_ov61_0217a860 data_ov61_0217a860: ; 0x0217a860 .ascii "gwi'6&fs=0Nf~" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a870 data_ov61_0217a870: ; 0x0217a870 .ascii "%(egEr)ag(s&m" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a880 data_ov61_0217a880: ; 0x0217a880 .ascii "952uybjnpmu903bia@bk5m[-" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a89c data_ov61_0217a89c: ; 0x0217a89c .ascii "38g6zxjk20gvmv]6^=j&%vY1" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a8b8 data_ov61_0217a8b8: ; 0x0217a8b8 .ascii "NDWCSHAP" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a8c4 data_ov61_0217a8c4: ; 0x0217a8c4 .ascii "NWCUSBAP" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a8d0 data_ov61_0217a8d0: ; 0x0217a8d0 .word data_ov61_0217a8ec .global data_ov61_0217a8d4 data_ov61_0217a8d4: ; 0x0217a8d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a8d8 data_ov61_0217a8d8: ; 0x0217a8d8 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov61_0217a8dc data_ov61_0217a8dc: ; 0x0217a8dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a8e0 data_ov61_0217a8e0: ; 0x0217a8e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a8e4 data_ov61_0217a8e4: ; 0x0217a8e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a8e8 data_ov61_0217a8e8: ; 0x0217a8e8 .byte 0x20, 0x4e, 0x00, 0x00 .global data_ov61_0217a8ec data_ov61_0217a8ec: ; 0x0217a8ec .ascii "https://nas.test.nintendowifi.net/ac" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a914 data_ov61_0217a914: ; 0x0217a914 .ascii "ALLOC DWCauth" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a924 data_ov61_0217a924: ; 0x0217a924 .ascii "FREE DWCauth" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a934 data_ov61_0217a934: ; 0x0217a934 .ascii "https://nas.nintendowifi.net/ac" .byte 0x00 .global data_ov61_0217a954 data_ov61_0217a954: ; 0x0217a954 .ascii "ALLOC bmwork" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a964 data_ov61_0217a964: ; 0x0217a964 .ascii "FREE bmwork" .byte 0x00 .global data_ov61_0217a970 data_ov61_0217a970: ; 0x0217a970 .ascii "Date" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a978 data_ov61_0217a978: ; 0x0217a978 .ascii "httpresult" .byte 0x00, 0x00 .global data_ov61_0217a984 data_ov61_0217a984: ; 0x0217a984 .ascii "returncd" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a990 data_ov61_0217a990: ; 0x0217a990 .ascii "token" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a998 data_ov61_0217a998: ; 0x0217a998 .ascii "locator" .byte 0x00 .global data_ov61_0217a9a0 data_ov61_0217a9a0: ; 0x0217a9a0 .ascii "challenge" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a9ac data_ov61_0217a9ac: ; 0x0217a9ac .ascii "datetime" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217a9b8 data_ov61_0217a9b8: ; 0x0217a9b8 .ascii "Set-Cookie" .byte 0x00, 0x00 .global data_ov61_0217a9c4 data_ov61_0217a9c4: ; 0x0217a9c4 .ascii "acctcreate" .byte 0x00, 0x00 .global data_ov61_0217a9d0 data_ov61_0217a9d0: ; 0x0217a9d0 .ascii "action" .byte 0x00, 0x00 .global data_ov61_0217a9d8 data_ov61_0217a9d8: ; 0x0217a9d8 .ascii "login" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a9e0 data_ov61_0217a9e0: ; 0x0217a9e0 .ascii "gsbrcd" .byte 0x00, 0x00 .global data_ov61_0217a9e8 data_ov61_0217a9e8: ; 0x0217a9e8 .ascii "Y" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a9ec data_ov61_0217a9ec: ; 0x0217a9ec .ascii "iswfc" .byte 0x00, 0x00, 0x00 .global data_ov61_0217a9f4 data_ov61_0217a9f4: ; 0x0217a9f4 .ascii "ingamesn" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aa00 data_ov61_0217aa00: ; 0x0217aa00 .ascii "%013llu" .byte 0x00 .global data_ov61_0217aa08 data_ov61_0217aa08: ; 0x0217aa08 .ascii "%03u" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aa10 data_ov61_0217aa10: ; 0x0217aa10 .ascii "%02x" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aa18 data_ov61_0217aa18: ; 0x0217aa18 .ascii "%02x%02x" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aa24 data_ov61_0217aa24: ; 0x0217aa24 .ascii "%02d%02d%02d%02d%02d%02d" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aa40 data_ov61_0217aa40: ; 0x0217aa40 .ascii "%02d:0000000-00" .byte 0x00 .global data_ov61_0217aa50 data_ov61_0217aa50: ; 0x0217aa50 .ascii "%03d%03d" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aa5c data_ov61_0217aa5c: ; 0x0217aa5c .ascii "sdkver" .byte 0x00, 0x00 .global data_ov61_0217aa64 data_ov61_0217aa64: ; 0x0217aa64 .ascii "userid" .byte 0x00, 0x00 .global data_ov61_0217aa6c data_ov61_0217aa6c: ; 0x0217aa6c .ascii "passwd" .byte 0x00, 0x00 .global data_ov61_0217aa74 data_ov61_0217aa74: ; 0x0217aa74 .ascii "bssid" .byte 0x00, 0x00, 0x00 .global data_ov61_0217aa7c data_ov61_0217aa7c: ; 0x0217aa7c .ascii "apinfo" .byte 0x00, 0x00 .global data_ov61_0217aa84 data_ov61_0217aa84: ; 0x0217aa84 .ascii "gamecd" .byte 0x00, 0x00 .global data_ov61_0217aa8c data_ov61_0217aa8c: ; 0x0217aa8c .ascii "makercd" .byte 0x00 .global data_ov61_0217aa94 data_ov61_0217aa94: ; 0x0217aa94 .ascii "unitcd" .byte 0x00, 0x00 .global data_ov61_0217aa9c data_ov61_0217aa9c: ; 0x0217aa9c .ascii "macadr" .byte 0x00, 0x00 .global data_ov61_0217aaa4 data_ov61_0217aaa4: ; 0x0217aaa4 .ascii "lang" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aaac data_ov61_0217aaac: ; 0x0217aaac .ascii "birth" .byte 0x00, 0x00, 0x00 .global data_ov61_0217aab4 data_ov61_0217aab4: ; 0x0217aab4 .ascii "devtime" .byte 0x00 .global data_ov61_0217aabc data_ov61_0217aabc: ; 0x0217aabc .ascii "devname" .byte 0x00 .global data_ov61_0217aac4 data_ov61_0217aac4: ; 0x0217aac4 .ascii "ssid" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aacc data_ov61_0217aacc: ; 0x0217aacc .ascii "Nitro WiFi SDK/%d.%d" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aae4 data_ov61_0217aae4: ; 0x0217aae4 .ascii "User-Agent" .byte 0x00, 0x00 .global data_ov61_0217aaf0 data_ov61_0217aaf0: ; 0x0217aaf0 .ascii "HTTP_X_GAMECD" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ab00 data_ov61_0217ab00: ; 0x0217ab00 .word data_ov61_0217b89c .global data_ov61_0217ab04 data_ov61_0217ab04: ; 0x0217ab04 .word data_ov61_0217b770 .global data_ov61_0217ab08 data_ov61_0217ab08: ; 0x0217ab08 .word data_ov61_0217ba50 .global data_ov61_0217ab0c data_ov61_0217ab0c: ; 0x0217ab0c .word data_ov61_0217bb2c .global data_ov61_0217ab10 data_ov61_0217ab10: ; 0x0217ab10 .word data_ov61_0217b008 .global data_ov61_0217ab14 data_ov61_0217ab14: ; 0x0217ab14 .word data_ov61_0217b2a4 .global data_ov61_0217ab18 data_ov61_0217ab18: ; 0x0217ab18 .word data_ov61_0217b38c .global data_ov61_0217ab1c data_ov61_0217ab1c: ; 0x0217ab1c .word data_ov61_0217b154 .global data_ov61_0217ab20 data_ov61_0217ab20: ; 0x0217ab20 .word data_ov61_0217b658 .global data_ov61_0217ab24 data_ov61_0217ab24: ; 0x0217ab24 .word data_ov61_0217b538 .global data_ov61_0217ab28 data_ov61_0217ab28: ; 0x0217ab28 .word data_ov61_0217b450 .global data_ov61_0217ab2c data_ov61_0217ab2c: ; 0x0217ab2c .ascii "ALLOC http->lowrecvbuf" .byte 0x00, 0x00 .global data_ov61_0217ab44 data_ov61_0217ab44: ; 0x0217ab44 .ascii "ALLOC http->lowsendbuf" .byte 0x00, 0x00 .global data_ov61_0217ab5c data_ov61_0217ab5c: ; 0x0217ab5c .ascii "Connection" .byte 0x00, 0x00 .global data_ov61_0217ab68 data_ov61_0217ab68: ; 0x0217ab68 .ascii "close" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ab70 data_ov61_0217ab70: ; 0x0217ab70 .byte 0x0d, 0x0a, 0x0d, 0x0a .global data_ov61_0217ab74 data_ov61_0217ab74: ; 0x0217ab74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ab78 data_ov61_0217ab78: ; 0x0217ab78 .ascii "%d" .byte 0x00, 0x00 .global data_ov61_0217ab7c data_ov61_0217ab7c: ; 0x0217ab7c .ascii "Content-Length" .byte 0x00, 0x00 .global data_ov61_0217ab8c data_ov61_0217ab8c: ; 0x0217ab8c .ascii "Content-Length: " .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aba0 data_ov61_0217aba0: ; 0x0217aba0 .byte 0x0d, 0x0a, 0x00, 0x00 .global data_ov61_0217aba4 data_ov61_0217aba4: ; 0x0217aba4 .ascii "FREE http->lowrecvbuf" .byte 0x00, 0x00, 0x00 .global data_ov61_0217abbc data_ov61_0217abbc: ; 0x0217abbc .ascii "FREE http->lowsendbuf" .byte 0x00, 0x00, 0x00 .global data_ov61_0217abd4 data_ov61_0217abd4: ; 0x0217abd4 .ascii "POST /%s HTTP/1.0\r\nContent-type: application/x-www-form-urlencoded\r\nHost: %s\r\n\r\n" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ac28 data_ov61_0217ac28: ; 0x0217ac28 .ascii "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n" .byte 0x00, 0x00 .global data_ov61_0217ac48 data_ov61_0217ac48: ; 0x0217ac48 .ascii "%s: %s\r\n" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ac54 data_ov61_0217ac54: ; 0x0217ac54 .ascii "%s=" .byte 0x00 .global data_ov61_0217ac58 data_ov61_0217ac58: ; 0x0217ac58 .ascii "&%s=" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ac60 data_ov61_0217ac60: ; 0x0217ac60 .ascii "%s" .byte 0x00, 0x00 .global data_ov61_0217ac64 data_ov61_0217ac64: ; 0x0217ac64 .ascii "ALLOC buf->buffer" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ac78 data_ov61_0217ac78: ; 0x0217ac78 .ascii "FREE buf->buffer" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ac8c data_ov61_0217ac8c: ; 0x0217ac8c .ascii "ALLOC newptr" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ac9c data_ov61_0217ac9c: ; 0x0217ac9c .ascii "http://" .byte 0x00 .global data_ov61_0217aca4 data_ov61_0217aca4: ; 0x0217aca4 .ascii "https://" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217acb0 data_ov61_0217acb0: ; 0x0217acb0 .ascii ":" .byte 0x00, 0x00, 0x00 .global data_ov61_0217acb4 data_ov61_0217acb4: ; 0x0217acb4 .ascii "/" .byte 0x00, 0x00, 0x00 .global data_ov61_0217acb8 data_ov61_0217acb8: ; 0x0217acb8 .ascii "ALLOC result->entry[i].label" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217acd8 data_ov61_0217acd8: ; 0x0217acd8 .ascii "ALLOC result->entry[i].value" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217acf8 data_ov61_0217acf8: ; 0x0217acf8 .ascii "FREE result->entry[i].label" .byte 0x00 .global data_ov61_0217ad14 data_ov61_0217ad14: ; 0x0217ad14 .ascii "FREE result->entry[i].value" .byte 0x00 .global data_ov61_0217ad30 data_ov61_0217ad30: ; 0x0217ad30 .ascii " " .byte 0x00, 0x00, 0x00 .global data_ov61_0217ad34 data_ov61_0217ad34: ; 0x0217ad34 .ascii "httpresult" .byte 0x00, 0x00 .global data_ov61_0217ad40 data_ov61_0217ad40: ; 0x0217ad40 .ascii "200" .byte 0x00 .global data_ov61_0217ad44 data_ov61_0217ad44: ; 0x0217ad44 .ascii ": " .byte 0x00, 0x00 .global data_ov61_0217ad48 data_ov61_0217ad48: ; 0x0217ad48 .ascii "=" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ad4c data_ov61_0217ad4c: ; 0x0217ad4c .ascii "&" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ad50 data_ov61_0217ad50: ; 0x0217ad50 .ascii "FREE array_entry[i].label" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ad6c data_ov61_0217ad6c: ; 0x0217ad6c .ascii "FREE array_entry[i].value" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ad88 data_ov61_0217ad88: ; 0x0217ad88 .word data_ov61_0217ad8c .global data_ov61_0217ad8c data_ov61_0217ad8c: ; 0x0217ad8c .ascii "http://conntest.nintendowifi.net/" .byte 0x00, 0x00, 0x00 .global data_ov61_0217adb0 data_ov61_0217adb0: ; 0x0217adb0 .ascii "ALLOC DWCnetcheck" .byte 0x00, 0x00, 0x00 .global data_ov61_0217adc4 data_ov61_0217adc4: ; 0x0217adc4 .ascii "ALLOC DWChttp" .byte 0x00, 0x00, 0x00 .global data_ov61_0217add4 data_ov61_0217add4: ; 0x0217add4 .ascii "FREE DWChttp" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ade4 data_ov61_0217ade4: ; 0x0217ade4 .ascii "FREE DWCnetcheck->body_302" .byte 0x00, 0x00 .global data_ov61_0217ae00 data_ov61_0217ae00: ; 0x0217ae00 .ascii "FREE DWCnetcheck->body_wayport" .byte 0x00, 0x00 .global data_ov61_0217ae20 data_ov61_0217ae20: ; 0x0217ae20 .ascii "FREE DWCnetcheck" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ae34 data_ov61_0217ae34: ; 0x0217ae34 .ascii "ALLOC DWCnetcheck->body_302" .byte 0x00 .global data_ov61_0217ae50 data_ov61_0217ae50: ; 0x0217ae50 .ascii "ALLOC url" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ae5c data_ov61_0217ae5c: ; 0x0217ae5c .ascii "ALLOC data_len" .byte 0x00, 0x00 .global data_ov61_0217ae6c data_ov61_0217ae6c: ; 0x0217ae6c .ascii "ALLOC wait_len" .byte 0x00, 0x00 .global data_ov61_0217ae7c data_ov61_0217ae7c: ; 0x0217ae7c .ascii "ALLOC DWCnetcheck->body_wayport" .byte 0x00 .global data_ov61_0217ae9c data_ov61_0217ae9c: ; 0x0217ae9c .ascii "httpresult" .byte 0x00, 0x00 .global data_ov61_0217aea8 data_ov61_0217aea8: ; 0x0217aea8 .ascii "https://nas.nintendowifi.net/ac" .byte 0x00 .global data_ov61_0217aec8 data_ov61_0217aec8: ; 0x0217aec8 .ascii "action" .byte 0x00, 0x00 .global data_ov61_0217aed0 data_ov61_0217aed0: ; 0x0217aed0 .ascii "message" .byte 0x00 .global data_ov61_0217aed8 data_ov61_0217aed8: ; 0x0217aed8 .ascii "HotSpotResponse" .byte 0x00 .global data_ov61_0217aee8 data_ov61_0217aee8: ; 0x0217aee8 .ascii "parse" .byte 0x00, 0x00, 0x00 .global data_ov61_0217aef0 data_ov61_0217aef0: ; 0x0217aef0 .ascii "HTML" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217aef8 data_ov61_0217aef8: ; 0x0217aef8 .ascii "returncd" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217af04 data_ov61_0217af04: ; 0x0217af04 .ascii "url" .byte 0x00 .global data_ov61_0217af08 data_ov61_0217af08: ; 0x0217af08 .ascii "data" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217af10 data_ov61_0217af10: ; 0x0217af10 .ascii "wait" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217af18 data_ov61_0217af18: ; 0x0217af18 .ascii "FREE url" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217af24 data_ov61_0217af24: ; 0x0217af24 .ascii "FREE data" .byte 0x00, 0x00, 0x00 .global data_ov61_0217af30 data_ov61_0217af30: ; 0x0217af30 .ascii "FREE wait" .byte 0x00, 0x00, 0x00 .global data_ov61_0217af3c data_ov61_0217af3c: ; 0x0217af3c .ascii "Dec" .byte 0x00 .global data_ov61_0217af40 data_ov61_0217af40: ; 0x0217af40 .ascii "Jul" .byte 0x00 .global data_ov61_0217af44 data_ov61_0217af44: ; 0x0217af44 .ascii "Oct" .byte 0x00 .global data_ov61_0217af48 data_ov61_0217af48: ; 0x0217af48 .ascii "Sep" .byte 0x00 .global data_ov61_0217af4c data_ov61_0217af4c: ; 0x0217af4c .ascii "Aug" .byte 0x00 .global data_ov61_0217af50 data_ov61_0217af50: ; 0x0217af50 .ascii "Nov" .byte 0x00 .global data_ov61_0217af54 data_ov61_0217af54: ; 0x0217af54 .ascii "Jun" .byte 0x00 .global data_ov61_0217af58 data_ov61_0217af58: ; 0x0217af58 .ascii "May" .byte 0x00 .global data_ov61_0217af5c data_ov61_0217af5c: ; 0x0217af5c .ascii "Apr" .byte 0x00 .global data_ov61_0217af60 data_ov61_0217af60: ; 0x0217af60 .ascii "Mar" .byte 0x00 .global data_ov61_0217af64 data_ov61_0217af64: ; 0x0217af64 .ascii "Feb" .byte 0x00 .global data_ov61_0217af68 data_ov61_0217af68: ; 0x0217af68 .ascii "Jan" .byte 0x00 .global data_ov61_0217af6c data_ov61_0217af6c: ; 0x0217af6c .word data_ov61_0217af68 .global data_ov61_0217af70 data_ov61_0217af70: ; 0x0217af70 .word data_ov61_0217af64 .global data_ov61_0217af74 data_ov61_0217af74: ; 0x0217af74 .word data_ov61_0217af60 .global data_ov61_0217af78 data_ov61_0217af78: ; 0x0217af78 .word data_ov61_0217af5c .global data_ov61_0217af7c data_ov61_0217af7c: ; 0x0217af7c .word data_ov61_0217af58 .global data_ov61_0217af80 data_ov61_0217af80: ; 0x0217af80 .word data_ov61_0217af54 .global data_ov61_0217af84 data_ov61_0217af84: ; 0x0217af84 .word data_ov61_0217af40 .global data_ov61_0217af88 data_ov61_0217af88: ; 0x0217af88 .word data_ov61_0217af4c .global data_ov61_0217af8c data_ov61_0217af8c: ; 0x0217af8c .word data_ov61_0217af48 .global data_ov61_0217af90 data_ov61_0217af90: ; 0x0217af90 .word data_ov61_0217af44 .global data_ov61_0217af94 data_ov61_0217af94: ; 0x0217af94 .word data_ov61_0217af50 .global data_ov61_0217af98 data_ov61_0217af98: ; 0x0217af98 .word data_ov61_0217af3c .global data_ov61_0217af9c data_ov61_0217af9c: ; 0x0217af9c .ascii "Fri, 03 Mar 2006 01:28:13 GMT" .byte 0x00, 0x00, 0x00 .global data_ov61_0217afbc data_ov61_0217afbc: ; 0x0217afbc .word data_ov61_0217afc0 .global data_ov61_0217afc0 data_ov61_0217afc0: ; 0x0217afc0 .ascii "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217b004 data_ov61_0217b004: ; 0x0217b004 .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b008 data_ov61_0217b008: ; 0x0217b008 .word data_ov61_0217b01c .global data_ov61_0217b00c data_ov61_0217b00c: ; 0x0217b00c .byte 0x00, 0x01, 0x00, 0x00 .global data_ov61_0217b010 data_ov61_0217b010: ; 0x0217b010 .word data_ov61_0217b050 .global data_ov61_0217b014 data_ov61_0217b014: ; 0x0217b014 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b018 data_ov61_0217b018: ; 0x0217b018 .word data_ov61_0217b004 .global data_ov61_0217b01c data_ov61_0217b01c: ; 0x0217b01c .ascii "BE, GlobalSign nv-sa, Root CA, GlobalSign Root CA" .byte 0x00, 0x00, 0x00 .global data_ov61_0217b050 data_ov61_0217b050: ; 0x0217b050 .byte 0xda, 0x0e, 0xe6, 0x99 .global data_ov61_0217b054 data_ov61_0217b054: ; 0x0217b054 .byte 0x8d, 0xce, 0xa3, 0xe3 .global data_ov61_0217b058 data_ov61_0217b058: ; 0x0217b058 .byte 0x4f, 0x8a, 0x7e, 0xfb .global data_ov61_0217b05c data_ov61_0217b05c: ; 0x0217b05c .byte 0xf1, 0x8b, 0x83, 0x25 .global data_ov61_0217b060 data_ov61_0217b060: ; 0x0217b060 .byte 0x6b, 0xea, 0x48, 0x1f .global data_ov61_0217b064 data_ov61_0217b064: ; 0x0217b064 .byte 0xf1, 0x2a, 0xb0, 0xb9 .global data_ov61_0217b068 data_ov61_0217b068: ; 0x0217b068 .byte 0x95, 0x11, 0x04, 0xbd .global data_ov61_0217b06c data_ov61_0217b06c: ; 0x0217b06c .byte 0xf0, 0x63, 0xd1, 0xe2 .global data_ov61_0217b070 data_ov61_0217b070: ; 0x0217b070 .byte 0x67, 0x66, 0xcf, 0x1c .global data_ov61_0217b074 data_ov61_0217b074: ; 0x0217b074 .byte 0xdd, 0xcf, 0x1b, 0x48 .global data_ov61_0217b078 data_ov61_0217b078: ; 0x0217b078 .byte 0x2b, 0xee, 0x8d, 0x89 .global data_ov61_0217b07c data_ov61_0217b07c: ; 0x0217b07c .byte 0x8e, 0x9a, 0xaf, 0x29 .global data_ov61_0217b080 data_ov61_0217b080: ; 0x0217b080 .byte 0x80, 0x65, 0xab, 0xe9 .global data_ov61_0217b084 data_ov61_0217b084: ; 0x0217b084 .byte 0xc7, 0x2d, 0x12, 0xcb .global data_ov61_0217b088 data_ov61_0217b088: ; 0x0217b088 .byte 0xab, 0x1c, 0x4c, 0x70 .global data_ov61_0217b08c data_ov61_0217b08c: ; 0x0217b08c .byte 0x07, 0xa1, 0x3d, 0x0a .global data_ov61_0217b090 data_ov61_0217b090: ; 0x0217b090 .byte 0x30, 0xcd, 0x15, 0x8d .global data_ov61_0217b094 data_ov61_0217b094: ; 0x0217b094 .byte 0x4f, 0xf8, 0xdd, 0xd4 .global data_ov61_0217b098 data_ov61_0217b098: ; 0x0217b098 .byte 0x8c, 0x50, 0x15, 0x1c .global data_ov61_0217b09c data_ov61_0217b09c: ; 0x0217b09c .byte 0xef, 0x50, 0xee, 0xc4 .global data_ov61_0217b0a0 data_ov61_0217b0a0: ; 0x0217b0a0 .byte 0x2e, 0xf7, 0xfc, 0xe9 .global data_ov61_0217b0a4 data_ov61_0217b0a4: ; 0x0217b0a4 .byte 0x52, 0xf2, 0x91, 0x7d .global data_ov61_0217b0a8 data_ov61_0217b0a8: ; 0x0217b0a8 .byte 0xe0, 0x6d, 0xd5, 0x35 .global data_ov61_0217b0ac data_ov61_0217b0ac: ; 0x0217b0ac .byte 0x30, 0x8e, 0x5e, 0x43 .global data_ov61_0217b0b0 data_ov61_0217b0b0: ; 0x0217b0b0 .byte 0x73, 0xf2, 0x41, 0xe9 .global data_ov61_0217b0b4 data_ov61_0217b0b4: ; 0x0217b0b4 .byte 0xd5, 0x6a, 0xe3, 0xb2 .global data_ov61_0217b0b8 data_ov61_0217b0b8: ; 0x0217b0b8 .byte 0x89, 0x3a, 0x56, 0x39 .global data_ov61_0217b0bc data_ov61_0217b0bc: ; 0x0217b0bc .byte 0x38, 0x6f, 0x06, 0x3c .global data_ov61_0217b0c0 data_ov61_0217b0c0: ; 0x0217b0c0 .byte 0x88, 0x69, 0x5b, 0x2a .global data_ov61_0217b0c4 data_ov61_0217b0c4: ; 0x0217b0c4 .byte 0x4d, 0xc5, 0xa7, 0x54 .global data_ov61_0217b0c8 data_ov61_0217b0c8: ; 0x0217b0c8 .byte 0xb8, 0x6c, 0x89, 0xcc .global data_ov61_0217b0cc data_ov61_0217b0cc: ; 0x0217b0cc .byte 0x9b, 0xf9, 0x3c, 0xca .global data_ov61_0217b0d0 data_ov61_0217b0d0: ; 0x0217b0d0 .byte 0xe5, 0xfd, 0x89, 0xf5 .global data_ov61_0217b0d4 data_ov61_0217b0d4: ; 0x0217b0d4 .byte 0x12, 0x3c, 0x92, 0x78 .global data_ov61_0217b0d8 data_ov61_0217b0d8: ; 0x0217b0d8 .byte 0x96, 0xd6, 0xdc, 0x74 .global data_ov61_0217b0dc data_ov61_0217b0dc: ; 0x0217b0dc .byte 0x6e, 0x93, 0x44, 0x61 .global data_ov61_0217b0e0 data_ov61_0217b0e0: ; 0x0217b0e0 .byte 0xd1, 0x8d, 0xc7, 0x46 .global data_ov61_0217b0e4 data_ov61_0217b0e4: ; 0x0217b0e4 .byte 0xb2, 0x75, 0x0e, 0x86 .global data_ov61_0217b0e8 data_ov61_0217b0e8: ; 0x0217b0e8 .byte 0xe8, 0x19, 0x8a, 0xd5 .global data_ov61_0217b0ec data_ov61_0217b0ec: ; 0x0217b0ec .byte 0x6d, 0x6c, 0xd5, 0x78 .global data_ov61_0217b0f0 data_ov61_0217b0f0: ; 0x0217b0f0 .byte 0x16, 0x95, 0xa2, 0xe9 .global data_ov61_0217b0f4 data_ov61_0217b0f4: ; 0x0217b0f4 .byte 0xc8, 0x0a, 0x38, 0xeb .global data_ov61_0217b0f8 data_ov61_0217b0f8: ; 0x0217b0f8 .byte 0xf2, 0x24, 0x13, 0x4f .global data_ov61_0217b0fc data_ov61_0217b0fc: ; 0x0217b0fc .byte 0x73, 0x54, 0x93, 0x13 .global data_ov61_0217b100 data_ov61_0217b100: ; 0x0217b100 .byte 0x85, 0x3a, 0x1b, 0xbc .global data_ov61_0217b104 data_ov61_0217b104: ; 0x0217b104 .byte 0x1e, 0x34, 0xb5, 0x8b .global data_ov61_0217b108 data_ov61_0217b108: ; 0x0217b108 .byte 0x05, 0x8c, 0xb9, 0x77 .global data_ov61_0217b10c data_ov61_0217b10c: ; 0x0217b10c .byte 0x8b, 0xb1, 0xdb, 0x1f .global data_ov61_0217b110 data_ov61_0217b110: ; 0x0217b110 .byte 0x20, 0x91, 0xab, 0x09 .global data_ov61_0217b114 data_ov61_0217b114: ; 0x0217b114 .byte 0x53, 0x6e, 0x90, 0xce .global data_ov61_0217b118 data_ov61_0217b118: ; 0x0217b118 .byte 0x7b, 0x37, 0x74, 0xb9 .global data_ov61_0217b11c data_ov61_0217b11c: ; 0x0217b11c .byte 0x70, 0x47, 0x91, 0x22 .global data_ov61_0217b120 data_ov61_0217b120: ; 0x0217b120 .byte 0x51, 0x63, 0x16, 0x79 .global data_ov61_0217b124 data_ov61_0217b124: ; 0x0217b124 .byte 0xae, 0xb1, 0xae, 0x41 .global data_ov61_0217b128 data_ov61_0217b128: ; 0x0217b128 .byte 0x26, 0x08, 0xc8, 0x19 .global data_ov61_0217b12c data_ov61_0217b12c: ; 0x0217b12c .byte 0x2b, 0xd1, 0x46, 0xaa .global data_ov61_0217b130 data_ov61_0217b130: ; 0x0217b130 .byte 0x48, 0xd6, 0x64, 0x2a .global data_ov61_0217b134 data_ov61_0217b134: ; 0x0217b134 .byte 0xd7, 0x83, 0x34, 0xff .global data_ov61_0217b138 data_ov61_0217b138: ; 0x0217b138 .byte 0x2c, 0x2a, 0xc1, 0x6c .global data_ov61_0217b13c data_ov61_0217b13c: ; 0x0217b13c .byte 0x19, 0x43, 0x4a, 0x07 .global data_ov61_0217b140 data_ov61_0217b140: ; 0x0217b140 .byte 0x85, 0xe7, 0xd3, 0x7c .global data_ov61_0217b144 data_ov61_0217b144: ; 0x0217b144 .byte 0xf6, 0x21, 0x68, 0xef .global data_ov61_0217b148 data_ov61_0217b148: ; 0x0217b148 .byte 0xea, 0xf2, 0x52, 0x9f .global data_ov61_0217b14c data_ov61_0217b14c: ; 0x0217b14c .byte 0x7f, 0x93, 0x90, 0xcf .global data_ov61_0217b150 data_ov61_0217b150: ; 0x0217b150 .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b154 data_ov61_0217b154: ; 0x0217b154 .word data_ov61_0217b168 .global data_ov61_0217b158 data_ov61_0217b158: ; 0x0217b158 .byte 0x00, 0x01, 0x00, 0x00 .global data_ov61_0217b15c data_ov61_0217b15c: ; 0x0217b15c .word data_ov61_0217b1a0 .global data_ov61_0217b160 data_ov61_0217b160: ; 0x0217b160 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b164 data_ov61_0217b164: ; 0x0217b164 .word data_ov61_0217b150 .global data_ov61_0217b168 data_ov61_0217b168: ; 0x0217b168 .ascii "IE, Baltimore, CyberTrust, Baltimore CyberTrust Root" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217b1a0 data_ov61_0217b1a0: ; 0x0217b1a0 .byte 0xa3, 0x04, 0xbb, 0x22 .global data_ov61_0217b1a4 data_ov61_0217b1a4: ; 0x0217b1a4 .byte 0xab, 0x98, 0x3d, 0x57 .global data_ov61_0217b1a8 data_ov61_0217b1a8: ; 0x0217b1a8 .byte 0xe8, 0x26, 0x72, 0x9a .global data_ov61_0217b1ac data_ov61_0217b1ac: ; 0x0217b1ac .byte 0xb5, 0x79, 0xd4, 0x29 .global data_ov61_0217b1b0 data_ov61_0217b1b0: ; 0x0217b1b0 .byte 0xe2, 0xe1, 0xe8, 0x95 .global data_ov61_0217b1b4 data_ov61_0217b1b4: ; 0x0217b1b4 .byte 0x80, 0xb1, 0xb0, 0xe3 .global data_ov61_0217b1b8 data_ov61_0217b1b8: ; 0x0217b1b8 .byte 0x5b, 0x8e, 0x2b, 0x29 .global data_ov61_0217b1bc data_ov61_0217b1bc: ; 0x0217b1bc .byte 0x9a, 0x64, 0xdf, 0xa1 .global data_ov61_0217b1c0 data_ov61_0217b1c0: ; 0x0217b1c0 .byte 0x5d, 0xed, 0xb0, 0x09 .global data_ov61_0217b1c4 data_ov61_0217b1c4: ; 0x0217b1c4 .byte 0x05, 0x6d, 0xdb, 0x28 .global data_ov61_0217b1c8 data_ov61_0217b1c8: ; 0x0217b1c8 .byte 0x2e, 0xce, 0x62, 0xa2 .global data_ov61_0217b1cc data_ov61_0217b1cc: ; 0x0217b1cc .byte 0x62, 0xfe, 0xb4, 0x88 .global data_ov61_0217b1d0 data_ov61_0217b1d0: ; 0x0217b1d0 .byte 0xda, 0x12, 0xeb, 0x38 .global data_ov61_0217b1d4 data_ov61_0217b1d4: ; 0x0217b1d4 .byte 0xeb, 0x21, 0x9d, 0xc0 .global data_ov61_0217b1d8 data_ov61_0217b1d8: ; 0x0217b1d8 .byte 0x41, 0x2b, 0x01, 0x52 .global data_ov61_0217b1dc data_ov61_0217b1dc: ; 0x0217b1dc .byte 0x7b, 0x88, 0x77, 0xd3 .global data_ov61_0217b1e0 data_ov61_0217b1e0: ; 0x0217b1e0 .byte 0x1c, 0x8f, 0xc7, 0xba .global data_ov61_0217b1e4 data_ov61_0217b1e4: ; 0x0217b1e4 .byte 0xb9, 0x88, 0xb5, 0x6a .global data_ov61_0217b1e8 data_ov61_0217b1e8: ; 0x0217b1e8 .byte 0x09, 0xe7, 0x73, 0xe8 .global data_ov61_0217b1ec data_ov61_0217b1ec: ; 0x0217b1ec .byte 0x11, 0x40, 0xa7, 0xd1 .global data_ov61_0217b1f0 data_ov61_0217b1f0: ; 0x0217b1f0 .byte 0xcc, 0xca, 0x62, 0x8d .global data_ov61_0217b1f4 data_ov61_0217b1f4: ; 0x0217b1f4 .byte 0x2d, 0xe5, 0x8f, 0x0b .global data_ov61_0217b1f8 data_ov61_0217b1f8: ; 0x0217b1f8 .byte 0xa6, 0x50, 0xd2, 0xa8 .global data_ov61_0217b1fc data_ov61_0217b1fc: ; 0x0217b1fc .byte 0x50, 0xc3, 0x28, 0xea .global data_ov61_0217b200 data_ov61_0217b200: ; 0x0217b200 .byte 0xf5, 0xab, 0x25, 0x87 .global data_ov61_0217b204 data_ov61_0217b204: ; 0x0217b204 .byte 0x8a, 0x9a, 0x96, 0x1c .global data_ov61_0217b208 data_ov61_0217b208: ; 0x0217b208 .byte 0xa9, 0x67, 0xb8, 0x3f .global data_ov61_0217b20c data_ov61_0217b20c: ; 0x0217b20c .byte 0x0c, 0xd5, 0xf7, 0xf9 .global data_ov61_0217b210 data_ov61_0217b210: ; 0x0217b210 .byte 0x52, 0x13, 0x2f, 0xc2 .global data_ov61_0217b214 data_ov61_0217b214: ; 0x0217b214 .byte 0x1b, 0xd5, 0x70, 0x70 .global data_ov61_0217b218 data_ov61_0217b218: ; 0x0217b218 .byte 0xf0, 0x8f, 0xc0, 0x12 .global data_ov61_0217b21c data_ov61_0217b21c: ; 0x0217b21c .byte 0xca, 0x06, 0xcb, 0x9a .global data_ov61_0217b220 data_ov61_0217b220: ; 0x0217b220 .byte 0xe1, 0xd9, 0xca, 0x33 .global data_ov61_0217b224 data_ov61_0217b224: ; 0x0217b224 .byte 0x7a, 0x77, 0xd6, 0xf8 .global data_ov61_0217b228 data_ov61_0217b228: ; 0x0217b228 .byte 0xec, 0xb9, 0xf1, 0x68 .global data_ov61_0217b22c data_ov61_0217b22c: ; 0x0217b22c .byte 0x44, 0x42, 0x48, 0x13 .global data_ov61_0217b230 data_ov61_0217b230: ; 0x0217b230 .byte 0xd2, 0xc0, 0xc2, 0xa4 .global data_ov61_0217b234 data_ov61_0217b234: ; 0x0217b234 .byte 0xae, 0x5e, 0x60, 0xfe .global data_ov61_0217b238 data_ov61_0217b238: ; 0x0217b238 .byte 0xb6, 0xa6, 0x05, 0xfc .global data_ov61_0217b23c data_ov61_0217b23c: ; 0x0217b23c .byte 0xb4, 0xdd, 0x07, 0x59 .global data_ov61_0217b240 data_ov61_0217b240: ; 0x0217b240 .byte 0x02, 0xd4, 0x59, 0x18 .global data_ov61_0217b244 data_ov61_0217b244: ; 0x0217b244 .byte 0x98, 0x63, 0xf5, 0xa5 .global data_ov61_0217b248 data_ov61_0217b248: ; 0x0217b248 .byte 0x63, 0xe0, 0x90, 0x0c .global data_ov61_0217b24c data_ov61_0217b24c: ; 0x0217b24c .byte 0x7d, 0x5d, 0xb2, 0x06 .global data_ov61_0217b250 data_ov61_0217b250: ; 0x0217b250 .byte 0x7a, 0xf3, 0x85, 0xea .global data_ov61_0217b254 data_ov61_0217b254: ; 0x0217b254 .byte 0xeb, 0xd4, 0x03, 0xae .global data_ov61_0217b258 data_ov61_0217b258: ; 0x0217b258 .byte 0x5e, 0x84, 0x3e, 0x5f .global data_ov61_0217b25c data_ov61_0217b25c: ; 0x0217b25c .byte 0xff, 0x15, 0xed, 0x69 .global data_ov61_0217b260 data_ov61_0217b260: ; 0x0217b260 .byte 0xbc, 0xf9, 0x39, 0x36 .global data_ov61_0217b264 data_ov61_0217b264: ; 0x0217b264 .byte 0x72, 0x75, 0xcf, 0x77 .global data_ov61_0217b268 data_ov61_0217b268: ; 0x0217b268 .byte 0x52, 0x4d, 0xf3, 0xc9 .global data_ov61_0217b26c data_ov61_0217b26c: ; 0x0217b26c .byte 0x90, 0x2c, 0xb9, 0x3d .global data_ov61_0217b270 data_ov61_0217b270: ; 0x0217b270 .byte 0xe5, 0xc9, 0x23, 0x53 .global data_ov61_0217b274 data_ov61_0217b274: ; 0x0217b274 .byte 0x3f, 0x1f, 0x24, 0x98 .global data_ov61_0217b278 data_ov61_0217b278: ; 0x0217b278 .byte 0x21, 0x5c, 0x07, 0x99 .global data_ov61_0217b27c data_ov61_0217b27c: ; 0x0217b27c .byte 0x29, 0xbd, 0xc6, 0x3a .global data_ov61_0217b280 data_ov61_0217b280: ; 0x0217b280 .byte 0xec, 0xe7, 0x6e, 0x86 .global data_ov61_0217b284 data_ov61_0217b284: ; 0x0217b284 .byte 0x3a, 0x6b, 0x97, 0x74 .global data_ov61_0217b288 data_ov61_0217b288: ; 0x0217b288 .byte 0x63, 0x33, 0xbd, 0x68 .global data_ov61_0217b28c data_ov61_0217b28c: ; 0x0217b28c .byte 0x18, 0x31, 0xf0, 0x78 .global data_ov61_0217b290 data_ov61_0217b290: ; 0x0217b290 .byte 0x8d, 0x76, 0xbf, 0xfc .global data_ov61_0217b294 data_ov61_0217b294: ; 0x0217b294 .byte 0x9e, 0x8e, 0x5d, 0x2a .global data_ov61_0217b298 data_ov61_0217b298: ; 0x0217b298 .byte 0x86, 0xa7, 0x4d, 0x90 .global data_ov61_0217b29c data_ov61_0217b29c: ; 0x0217b29c .byte 0xdc, 0x27, 0x1a, 0x39 .global data_ov61_0217b2a0 data_ov61_0217b2a0: ; 0x0217b2a0 .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b2a4 data_ov61_0217b2a4: ; 0x0217b2a4 .word data_ov61_0217b2b8 .global data_ov61_0217b2a8 data_ov61_0217b2a8: ; 0x0217b2a8 .byte 0x80, 0x00, 0x00, 0x00 .global data_ov61_0217b2ac data_ov61_0217b2ac: ; 0x0217b2ac .word data_ov61_0217b308 .global data_ov61_0217b2b0 data_ov61_0217b2b0: ; 0x0217b2b0 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b2b4 data_ov61_0217b2b4: ; 0x0217b2b4 .word data_ov61_0217b2a0 .global data_ov61_0217b2b8 data_ov61_0217b2b8: ; 0x0217b2b8 .ascii "US, GTE Corporation, GTE CyberTrust Solutions, Inc., GTE CyberTrust Global Root" .byte 0x00 .global data_ov61_0217b308 data_ov61_0217b308: ; 0x0217b308 .byte 0x95, 0x0f, 0xa0, 0xb6 .global data_ov61_0217b30c data_ov61_0217b30c: ; 0x0217b30c .byte 0xf0, 0x50, 0x9c, 0xe8 .global data_ov61_0217b310 data_ov61_0217b310: ; 0x0217b310 .byte 0x7a, 0xc7, 0x88, 0xcd .global data_ov61_0217b314 data_ov61_0217b314: ; 0x0217b314 .byte 0xdd, 0x17, 0x0e, 0x2e .global data_ov61_0217b318 data_ov61_0217b318: ; 0x0217b318 .byte 0xb0, 0x94, 0xd0, 0x1b .global data_ov61_0217b31c data_ov61_0217b31c: ; 0x0217b31c .byte 0x3d, 0x0e, 0xf6, 0x94 .global data_ov61_0217b320 data_ov61_0217b320: ; 0x0217b320 .byte 0xc0, 0x8a, 0x94, 0xc7 .global data_ov61_0217b324 data_ov61_0217b324: ; 0x0217b324 .byte 0x06, 0xc8, 0x90, 0x97 .global data_ov61_0217b328 data_ov61_0217b328: ; 0x0217b328 .byte 0xc8, 0xb8, 0x64, 0x1a .global data_ov61_0217b32c data_ov61_0217b32c: ; 0x0217b32c .byte 0x7a, 0x7e, 0x6c, 0x3c .global data_ov61_0217b330 data_ov61_0217b330: ; 0x0217b330 .byte 0x53, 0xe1, 0x37, 0x28 .global data_ov61_0217b334 data_ov61_0217b334: ; 0x0217b334 .byte 0x73, 0x60, 0x7f, 0xb2 .global data_ov61_0217b338 data_ov61_0217b338: ; 0x0217b338 .byte 0x97, 0x53, 0x07, 0x9f .global data_ov61_0217b33c data_ov61_0217b33c: ; 0x0217b33c .byte 0x53, 0xf9, 0x6d, 0x58 .global data_ov61_0217b340 data_ov61_0217b340: ; 0x0217b340 .byte 0x94, 0xd2, 0xaf, 0x8d .global data_ov61_0217b344 data_ov61_0217b344: ; 0x0217b344 .byte 0x6d, 0x88, 0x67, 0x80 .global data_ov61_0217b348 data_ov61_0217b348: ; 0x0217b348 .byte 0xe6, 0xed, 0xb2, 0x95 .global data_ov61_0217b34c data_ov61_0217b34c: ; 0x0217b34c .byte 0xcf, 0x72, 0x31, 0xca .global data_ov61_0217b350 data_ov61_0217b350: ; 0x0217b350 .byte 0xa5, 0x1c, 0x72, 0xba .global data_ov61_0217b354 data_ov61_0217b354: ; 0x0217b354 .byte 0x5c, 0x02, 0xe7, 0x64 .global data_ov61_0217b358 data_ov61_0217b358: ; 0x0217b358 .byte 0x42, 0xe7, 0xf9, 0xa9 .global data_ov61_0217b35c data_ov61_0217b35c: ; 0x0217b35c .byte 0x2c, 0xd6, 0x3a, 0x0d .global data_ov61_0217b360 data_ov61_0217b360: ; 0x0217b360 .byte 0xac, 0x8d, 0x42, 0xaa .global data_ov61_0217b364 data_ov61_0217b364: ; 0x0217b364 .byte 0x24, 0x01, 0x39, 0xe6 .global data_ov61_0217b368 data_ov61_0217b368: ; 0x0217b368 .byte 0x9c, 0x3f, 0x01, 0x85 .global data_ov61_0217b36c data_ov61_0217b36c: ; 0x0217b36c .byte 0x57, 0x0d, 0x58, 0x87 .global data_ov61_0217b370 data_ov61_0217b370: ; 0x0217b370 .byte 0x45, 0xf8, 0xd3, 0x85 .global data_ov61_0217b374 data_ov61_0217b374: ; 0x0217b374 .byte 0xaa, 0x93, 0x69, 0x26 .global data_ov61_0217b378 data_ov61_0217b378: ; 0x0217b378 .byte 0x85, 0x70, 0x48, 0x80 .global data_ov61_0217b37c data_ov61_0217b37c: ; 0x0217b37c .byte 0x3f, 0x12, 0x15, 0xc7 .global data_ov61_0217b380 data_ov61_0217b380: ; 0x0217b380 .byte 0x79, 0xb4, 0x1f, 0x05 .global data_ov61_0217b384 data_ov61_0217b384: ; 0x0217b384 .byte 0x2f, 0x3b, 0x62, 0x99 .global data_ov61_0217b388 data_ov61_0217b388: ; 0x0217b388 .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b38c data_ov61_0217b38c: ; 0x0217b38c .word data_ov61_0217b3a0 .global data_ov61_0217b390 data_ov61_0217b390: ; 0x0217b390 .byte 0x80, 0x00, 0x00, 0x00 .global data_ov61_0217b394 data_ov61_0217b394: ; 0x0217b394 .word data_ov61_0217b3cc .global data_ov61_0217b398 data_ov61_0217b398: ; 0x0217b398 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b39c data_ov61_0217b39c: ; 0x0217b39c .word data_ov61_0217b388 .global data_ov61_0217b3a0 data_ov61_0217b3a0: ; 0x0217b3a0 .ascii "US, GTE Corporation, GTE CyberTrust Root" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217b3cc data_ov61_0217b3cc: ; 0x0217b3cc .byte 0xb8, 0xe6, 0x4f, 0xba .global data_ov61_0217b3d0 data_ov61_0217b3d0: ; 0x0217b3d0 .byte 0xdb, 0x98, 0x7c, 0x71 .global data_ov61_0217b3d4 data_ov61_0217b3d4: ; 0x0217b3d4 .byte 0x7c, 0xaf, 0x44, 0xb7 .global data_ov61_0217b3d8 data_ov61_0217b3d8: ; 0x0217b3d8 .byte 0xd3, 0x0f, 0x46, 0xd9 .global data_ov61_0217b3dc data_ov61_0217b3dc: ; 0x0217b3dc .byte 0x64, 0xe5, 0x93, 0xc1 .global data_ov61_0217b3e0 data_ov61_0217b3e0: ; 0x0217b3e0 .byte 0x42, 0x8e, 0xc7, 0xba .global data_ov61_0217b3e4 data_ov61_0217b3e4: ; 0x0217b3e4 .byte 0x49, 0x8d, 0x35, 0x2d .global data_ov61_0217b3e8 data_ov61_0217b3e8: ; 0x0217b3e8 .byte 0x7a, 0xe7, 0x8b, 0xbd .global data_ov61_0217b3ec data_ov61_0217b3ec: ; 0x0217b3ec .byte 0xe5, 0x05, 0x31, 0x59 .global data_ov61_0217b3f0 data_ov61_0217b3f0: ; 0x0217b3f0 .byte 0xc6, 0xb1, 0x2f, 0x0a .global data_ov61_0217b3f4 data_ov61_0217b3f4: ; 0x0217b3f4 .byte 0x0c, 0xfb, 0x9f, 0xa7 .global data_ov61_0217b3f8 data_ov61_0217b3f8: ; 0x0217b3f8 .byte 0x3f, 0xa2, 0x09, 0x66 .global data_ov61_0217b3fc data_ov61_0217b3fc: ; 0x0217b3fc .byte 0x84, 0x56, 0x1e, 0x37 .global data_ov61_0217b400 data_ov61_0217b400: ; 0x0217b400 .byte 0x29, 0x1b, 0x87, 0xe9 .global data_ov61_0217b404 data_ov61_0217b404: ; 0x0217b404 .byte 0x7e, 0x0c, 0xca, 0x9a .global data_ov61_0217b408 data_ov61_0217b408: ; 0x0217b408 .byte 0x9f, 0xa5, 0x7f, 0xf5 .global data_ov61_0217b40c data_ov61_0217b40c: ; 0x0217b40c .byte 0x15, 0x94, 0xa3, 0xd5 .global data_ov61_0217b410 data_ov61_0217b410: ; 0x0217b410 .byte 0xa2, 0x46, 0x82, 0xd8 .global data_ov61_0217b414 data_ov61_0217b414: ; 0x0217b414 .byte 0x68, 0x4c, 0xd1, 0x37 .global data_ov61_0217b418 data_ov61_0217b418: ; 0x0217b418 .byte 0x15, 0x06, 0x68, 0xaf .global data_ov61_0217b41c data_ov61_0217b41c: ; 0x0217b41c .byte 0xbd, 0xf8, 0xb0, 0xb3 .global data_ov61_0217b420 data_ov61_0217b420: ; 0x0217b420 .byte 0xf0, 0x29, 0xf5, 0x95 .global data_ov61_0217b424 data_ov61_0217b424: ; 0x0217b424 .byte 0x5a, 0x09, 0x16, 0x61 .global data_ov61_0217b428 data_ov61_0217b428: ; 0x0217b428 .byte 0x77, 0x0a, 0x22, 0x25 .global data_ov61_0217b42c data_ov61_0217b42c: ; 0x0217b42c .byte 0xd4, 0x4f, 0x45, 0xaa .global data_ov61_0217b430 data_ov61_0217b430: ; 0x0217b430 .byte 0xc7, 0xbd, 0xe5, 0x96 .global data_ov61_0217b434 data_ov61_0217b434: ; 0x0217b434 .byte 0xdf, 0xf9, 0xd4, 0xa8 .global data_ov61_0217b438 data_ov61_0217b438: ; 0x0217b438 .byte 0x8e, 0x42, 0xcc, 0x24 .global data_ov61_0217b43c data_ov61_0217b43c: ; 0x0217b43c .byte 0xc0, 0x1e, 0x91, 0x27 .global data_ov61_0217b440 data_ov61_0217b440: ; 0x0217b440 .byte 0x4a, 0xb5, 0x6d, 0x06 .global data_ov61_0217b444 data_ov61_0217b444: ; 0x0217b444 .byte 0x80, 0x63, 0x39, 0xc4 .global data_ov61_0217b448 data_ov61_0217b448: ; 0x0217b448 .byte 0xa2, 0x5e, 0x38, 0x03 .global data_ov61_0217b44c data_ov61_0217b44c: ; 0x0217b44c .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b450 data_ov61_0217b450: ; 0x0217b450 .word data_ov61_0217b464 .global data_ov61_0217b454 data_ov61_0217b454: ; 0x0217b454 .byte 0x80, 0x00, 0x00, 0x00 .global data_ov61_0217b458 data_ov61_0217b458: ; 0x0217b458 .word data_ov61_0217b4b4 .global data_ov61_0217b45c data_ov61_0217b45c: ; 0x0217b45c .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b460 data_ov61_0217b460: ; 0x0217b460 .word data_ov61_0217b44c .global data_ov61_0217b464 data_ov61_0217b464: ; 0x0217b464 .ascii "US, Washington, Nintendo of America Inc, NOA, Nintendo CA, ca@noa.nintendo.com" .byte 0x00, 0x00 .global data_ov61_0217b4b4 data_ov61_0217b4b4: ; 0x0217b4b4 .byte 0xb3, 0xcd, 0x79, 0x97 .global data_ov61_0217b4b8 data_ov61_0217b4b8: ; 0x0217b4b8 .byte 0x77, 0x5d, 0x8a, 0xaf .global data_ov61_0217b4bc data_ov61_0217b4bc: ; 0x0217b4bc .byte 0x86, 0xa8, 0xe8, 0xd7 .global data_ov61_0217b4c0 data_ov61_0217b4c0: ; 0x0217b4c0 .byte 0x73, 0x1c, 0x77, 0xdf .global data_ov61_0217b4c4 data_ov61_0217b4c4: ; 0x0217b4c4 .byte 0x10, 0x90, 0x1f, 0x81 .global data_ov61_0217b4c8 data_ov61_0217b4c8: ; 0x0217b4c8 .byte 0xf8, 0x41, 0x9e, 0x21 .global data_ov61_0217b4cc data_ov61_0217b4cc: ; 0x0217b4cc .byte 0x55, 0xdf, 0xbc, 0xfc .global data_ov61_0217b4d0 data_ov61_0217b4d0: ; 0x0217b4d0 .byte 0x63, 0xfb, 0x19, 0x43 .global data_ov61_0217b4d4 data_ov61_0217b4d4: ; 0x0217b4d4 .byte 0xf1, 0xf6, 0xc4, 0x72 .global data_ov61_0217b4d8 data_ov61_0217b4d8: ; 0x0217b4d8 .byte 0x42, 0x49, 0xbd, 0xad .global data_ov61_0217b4dc data_ov61_0217b4dc: ; 0x0217b4dc .byte 0x44, 0x68, 0x4e, 0xf3 .global data_ov61_0217b4e0 data_ov61_0217b4e0: ; 0x0217b4e0 .byte 0xda, 0x1d, 0xe6, 0x4d .global data_ov61_0217b4e4 data_ov61_0217b4e4: ; 0x0217b4e4 .byte 0xd8, 0xf9, 0x59, 0x88 .global data_ov61_0217b4e8 data_ov61_0217b4e8: ; 0x0217b4e8 .byte 0xdc, 0xae, 0x3e, 0x9b .global data_ov61_0217b4ec data_ov61_0217b4ec: ; 0x0217b4ec .byte 0x38, 0x09, 0xca, 0x7f .global data_ov61_0217b4f0 data_ov61_0217b4f0: ; 0x0217b4f0 .byte 0xff, 0xdc, 0x24, 0xa2 .global data_ov61_0217b4f4 data_ov61_0217b4f4: ; 0x0217b4f4 .byte 0x44, 0x78, 0x78, 0x49 .global data_ov61_0217b4f8 data_ov61_0217b4f8: ; 0x0217b4f8 .byte 0x93, 0xd4, 0x84, 0x40 .global data_ov61_0217b4fc data_ov61_0217b4fc: ; 0x0217b4fc .byte 0x10, 0xb8, 0xec, 0x3e .global data_ov61_0217b500 data_ov61_0217b500: ; 0x0217b500 .byte 0xdb, 0x2d, 0x93, 0xc8 .global data_ov61_0217b504 data_ov61_0217b504: ; 0x0217b504 .byte 0x11, 0xc8, 0xfd, 0x78 .global data_ov61_0217b508 data_ov61_0217b508: ; 0x0217b508 .byte 0x2d, 0x61, 0xad, 0x31 .global data_ov61_0217b50c data_ov61_0217b50c: ; 0x0217b50c .byte 0xae, 0x86, 0x26, 0xb0 .global data_ov61_0217b510 data_ov61_0217b510: ; 0x0217b510 .byte 0xfd, 0x5a, 0x3f, 0xa1 .global data_ov61_0217b514 data_ov61_0217b514: ; 0x0217b514 .byte 0x3d, 0xbf, 0xe2, 0x4b .global data_ov61_0217b518 data_ov61_0217b518: ; 0x0217b518 .byte 0x49, 0xec, 0xce, 0x66 .global data_ov61_0217b51c data_ov61_0217b51c: ; 0x0217b51c .byte 0x98, 0x58, 0x26, 0x12 .global data_ov61_0217b520 data_ov61_0217b520: ; 0x0217b520 .byte 0xc0, 0xfb, 0xf4, 0x77 .global data_ov61_0217b524 data_ov61_0217b524: ; 0x0217b524 .byte 0x65, 0x1b, 0xea, 0xfb .global data_ov61_0217b528 data_ov61_0217b528: ; 0x0217b528 .byte 0xcb, 0x7f, 0xe0, 0x8c .global data_ov61_0217b52c data_ov61_0217b52c: ; 0x0217b52c .byte 0xcb, 0x02, 0xa3, 0x4e .global data_ov61_0217b530 data_ov61_0217b530: ; 0x0217b530 .byte 0x5e, 0x8c, 0xea, 0x9b .global data_ov61_0217b534 data_ov61_0217b534: ; 0x0217b534 .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b538 data_ov61_0217b538: ; 0x0217b538 .word data_ov61_0217b5cc .global data_ov61_0217b53c data_ov61_0217b53c: ; 0x0217b53c .byte 0x80, 0x00, 0x00, 0x00 .global data_ov61_0217b540 data_ov61_0217b540: ; 0x0217b540 .word data_ov61_0217b54c .global data_ov61_0217b544 data_ov61_0217b544: ; 0x0217b544 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b548 data_ov61_0217b548: ; 0x0217b548 .word data_ov61_0217b534 .global data_ov61_0217b54c data_ov61_0217b54c: ; 0x0217b54c .byte 0xd2, 0x36, 0x36, 0x6a .global data_ov61_0217b550 data_ov61_0217b550: ; 0x0217b550 .byte 0x8b, 0xd7, 0xc2, 0x5b .global data_ov61_0217b554 data_ov61_0217b554: ; 0x0217b554 .byte 0x9e, 0xda, 0x81, 0x41 .global data_ov61_0217b558 data_ov61_0217b558: ; 0x0217b558 .byte 0x62, 0x8f, 0x38, 0xee .global data_ov61_0217b55c data_ov61_0217b55c: ; 0x0217b55c .byte 0x49, 0x04, 0x55, 0xd6 .global data_ov61_0217b560 data_ov61_0217b560: ; 0x0217b560 .byte 0xd0, 0xef, 0x1c, 0x1b .global data_ov61_0217b564 data_ov61_0217b564: ; 0x0217b564 .byte 0x95, 0x16, 0x47, 0xef .global data_ov61_0217b568 data_ov61_0217b568: ; 0x0217b568 .byte 0x18, 0x48, 0x35, 0x3a .global data_ov61_0217b56c data_ov61_0217b56c: ; 0x0217b56c .byte 0x52, 0xf4, 0x2b, 0x6a .global data_ov61_0217b570 data_ov61_0217b570: ; 0x0217b570 .byte 0x06, 0x8f, 0x3b, 0x2f .global data_ov61_0217b574 data_ov61_0217b574: ; 0x0217b574 .byte 0xea, 0x56, 0xe3, 0xaf .global data_ov61_0217b578 data_ov61_0217b578: ; 0x0217b578 .byte 0x86, 0x8d, 0x9e, 0x17 .global data_ov61_0217b57c data_ov61_0217b57c: ; 0x0217b57c .byte 0xf7, 0x9e, 0xb4, 0x65 .global data_ov61_0217b580 data_ov61_0217b580: ; 0x0217b580 .byte 0x75, 0x02, 0x4d, 0xef .global data_ov61_0217b584 data_ov61_0217b584: ; 0x0217b584 .byte 0xcb, 0x09, 0xa2, 0x21 .global data_ov61_0217b588 data_ov61_0217b588: ; 0x0217b588 .byte 0x51, 0xd8, 0x9b, 0xd0 .global data_ov61_0217b58c data_ov61_0217b58c: ; 0x0217b58c .byte 0x67, 0xd0, 0xba, 0x0d .global data_ov61_0217b590 data_ov61_0217b590: ; 0x0217b590 .byte 0x92, 0x06, 0x14, 0x73 .global data_ov61_0217b594 data_ov61_0217b594: ; 0x0217b594 .byte 0xd4, 0x93, 0xcb, 0x97 .global data_ov61_0217b598 data_ov61_0217b598: ; 0x0217b598 .byte 0x2a, 0x00, 0x9c, 0x5c .global data_ov61_0217b59c data_ov61_0217b59c: ; 0x0217b59c .byte 0x4e, 0x0c, 0xbc, 0xfa .global data_ov61_0217b5a0 data_ov61_0217b5a0: ; 0x0217b5a0 .byte 0x15, 0x52, 0xfc, 0xf2 .global data_ov61_0217b5a4 data_ov61_0217b5a4: ; 0x0217b5a4 .byte 0x44, 0x6e, 0xda, 0x11 .global data_ov61_0217b5a8 data_ov61_0217b5a8: ; 0x0217b5a8 .byte 0x4a, 0x6e, 0x08, 0x9f .global data_ov61_0217b5ac data_ov61_0217b5ac: ; 0x0217b5ac .byte 0x2f, 0x2d, 0xe3, 0xf9 .global data_ov61_0217b5b0 data_ov61_0217b5b0: ; 0x0217b5b0 .byte 0xaa, 0x3a, 0x86, 0x73 .global data_ov61_0217b5b4 data_ov61_0217b5b4: ; 0x0217b5b4 .byte 0xb6, 0x46, 0x53, 0x58 .global data_ov61_0217b5b8 data_ov61_0217b5b8: ; 0x0217b5b8 .byte 0xc8, 0x89, 0x05, 0xbd .global data_ov61_0217b5bc data_ov61_0217b5bc: ; 0x0217b5bc .byte 0x83, 0x11, 0xb8, 0x73 .global data_ov61_0217b5c0 data_ov61_0217b5c0: ; 0x0217b5c0 .byte 0x3f, 0xaa, 0x07, 0x8d .global data_ov61_0217b5c4 data_ov61_0217b5c4: ; 0x0217b5c4 .byte 0xf4, 0x42, 0x4d, 0xe7 .global data_ov61_0217b5c8 data_ov61_0217b5c8: ; 0x0217b5c8 .byte 0x40, 0x9d, 0x1c, 0x37 .global data_ov61_0217b5cc data_ov61_0217b5cc: ; 0x0217b5cc .ascii "ZA, Western Cape, Cape Town, Thawte Consulting cc, Certification Services Division, Thawte Premium Server CA, premium-server@thawte.com" .byte 0x00 .global data_ov61_0217b654 data_ov61_0217b654: ; 0x0217b654 .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b658 data_ov61_0217b658: ; 0x0217b658 .word data_ov61_0217b66c .global data_ov61_0217b65c data_ov61_0217b65c: ; 0x0217b65c .byte 0x80, 0x00, 0x00, 0x00 .global data_ov61_0217b660 data_ov61_0217b660: ; 0x0217b660 .word data_ov61_0217b6ec .global data_ov61_0217b664 data_ov61_0217b664: ; 0x0217b664 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b668 data_ov61_0217b668: ; 0x0217b668 .word data_ov61_0217b654 .global data_ov61_0217b66c data_ov61_0217b66c: ; 0x0217b66c .ascii "ZA, Western Cape, Cape Town, Thawte Consulting cc, Certification Services Division, Thawte Server CA, server-certs@thawte.com" .byte 0x00, 0x00, 0x00 .global data_ov61_0217b6ec data_ov61_0217b6ec: ; 0x0217b6ec .byte 0xd3, 0xa4, 0x50, 0x6e .global data_ov61_0217b6f0 data_ov61_0217b6f0: ; 0x0217b6f0 .byte 0xc8, 0xff, 0x56, 0x6b .global data_ov61_0217b6f4 data_ov61_0217b6f4: ; 0x0217b6f4 .byte 0xe6, 0xcf, 0x5d, 0xb6 .global data_ov61_0217b6f8 data_ov61_0217b6f8: ; 0x0217b6f8 .byte 0xea, 0x0c, 0x68, 0x75 .global data_ov61_0217b6fc data_ov61_0217b6fc: ; 0x0217b6fc .byte 0x47, 0xa2, 0xaa, 0xc2 .global data_ov61_0217b700 data_ov61_0217b700: ; 0x0217b700 .byte 0xda, 0x84, 0x25, 0xfc .global data_ov61_0217b704 data_ov61_0217b704: ; 0x0217b704 .byte 0xa8, 0xf4, 0x47, 0x51 .global data_ov61_0217b708 data_ov61_0217b708: ; 0x0217b708 .byte 0xda, 0x85, 0xb5, 0x20 .global data_ov61_0217b70c data_ov61_0217b70c: ; 0x0217b70c .byte 0x74, 0x94, 0x86, 0x1e .global data_ov61_0217b710 data_ov61_0217b710: ; 0x0217b710 .byte 0x0f, 0x75, 0xc9, 0xe9 .global data_ov61_0217b714 data_ov61_0217b714: ; 0x0217b714 .byte 0x08, 0x61, 0xf5, 0x06 .global data_ov61_0217b718 data_ov61_0217b718: ; 0x0217b718 .byte 0x6d, 0x30, 0x6e, 0x15 .global data_ov61_0217b71c data_ov61_0217b71c: ; 0x0217b71c .byte 0x19, 0x02, 0xe9, 0x52 .global data_ov61_0217b720 data_ov61_0217b720: ; 0x0217b720 .byte 0xc0, 0x62, 0xdb, 0x4d .global data_ov61_0217b724 data_ov61_0217b724: ; 0x0217b724 .byte 0x99, 0x9e, 0xe2, 0x6a .global data_ov61_0217b728 data_ov61_0217b728: ; 0x0217b728 .byte 0x0c, 0x44, 0x38, 0xcd .global data_ov61_0217b72c data_ov61_0217b72c: ; 0x0217b72c .byte 0xfe, 0xbe, 0xe3, 0x64 .global data_ov61_0217b730 data_ov61_0217b730: ; 0x0217b730 .byte 0x09, 0x70, 0xc5, 0xfe .global data_ov61_0217b734 data_ov61_0217b734: ; 0x0217b734 .byte 0xb1, 0x6b, 0x29, 0xb6 .global data_ov61_0217b738 data_ov61_0217b738: ; 0x0217b738 .byte 0x2f, 0x49, 0xc8, 0x3b .global data_ov61_0217b73c data_ov61_0217b73c: ; 0x0217b73c .byte 0xd4, 0x27, 0x04, 0x25 .global data_ov61_0217b740 data_ov61_0217b740: ; 0x0217b740 .byte 0x10, 0x97, 0x2f, 0xe7 .global data_ov61_0217b744 data_ov61_0217b744: ; 0x0217b744 .byte 0x90, 0x6d, 0xc0, 0x28 .global data_ov61_0217b748 data_ov61_0217b748: ; 0x0217b748 .byte 0x42, 0x99, 0xd7, 0x4c .global data_ov61_0217b74c data_ov61_0217b74c: ; 0x0217b74c .byte 0x43, 0xde, 0xc3, 0xf5 .global data_ov61_0217b750 data_ov61_0217b750: ; 0x0217b750 .byte 0x21, 0x6d, 0x54, 0x9f .global data_ov61_0217b754 data_ov61_0217b754: ; 0x0217b754 .byte 0x5d, 0xc3, 0x58, 0xe1 .global data_ov61_0217b758 data_ov61_0217b758: ; 0x0217b758 .byte 0xc0, 0xe4, 0xd9, 0x5b .global data_ov61_0217b75c data_ov61_0217b75c: ; 0x0217b75c .byte 0xb0, 0xb8, 0xdc, 0xb4 .global data_ov61_0217b760 data_ov61_0217b760: ; 0x0217b760 .byte 0x7b, 0xdf, 0x36, 0x3a .global data_ov61_0217b764 data_ov61_0217b764: ; 0x0217b764 .byte 0xc2, 0xb5, 0x66, 0x22 .global data_ov61_0217b768 data_ov61_0217b768: ; 0x0217b768 .byte 0x12, 0xd6, 0x87, 0x0d .global data_ov61_0217b76c data_ov61_0217b76c: ; 0x0217b76c .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b770 data_ov61_0217b770: ; 0x0217b770 .word data_ov61_0217b804 .global data_ov61_0217b774 data_ov61_0217b774: ; 0x0217b774 .byte 0x80, 0x00, 0x00, 0x00 .global data_ov61_0217b778 data_ov61_0217b778: ; 0x0217b778 .word data_ov61_0217b784 .global data_ov61_0217b77c data_ov61_0217b77c: ; 0x0217b77c .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b780 data_ov61_0217b780: ; 0x0217b780 .word data_ov61_0217b76c .global data_ov61_0217b784 data_ov61_0217b784: ; 0x0217b784 .byte 0xcc, 0x5e, 0xd1, 0x11 .global data_ov61_0217b788 data_ov61_0217b788: ; 0x0217b788 .byte 0x5d, 0x5c, 0x69, 0xd0 .global data_ov61_0217b78c data_ov61_0217b78c: ; 0x0217b78c .byte 0xab, 0xd3, 0xb9, 0x6a .global data_ov61_0217b790 data_ov61_0217b790: ; 0x0217b790 .byte 0x4c, 0x99, 0x1f, 0x59 .global data_ov61_0217b794 data_ov61_0217b794: ; 0x0217b794 .byte 0x98, 0x30, 0x8e, 0x16 .global data_ov61_0217b798 data_ov61_0217b798: ; 0x0217b798 .byte 0x85, 0x20, 0x46, 0x6d .global data_ov61_0217b79c data_ov61_0217b79c: ; 0x0217b79c .byte 0x47, 0x3f, 0xd4, 0x85 .global data_ov61_0217b7a0 data_ov61_0217b7a0: ; 0x0217b7a0 .byte 0x20, 0x84, 0xe1, 0x6d .global data_ov61_0217b7a4 data_ov61_0217b7a4: ; 0x0217b7a4 .byte 0xb3, 0xf8, 0xa4, 0xed .global data_ov61_0217b7a8 data_ov61_0217b7a8: ; 0x0217b7a8 .byte 0x0c, 0xf1, 0x17, 0x0f .global data_ov61_0217b7ac data_ov61_0217b7ac: ; 0x0217b7ac .byte 0x3b, 0xf9, 0xa7, 0xf9 .global data_ov61_0217b7b0 data_ov61_0217b7b0: ; 0x0217b7b0 .byte 0x25, 0xd7, 0xc1, 0xcf .global data_ov61_0217b7b4 data_ov61_0217b7b4: ; 0x0217b7b4 .byte 0x84, 0x63, 0xf2, 0x7c .global data_ov61_0217b7b8 data_ov61_0217b7b8: ; 0x0217b7b8 .byte 0x63, 0xcf, 0xa2, 0x47 .global data_ov61_0217b7bc data_ov61_0217b7bc: ; 0x0217b7bc .byte 0xf2, 0xc6, 0x5b, 0x33 .global data_ov61_0217b7c0 data_ov61_0217b7c0: ; 0x0217b7c0 .byte 0x8e, 0x64, 0x40, 0x04 .global data_ov61_0217b7c4 data_ov61_0217b7c4: ; 0x0217b7c4 .byte 0x68, 0xc1, 0x80, 0xb9 .global data_ov61_0217b7c8 data_ov61_0217b7c8: ; 0x0217b7c8 .byte 0x64, 0x1c, 0x45, 0x77 .global data_ov61_0217b7cc data_ov61_0217b7cc: ; 0x0217b7cc .byte 0xc7, 0xd8, 0x6e, 0xf5 .global data_ov61_0217b7d0 data_ov61_0217b7d0: ; 0x0217b7d0 .byte 0x95, 0x29, 0x3c, 0x50 .global data_ov61_0217b7d4 data_ov61_0217b7d4: ; 0x0217b7d4 .byte 0xe8, 0x34, 0xd7, 0x78 .global data_ov61_0217b7d8 data_ov61_0217b7d8: ; 0x0217b7d8 .byte 0x1f, 0xa8, 0xba, 0x6d .global data_ov61_0217b7dc data_ov61_0217b7dc: ; 0x0217b7dc .byte 0x43, 0x91, 0x95, 0x8f .global data_ov61_0217b7e0 data_ov61_0217b7e0: ; 0x0217b7e0 .byte 0x45, 0x57, 0x5e, 0x7e .global data_ov61_0217b7e4 data_ov61_0217b7e4: ; 0x0217b7e4 .byte 0xc5, 0xfb, 0xca, 0xa4 .global data_ov61_0217b7e8 data_ov61_0217b7e8: ; 0x0217b7e8 .byte 0x04, 0xeb, 0xea, 0x97 .global data_ov61_0217b7ec data_ov61_0217b7ec: ; 0x0217b7ec .byte 0x37, 0x54, 0x30, 0x6f .global data_ov61_0217b7f0 data_ov61_0217b7f0: ; 0x0217b7f0 .byte 0xbb, 0x01, 0x47, 0x32 .global data_ov61_0217b7f4 data_ov61_0217b7f4: ; 0x0217b7f4 .byte 0x33, 0xcd, 0xdc, 0x57 .global data_ov61_0217b7f8 data_ov61_0217b7f8: ; 0x0217b7f8 .byte 0x9b, 0x64, 0x69, 0x61 .global data_ov61_0217b7fc data_ov61_0217b7fc: ; 0x0217b7fc .byte 0xf8, 0x9b, 0x1d, 0x1c .global data_ov61_0217b800 data_ov61_0217b800: ; 0x0217b800 .byte 0x89, 0x4f, 0x5c, 0x67 .global data_ov61_0217b804 data_ov61_0217b804: ; 0x0217b804 .ascii "US, VeriSign, Inc., Class 3 Public Primary Certification Authority - G2, (c) 1998 VeriSign, Inc. - For authorized use only, VeriSign Trust Network" .byte 0x00, 0x00 .global data_ov61_0217b898 data_ov61_0217b898: ; 0x0217b898 .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217b89c data_ov61_0217b89c: ; 0x0217b89c .word data_ov61_0217b8b0 .global data_ov61_0217b8a0 data_ov61_0217b8a0: ; 0x0217b8a0 .byte 0x00, 0x01, 0x00, 0x00 .global data_ov61_0217b8a4 data_ov61_0217b8a4: ; 0x0217b8a4 .word data_ov61_0217b94c .global data_ov61_0217b8a8 data_ov61_0217b8a8: ; 0x0217b8a8 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217b8ac data_ov61_0217b8ac: ; 0x0217b8ac .word data_ov61_0217b898 .global data_ov61_0217b8b0 data_ov61_0217b8b0: ; 0x0217b8b0 .ascii "US, VeriSign, Inc., VeriSign Trust Network, (c) 1999 VeriSign, Inc. - For authorized use only, VeriSign Class 3 Public Primary Certification Authority - G3" .byte 0x00 .global data_ov61_0217b94c data_ov61_0217b94c: ; 0x0217b94c .byte 0xcb, 0xba, 0x9c, 0x52 .global data_ov61_0217b950 data_ov61_0217b950: ; 0x0217b950 .byte 0xfc, 0x78, 0x1f, 0x1a .global data_ov61_0217b954 data_ov61_0217b954: ; 0x0217b954 .byte 0x1e, 0x6f, 0x1b, 0x37 .global data_ov61_0217b958 data_ov61_0217b958: ; 0x0217b958 .byte 0x73, 0xbd, 0xf8, 0xc9 .global data_ov61_0217b95c data_ov61_0217b95c: ; 0x0217b95c .byte 0x6b, 0x94, 0x12, 0x30 .global data_ov61_0217b960 data_ov61_0217b960: ; 0x0217b960 .byte 0x4f, 0xf0, 0x36, 0x47 .global data_ov61_0217b964 data_ov61_0217b964: ; 0x0217b964 .byte 0xf5, 0xd0, 0x91, 0x0a .global data_ov61_0217b968 data_ov61_0217b968: ; 0x0217b968 .byte 0xf5, 0x17, 0xc8, 0xa5 .global data_ov61_0217b96c data_ov61_0217b96c: ; 0x0217b96c .byte 0x61, 0xc1, 0x16, 0x40 .global data_ov61_0217b970 data_ov61_0217b970: ; 0x0217b970 .byte 0x4d, 0xfb, 0x8a, 0x61 .global data_ov61_0217b974 data_ov61_0217b974: ; 0x0217b974 .byte 0x90, 0xe5, 0x76, 0x20 .global data_ov61_0217b978 data_ov61_0217b978: ; 0x0217b978 .byte 0xc1, 0x11, 0x06, 0x7d .global data_ov61_0217b97c data_ov61_0217b97c: ; 0x0217b97c .byte 0xab, 0x2c, 0x6e, 0xa6 .global data_ov61_0217b980 data_ov61_0217b980: ; 0x0217b980 .byte 0xf5, 0x11, 0x41, 0x8e .global data_ov61_0217b984 data_ov61_0217b984: ; 0x0217b984 .byte 0xfa, 0x2d, 0xad, 0x2a .global data_ov61_0217b988 data_ov61_0217b988: ; 0x0217b988 .byte 0x61, 0x59, 0xa4, 0x67 .global data_ov61_0217b98c data_ov61_0217b98c: ; 0x0217b98c .byte 0x26, 0x4c, 0xd0, 0xe8 .global data_ov61_0217b990 data_ov61_0217b990: ; 0x0217b990 .byte 0xbc, 0x52, 0x5b, 0x70 .global data_ov61_0217b994 data_ov61_0217b994: ; 0x0217b994 .byte 0x20, 0x04, 0x58, 0xd1 .global data_ov61_0217b998 data_ov61_0217b998: ; 0x0217b998 .byte 0x7a, 0xc9, 0xa4, 0x69 .global data_ov61_0217b99c data_ov61_0217b99c: ; 0x0217b99c .byte 0xbc, 0x83, 0x17, 0x64 .global data_ov61_0217b9a0 data_ov61_0217b9a0: ; 0x0217b9a0 .byte 0xad, 0x05, 0x8b, 0xbc .global data_ov61_0217b9a4 data_ov61_0217b9a4: ; 0x0217b9a4 .byte 0xd0, 0x58, 0xce, 0x8d .global data_ov61_0217b9a8 data_ov61_0217b9a8: ; 0x0217b9a8 .byte 0x8c, 0xf5, 0xeb, 0xf0 .global data_ov61_0217b9ac data_ov61_0217b9ac: ; 0x0217b9ac .byte 0x42, 0x49, 0x0b, 0x9d .global data_ov61_0217b9b0 data_ov61_0217b9b0: ; 0x0217b9b0 .byte 0x97, 0x27, 0x67, 0x32 .global data_ov61_0217b9b4 data_ov61_0217b9b4: ; 0x0217b9b4 .byte 0x6e, 0xe1, 0xae, 0x93 .global data_ov61_0217b9b8 data_ov61_0217b9b8: ; 0x0217b9b8 .byte 0x15, 0x1c, 0x70, 0xbc .global data_ov61_0217b9bc data_ov61_0217b9bc: ; 0x0217b9bc .byte 0x20, 0x4d, 0x2f, 0x18 .global data_ov61_0217b9c0 data_ov61_0217b9c0: ; 0x0217b9c0 .byte 0xde, 0x92, 0x88, 0xe8 .global data_ov61_0217b9c4 data_ov61_0217b9c4: ; 0x0217b9c4 .byte 0x6c, 0x85, 0x57, 0x11 .global data_ov61_0217b9c8 data_ov61_0217b9c8: ; 0x0217b9c8 .byte 0x1a, 0xe9, 0x7e, 0xe3 .global data_ov61_0217b9cc data_ov61_0217b9cc: ; 0x0217b9cc .byte 0x26, 0x11, 0x54, 0xa2 .global data_ov61_0217b9d0 data_ov61_0217b9d0: ; 0x0217b9d0 .byte 0x45, 0x96, 0x55, 0x83 .global data_ov61_0217b9d4 data_ov61_0217b9d4: ; 0x0217b9d4 .byte 0xca, 0x30, 0x89, 0xe8 .global data_ov61_0217b9d8 data_ov61_0217b9d8: ; 0x0217b9d8 .byte 0xdc, 0xd8, 0xa3, 0xed .global data_ov61_0217b9dc data_ov61_0217b9dc: ; 0x0217b9dc .byte 0x2a, 0x80, 0x3f, 0x7f .global data_ov61_0217b9e0 data_ov61_0217b9e0: ; 0x0217b9e0 .byte 0x79, 0x65, 0x57, 0x3e .global data_ov61_0217b9e4 data_ov61_0217b9e4: ; 0x0217b9e4 .byte 0x15, 0x20, 0x66, 0x08 .global data_ov61_0217b9e8 data_ov61_0217b9e8: ; 0x0217b9e8 .byte 0x2f, 0x95, 0x93, 0xbf .global data_ov61_0217b9ec data_ov61_0217b9ec: ; 0x0217b9ec .byte 0xaa, 0x47, 0x2f, 0xa8 .global data_ov61_0217b9f0 data_ov61_0217b9f0: ; 0x0217b9f0 .byte 0x46, 0x97, 0xf0, 0x12 .global data_ov61_0217b9f4 data_ov61_0217b9f4: ; 0x0217b9f4 .byte 0xe2, 0xfe, 0xc2, 0x0a .global data_ov61_0217b9f8 data_ov61_0217b9f8: ; 0x0217b9f8 .byte 0x2b, 0x51, 0xe6, 0x76 .global data_ov61_0217b9fc data_ov61_0217b9fc: ; 0x0217b9fc .byte 0xe6, 0xb7, 0x46, 0xb7 .global data_ov61_0217ba00 data_ov61_0217ba00: ; 0x0217ba00 .byte 0xe2, 0x0d, 0xa6, 0xcc .global data_ov61_0217ba04 data_ov61_0217ba04: ; 0x0217ba04 .byte 0xa8, 0xc3, 0x4c, 0x59 .global data_ov61_0217ba08 data_ov61_0217ba08: ; 0x0217ba08 .byte 0x55, 0x89, 0xe6, 0xe8 .global data_ov61_0217ba0c data_ov61_0217ba0c: ; 0x0217ba0c .byte 0x53, 0x5c, 0x1c, 0xea .global data_ov61_0217ba10 data_ov61_0217ba10: ; 0x0217ba10 .byte 0x9d, 0xf0, 0x62, 0x16 .global data_ov61_0217ba14 data_ov61_0217ba14: ; 0x0217ba14 .byte 0x0b, 0xa7, 0xc9, 0x5f .global data_ov61_0217ba18 data_ov61_0217ba18: ; 0x0217ba18 .byte 0x0c, 0xf0, 0xde, 0xc2 .global data_ov61_0217ba1c data_ov61_0217ba1c: ; 0x0217ba1c .byte 0x76, 0xce, 0xaf, 0xf7 .global data_ov61_0217ba20 data_ov61_0217ba20: ; 0x0217ba20 .byte 0x6a, 0xf2, 0xfa, 0x41 .global data_ov61_0217ba24 data_ov61_0217ba24: ; 0x0217ba24 .byte 0xa6, 0xa2, 0x33, 0x14 .global data_ov61_0217ba28 data_ov61_0217ba28: ; 0x0217ba28 .byte 0xc9, 0xe5, 0x7a, 0x63 .global data_ov61_0217ba2c data_ov61_0217ba2c: ; 0x0217ba2c .byte 0xd3, 0x9e, 0x62, 0x37 .global data_ov61_0217ba30 data_ov61_0217ba30: ; 0x0217ba30 .byte 0xd5, 0x85, 0x65, 0x9e .global data_ov61_0217ba34 data_ov61_0217ba34: ; 0x0217ba34 .byte 0x0e, 0xe6, 0x53, 0x24 .global data_ov61_0217ba38 data_ov61_0217ba38: ; 0x0217ba38 .byte 0x74, 0x1b, 0x5e, 0x1d .global data_ov61_0217ba3c data_ov61_0217ba3c: ; 0x0217ba3c .byte 0x12, 0x53, 0x5b, 0xc7 .global data_ov61_0217ba40 data_ov61_0217ba40: ; 0x0217ba40 .byte 0x2c, 0xe7, 0x83, 0x49 .global data_ov61_0217ba44 data_ov61_0217ba44: ; 0x0217ba44 .byte 0x3b, 0x15, 0xae, 0x8a .global data_ov61_0217ba48 data_ov61_0217ba48: ; 0x0217ba48 .byte 0x68, 0xb9, 0x57, 0x97 .global data_ov61_0217ba4c data_ov61_0217ba4c: ; 0x0217ba4c .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217ba50 data_ov61_0217ba50: ; 0x0217ba50 .word data_ov61_0217ba64 .global data_ov61_0217ba54 data_ov61_0217ba54: ; 0x0217ba54 .byte 0x80, 0x00, 0x00, 0x00 .global data_ov61_0217ba58 data_ov61_0217ba58: ; 0x0217ba58 .word data_ov61_0217baa8 .global data_ov61_0217ba5c data_ov61_0217ba5c: ; 0x0217ba5c .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217ba60 data_ov61_0217ba60: ; 0x0217ba60 .word data_ov61_0217ba4c .global data_ov61_0217ba64 data_ov61_0217ba64: ; 0x0217ba64 .ascii "US, VeriSign, Inc., Class 3 Public Primary Certification Authority" .byte 0x00, 0x00 .global data_ov61_0217baa8 data_ov61_0217baa8: ; 0x0217baa8 .byte 0xc9, 0x5c, 0x59, 0x9e .global data_ov61_0217baac data_ov61_0217baac: ; 0x0217baac .byte 0xf2, 0x1b, 0x8a, 0x01 .global data_ov61_0217bab0 data_ov61_0217bab0: ; 0x0217bab0 .byte 0x14, 0xb4, 0x10, 0xdf .global data_ov61_0217bab4 data_ov61_0217bab4: ; 0x0217bab4 .byte 0x04, 0x40, 0xdb, 0xe3 .global data_ov61_0217bab8 data_ov61_0217bab8: ; 0x0217bab8 .byte 0x57, 0xaf, 0x6a, 0x45 .global data_ov61_0217babc data_ov61_0217babc: ; 0x0217babc .byte 0x40, 0x8f, 0x84, 0x0c .global data_ov61_0217bac0 data_ov61_0217bac0: ; 0x0217bac0 .byte 0x0b, 0xd1, 0x33, 0xd9 .global data_ov61_0217bac4 data_ov61_0217bac4: ; 0x0217bac4 .byte 0xd9, 0x11, 0xcf, 0xee .global data_ov61_0217bac8 data_ov61_0217bac8: ; 0x0217bac8 .byte 0x02, 0x58, 0x1f, 0x25 .global data_ov61_0217bacc data_ov61_0217bacc: ; 0x0217bacc .byte 0xf7, 0x2a, 0xa8, 0x44 .global data_ov61_0217bad0 data_ov61_0217bad0: ; 0x0217bad0 .byte 0x05, 0xaa, 0xec, 0x03 .global data_ov61_0217bad4 data_ov61_0217bad4: ; 0x0217bad4 .byte 0x1f, 0x78, 0x7f, 0x9e .global data_ov61_0217bad8 data_ov61_0217bad8: ; 0x0217bad8 .byte 0x93, 0xb9, 0x9a, 0x00 .global data_ov61_0217badc data_ov61_0217badc: ; 0x0217badc .byte 0xaa, 0x23, 0x7d, 0xd6 .global data_ov61_0217bae0 data_ov61_0217bae0: ; 0x0217bae0 .byte 0xac, 0x85, 0xa2, 0x63 .global data_ov61_0217bae4 data_ov61_0217bae4: ; 0x0217bae4 .byte 0x45, 0xc7, 0x72, 0x27 .global data_ov61_0217bae8 data_ov61_0217bae8: ; 0x0217bae8 .byte 0xcc, 0xf4, 0x4c, 0xc6 .global data_ov61_0217baec data_ov61_0217baec: ; 0x0217baec .byte 0x75, 0x71, 0xd2, 0x39 .global data_ov61_0217baf0 data_ov61_0217baf0: ; 0x0217baf0 .byte 0xef, 0x4f, 0x42, 0xf0 .global data_ov61_0217baf4 data_ov61_0217baf4: ; 0x0217baf4 .byte 0x75, 0xdf, 0x0a, 0x90 .global data_ov61_0217baf8 data_ov61_0217baf8: ; 0x0217baf8 .byte 0xc6, 0x8e, 0x20, 0x6f .global data_ov61_0217bafc data_ov61_0217bafc: ; 0x0217bafc .byte 0x98, 0x0f, 0xf8, 0xac .global data_ov61_0217bb00 data_ov61_0217bb00: ; 0x0217bb00 .byte 0x23, 0x5f, 0x70, 0x29 .global data_ov61_0217bb04 data_ov61_0217bb04: ; 0x0217bb04 .byte 0x36, 0xa4, 0xc9, 0x86 .global data_ov61_0217bb08 data_ov61_0217bb08: ; 0x0217bb08 .byte 0xe7, 0xb1, 0x9a, 0x20 .global data_ov61_0217bb0c data_ov61_0217bb0c: ; 0x0217bb0c .byte 0xcb, 0x53, 0xa5, 0x85 .global data_ov61_0217bb10 data_ov61_0217bb10: ; 0x0217bb10 .byte 0xe7, 0x3d, 0xbe, 0x7d .global data_ov61_0217bb14 data_ov61_0217bb14: ; 0x0217bb14 .byte 0x9a, 0xfe, 0x24, 0x45 .global data_ov61_0217bb18 data_ov61_0217bb18: ; 0x0217bb18 .byte 0x33, 0xdc, 0x76, 0x15 .global data_ov61_0217bb1c data_ov61_0217bb1c: ; 0x0217bb1c .byte 0xed, 0x0f, 0xa2, 0x71 .global data_ov61_0217bb20 data_ov61_0217bb20: ; 0x0217bb20 .byte 0x64, 0x4c, 0x65, 0x2e .global data_ov61_0217bb24 data_ov61_0217bb24: ; 0x0217bb24 .byte 0x81, 0x68, 0x45, 0xa7 .global data_ov61_0217bb28 data_ov61_0217bb28: ; 0x0217bb28 .byte 0x01, 0x00, 0x01, 0x00 .global data_ov61_0217bb2c data_ov61_0217bb2c: ; 0x0217bb2c .word data_ov61_0217bb40 .global data_ov61_0217bb30 data_ov61_0217bb30: ; 0x0217bb30 .byte 0x7d, 0x00, 0x00, 0x00 .global data_ov61_0217bb34 data_ov61_0217bb34: ; 0x0217bb34 .word data_ov61_0217bb84 .global data_ov61_0217bb38 data_ov61_0217bb38: ; 0x0217bb38 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov61_0217bb3c data_ov61_0217bb3c: ; 0x0217bb3c .word data_ov61_0217bb28 .global data_ov61_0217bb40 data_ov61_0217bb40: ; 0x0217bb40 .ascii "US, RSA Data Security, Inc., Secure Server Certification Authority" .byte 0x00, 0x00 .global data_ov61_0217bb84 data_ov61_0217bb84: ; 0x0217bb84 .byte 0x92, 0xce, 0x7a, 0xc1 .global data_ov61_0217bb88 data_ov61_0217bb88: ; 0x0217bb88 .byte 0xae, 0x83, 0x3e, 0x5a .global data_ov61_0217bb8c data_ov61_0217bb8c: ; 0x0217bb8c .byte 0xaa, 0x89, 0x83, 0x57 .global data_ov61_0217bb90 data_ov61_0217bb90: ; 0x0217bb90 .byte 0xac, 0x25, 0x01, 0x76 .global data_ov61_0217bb94 data_ov61_0217bb94: ; 0x0217bb94 .byte 0x0c, 0xad, 0xae, 0x8e .global data_ov61_0217bb98 data_ov61_0217bb98: ; 0x0217bb98 .byte 0x2c, 0x37, 0xce, 0xeb .global data_ov61_0217bb9c data_ov61_0217bb9c: ; 0x0217bb9c .byte 0x35, 0x78, 0x64, 0x54 .global data_ov61_0217bba0 data_ov61_0217bba0: ; 0x0217bba0 .byte 0x03, 0xe5, 0x84, 0x40 .global data_ov61_0217bba4 data_ov61_0217bba4: ; 0x0217bba4 .byte 0x51, 0xc9, 0xbf, 0x8f .global data_ov61_0217bba8 data_ov61_0217bba8: ; 0x0217bba8 .byte 0x08, 0xe2, 0x8a, 0x82 .global data_ov61_0217bbac data_ov61_0217bbac: ; 0x0217bbac .byte 0x08, 0xd2, 0x16, 0x86 .global data_ov61_0217bbb0 data_ov61_0217bbb0: ; 0x0217bbb0 .byte 0x37, 0x55, 0xe9, 0xb1 .global data_ov61_0217bbb4 data_ov61_0217bbb4: ; 0x0217bbb4 .byte 0x21, 0x02, 0xad, 0x76 .global data_ov61_0217bbb8 data_ov61_0217bbb8: ; 0x0217bbb8 .byte 0x68, 0x81, 0x9a, 0x05 .global data_ov61_0217bbbc data_ov61_0217bbbc: ; 0x0217bbbc .byte 0xa2, 0x4b, 0xc9, 0x4b .global data_ov61_0217bbc0 data_ov61_0217bbc0: ; 0x0217bbc0 .byte 0x25, 0x66, 0x22, 0x56 .global data_ov61_0217bbc4 data_ov61_0217bbc4: ; 0x0217bbc4 .byte 0x6c, 0x88, 0x07, 0x8f .global data_ov61_0217bbc8 data_ov61_0217bbc8: ; 0x0217bbc8 .byte 0xf7, 0x81, 0x59, 0x6d .global data_ov61_0217bbcc data_ov61_0217bbcc: ; 0x0217bbcc .byte 0x84, 0x07, 0x65, 0x70 .global data_ov61_0217bbd0 data_ov61_0217bbd0: ; 0x0217bbd0 .byte 0x13, 0x71, 0x76, 0x3e .global data_ov61_0217bbd4 data_ov61_0217bbd4: ; 0x0217bbd4 .byte 0x9b, 0x77, 0x4c, 0xe3 .global data_ov61_0217bbd8 data_ov61_0217bbd8: ; 0x0217bbd8 .byte 0x50, 0x89, 0x56, 0x98 .global data_ov61_0217bbdc data_ov61_0217bbdc: ; 0x0217bbdc .byte 0x48, 0xb9, 0x1d, 0xa7 .global data_ov61_0217bbe0 data_ov61_0217bbe0: ; 0x0217bbe0 .byte 0x29, 0x1a, 0x13, 0x2e .global data_ov61_0217bbe4 data_ov61_0217bbe4: ; 0x0217bbe4 .byte 0x4a, 0x11, 0x59, 0x9c .global data_ov61_0217bbe8 data_ov61_0217bbe8: ; 0x0217bbe8 .byte 0x1e, 0x15, 0xd5, 0x49 .global data_ov61_0217bbec data_ov61_0217bbec: ; 0x0217bbec .byte 0x54, 0x2c, 0x73, 0x3a .global data_ov61_0217bbf0 data_ov61_0217bbf0: ; 0x0217bbf0 .byte 0x69, 0x82, 0xb1, 0x97 .global data_ov61_0217bbf4 data_ov61_0217bbf4: ; 0x0217bbf4 .byte 0x39, 0x9c, 0x6d, 0x70 .global data_ov61_0217bbf8 data_ov61_0217bbf8: ; 0x0217bbf8 .byte 0x67, 0x48, 0xe5, 0xdd .global data_ov61_0217bbfc data_ov61_0217bbfc: ; 0x0217bbfc .byte 0x2d, 0xd6, 0xc8, 0x1e .global data_ov61_0217bc00 data_ov61_0217bc00: ; 0x0217bc00 .byte 0x7b, 0x00, 0x00, 0x00 .global data_ov61_0217bc04 data_ov61_0217bc04: ; 0x0217bc04 .byte 0x10, 0x00, 0x00, 0x00 .global data_ov61_0217bc08 data_ov61_0217bc08: ; 0x0217bc08 .byte 0xff, 0xff .global data_ov61_0217bc0a data_ov61_0217bc0a: ; 0x0217bc0a .byte 0xff, 0xff .global data_ov61_0217bc0c data_ov61_0217bc0c: ; 0x0217bc0c .byte 0xff, 0xff .global data_ov61_0217bc0e data_ov61_0217bc0e: ; 0x0217bc0e .byte 0x00, 0x00 .global data_ov61_0217bc10 data_ov61_0217bc10: ; 0x0217bc10 .byte 0xaa, 0xaa .global data_ov61_0217bc12 data_ov61_0217bc12: ; 0x0217bc12 .byte 0x03, 0x00 .global data_ov61_0217bc14 data_ov61_0217bc14: ; 0x0217bc14 .byte 0x00, 0x00 .global data_ov61_0217bc16 data_ov61_0217bc16: ; 0x0217bc16 .byte 0x08, 0x00 .global data_ov61_0217bc18 data_ov61_0217bc18: ; 0x0217bc18 .byte 0x00, 0x00 .global data_ov61_0217bc1a data_ov61_0217bc1a: ; 0x0217bc1a .byte 0x00, 0x00 .global data_ov61_0217bc1c data_ov61_0217bc1c: ; 0x0217bc1c .ascii "NintendoDS" .byte 0x00, 0x00 .global data_ov61_0217bc28 data_ov61_0217bc28: ; 0x0217bc28 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bc2c data_ov61_0217bc2c: ; 0x0217bc2c .byte 0xe6, 0xff, 0xff, 0xff .global data_ov61_0217bc30 data_ov61_0217bc30: ; 0x0217bc30 .byte 0x01, 0x01 .global data_ov61_0217bc32 data_ov61_0217bc32: ; 0x0217bc32 .byte 0xc0, 0x05 .global data_ov61_0217bc34 data_ov61_0217bc34: ; 0x0217bc34 .byte 0x01, 0x00 .global data_ov61_0217bc36 data_ov61_0217bc36: ; 0x0217bc36 .byte 0x00, 0x00 .global data_ov61_0217bc38 data_ov61_0217bc38: ; 0x0217bc38 .byte 0x00, 0x00 .global data_ov61_0217bc3a data_ov61_0217bc3a: ; 0x0217bc3a .byte 0x00, 0x00 .global data_ov61_0217bc3c data_ov61_0217bc3c: ; 0x0217bc3c .byte 0x00, 0x00 .global data_ov61_0217bc3e data_ov61_0217bc3e: ; 0x0217bc3e .byte 0x00, 0x08 .global data_ov61_0217bc40 data_ov61_0217bc40: ; 0x0217bc40 .byte 0x00, 0x08 .global data_ov61_0217bc42 data_ov61_0217bc42: ; 0x0217bc42 .byte 0x0c, 0x20 .global data_ov61_0217bc44 data_ov61_0217bc44: ; 0x0217bc44 .byte 0x00, 0x00 .global data_ov61_0217bc46 data_ov61_0217bc46: ; 0x0217bc46 .byte 0x00, 0x00 .global data_ov61_0217bc48 data_ov61_0217bc48: ; 0x0217bc48 .byte 0x00, 0x01 .global data_ov61_0217bc4a data_ov61_0217bc4a: ; 0x0217bc4a .byte 0x00, 0x00 .global data_ov61_0217bc4c data_ov61_0217bc4c: ; 0x0217bc4c .byte 0x00, 0x00 .global data_ov61_0217bc4e data_ov61_0217bc4e: ; 0x0217bc4e .byte 0x66, 0x04 .global data_ov61_0217bc50 data_ov61_0217bc50: ; 0x0217bc50 .byte 0x00, 0x00 .global data_ov61_0217bc52 data_ov61_0217bc52: ; 0x0217bc52 .byte 0x00, 0x00 .global data_ov61_0217bc54 data_ov61_0217bc54: ; 0x0217bc54 .byte 0x61, 0x08 .global data_ov61_0217bc56 data_ov61_0217bc56: ; 0x0217bc56 .byte 0x00, 0x00 .global data_ov61_0217bc58 data_ov61_0217bc58: ; 0x0217bc58 .byte 0x00, 0x08 .global data_ov61_0217bc5a data_ov61_0217bc5a: ; 0x0217bc5a .byte 0x0c, 0x20 .global data_ov61_0217bc5c data_ov61_0217bc5c: ; 0x0217bc5c .byte 0x00, 0x08 .global data_ov61_0217bc5e data_ov61_0217bc5e: ; 0x0217bc5e .byte 0x0d, 0x20 .global data_ov61_0217bc60 data_ov61_0217bc60: ; 0x0217bc60 .byte 0x02, 0x00 .global data_ov61_0217bc62 data_ov61_0217bc62: ; 0x0217bc62 .byte 0x00, 0x00 .global data_ov61_0217bc64 data_ov61_0217bc64: ; 0x0217bc64 .byte 0x00, 0x00 .global data_ov61_0217bc66 data_ov61_0217bc66: ; 0x0217bc66 .byte 0xea, 0x05 .global data_ov61_0217bc68 data_ov61_0217bc68: ; 0x0217bc68 .byte 0x00, 0x00 .global data_ov61_0217bc6a data_ov61_0217bc6a: ; 0x0217bc6a .byte 0x00, 0x00 .global data_ov61_0217bc6c data_ov61_0217bc6c: ; 0x0217bc6c .byte 0xeb, 0x06 .global data_ov61_0217bc6e data_ov61_0217bc6e: ; 0x0217bc6e .byte 0x00, 0x00 .global data_ov61_0217bc70 data_ov61_0217bc70: ; 0x0217bc70 .byte 0x00, 0x00 .global data_ov61_0217bc72 data_ov61_0217bc72: ; 0x0217bc72 .byte 0x00, 0x00 .global data_ov61_0217bc74 data_ov61_0217bc74: ; 0x0217bc74 .byte 0x00, 0x08 .global data_ov61_0217bc76 data_ov61_0217bc76: ; 0x0217bc76 .byte 0x0d, 0x20 .global data_ov61_0217bc78 data_ov61_0217bc78: ; 0x0217bc78 .ascii "%d.%d.%d.%d" .byte 0x00 .global data_ov61_0217bc84 data_ov61_0217bc84: ; 0x0217bc84 .byte 0x04, 0x00 .global data_ov61_0217bc86 data_ov61_0217bc86: ; 0x0217bc86 .byte 0x05, 0x00 .global data_ov61_0217bc88 data_ov61_0217bc88: ; 0x0217bc88 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217bc8c data_ov61_0217bc8c: ; 0x0217bc8c .word data_ov61_0217bca4 .global data_ov61_0217bc90 data_ov61_0217bc90: ; 0x0217bc90 .word data_ov61_0217bcb4 .global data_ov61_0217bc94 data_ov61_0217bc94: ; 0x0217bc94 .word data_ov61_0217bcac .global data_ov61_0217bc98 data_ov61_0217bc98: ; 0x0217bc98 .word data_ov61_0217bcc0 .global data_ov61_0217bc9c data_ov61_0217bc9c: ; 0x0217bc9c .word data_ov61_0217bccc .global data_ov61_0217bca0 data_ov61_0217bca0: ; 0x0217bca0 .word data_ov61_0217bca8 .global data_ov61_0217bca4 data_ov61_0217bca4: ; 0x0217bca4 .byte 0xff, 0xff, 0xff, 0x00 .global data_ov61_0217bca8 data_ov61_0217bca8: ; 0x0217bca8 .byte 0x55 .global data_ov61_0217bca9 data_ov61_0217bca9: ; 0x0217bca9 .byte 0x04 .global data_ov61_0217bcaa data_ov61_0217bcaa: ; 0x0217bcaa .byte 0x03 .global data_ov61_0217bcab data_ov61_0217bcab: ; 0x0217bcab .byte 0x00 .global data_ov61_0217bcac data_ov61_0217bcac: ; 0x0217bcac .byte 0x55 .global data_ov61_0217bcad data_ov61_0217bcad: ; 0x0217bcad .byte 0x08 .global data_ov61_0217bcae data_ov61_0217bcae: ; 0x0217bcae .byte 0x01 .global data_ov61_0217bcaf data_ov61_0217bcaf: ; 0x0217bcaf .byte 0x01 .global data_ov61_0217bcb0 data_ov61_0217bcb0: ; 0x0217bcb0 .byte 0x00 .global data_ov61_0217bcb1 data_ov61_0217bcb1: ; 0x0217bcb1 .byte 0x00 .global data_ov61_0217bcb2 data_ov61_0217bcb2: ; 0x0217bcb2 .byte 0x00 .global data_ov61_0217bcb3 data_ov61_0217bcb3: ; 0x0217bcb3 .byte 0x00 .global data_ov61_0217bcb4 data_ov61_0217bcb4: ; 0x0217bcb4 .byte 0x2a .global data_ov61_0217bcb5 data_ov61_0217bcb5: ; 0x0217bcb5 .byte 0x86 .global data_ov61_0217bcb6 data_ov61_0217bcb6: ; 0x0217bcb6 .byte 0x48 .global data_ov61_0217bcb7 data_ov61_0217bcb7: ; 0x0217bcb7 .byte 0x86 .global data_ov61_0217bcb8 data_ov61_0217bcb8: ; 0x0217bcb8 .byte 0xf7 .global data_ov61_0217bcb9 data_ov61_0217bcb9: ; 0x0217bcb9 .byte 0x0d .global data_ov61_0217bcba data_ov61_0217bcba: ; 0x0217bcba .byte 0x01 .global data_ov61_0217bcbb data_ov61_0217bcbb: ; 0x0217bcbb .byte 0x01 .global data_ov61_0217bcbc data_ov61_0217bcbc: ; 0x0217bcbc .byte 0x01 .global data_ov61_0217bcbd data_ov61_0217bcbd: ; 0x0217bcbd .byte 0x00 .global data_ov61_0217bcbe data_ov61_0217bcbe: ; 0x0217bcbe .byte 0x00 .global data_ov61_0217bcbf data_ov61_0217bcbf: ; 0x0217bcbf .byte 0x00 .global data_ov61_0217bcc0 data_ov61_0217bcc0: ; 0x0217bcc0 .byte 0x2a .global data_ov61_0217bcc1 data_ov61_0217bcc1: ; 0x0217bcc1 .byte 0x86 .global data_ov61_0217bcc2 data_ov61_0217bcc2: ; 0x0217bcc2 .byte 0x48 .global data_ov61_0217bcc3 data_ov61_0217bcc3: ; 0x0217bcc3 .byte 0x86 .global data_ov61_0217bcc4 data_ov61_0217bcc4: ; 0x0217bcc4 .byte 0xf7 .global data_ov61_0217bcc5 data_ov61_0217bcc5: ; 0x0217bcc5 .byte 0x0d .global data_ov61_0217bcc6 data_ov61_0217bcc6: ; 0x0217bcc6 .byte 0x01 .global data_ov61_0217bcc7 data_ov61_0217bcc7: ; 0x0217bcc7 .byte 0x01 .global data_ov61_0217bcc8 data_ov61_0217bcc8: ; 0x0217bcc8 .byte 0x04 .global data_ov61_0217bcc9 data_ov61_0217bcc9: ; 0x0217bcc9 .byte 0x00 .global data_ov61_0217bcca data_ov61_0217bcca: ; 0x0217bcca .byte 0x00 .global data_ov61_0217bccb data_ov61_0217bccb: ; 0x0217bccb .byte 0x00 .global data_ov61_0217bccc data_ov61_0217bccc: ; 0x0217bccc .byte 0x2a .global data_ov61_0217bccd data_ov61_0217bccd: ; 0x0217bccd .byte 0x86 .global data_ov61_0217bcce data_ov61_0217bcce: ; 0x0217bcce .byte 0x48 .global data_ov61_0217bccf data_ov61_0217bccf: ; 0x0217bccf .byte 0x86 .global data_ov61_0217bcd0 data_ov61_0217bcd0: ; 0x0217bcd0 .byte 0xf7 .global data_ov61_0217bcd1 data_ov61_0217bcd1: ; 0x0217bcd1 .byte 0x0d .global data_ov61_0217bcd2 data_ov61_0217bcd2: ; 0x0217bcd2 .byte 0x01 .global data_ov61_0217bcd3 data_ov61_0217bcd3: ; 0x0217bcd3 .byte 0x01 .global data_ov61_0217bcd4 data_ov61_0217bcd4: ; 0x0217bcd4 .byte 0x05 .global data_ov61_0217bcd5 data_ov61_0217bcd5: ; 0x0217bcd5 .byte 0x00 .global data_ov61_0217bcd6 data_ov61_0217bcd6: ; 0x0217bcd6 .byte 0x00 .global data_ov61_0217bcd7 data_ov61_0217bcd7: ; 0x0217bcd7 .byte 0x00 .global data_ov61_0217bcd8 data_ov61_0217bcd8: ; 0x0217bcd8 .ascii "A" .byte 0x00, 0x00, 0x00 .global data_ov61_0217bcdc data_ov61_0217bcdc: ; 0x0217bcdc .ascii "BB" .byte 0x00, 0x00 .global data_ov61_0217bce0 data_ov61_0217bce0: ; 0x0217bce0 .ascii "CCC" .byte 0x00 .global data_ov61_0217bce4 data_ov61_0217bce4: ; 0x0217bce4 .ascii "SRVR" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bcec data_ov61_0217bcec: ; 0x0217bcec .ascii "CLNT" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bcf4 data_ov61_0217bcf4: ; 0x0217bcf4 .byte 0x00 .global data_ov61_0217bcf5 data_ov61_0217bcf5: ; 0x0217bcf5 .byte 0x01 .global data_ov61_0217bcf6 data_ov61_0217bcf6: ; 0x0217bcf6 .byte 0x02 .global data_ov61_0217bcf7 data_ov61_0217bcf7: ; 0x0217bcf7 .byte 0x03 .global data_ov61_0217bcf8 data_ov61_0217bcf8: ; 0x0217bcf8 .byte 0x04 .global data_ov61_0217bcf9 data_ov61_0217bcf9: ; 0x0217bcf9 .byte 0x05 .global data_ov61_0217bcfa data_ov61_0217bcfa: ; 0x0217bcfa .byte 0x06 .global data_ov61_0217bcfb data_ov61_0217bcfb: ; 0x0217bcfb .byte 0x07 .global data_ov61_0217bcfc data_ov61_0217bcfc: ; 0x0217bcfc .byte 0x08 .global data_ov61_0217bcfd data_ov61_0217bcfd: ; 0x0217bcfd .byte 0x09 .global data_ov61_0217bcfe data_ov61_0217bcfe: ; 0x0217bcfe .byte 0x0a .global data_ov61_0217bcff data_ov61_0217bcff: ; 0x0217bcff .byte 0x0b .global data_ov61_0217bd00 data_ov61_0217bd00: ; 0x0217bd00 .byte 0x0c .global data_ov61_0217bd01 data_ov61_0217bd01: ; 0x0217bd01 .byte 0x0d .global data_ov61_0217bd02 data_ov61_0217bd02: ; 0x0217bd02 .byte 0x0e .global data_ov61_0217bd03 data_ov61_0217bd03: ; 0x0217bd03 .byte 0x0f .global data_ov61_0217bd04 data_ov61_0217bd04: ; 0x0217bd04 .byte 0x01 .global data_ov61_0217bd05 data_ov61_0217bd05: ; 0x0217bd05 .byte 0x06 .global data_ov61_0217bd06 data_ov61_0217bd06: ; 0x0217bd06 .byte 0x0b .global data_ov61_0217bd07 data_ov61_0217bd07: ; 0x0217bd07 .byte 0x00 .global data_ov61_0217bd08 data_ov61_0217bd08: ; 0x0217bd08 .byte 0x05 .global data_ov61_0217bd09 data_ov61_0217bd09: ; 0x0217bd09 .byte 0x0a .global data_ov61_0217bd0a data_ov61_0217bd0a: ; 0x0217bd0a .byte 0x0f .global data_ov61_0217bd0b data_ov61_0217bd0b: ; 0x0217bd0b .byte 0x04 .global data_ov61_0217bd0c data_ov61_0217bd0c: ; 0x0217bd0c .byte 0x09 .global data_ov61_0217bd0d data_ov61_0217bd0d: ; 0x0217bd0d .byte 0x0e .global data_ov61_0217bd0e data_ov61_0217bd0e: ; 0x0217bd0e .byte 0x03 .global data_ov61_0217bd0f data_ov61_0217bd0f: ; 0x0217bd0f .byte 0x08 .global data_ov61_0217bd10 data_ov61_0217bd10: ; 0x0217bd10 .byte 0x0d .global data_ov61_0217bd11 data_ov61_0217bd11: ; 0x0217bd11 .byte 0x02 .global data_ov61_0217bd12 data_ov61_0217bd12: ; 0x0217bd12 .byte 0x07 .global data_ov61_0217bd13 data_ov61_0217bd13: ; 0x0217bd13 .byte 0x0c .global data_ov61_0217bd14 data_ov61_0217bd14: ; 0x0217bd14 .byte 0x05 .global data_ov61_0217bd15 data_ov61_0217bd15: ; 0x0217bd15 .byte 0x08 .global data_ov61_0217bd16 data_ov61_0217bd16: ; 0x0217bd16 .byte 0x0b .global data_ov61_0217bd17 data_ov61_0217bd17: ; 0x0217bd17 .byte 0x0e .global data_ov61_0217bd18 data_ov61_0217bd18: ; 0x0217bd18 .byte 0x01 .global data_ov61_0217bd19 data_ov61_0217bd19: ; 0x0217bd19 .byte 0x04 .global data_ov61_0217bd1a data_ov61_0217bd1a: ; 0x0217bd1a .byte 0x07 .global data_ov61_0217bd1b data_ov61_0217bd1b: ; 0x0217bd1b .byte 0x0a .global data_ov61_0217bd1c data_ov61_0217bd1c: ; 0x0217bd1c .byte 0x0d .global data_ov61_0217bd1d data_ov61_0217bd1d: ; 0x0217bd1d .byte 0x00 .global data_ov61_0217bd1e data_ov61_0217bd1e: ; 0x0217bd1e .byte 0x03 .global data_ov61_0217bd1f data_ov61_0217bd1f: ; 0x0217bd1f .byte 0x06 .global data_ov61_0217bd20 data_ov61_0217bd20: ; 0x0217bd20 .byte 0x09 .global data_ov61_0217bd21 data_ov61_0217bd21: ; 0x0217bd21 .byte 0x0c .global data_ov61_0217bd22 data_ov61_0217bd22: ; 0x0217bd22 .byte 0x0f .global data_ov61_0217bd23 data_ov61_0217bd23: ; 0x0217bd23 .byte 0x02 .global data_ov61_0217bd24 data_ov61_0217bd24: ; 0x0217bd24 .byte 0x00 .global data_ov61_0217bd25 data_ov61_0217bd25: ; 0x0217bd25 .byte 0x07 .global data_ov61_0217bd26 data_ov61_0217bd26: ; 0x0217bd26 .byte 0x0e .global data_ov61_0217bd27 data_ov61_0217bd27: ; 0x0217bd27 .byte 0x05 .global data_ov61_0217bd28 data_ov61_0217bd28: ; 0x0217bd28 .byte 0x0c .global data_ov61_0217bd29 data_ov61_0217bd29: ; 0x0217bd29 .byte 0x03 .global data_ov61_0217bd2a data_ov61_0217bd2a: ; 0x0217bd2a .byte 0x0a .global data_ov61_0217bd2b data_ov61_0217bd2b: ; 0x0217bd2b .byte 0x01 .global data_ov61_0217bd2c data_ov61_0217bd2c: ; 0x0217bd2c .byte 0x08 .global data_ov61_0217bd2d data_ov61_0217bd2d: ; 0x0217bd2d .byte 0x0f .global data_ov61_0217bd2e data_ov61_0217bd2e: ; 0x0217bd2e .byte 0x06 .global data_ov61_0217bd2f data_ov61_0217bd2f: ; 0x0217bd2f .byte 0x0d .global data_ov61_0217bd30 data_ov61_0217bd30: ; 0x0217bd30 .byte 0x04 .global data_ov61_0217bd31 data_ov61_0217bd31: ; 0x0217bd31 .byte 0x0b .global data_ov61_0217bd32 data_ov61_0217bd32: ; 0x0217bd32 .byte 0x02 .global data_ov61_0217bd33 data_ov61_0217bd33: ; 0x0217bd33 .byte 0x09 .global data_ov61_0217bd34 data_ov61_0217bd34: ; 0x0217bd34 .byte 0x80, 0x00, 0x00, 0x00 .global data_ov61_0217bd38 data_ov61_0217bd38: ; 0x0217bd38 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd3c data_ov61_0217bd3c: ; 0x0217bd3c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd40 data_ov61_0217bd40: ; 0x0217bd40 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd44 data_ov61_0217bd44: ; 0x0217bd44 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd48 data_ov61_0217bd48: ; 0x0217bd48 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd4c data_ov61_0217bd4c: ; 0x0217bd4c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd50 data_ov61_0217bd50: ; 0x0217bd50 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd54 data_ov61_0217bd54: ; 0x0217bd54 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd58 data_ov61_0217bd58: ; 0x0217bd58 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd5c data_ov61_0217bd5c: ; 0x0217bd5c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd60 data_ov61_0217bd60: ; 0x0217bd60 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd64 data_ov61_0217bd64: ; 0x0217bd64 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd68 data_ov61_0217bd68: ; 0x0217bd68 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd6c data_ov61_0217bd6c: ; 0x0217bd6c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd70 data_ov61_0217bd70: ; 0x0217bd70 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bd74 data_ov61_0217bd74: ; 0x0217bd74 .byte 0x78, 0xa4, 0x6a, 0xd7 .global data_ov61_0217bd78 data_ov61_0217bd78: ; 0x0217bd78 .byte 0x56, 0xb7, 0xc7, 0xe8 .global data_ov61_0217bd7c data_ov61_0217bd7c: ; 0x0217bd7c .byte 0xdb, 0x70, 0x20, 0x24 .global data_ov61_0217bd80 data_ov61_0217bd80: ; 0x0217bd80 .byte 0xee, 0xce, 0xbd, 0xc1 .global data_ov61_0217bd84 data_ov61_0217bd84: ; 0x0217bd84 .byte 0xaf, 0x0f, 0x7c, 0xf5 .global data_ov61_0217bd88 data_ov61_0217bd88: ; 0x0217bd88 .byte 0x2a, 0xc6, 0x87, 0x47 .global data_ov61_0217bd8c data_ov61_0217bd8c: ; 0x0217bd8c .byte 0x13, 0x46, 0x30, 0xa8 .global data_ov61_0217bd90 data_ov61_0217bd90: ; 0x0217bd90 .byte 0x01, 0x95, 0x46, 0xfd .global data_ov61_0217bd94 data_ov61_0217bd94: ; 0x0217bd94 .byte 0xd8, 0x98, 0x80, 0x69 .global data_ov61_0217bd98 data_ov61_0217bd98: ; 0x0217bd98 .byte 0xaf, 0xf7, 0x44, 0x8b .global data_ov61_0217bd9c data_ov61_0217bd9c: ; 0x0217bd9c .byte 0xb1, 0x5b, 0xff, 0xff .global data_ov61_0217bda0 data_ov61_0217bda0: ; 0x0217bda0 .byte 0xbe, 0xd7, 0x5c, 0x89 .global data_ov61_0217bda4 data_ov61_0217bda4: ; 0x0217bda4 .byte 0x22, 0x11, 0x90, 0x6b .global data_ov61_0217bda8 data_ov61_0217bda8: ; 0x0217bda8 .byte 0x93, 0x71, 0x98, 0xfd .global data_ov61_0217bdac data_ov61_0217bdac: ; 0x0217bdac .byte 0x8e, 0x43, 0x79, 0xa6 .global data_ov61_0217bdb0 data_ov61_0217bdb0: ; 0x0217bdb0 .byte 0x21, 0x08, 0xb4, 0x49 .global data_ov61_0217bdb4 data_ov61_0217bdb4: ; 0x0217bdb4 .byte 0x62, 0x25, 0x1e, 0xf6 .global data_ov61_0217bdb8 data_ov61_0217bdb8: ; 0x0217bdb8 .byte 0x40, 0xb3, 0x40, 0xc0 .global data_ov61_0217bdbc data_ov61_0217bdbc: ; 0x0217bdbc .byte 0x51, 0x5a, 0x5e, 0x26 .global data_ov61_0217bdc0 data_ov61_0217bdc0: ; 0x0217bdc0 .byte 0xaa, 0xc7, 0xb6, 0xe9 .global data_ov61_0217bdc4 data_ov61_0217bdc4: ; 0x0217bdc4 .byte 0x5d, 0x10, 0x2f, 0xd6 .global data_ov61_0217bdc8 data_ov61_0217bdc8: ; 0x0217bdc8 .byte 0x53, 0x14, 0x44, 0x02 .global data_ov61_0217bdcc data_ov61_0217bdcc: ; 0x0217bdcc .byte 0x81, 0xe6, 0xa1, 0xd8 .global data_ov61_0217bdd0 data_ov61_0217bdd0: ; 0x0217bdd0 .byte 0xc8, 0xfb, 0xd3, 0xe7 .global data_ov61_0217bdd4 data_ov61_0217bdd4: ; 0x0217bdd4 .byte 0xe6, 0xcd, 0xe1, 0x21 .global data_ov61_0217bdd8 data_ov61_0217bdd8: ; 0x0217bdd8 .byte 0xd6, 0x07, 0x37, 0xc3 .global data_ov61_0217bddc data_ov61_0217bddc: ; 0x0217bddc .byte 0x87, 0x0d, 0xd5, 0xf4 .global data_ov61_0217bde0 data_ov61_0217bde0: ; 0x0217bde0 .byte 0xed, 0x14, 0x5a, 0x45 .global data_ov61_0217bde4 data_ov61_0217bde4: ; 0x0217bde4 .byte 0x05, 0xe9, 0xe3, 0xa9 .global data_ov61_0217bde8 data_ov61_0217bde8: ; 0x0217bde8 .byte 0xf8, 0xa3, 0xef, 0xfc .global data_ov61_0217bdec data_ov61_0217bdec: ; 0x0217bdec .byte 0xd9, 0x02, 0x6f, 0x67 .global data_ov61_0217bdf0 data_ov61_0217bdf0: ; 0x0217bdf0 .byte 0x8a, 0x4c, 0x2a, 0x8d .global data_ov61_0217bdf4 data_ov61_0217bdf4: ; 0x0217bdf4 .byte 0x42, 0x39, 0xfa, 0xff .global data_ov61_0217bdf8 data_ov61_0217bdf8: ; 0x0217bdf8 .byte 0x81, 0xf6, 0x71, 0x87 .global data_ov61_0217bdfc data_ov61_0217bdfc: ; 0x0217bdfc .byte 0x22, 0x61, 0x9d, 0x6d .global data_ov61_0217be00 data_ov61_0217be00: ; 0x0217be00 .byte 0x0c, 0x38, 0xe5, 0xfd .global data_ov61_0217be04 data_ov61_0217be04: ; 0x0217be04 .byte 0x44, 0xea, 0xbe, 0xa4 .global data_ov61_0217be08 data_ov61_0217be08: ; 0x0217be08 .byte 0xa9, 0xcf, 0xde, 0x4b .global data_ov61_0217be0c data_ov61_0217be0c: ; 0x0217be0c .byte 0x60, 0x4b, 0xbb, 0xf6 .global data_ov61_0217be10 data_ov61_0217be10: ; 0x0217be10 .byte 0x70, 0xbc, 0xbf, 0xbe .global data_ov61_0217be14 data_ov61_0217be14: ; 0x0217be14 .byte 0xc6, 0x7e, 0x9b, 0x28 .global data_ov61_0217be18 data_ov61_0217be18: ; 0x0217be18 .byte 0xfa, 0x27, 0xa1, 0xea .global data_ov61_0217be1c data_ov61_0217be1c: ; 0x0217be1c .byte 0x85, 0x30, 0xef, 0xd4 .global data_ov61_0217be20 data_ov61_0217be20: ; 0x0217be20 .byte 0x05, 0x1d, 0x88, 0x04 .global data_ov61_0217be24 data_ov61_0217be24: ; 0x0217be24 .byte 0x39, 0xd0, 0xd4, 0xd9 .global data_ov61_0217be28 data_ov61_0217be28: ; 0x0217be28 .byte 0xe5, 0x99, 0xdb, 0xe6 .global data_ov61_0217be2c data_ov61_0217be2c: ; 0x0217be2c .byte 0xf8, 0x7c, 0xa2, 0x1f .global data_ov61_0217be30 data_ov61_0217be30: ; 0x0217be30 .byte 0x65, 0x56, 0xac, 0xc4 .global data_ov61_0217be34 data_ov61_0217be34: ; 0x0217be34 .byte 0x44, 0x22, 0x29, 0xf4 .global data_ov61_0217be38 data_ov61_0217be38: ; 0x0217be38 .byte 0x97, 0xff, 0x2a, 0x43 .global data_ov61_0217be3c data_ov61_0217be3c: ; 0x0217be3c .byte 0xa7, 0x23, 0x94, 0xab .global data_ov61_0217be40 data_ov61_0217be40: ; 0x0217be40 .byte 0x39, 0xa0, 0x93, 0xfc .global data_ov61_0217be44 data_ov61_0217be44: ; 0x0217be44 .byte 0xc3, 0x59, 0x5b, 0x65 .global data_ov61_0217be48 data_ov61_0217be48: ; 0x0217be48 .byte 0x92, 0xcc, 0x0c, 0x8f .global data_ov61_0217be4c data_ov61_0217be4c: ; 0x0217be4c .byte 0x7d, 0xf4, 0xef, 0xff .global data_ov61_0217be50 data_ov61_0217be50: ; 0x0217be50 .byte 0xd1, 0x5d, 0x84, 0x85 .global data_ov61_0217be54 data_ov61_0217be54: ; 0x0217be54 .byte 0x4f, 0x7e, 0xa8, 0x6f .global data_ov61_0217be58 data_ov61_0217be58: ; 0x0217be58 .byte 0xe0, 0xe6, 0x2c, 0xfe .global data_ov61_0217be5c data_ov61_0217be5c: ; 0x0217be5c .byte 0x14, 0x43, 0x01, 0xa3 .global data_ov61_0217be60 data_ov61_0217be60: ; 0x0217be60 .byte 0xa1, 0x11, 0x08, 0x4e .global data_ov61_0217be64 data_ov61_0217be64: ; 0x0217be64 .byte 0x82, 0x7e, 0x53, 0xf7 .global data_ov61_0217be68 data_ov61_0217be68: ; 0x0217be68 .byte 0x35, 0xf2, 0x3a, 0xbd .global data_ov61_0217be6c data_ov61_0217be6c: ; 0x0217be6c .byte 0xbb, 0xd2, 0xd7, 0x2a .global data_ov61_0217be70 data_ov61_0217be70: ; 0x0217be70 .byte 0x91, 0xd3, 0x86, 0xeb .global data_ov61_0217be74 data_ov61_0217be74: ; 0x0217be74 .byte 0x80 .global data_ov61_0217be75 data_ov61_0217be75: ; 0x0217be75 .byte 0x00 .global data_ov61_0217be76 data_ov61_0217be76: ; 0x0217be76 .byte 0x00 .global data_ov61_0217be77 data_ov61_0217be77: ; 0x0217be77 .byte 0x00 .global data_ov61_0217be78 data_ov61_0217be78: ; 0x0217be78 .byte 0x00 .global data_ov61_0217be79 data_ov61_0217be79: ; 0x0217be79 .byte 0x00 .global data_ov61_0217be7a data_ov61_0217be7a: ; 0x0217be7a .byte 0x00 .global data_ov61_0217be7b data_ov61_0217be7b: ; 0x0217be7b .byte 0x00 .global data_ov61_0217be7c data_ov61_0217be7c: ; 0x0217be7c .byte 0x00 .global data_ov61_0217be7d data_ov61_0217be7d: ; 0x0217be7d .byte 0x00 .global data_ov61_0217be7e data_ov61_0217be7e: ; 0x0217be7e .byte 0x00 .global data_ov61_0217be7f data_ov61_0217be7f: ; 0x0217be7f .byte 0x00 .global data_ov61_0217be80 data_ov61_0217be80: ; 0x0217be80 .byte 0x00 .global data_ov61_0217be81 data_ov61_0217be81: ; 0x0217be81 .byte 0x00 .global data_ov61_0217be82 data_ov61_0217be82: ; 0x0217be82 .byte 0x00 .global data_ov61_0217be83 data_ov61_0217be83: ; 0x0217be83 .byte 0x00 .global data_ov61_0217be84 data_ov61_0217be84: ; 0x0217be84 .byte 0x00 .global data_ov61_0217be85 data_ov61_0217be85: ; 0x0217be85 .byte 0x00 .global data_ov61_0217be86 data_ov61_0217be86: ; 0x0217be86 .byte 0x00 .global data_ov61_0217be87 data_ov61_0217be87: ; 0x0217be87 .byte 0x00 .global data_ov61_0217be88 data_ov61_0217be88: ; 0x0217be88 .byte 0x00 .global data_ov61_0217be89 data_ov61_0217be89: ; 0x0217be89 .byte 0x00 .global data_ov61_0217be8a data_ov61_0217be8a: ; 0x0217be8a .byte 0x00 .global data_ov61_0217be8b data_ov61_0217be8b: ; 0x0217be8b .byte 0x00 .global data_ov61_0217be8c data_ov61_0217be8c: ; 0x0217be8c .byte 0x00 .global data_ov61_0217be8d data_ov61_0217be8d: ; 0x0217be8d .byte 0x00 .global data_ov61_0217be8e data_ov61_0217be8e: ; 0x0217be8e .byte 0x00 .global data_ov61_0217be8f data_ov61_0217be8f: ; 0x0217be8f .byte 0x00 .global data_ov61_0217be90 data_ov61_0217be90: ; 0x0217be90 .byte 0x00 .global data_ov61_0217be91 data_ov61_0217be91: ; 0x0217be91 .byte 0x00 .global data_ov61_0217be92 data_ov61_0217be92: ; 0x0217be92 .byte 0x00 .global data_ov61_0217be93 data_ov61_0217be93: ; 0x0217be93 .byte 0x00 .global data_ov61_0217be94 data_ov61_0217be94: ; 0x0217be94 .byte 0x00 .global data_ov61_0217be95 data_ov61_0217be95: ; 0x0217be95 .byte 0x00 .global data_ov61_0217be96 data_ov61_0217be96: ; 0x0217be96 .byte 0x00 .global data_ov61_0217be97 data_ov61_0217be97: ; 0x0217be97 .byte 0x00 .global data_ov61_0217be98 data_ov61_0217be98: ; 0x0217be98 .byte 0x00 .global data_ov61_0217be99 data_ov61_0217be99: ; 0x0217be99 .byte 0x00 .global data_ov61_0217be9a data_ov61_0217be9a: ; 0x0217be9a .byte 0x00 .global data_ov61_0217be9b data_ov61_0217be9b: ; 0x0217be9b .byte 0x00 .global data_ov61_0217be9c data_ov61_0217be9c: ; 0x0217be9c .byte 0x00 .global data_ov61_0217be9d data_ov61_0217be9d: ; 0x0217be9d .byte 0x00 .global data_ov61_0217be9e data_ov61_0217be9e: ; 0x0217be9e .byte 0x00 .global data_ov61_0217be9f data_ov61_0217be9f: ; 0x0217be9f .byte 0x00 .global data_ov61_0217bea0 data_ov61_0217bea0: ; 0x0217bea0 .byte 0x00 .global data_ov61_0217bea1 data_ov61_0217bea1: ; 0x0217bea1 .byte 0x00 .global data_ov61_0217bea2 data_ov61_0217bea2: ; 0x0217bea2 .byte 0x00 .global data_ov61_0217bea3 data_ov61_0217bea3: ; 0x0217bea3 .byte 0x00 .global data_ov61_0217bea4 data_ov61_0217bea4: ; 0x0217bea4 .byte 0x00 .global data_ov61_0217bea5 data_ov61_0217bea5: ; 0x0217bea5 .byte 0x00 .global data_ov61_0217bea6 data_ov61_0217bea6: ; 0x0217bea6 .byte 0x00 .global data_ov61_0217bea7 data_ov61_0217bea7: ; 0x0217bea7 .byte 0x00 .global data_ov61_0217bea8 data_ov61_0217bea8: ; 0x0217bea8 .byte 0x00 .global data_ov61_0217bea9 data_ov61_0217bea9: ; 0x0217bea9 .byte 0x00 .global data_ov61_0217beaa data_ov61_0217beaa: ; 0x0217beaa .byte 0x00 .global data_ov61_0217beab data_ov61_0217beab: ; 0x0217beab .byte 0x00 .global data_ov61_0217beac data_ov61_0217beac: ; 0x0217beac .byte 0x00 .global data_ov61_0217bead data_ov61_0217bead: ; 0x0217bead .byte 0x00 .global data_ov61_0217beae data_ov61_0217beae: ; 0x0217beae .byte 0x00 .global data_ov61_0217beaf data_ov61_0217beaf: ; 0x0217beaf .byte 0x00 .global data_ov61_0217beb0 data_ov61_0217beb0: ; 0x0217beb0 .byte 0x00 .global data_ov61_0217beb1 data_ov61_0217beb1: ; 0x0217beb1 .byte 0x00 .global data_ov61_0217beb2 data_ov61_0217beb2: ; 0x0217beb2 .byte 0x00 .global data_ov61_0217beb3 data_ov61_0217beb3: ; 0x0217beb3 .byte 0x00 .global data_ov61_0217beb4 data_ov61_0217beb4: ; 0x0217beb4 .ascii "\\basic\\\\info\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217bec4 data_ov61_0217bec4: ; 0x0217bec4 .ascii "\\status\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bed0 data_ov61_0217bed0: ; 0x0217bed0 .ascii "\\final\\" .byte 0x00 .global data_ov61_0217bed8 data_ov61_0217bed8: ; 0x0217bed8 .ascii "final" .byte 0x00, 0x00, 0x00 .global data_ov61_0217bee0 data_ov61_0217bee0: ; 0x0217bee0 .ascii "queryid" .byte 0x00 .global data_ov61_0217bee8 data_ov61_0217bee8: ; 0x0217bee8 .ascii "SBServerGetStringValueA" .byte 0x00 .global data_ov61_0217bf00 data_ov61_0217bf00: ; 0x0217bf00 .ascii "%d" .byte 0x00, 0x00 .global data_ov61_0217bf04 data_ov61_0217bf04: ; 0x0217bf04 .ascii "server" .byte 0x00, 0x00 .global data_ov61_0217bf0c data_ov61_0217bf0c: ; 0x0217bf0c .ascii "sb_server.c" .byte 0x00 .global data_ov61_0217bf18 data_ov61_0217bf18: ; 0x0217bf18 .ascii "ping" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bf20 data_ov61_0217bf20: ; 0x0217bf20 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bf24 data_ov61_0217bf24: ; 0x0217bf24 .ascii "%s%d" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bf2c data_ov61_0217bf2c: ; 0x0217bf2c .ascii "\\%s" .byte 0x00 .global data_ov61_0217bf30 data_ov61_0217bf30: ; 0x0217bf30 .word data_ov61_0217bf44 .global data_ov61_0217bf34 data_ov61_0217bf34: ; 0x0217bf34 .ascii "SBReleaseStr" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bf44 data_ov61_0217bf44: ; 0x0217bf44 .ascii "Query Error: " .byte 0x00, 0x00, 0x00 .global data_ov61_0217bf54 data_ov61_0217bf54: ; 0x0217bf54 .ascii "AllKeysPresent" .byte 0x00, 0x00 .global data_ov61_0217bf64 data_ov61_0217bf64: ; 0x0217bf64 .ascii "SBServerListInit" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bf78 data_ov61_0217bf78: ; 0x0217bf78 .ascii "ProcessAdHocData" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bf8c data_ov61_0217bf8c: ; 0x0217bf8c .ascii "ProcessMainListData" .byte 0x00 .global data_ov61_0217bfa0 data_ov61_0217bfa0: ; 0x0217bfa0 .ascii "SBServerListConnectAndQuery" .byte 0x00 .global data_ov61_0217bfbc data_ov61_0217bfbc: ; 0x0217bfbc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217bfc0 data_ov61_0217bfc0: ; 0x0217bfc0 .ascii "val != NULL" .byte 0x00 .global data_ov61_0217bfcc data_ov61_0217bfcc: ; 0x0217bfcc .ascii "sb_serverlist.c" .byte 0x00 .global data_ov61_0217bfdc data_ov61_0217bfdc: ; 0x0217bfdc .ascii "slist != NULL" .byte 0x00, 0x00, 0x00 .global data_ov61_0217bfec data_ov61_0217bfec: ; 0x0217bfec .ascii "callback != NULL" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c000 data_ov61_0217c000: ; 0x0217c000 .ascii "%s.ms%d.gs.nintendowifi.net" .byte 0x00 .global data_ov61_0217c01c data_ov61_0217c01c: ; 0x0217c01c .ascii "slist->state == sl_disconnected" .byte 0x00 .global data_ov61_0217c03c data_ov61_0217c03c: ; 0x0217c03c .ascii "0" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c040 data_ov61_0217c040: ; 0x0217c040 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217c044 data_ov61_0217c044: ; 0x0217c044 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c048 data_ov61_0217c048: ; 0x0217c048 .ascii "inlen >= 0" .byte 0x00, 0x00 .global data_ov61_0217c054 data_ov61_0217c054: ; 0x0217c054 .ascii "slist->inbufferlen >= 0" .byte 0x00 .global data_ov61_0217c06c data_ov61_0217c06c: ; 0x0217c06c .ascii "%s.available.gs.nintendowifi.net" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c090 data_ov61_0217c090: ; 0x0217c090 .byte 0xfe, 0xfd, 0x09, 0x00 .global data_ov61_0217c094 data_ov61_0217c094: ; 0x0217c094 .ascii "ArrayNth" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c0a0 data_ov61_0217c0a0: ; 0x0217c0a0 .ascii "ArrayNew" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c0ac data_ov61_0217c0ac: ; 0x0217c0ac .ascii "ArrayFree" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c0b8 data_ov61_0217c0b8: ; 0x0217c0b8 .ascii "ArrayGrow" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c0c4 data_ov61_0217c0c4: ; 0x0217c0c4 .ascii "ArrayAppend" .byte 0x00 .global data_ov61_0217c0d0 data_ov61_0217c0d0: ; 0x0217c0d0 .ascii "ArrayRemoveAt" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c0e0 data_ov61_0217c0e0: ; 0x0217c0e0 .ascii "ArrayDeleteAt" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c0f0 data_ov61_0217c0f0: ; 0x0217c0f0 .ascii "ArrayInsertAt" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c100 data_ov61_0217c100: ; 0x0217c100 .ascii "ArrayReplaceAt" .byte 0x00, 0x00 .global data_ov61_0217c110 data_ov61_0217c110: ; 0x0217c110 .ascii "ArrayMapBackwards" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c124 data_ov61_0217c124: ; 0x0217c124 .ascii "ArrayInsertSorted" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c138 data_ov61_0217c138: ; 0x0217c138 .ascii "ArrayMapBackwards2" .byte 0x00, 0x00 .global data_ov61_0217c14c data_ov61_0217c14c: ; 0x0217c14c .ascii "array->list" .byte 0x00 .global data_ov61_0217c158 data_ov61_0217c158: ; 0x0217c158 .ascii "darray.c" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c164 data_ov61_0217c164: ; 0x0217c164 .ascii "array" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c16c data_ov61_0217c16c: ; 0x0217c16c .ascii "elemSize" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c178 data_ov61_0217c178: ; 0x0217c178 .ascii "(n >= 0) && (n < array->count)" .byte 0x00, 0x00 .global data_ov61_0217c198 data_ov61_0217c198: ; 0x0217c198 .ascii "(n >= 0) && (n <= array->count)" .byte 0x00 .global data_ov61_0217c1b8 data_ov61_0217c1b8: ; 0x0217c1b8 .ascii "comparator" .byte 0x00, 0x00 .global data_ov61_0217c1c4 data_ov61_0217c1c4: ; 0x0217c1c4 .ascii "fn" .byte 0x00, 0x00 .global data_ov61_0217c1c8 data_ov61_0217c1c8: ; 0x0217c1c8 .ascii "TableNew2" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c1d4 data_ov61_0217c1d4: ; 0x0217c1d4 .ascii "TableFree" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c1e0 data_ov61_0217c1e0: ; 0x0217c1e0 .ascii "TableEnter" .byte 0x00, 0x00 .global data_ov61_0217c1ec data_ov61_0217c1ec: ; 0x0217c1ec .ascii "TableCount" .byte 0x00, 0x00 .global data_ov61_0217c1f8 data_ov61_0217c1f8: ; 0x0217c1f8 .ascii "TableRemove" .byte 0x00 .global data_ov61_0217c204 data_ov61_0217c204: ; 0x0217c204 .ascii "TableLookup" .byte 0x00 .global data_ov61_0217c210 data_ov61_0217c210: ; 0x0217c210 .ascii "TableMapSafe" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c220 data_ov61_0217c220: ; 0x0217c220 .ascii "TableMapSafe2" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c230 data_ov61_0217c230: ; 0x0217c230 .ascii "hashFn" .byte 0x00, 0x00 .global data_ov61_0217c238 data_ov61_0217c238: ; 0x0217c238 .ascii "hashtable.c" .byte 0x00 .global data_ov61_0217c244 data_ov61_0217c244: ; 0x0217c244 .ascii "compFn" .byte 0x00, 0x00 .global data_ov61_0217c24c data_ov61_0217c24c: ; 0x0217c24c .ascii "elemSize" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c258 data_ov61_0217c258: ; 0x0217c258 .ascii "nBuckets" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c264 data_ov61_0217c264: ; 0x0217c264 .ascii "table" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c26c data_ov61_0217c26c: ; 0x0217c26c .ascii "table->buckets" .byte 0x00, 0x00 .global data_ov61_0217c27c data_ov61_0217c27c: ; 0x0217c27c .ascii "fn" .byte 0x00, 0x00 .global data_ov61_0217c280 data_ov61_0217c280: ; 0x0217c280 .ascii "%02x" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c288 data_ov61_0217c288: ; 0x0217c288 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov61_0217c28c data_ov61_0217c28c: ; 0x0217c28c .ascii "time" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c294 data_ov61_0217c294: ; 0x0217c294 .ascii "current_time" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c2a4 data_ov61_0217c2a4: ; 0x0217c2a4 .ascii "OS_IsTickAvailable() == TRUE" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c2c4 data_ov61_0217c2c4: ; 0x0217c2c4 .ascii "nonport.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c2d0 data_ov61_0217c2d0: ; 0x0217c2d0 .ascii "localhost" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c2dc data_ov61_0217c2dc: ; 0x0217c2dc .ascii "gpGetBuddyStatus" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c2f0 data_ov61_0217c2f0: ; 0x0217c2f0 .ascii "Invalid func." .byte 0x00, 0x00, 0x00 .global data_ov61_0217c300 data_ov61_0217c300: ; 0x0217c300 .ascii "No callback." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c310 data_ov61_0217c310: ; 0x0217c310 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c314 data_ov61_0217c314: ; 0x0217c314 .ascii "The connection has already been disconnected." .byte 0x00, 0x00, 0x00 .global data_ov61_0217c344 data_ov61_0217c344: ; 0x0217c344 .ascii "Invalid reason." .byte 0x00 .global data_ov61_0217c354 data_ov61_0217c354: ; 0x0217c354 .ascii "\\addbuddy\\" .byte 0x00, 0x00 .global data_ov61_0217c360 data_ov61_0217c360: ; 0x0217c360 .ascii "\\sesskey\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c36c data_ov61_0217c36c: ; 0x0217c36c .ascii "\\newprofileid\\" .byte 0x00, 0x00 .global data_ov61_0217c37c data_ov61_0217c37c: ; 0x0217c37c .ascii "\\reason\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c388 data_ov61_0217c388: ; 0x0217c388 .ascii "\\final\\" .byte 0x00 .global data_ov61_0217c390 data_ov61_0217c390: ; 0x0217c390 .ascii "Invalid status." .byte 0x00 .global data_ov61_0217c3a0 data_ov61_0217c3a0: ; 0x0217c3a0 .ascii "Invalid index." .byte 0x00, 0x00 .global data_ov61_0217c3b0 data_ov61_0217c3b0: ; 0x0217c3b0 .ascii "buddyStatus" .byte 0x00 .global data_ov61_0217c3bc data_ov61_0217c3bc: ; 0x0217c3bc .ascii "gp.c" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c3c4 data_ov61_0217c3c4: ; 0x0217c3c4 .ascii "Invalid statusString." .byte 0x00, 0x00, 0x00 .global data_ov61_0217c3dc data_ov61_0217c3dc: ; 0x0217c3dc .ascii "Invalid locationString." .byte 0x00 .global data_ov61_0217c3f4 data_ov61_0217c3f4: ; 0x0217c3f4 .ascii "\\status\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c400 data_ov61_0217c400: ; 0x0217c400 .ascii "\\statstring\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c410 data_ov61_0217c410: ; 0x0217c410 .ascii "\\locstring\\" .byte 0x00 .global data_ov61_0217c41c data_ov61_0217c41c: ; 0x0217c41c .ascii "Invalid message." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c430 data_ov61_0217c430: ; 0x0217c430 .ascii "gpiProcess" .byte 0x00, 0x00 .global data_ov61_0217c43c data_ov61_0217c43c: ; 0x0217c43c .ascii "\n\n\n\n\n*************\ngpiInitialize\n" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c460 data_ov61_0217c460: ; 0x0217c460 .ascii "CM" .byte 0x00, 0x00 .global data_ov61_0217c464 data_ov61_0217c464: ; 0x0217c464 .ascii "There was an error reading from the server." .byte 0x00 .global data_ov61_0217c490 data_ov61_0217c490: ; 0x0217c490 .ascii "\\final\\" .byte 0x00 .global data_ov61_0217c498 data_ov61_0217c498: ; 0x0217c498 .ascii "CMD: %s\n" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c4a4 data_ov61_0217c4a4: ; 0x0217c4a4 .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217c4b4 data_ov61_0217c4b4: ; 0x0217c4b4 .ascii "\\id\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c4bc data_ov61_0217c4bc: ; 0x0217c4bc .ascii "No matching operation found for id %d\n" .byte 0x00, 0x00 .global data_ov61_0217c4e4 data_ov61_0217c4e4: ; 0x0217c4e4 .ascii "\\bm\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c4ec data_ov61_0217c4ec: ; 0x0217c4ec .ascii "\\ka\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c4f4 data_ov61_0217c4f4: ; 0x0217c4f4 .ascii "Received an unrecognized, unsolicited message.\n" .byte 0x00 .global data_ov61_0217c524 data_ov61_0217c524: ; 0x0217c524 .ascii "The server has closed the connection." .byte 0x00, 0x00, 0x00 .global data_ov61_0217c54c data_ov61_0217c54c: ; 0x0217c54c .ascii "(iconnection->connectState == GPI_NOT_CONNECTED) || (iconnection->connectState == GPI_CONNECTING) || (iconnection->connectState == GPI_NEGOTIATING) || (iconnection->connectState == GPI_CONNECTED) || (iconnection->connectState == GPI_DISCONNECTED)" .byte 0x00, 0x00 .global data_ov61_0217c644 data_ov61_0217c644: ; 0x0217c644 .ascii "gpi.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c64c data_ov61_0217c64c: ; 0x0217c64c .ascii "0" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c650 data_ov61_0217c650: ; 0x0217c650 .ascii "gpiDeleteBuddy" .byte 0x00, 0x00 .global data_ov61_0217c660 data_ov61_0217c660: ; 0x0217c660 .ascii "\\authadd\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c66c data_ov61_0217c66c: ; 0x0217c66c .ascii "\\sesskey\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c678 data_ov61_0217c678: ; 0x0217c678 .ascii "\\fromprofileid\\" .byte 0x00 .global data_ov61_0217c688 data_ov61_0217c688: ; 0x0217c688 .ascii "\\sig\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c690 data_ov61_0217c690: ; 0x0217c690 .ascii "\\final\\" .byte 0x00 .global data_ov61_0217c698 data_ov61_0217c698: ; 0x0217c698 .ascii "\\bm\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c6a0 data_ov61_0217c6a0: ; 0x0217c6a0 .ascii "Unexpected data was received from the server." .byte 0x00, 0x00, 0x00 .global data_ov61_0217c6d0 data_ov61_0217c6d0: ; 0x0217c6d0 .ascii "\\f\\" .byte 0x00 .global data_ov61_0217c6d4 data_ov61_0217c6d4: ; 0x0217c6d4 .ascii "\\date\\" .byte 0x00, 0x00 .global data_ov61_0217c6dc data_ov61_0217c6dc: ; 0x0217c6dc .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217c6ec data_ov61_0217c6ec: ; 0x0217c6ec .ascii "\\msg\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c6f4 data_ov61_0217c6f4: ; 0x0217c6f4 .ascii "|signed|" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c700 data_ov61_0217c700: ; 0x0217c700 .ascii "|s|" .byte 0x00 .global data_ov61_0217c704 data_ov61_0217c704: ; 0x0217c704 .ascii "|ss|" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c70c data_ov61_0217c70c: ; 0x0217c70c .ascii "|ls|" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c714 data_ov61_0217c714: ; 0x0217c714 .ascii "|ip|" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c71c data_ov61_0217c71c: ; 0x0217c71c .ascii "|p|" .byte 0x00 .global data_ov61_0217c720 data_ov61_0217c720: ; 0x0217c720 .ascii "|l|" .byte 0x00 .global data_ov61_0217c724 data_ov61_0217c724: ; 0x0217c724 .ascii "1" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c728 data_ov61_0217c728: ; 0x0217c728 .ascii "\\t\\" .byte 0x00 .global data_ov61_0217c72c data_ov61_0217c72c: ; 0x0217c72c .ascii "Invalid profile." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c740 data_ov61_0217c740: ; 0x0217c740 .ascii "\\delbuddy\\" .byte 0x00, 0x00 .global data_ov61_0217c74c data_ov61_0217c74c: ; 0x0217c74c .ascii "\\delprofileid\\" .byte 0x00, 0x00 .global data_ov61_0217c75c data_ov61_0217c75c: ; 0x0217c75c .ascii "index >= 0" .byte 0x00, 0x00 .global data_ov61_0217c768 data_ov61_0217c768: ; 0x0217c768 .ascii "gpiBuddy.c" .byte 0x00, 0x00 .global data_ov61_0217c774 data_ov61_0217c774: ; 0x0217c774 .ascii "iconnection->profileList.numBuddies >= 0" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c7a0 data_ov61_0217c7a0: ; 0x0217c7a0 .ascii "gpiRecvToBuffer" .byte 0x00 .global data_ov61_0217c7b0 data_ov61_0217c7b0: ; 0x0217c7b0 .ascii "gpiSendFromBuffer" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c7c4 data_ov61_0217c7c4: ; 0x0217c7c4 .ascii "gpiSendOrBufferChar" .byte 0x00 .global data_ov61_0217c7d8 data_ov61_0217c7d8: ; 0x0217c7d8 .ascii "gpiAppendCharToBuffer" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c7f0 data_ov61_0217c7f0: ; 0x0217c7f0 .ascii "gpiSendOrBufferStringLen" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c80c data_ov61_0217c80c: ; 0x0217c80c .ascii "gpiAppendStringToBufferLen" .byte 0x00, 0x00 .global data_ov61_0217c828 data_ov61_0217c828: ; 0x0217c828 .ascii "outputBuffer != NULL" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c840 data_ov61_0217c840: ; 0x0217c840 .ascii "gpiBuffer.c" .byte 0x00 .global data_ov61_0217c84c data_ov61_0217c84c: ; 0x0217c84c .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217c85c data_ov61_0217c85c: ; 0x0217c85c .ascii "string != NULL" .byte 0x00, 0x00 .global data_ov61_0217c86c data_ov61_0217c86c: ; 0x0217c86c .ascii "stringLen >= 0" .byte 0x00, 0x00 .global data_ov61_0217c87c data_ov61_0217c87c: ; 0x0217c87c .ascii "%d" .byte 0x00, 0x00 .global data_ov61_0217c880 data_ov61_0217c880: ; 0x0217c880 .ascii "There was an error sending on a socket." .byte 0x00 .global data_ov61_0217c8a8 data_ov61_0217c8a8: ; 0x0217c8a8 .ascii "SENDXXXX(%s): Connection closed\n" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c8cc data_ov61_0217c8cc: ; 0x0217c8cc .ascii "peer->outputBuffer.buffer != NULL" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c8f0 data_ov61_0217c8f0: ; 0x0217c8f0 .ascii "PT" .byte 0x00, 0x00 .global data_ov61_0217c8f4 data_ov61_0217c8f4: ; 0x0217c8f4 .ascii "sock != INVALID_SOCKET" .byte 0x00, 0x00 .global data_ov61_0217c90c data_ov61_0217c90c: ; 0x0217c90c .ascii "inputBuffer != NULL" .byte 0x00 .global data_ov61_0217c920 data_ov61_0217c920: ; 0x0217c920 .ascii "bytesRead != NULL" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c934 data_ov61_0217c934: ; 0x0217c934 .ascii "connClosed != NULL" .byte 0x00, 0x00 .global data_ov61_0217c948 data_ov61_0217c948: ; 0x0217c948 .ascii "There was an error reading from a socket." .byte 0x00, 0x00, 0x00 .global data_ov61_0217c974 data_ov61_0217c974: ; 0x0217c974 .ascii "RECVXXXX(%s): Connection closed\n" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c998 data_ov61_0217c998: ; 0x0217c998 .ascii "RECVTOTL(%s): %d\n" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c9ac data_ov61_0217c9ac: ; 0x0217c9ac .ascii "len >= 0" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c9b8 data_ov61_0217c9b8: ; 0x0217c9b8 .ascii "pos >= 0" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217c9c4 data_ov61_0217c9c4: ; 0x0217c9c4 .ascii "pos <= len" .byte 0x00, 0x00 .global data_ov61_0217c9d0 data_ov61_0217c9d0: ; 0x0217c9d0 .ascii "\\msg\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c9d8 data_ov61_0217c9d8: ; 0x0217c9d8 .ascii "\\m\\" .byte 0x00 .global data_ov61_0217c9dc data_ov61_0217c9dc: ; 0x0217c9dc .ascii "\\len\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217c9e4 data_ov61_0217c9e4: ; 0x0217c9e4 .ascii "gpiCallCallback" .byte 0x00 .global data_ov61_0217c9f4 data_ov61_0217c9f4: ; 0x0217c9f4 .ascii "gpiCallErrorCallback" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ca0c data_ov61_0217ca0c: ; 0x0217ca0c .ascii "iconnection != NULL" .byte 0x00 .global data_ov61_0217ca20 data_ov61_0217ca20: ; 0x0217ca20 .ascii "gpiCallback.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ca30 data_ov61_0217ca30: ; 0x0217ca30 .ascii "result != GP_NO_ERROR" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ca48 data_ov61_0217ca48: ; 0x0217ca48 .ascii "(fatal == GP_FATAL) || (fatal == GP_NON_FATAL)" .byte 0x00, 0x00 .global data_ov61_0217ca78 data_ov61_0217ca78: ; 0x0217ca78 .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217ca88 data_ov61_0217ca88: ; 0x0217ca88 .ascii "data->callback.callback != NULL" .byte 0x00 .global data_ov61_0217caa8 data_ov61_0217caa8: ; 0x0217caa8 .ascii "data->arg != NULL" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cabc data_ov61_0217cabc: ; 0x0217cabc .ascii "gpiStartConnect" .byte 0x00 .global data_ov61_0217cacc data_ov61_0217cacc: ; 0x0217cacc .ascii "gpiCheckConnect" .byte 0x00 .global data_ov61_0217cadc data_ov61_0217cadc: ; 0x0217cadc .ascii "gpcm.gs.nintendowifi.net" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217caf8 data_ov61_0217caf8: ; 0x0217caf8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cafc data_ov61_0217cafc: ; 0x0217cafc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cb00 data_ov61_0217cb00: ; 0x0217cb00 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cb04 data_ov61_0217cb04: ; 0x0217cb04 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cb08 data_ov61_0217cb08: ; 0x0217cb08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cb0c data_ov61_0217cb0c: ; 0x0217cb0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cb10 data_ov61_0217cb10: ; 0x0217cb10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cb14 data_ov61_0217cb14: ; 0x0217cb14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cb18 data_ov61_0217cb18: ; 0x0217cb18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cb1c data_ov61_0217cb1c: ; 0x0217cb1c .ascii "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" .byte 0x00, 0x00 .global data_ov61_0217cb5c data_ov61_0217cb5c: ; 0x0217cb5c .ascii "There was an error creating a socket." .byte 0x00, 0x00, 0x00 .global data_ov61_0217cb84 data_ov61_0217cb84: ; 0x0217cb84 .ascii "There was an error making a socket non-blocking." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cbb8 data_ov61_0217cbb8: ; 0x0217cbb8 .ascii "There was an error binding a socket." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cbe0 data_ov61_0217cbe0: ; 0x0217cbe0 .ascii "There was an error listening on a socket." .byte 0x00, 0x00, 0x00 .global data_ov61_0217cc0c data_ov61_0217cc0c: ; 0x0217cc0c .ascii "There was an error getting a socket's addres." .byte 0x00, 0x00, 0x00 .global data_ov61_0217cc3c data_ov61_0217cc3c: ; 0x0217cc3c .ascii "Could not resolve connection mananger host name." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cc70 data_ov61_0217cc70: ; 0x0217cc70 .ascii "address.sin_addr.s_addr != 0" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cc90 data_ov61_0217cc90: ; 0x0217cc90 .ascii "gpiConnect.c" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cca0 data_ov61_0217cca0: ; 0x0217cca0 .ascii "There was an error connecting a socket." .byte 0x00 .global data_ov61_0217ccc8 data_ov61_0217ccc8: ; 0x0217ccc8 .ascii "Invalid connection." .byte 0x00 .global data_ov61_0217ccdc data_ov61_0217ccdc: ; 0x0217ccdc .ascii "Invalid firewall." .byte 0x00, 0x00, 0x00 .global data_ov61_0217ccf0 data_ov61_0217ccf0: ; 0x0217ccf0 .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217cd00 data_ov61_0217cd00: ; 0x0217cd00 .ascii "%s@%s" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cd08 data_ov61_0217cd08: ; 0x0217cd08 .ascii "%s%s%s%s%s%s" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cd18 data_ov61_0217cd18: ; 0x0217cd18 .ascii " " .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cd4c data_ov61_0217cd4c: ; 0x0217cd4c .ascii "\\login\\" .byte 0x00 .global data_ov61_0217cd54 data_ov61_0217cd54: ; 0x0217cd54 .ascii "\\challenge\\" .byte 0x00 .global data_ov61_0217cd60 data_ov61_0217cd60: ; 0x0217cd60 .ascii "\\authtoken\\" .byte 0x00 .global data_ov61_0217cd6c data_ov61_0217cd6c: ; 0x0217cd6c .ascii "\\uniquenick\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cd7c data_ov61_0217cd7c: ; 0x0217cd7c .ascii "\\user\\" .byte 0x00, 0x00 .global data_ov61_0217cd84 data_ov61_0217cd84: ; 0x0217cd84 .ascii "@" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cd88 data_ov61_0217cd88: ; 0x0217cd88 .ascii "\\userid\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cd94 data_ov61_0217cd94: ; 0x0217cd94 .ascii "\\profileid\\" .byte 0x00 .global data_ov61_0217cda0 data_ov61_0217cda0: ; 0x0217cda0 .ascii "\\response\\" .byte 0x00, 0x00 .global data_ov61_0217cdac data_ov61_0217cdac: ; 0x0217cdac .ascii "\\firewall\\1" .byte 0x00 .global data_ov61_0217cdb8 data_ov61_0217cdb8: ; 0x0217cdb8 .ascii "\\port\\" .byte 0x00, 0x00 .global data_ov61_0217cdc0 data_ov61_0217cdc0: ; 0x0217cdc0 .ascii "\\productid\\" .byte 0x00 .global data_ov61_0217cdcc data_ov61_0217cdcc: ; 0x0217cdcc .ascii "\\gamename\\" .byte 0x00, 0x00 .global data_ov61_0217cdd8 data_ov61_0217cdd8: ; 0x0217cdd8 .ascii "\\namespaceid\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cde8 data_ov61_0217cde8: ; 0x0217cde8 .ascii "\\id\\1" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cdf0 data_ov61_0217cdf0: ; 0x0217cdf0 .ascii "\\final\\" .byte 0x00 .global data_ov61_0217cdf8 data_ov61_0217cdf8: ; 0x0217cdf8 .ascii "\\newuser\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ce04 data_ov61_0217ce04: ; 0x0217ce04 .ascii "\\email\\" .byte 0x00 .global data_ov61_0217ce0c data_ov61_0217ce0c: ; 0x0217ce0c .ascii "\\nick\\" .byte 0x00, 0x00 .global data_ov61_0217ce14 data_ov61_0217ce14: ; 0x0217ce14 .ascii "\\passwordenc\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ce24 data_ov61_0217ce24: ; 0x0217ce24 .ascii "\\cdkeyenc\\" .byte 0x00, 0x00 .global data_ov61_0217ce30 data_ov61_0217ce30: ; 0x0217ce30 .ascii "\\pid\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ce38 data_ov61_0217ce38: ; 0x0217ce38 .ascii "\\fatal\\" .byte 0x00 .global data_ov61_0217ce40 data_ov61_0217ce40: ; 0x0217ce40 .ascii "\\lc\\1" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ce48 data_ov61_0217ce48: ; 0x0217ce48 .ascii "Unexpected data was received from the server." .byte 0x00, 0x00, 0x00 .global data_ov61_0217ce78 data_ov61_0217ce78: ; 0x0217ce78 .ascii "\\nur\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ce80 data_ov61_0217ce80: ; 0x0217ce80 .ascii "Unexepected data was received from the server." .byte 0x00, 0x00 .global data_ov61_0217ceb0 data_ov61_0217ceb0: ; 0x0217ceb0 .ascii "\\lc\\2" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ceb8 data_ov61_0217ceb8: ; 0x0217ceb8 .ascii "\\sesskey\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cec4 data_ov61_0217cec4: ; 0x0217cec4 .ascii "\\lt\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cecc data_ov61_0217cecc: ; 0x0217cecc .ascii "\\proof\\" .byte 0x00 .global data_ov61_0217ced4 data_ov61_0217ced4: ; 0x0217ced4 .ascii "Could not authenticate server." .byte 0x00, 0x00 .global data_ov61_0217cef4 data_ov61_0217cef4: ; 0x0217cef4 .ascii "The server has refused the connection." .byte 0x00, 0x00 .global data_ov61_0217cf1c data_ov61_0217cf1c: ; 0x0217cf1c .ascii "state == GPI_CONNECTED" .byte 0x00, 0x00 .global data_ov61_0217cf34 data_ov61_0217cf34: ; 0x0217cf34 .ascii "\\logout\\\\sesskey\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cf48 data_ov61_0217cf48: ; 0x0217cf48 .ascii "CM" .byte 0x00, 0x00 .global data_ov61_0217cf4c data_ov61_0217cf4c: ; 0x0217cf4c .ascii "gpiIntToDate" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cf5c data_ov61_0217cf5c: ; 0x0217cf5c .ascii "gpiProcessGetInfo" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cf70 data_ov61_0217cf70: ; 0x0217cf70 .ascii "gpiInfo.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cf7c data_ov61_0217cf7c: ; 0x0217cf7c .ascii "Invalid date." .byte 0x00, 0x00, 0x00 .global data_ov61_0217cf8c data_ov61_0217cf8c: ; 0x0217cf8c .ascii "gpiIsValidDate(d, m, y)" .byte 0x00 .global data_ov61_0217cfa4 data_ov61_0217cfa4: ; 0x0217cfa4 .ascii "\\pi\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217cfac data_ov61_0217cfac: ; 0x0217cfac .ascii "Unexpected data was received from the server." .byte 0x00, 0x00, 0x00 .global data_ov61_0217cfdc data_ov61_0217cfdc: ; 0x0217cfdc .ascii "\\profileid\\" .byte 0x00 .global data_ov61_0217cfe8 data_ov61_0217cfe8: ; 0x0217cfe8 .ascii "profileid > 0" .byte 0x00, 0x00, 0x00 .global data_ov61_0217cff8 data_ov61_0217cff8: ; 0x0217cff8 .ascii "\\nick\\" .byte 0x00, 0x00 .global data_ov61_0217d000 data_ov61_0217d000: ; 0x0217d000 .ascii "\\uniquenick\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d010 data_ov61_0217d010: ; 0x0217d010 .ascii "\\email\\" .byte 0x00 .global data_ov61_0217d018 data_ov61_0217d018: ; 0x0217d018 .ascii "\\firstname\\" .byte 0x00 .global data_ov61_0217d024 data_ov61_0217d024: ; 0x0217d024 .ascii "\\lastname\\" .byte 0x00, 0x00 .global data_ov61_0217d030 data_ov61_0217d030: ; 0x0217d030 .ascii "\\icquin\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d03c data_ov61_0217d03c: ; 0x0217d03c .ascii "\\homepage\\" .byte 0x00, 0x00 .global data_ov61_0217d048 data_ov61_0217d048: ; 0x0217d048 .ascii "\\zipcode\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d054 data_ov61_0217d054: ; 0x0217d054 .ascii "\\countrycode\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d064 data_ov61_0217d064: ; 0x0217d064 .ascii "\\lon\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d06c data_ov61_0217d06c: ; 0x0217d06c .ascii "\\lat\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d074 data_ov61_0217d074: ; 0x0217d074 .ascii "\\loc\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d07c data_ov61_0217d07c: ; 0x0217d07c .ascii "\\birthday\\" .byte 0x00, 0x00 .global data_ov61_0217d088 data_ov61_0217d088: ; 0x0217d088 .ascii "\\sex\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d090 data_ov61_0217d090: ; 0x0217d090 .ascii "\\pmask\\" .byte 0x00 .global data_ov61_0217d098 data_ov61_0217d098: ; 0x0217d098 .ascii "\\aim\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d0a0 data_ov61_0217d0a0: ; 0x0217d0a0 .ascii "\\pic\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d0a8 data_ov61_0217d0a8: ; 0x0217d0a8 .ascii "\\occ\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d0b0 data_ov61_0217d0b0: ; 0x0217d0b0 .ascii "\\ind\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d0b8 data_ov61_0217d0b8: ; 0x0217d0b8 .ascii "\\inc\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d0c0 data_ov61_0217d0c0: ; 0x0217d0c0 .ascii "\\mar\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d0c8 data_ov61_0217d0c8: ; 0x0217d0c8 .ascii "\\chc\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d0d0 data_ov61_0217d0d0: ; 0x0217d0d0 .ascii "\\i1\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d0d8 data_ov61_0217d0d8: ; 0x0217d0d8 .ascii "\\o1\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d0e0 data_ov61_0217d0e0: ; 0x0217d0e0 .ascii "\\conn\\" .byte 0x00, 0x00 .global data_ov61_0217d0e8 data_ov61_0217d0e8: ; 0x0217d0e8 .ascii "\\sig\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d0f0 data_ov61_0217d0f0: ; 0x0217d0f0 .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217d100 data_ov61_0217d100: ; 0x0217d100 .ascii "\\updatepro\\\\sesskey\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d118 data_ov61_0217d118: ; 0x0217d118 .ascii "\\final\\" .byte 0x00 .global data_ov61_0217d120 data_ov61_0217d120: ; 0x0217d120 .ascii "\\updateui\\\\sesskey\\" .byte 0x00 .global data_ov61_0217d134 data_ov61_0217d134: ; 0x0217d134 .ascii "Invalid zipcode." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d148 data_ov61_0217d148: ; 0x0217d148 .ascii "%d" .byte 0x00, 0x00 .global data_ov61_0217d14c data_ov61_0217d14c: ; 0x0217d14c .byte 0x30 .global data_ov61_0217d14d data_ov61_0217d14d: ; 0x0217d14d .byte 0x00 .global data_ov61_0217d14e data_ov61_0217d14e: ; 0x0217d14e .byte 0x00 .global data_ov61_0217d14f data_ov61_0217d14f: ; 0x0217d14f .byte 0x00 .global data_ov61_0217d150 data_ov61_0217d150: ; 0x0217d150 .byte 0x31 .global data_ov61_0217d151 data_ov61_0217d151: ; 0x0217d151 .byte 0x00 .global data_ov61_0217d152 data_ov61_0217d152: ; 0x0217d152 .byte 0x00 .global data_ov61_0217d153 data_ov61_0217d153: ; 0x0217d153 .byte 0x00 .global data_ov61_0217d154 data_ov61_0217d154: ; 0x0217d154 .byte 0x32 .global data_ov61_0217d155 data_ov61_0217d155: ; 0x0217d155 .byte 0x00 .global data_ov61_0217d156 data_ov61_0217d156: ; 0x0217d156 .byte 0x00 .global data_ov61_0217d157 data_ov61_0217d157: ; 0x0217d157 .byte 0x00 .global data_ov61_0217d158 data_ov61_0217d158: ; 0x0217d158 .ascii "Invalid sex." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d168 data_ov61_0217d168: ; 0x0217d168 .ascii "\\cpubrandid\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d178 data_ov61_0217d178: ; 0x0217d178 .ascii "\\cpuspeed\\" .byte 0x00, 0x00 .global data_ov61_0217d184 data_ov61_0217d184: ; 0x0217d184 .ascii "\\memory\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d190 data_ov61_0217d190: ; 0x0217d190 .ascii "\\videocard1ram\\" .byte 0x00 .global data_ov61_0217d1a0 data_ov61_0217d1a0: ; 0x0217d1a0 .ascii "\\videocard2ram\\" .byte 0x00 .global data_ov61_0217d1b0 data_ov61_0217d1b0: ; 0x0217d1b0 .ascii "\\connectionid\\" .byte 0x00, 0x00 .global data_ov61_0217d1c0 data_ov61_0217d1c0: ; 0x0217d1c0 .ascii "\\connectionspeed\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d1d4 data_ov61_0217d1d4: ; 0x0217d1d4 .ascii "\\hasnetwork\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d1e4 data_ov61_0217d1e4: ; 0x0217d1e4 .ascii "Invalid info." .byte 0x00, 0x00, 0x00 .global data_ov61_0217d1f4 data_ov61_0217d1f4: ; 0x0217d1f4 .ascii "Invalid value." .byte 0x00, 0x00 .global data_ov61_0217d204 data_ov61_0217d204: ; 0x0217d204 .ascii "\\password\\" .byte 0x00, 0x00 .global data_ov61_0217d210 data_ov61_0217d210: ; 0x0217d210 .ascii "Invalid countrycode." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d228 data_ov61_0217d228: ; 0x0217d228 .ascii "\\videocard1string\\" .byte 0x00, 0x00 .global data_ov61_0217d23c data_ov61_0217d23c: ; 0x0217d23c .ascii "\\videocard2string\\" .byte 0x00, 0x00 .global data_ov61_0217d250 data_ov61_0217d250: ; 0x0217d250 .ascii "\\osstring\\" .byte 0x00, 0x00 .global data_ov61_0217d25c data_ov61_0217d25c: ; 0x0217d25c .ascii "\\getprofile\\\\sesskey\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d274 data_ov61_0217d274: ; 0x0217d274 .ascii "\\id\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d27c data_ov61_0217d27c: ; 0x0217d27c .ascii "gpiDestroyOperation" .byte 0x00 .global data_ov61_0217d290 data_ov61_0217d290: ; 0x0217d290 .ascii "gpiFailedOpCallback" .byte 0x00 .global data_ov61_0217d2a4 data_ov61_0217d2a4: ; 0x0217d2a4 .ascii "gpiProcessOperation" .byte 0x00 .global data_ov61_0217d2b8 data_ov61_0217d2b8: ; 0x0217d2b8 .ascii "connection != NULL" .byte 0x00, 0x00 .global data_ov61_0217d2cc data_ov61_0217d2cc: ; 0x0217d2cc .ascii "gpiOperation.c" .byte 0x00, 0x00 .global data_ov61_0217d2dc data_ov61_0217d2dc: ; 0x0217d2dc .ascii "*connection != NULL" .byte 0x00 .global data_ov61_0217d2f0 data_ov61_0217d2f0: ; 0x0217d2f0 .ascii "operation != NULL" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d304 data_ov61_0217d304: ; 0x0217d304 .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217d314 data_ov61_0217d314: ; 0x0217d314 .ascii "0" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d318 data_ov61_0217d318: ; 0x0217d318 .ascii "iconnection->numSearches >= 0" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d338 data_ov61_0217d338: ; 0x0217d338 .ascii "gpiProcessOperation was passed an operation with an invalid type (%d)\n" .byte 0x00, 0x00 .global data_ov61_0217d380 data_ov61_0217d380: ; 0x0217d380 .ascii "gpiRemovePeer" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d390 data_ov61_0217d390: ; 0x0217d390 .ascii "gpiProcessPeer" .byte 0x00, 0x00 .global data_ov61_0217d3a0 data_ov61_0217d3a0: ; 0x0217d3a0 .ascii "gpiPeerAddMessage" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d3b4 data_ov61_0217d3b4: ; 0x0217d3b4 .ascii "gpiPeerStartTransferMessage" .byte 0x00 .global data_ov61_0217d3d0 data_ov61_0217d3d0: ; 0x0217d3d0 .ascii "gpiPeerFinishTransferMessage" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d3f0 data_ov61_0217d3f0: ; 0x0217d3f0 .ascii "gpiProcessPeerAcceptingConnection" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d414 data_ov61_0217d414: ; 0x0217d414 .ascii "gpiProcessPeerInitiatingConnection" .byte 0x00, 0x00 .global data_ov61_0217d438 data_ov61_0217d438: ; 0x0217d438 .ascii "Error connecting to a peer." .byte 0x00 .global data_ov61_0217d454 data_ov61_0217d454: ; 0x0217d454 .ascii "\\auth\\" .byte 0x00, 0x00 .global data_ov61_0217d45c data_ov61_0217d45c: ; 0x0217d45c .ascii "\\pid\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d464 data_ov61_0217d464: ; 0x0217d464 .ascii "\\nick\\" .byte 0x00, 0x00 .global data_ov61_0217d46c data_ov61_0217d46c: ; 0x0217d46c .ascii "\\sig\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d474 data_ov61_0217d474: ; 0x0217d474 .ascii "\\final\\" .byte 0x00 .global data_ov61_0217d47c data_ov61_0217d47c: ; 0x0217d47c .ascii "PR" .byte 0x00, 0x00 .global data_ov61_0217d480 data_ov61_0217d480: ; 0x0217d480 .ascii "\\anack\\" .byte 0x00 .global data_ov61_0217d488 data_ov61_0217d488: ; 0x0217d488 .ascii "Error getting buddy authorization." .byte 0x00, 0x00 .global data_ov61_0217d4ac data_ov61_0217d4ac: ; 0x0217d4ac .ascii "\\aack\\" .byte 0x00, 0x00 .global data_ov61_0217d4b4 data_ov61_0217d4b4: ; 0x0217d4b4 .ascii "Error parsing buddy message." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d4d4 data_ov61_0217d4d4: ; 0x0217d4d4 .ascii "0" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d4d8 data_ov61_0217d4d8: ; 0x0217d4d8 .ascii "gpiPeer.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d4e4 data_ov61_0217d4e4: ; 0x0217d4e4 .ascii "peer->state == GPI_PEER_WAITING" .byte 0x00 .global data_ov61_0217d504 data_ov61_0217d504: ; 0x0217d504 .ascii "%s%d%d" .byte 0x00, 0x00 .global data_ov61_0217d50c data_ov61_0217d50c: ; 0x0217d50c .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217d51c data_ov61_0217d51c: ; 0x0217d51c .ascii "1" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d520 data_ov61_0217d520: ; 0x0217d520 .ascii "peer->state != GPI_PEER_NOT_CONNECTED" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d548 data_ov61_0217d548: ; 0x0217d548 .ascii "peer != NULL" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d558 data_ov61_0217d558: ; 0x0217d558 .ascii "Tried to remove peer not in list." .byte 0x00, 0x00, 0x00 .global data_ov61_0217d57c data_ov61_0217d57c: ; 0x0217d57c .ascii "There was an error creating a socket." .byte 0x00, 0x00, 0x00 .global data_ov61_0217d5a4 data_ov61_0217d5a4: ; 0x0217d5a4 .ascii "There was an error making a socket non-blocking." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d5d8 data_ov61_0217d5d8: ; 0x0217d5d8 .ascii "There was an error connecting a socket." .byte 0x00 .global data_ov61_0217d600 data_ov61_0217d600: ; 0x0217d600 .ascii "message != NULL" .byte 0x00 .global data_ov61_0217d610 data_ov61_0217d610: ; 0x0217d610 .ascii "\\m\\" .byte 0x00 .global data_ov61_0217d614 data_ov61_0217d614: ; 0x0217d614 .ascii "\\len\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d61c data_ov61_0217d61c: ; 0x0217d61c .ascii "\\msg\\\n" .byte 0x00, 0x00 .global data_ov61_0217d624 data_ov61_0217d624: ; 0x0217d624 .ascii "transferID" .byte 0x00, 0x00 .global data_ov61_0217d630 data_ov61_0217d630: ; 0x0217d630 .ascii "\\m\\%d\\xfer\\%d %u %u" .byte 0x00 .global data_ov61_0217d644 data_ov61_0217d644: ; 0x0217d644 .ascii "" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d648 data_ov61_0217d648: ; 0x0217d648 .ascii "\\len\\%d\\msg\\\n" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d658 data_ov61_0217d658: ; 0x0217d658 .ascii "gpiProfileListAdd" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d66c data_ov61_0217d66c: ; 0x0217d66c .ascii "\\npr\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d674 data_ov61_0217d674: ; 0x0217d674 .ascii "Unexpected data was received from the server." .byte 0x00, 0x00, 0x00 .global data_ov61_0217d6a4 data_ov61_0217d6a4: ; 0x0217d6a4 .ascii "\\profileid\\" .byte 0x00 .global data_ov61_0217d6b0 data_ov61_0217d6b0: ; 0x0217d6b0 .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217d6c0 data_ov61_0217d6c0: ; 0x0217d6c0 .ascii "id > 0" .byte 0x00, 0x00 .global data_ov61_0217d6c8 data_ov61_0217d6c8: ; 0x0217d6c8 .ascii "gpiProfile.c" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d6d8 data_ov61_0217d6d8: ; 0x0217d6d8 .ascii "gpiProcessSearch" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d6ec data_ov61_0217d6ec: ; 0x0217d6ec .ascii "gpiProcessSearches" .byte 0x00, 0x00 .global data_ov61_0217d700 data_ov61_0217d700: ; 0x0217d700 .ascii "gpiStartProfileSearch" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d718 data_ov61_0217d718: ; 0x0217d718 .ascii "gpsp.gs.nintendowifi.net" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d734 data_ov61_0217d734: ; 0x0217d734 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d738 data_ov61_0217d738: ; 0x0217d738 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d73c data_ov61_0217d73c: ; 0x0217d73c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d740 data_ov61_0217d740: ; 0x0217d740 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d744 data_ov61_0217d744: ; 0x0217d744 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d748 data_ov61_0217d748: ; 0x0217d748 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d74c data_ov61_0217d74c: ; 0x0217d74c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d750 data_ov61_0217d750: ; 0x0217d750 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d754 data_ov61_0217d754: ; 0x0217d754 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d758 data_ov61_0217d758: ; 0x0217d758 .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217d768 data_ov61_0217d768: ; 0x0217d768 .ascii "There was an error creating a socket." .byte 0x00, 0x00, 0x00 .global data_ov61_0217d790 data_ov61_0217d790: ; 0x0217d790 .ascii "There was an error making a socket non-blocking." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d7c4 data_ov61_0217d7c4: ; 0x0217d7c4 .ascii "Could not resolve search mananger host name." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d7f4 data_ov61_0217d7f4: ; 0x0217d7f4 .ascii "address.sin_addr.s_addr != 0" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d814 data_ov61_0217d814: ; 0x0217d814 .ascii "gpiSearch.c" .byte 0x00 .global data_ov61_0217d820 data_ov61_0217d820: ; 0x0217d820 .ascii "There was an error connecting a socket." .byte 0x00 .global data_ov61_0217d848 data_ov61_0217d848: ; 0x0217d848 .ascii "No search criteria." .byte 0x00 .global data_ov61_0217d85c data_ov61_0217d85c: ; 0x0217d85c .ascii "SM" .byte 0x00, 0x00 .global data_ov61_0217d860 data_ov61_0217d860: ; 0x0217d860 .ascii "Could not connect to the search manager." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d88c data_ov61_0217d88c: ; 0x0217d88c .ascii "\\search\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d898 data_ov61_0217d898: ; 0x0217d898 .ascii "\\sesskey\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d8a4 data_ov61_0217d8a4: ; 0x0217d8a4 .ascii "\\profileid\\" .byte 0x00 .global data_ov61_0217d8b0 data_ov61_0217d8b0: ; 0x0217d8b0 .ascii "\\namespaceid\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d8c0 data_ov61_0217d8c0: ; 0x0217d8c0 .ascii "\\nick\\" .byte 0x00, 0x00 .global data_ov61_0217d8c8 data_ov61_0217d8c8: ; 0x0217d8c8 .ascii "\\uniquenick\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d8d8 data_ov61_0217d8d8: ; 0x0217d8d8 .ascii "\\email\\" .byte 0x00 .global data_ov61_0217d8e0 data_ov61_0217d8e0: ; 0x0217d8e0 .ascii "\\firstname\\" .byte 0x00 .global data_ov61_0217d8ec data_ov61_0217d8ec: ; 0x0217d8ec .ascii "\\lastname\\" .byte 0x00, 0x00 .global data_ov61_0217d8f8 data_ov61_0217d8f8: ; 0x0217d8f8 .ascii "\\icquin\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d904 data_ov61_0217d904: ; 0x0217d904 .ascii "\\skip\\" .byte 0x00, 0x00 .global data_ov61_0217d90c data_ov61_0217d90c: ; 0x0217d90c .ascii "\\valid\\" .byte 0x00 .global data_ov61_0217d914 data_ov61_0217d914: ; 0x0217d914 .ascii "\\nicks\\" .byte 0x00 .global data_ov61_0217d91c data_ov61_0217d91c: ; 0x0217d91c .ascii "\\pass\\" .byte 0x00, 0x00 .global data_ov61_0217d924 data_ov61_0217d924: ; 0x0217d924 .ascii "\\pmatch\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d930 data_ov61_0217d930: ; 0x0217d930 .ascii "\\productid\\" .byte 0x00 .global data_ov61_0217d93c data_ov61_0217d93c: ; 0x0217d93c .ascii "\\check\\" .byte 0x00 .global data_ov61_0217d944 data_ov61_0217d944: ; 0x0217d944 .ascii "\\newuser\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d950 data_ov61_0217d950: ; 0x0217d950 .ascii "\\productID\\" .byte 0x00 .global data_ov61_0217d95c data_ov61_0217d95c: ; 0x0217d95c .ascii "\\cdkey\\" .byte 0x00 .global data_ov61_0217d964 data_ov61_0217d964: ; 0x0217d964 .ascii "\\others\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d970 data_ov61_0217d970: ; 0x0217d970 .ascii "\\uniquesearch\\" .byte 0x00, 0x00 .global data_ov61_0217d980 data_ov61_0217d980: ; 0x0217d980 .ascii "\\preferrednick\\" .byte 0x00 .global data_ov61_0217d990 data_ov61_0217d990: ; 0x0217d990 .ascii "0" .byte 0x00, 0x00, 0x00 .global data_ov61_0217d994 data_ov61_0217d994: ; 0x0217d994 .ascii "\\gamename\\" .byte 0x00, 0x00 .global data_ov61_0217d9a0 data_ov61_0217d9a0: ; 0x0217d9a0 .ascii "\\final\\" .byte 0x00 .global data_ov61_0217d9a8 data_ov61_0217d9a8: ; 0x0217d9a8 .ascii "There was an error reading from the server." .byte 0x00 .global data_ov61_0217d9d4 data_ov61_0217d9d4: ; 0x0217d9d4 .ascii "bsrdone" .byte 0x00 .global data_ov61_0217d9dc data_ov61_0217d9dc: ; 0x0217d9dc .ascii "more" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d9e4 data_ov61_0217d9e4: ; 0x0217d9e4 .ascii "bsr" .byte 0x00 .global data_ov61_0217d9e8 data_ov61_0217d9e8: ; 0x0217d9e8 .ascii "nick" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217d9f0 data_ov61_0217d9f0: ; 0x0217d9f0 .ascii "uniquenick" .byte 0x00, 0x00 .global data_ov61_0217d9fc data_ov61_0217d9fc: ; 0x0217d9fc .ascii "firstname" .byte 0x00, 0x00, 0x00 .global data_ov61_0217da08 data_ov61_0217da08: ; 0x0217da08 .ascii "lastname" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217da14 data_ov61_0217da14: ; 0x0217da14 .ascii "email" .byte 0x00, 0x00, 0x00 .global data_ov61_0217da1c data_ov61_0217da1c: ; 0x0217da1c .ascii "Error reading from the search server." .byte 0x00, 0x00, 0x00 .global data_ov61_0217da44 data_ov61_0217da44: ; 0x0217da44 .ascii "vr" .byte 0x00, 0x00 .global data_ov61_0217da48 data_ov61_0217da48: ; 0x0217da48 .ascii "nr" .byte 0x00, 0x00 .global data_ov61_0217da4c data_ov61_0217da4c: ; 0x0217da4c .ascii "ndone" .byte 0x00, 0x00, 0x00 .global data_ov61_0217da54 data_ov61_0217da54: ; 0x0217da54 .ascii "psrdone" .byte 0x00 .global data_ov61_0217da5c data_ov61_0217da5c: ; 0x0217da5c .ascii "psr" .byte 0x00 .global data_ov61_0217da60 data_ov61_0217da60: ; 0x0217da60 .ascii "status" .byte 0x00, 0x00 .global data_ov61_0217da68 data_ov61_0217da68: ; 0x0217da68 .ascii "statuscode" .byte 0x00, 0x00 .global data_ov61_0217da74 data_ov61_0217da74: ; 0x0217da74 .ascii "cur" .byte 0x00 .global data_ov61_0217da78 data_ov61_0217da78: ; 0x0217da78 .ascii "\\pid\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217da80 data_ov61_0217da80: ; 0x0217da80 .ascii "nur" .byte 0x00 .global data_ov61_0217da84 data_ov61_0217da84: ; 0x0217da84 .ascii "others" .byte 0x00, 0x00 .global data_ov61_0217da8c data_ov61_0217da8c: ; 0x0217da8c .ascii "odone" .byte 0x00, 0x00, 0x00 .global data_ov61_0217da94 data_ov61_0217da94: ; 0x0217da94 .ascii "o" .byte 0x00, 0x00, 0x00 .global data_ov61_0217da98 data_ov61_0217da98: ; 0x0217da98 .ascii "first" .byte 0x00, 0x00, 0x00 .global data_ov61_0217daa0 data_ov61_0217daa0: ; 0x0217daa0 .ascii "last" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217daa8 data_ov61_0217daa8: ; 0x0217daa8 .ascii "us" .byte 0x00, 0x00 .global data_ov61_0217daac data_ov61_0217daac: ; 0x0217daac .ascii "usdone" .byte 0x00, 0x00 .global data_ov61_0217dab4 data_ov61_0217dab4: ; 0x0217dab4 .ascii "count == arg->numSuggestedNicks" .byte 0x00 .global data_ov61_0217dad4 data_ov61_0217dad4: ; 0x0217dad4 .ascii "num < iconnection->numSearches" .byte 0x00, 0x00 .global data_ov61_0217daf4 data_ov61_0217daf4: ; 0x0217daf4 .ascii "" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217daf8 data_ov61_0217daf8: ; 0x0217daf8 .ascii "\\version\\%d\\result\\%d" .byte 0x00, 0x00, 0x00 .global data_ov61_0217db10 data_ov61_0217db10: ; 0x0217db10 .ascii "\\xfer\\" .byte 0x00, 0x00 .global data_ov61_0217db18 data_ov61_0217db18: ; 0x0217db18 .ascii "%d %u %u" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217db24 data_ov61_0217db24: ; 0x0217db24 .ascii "\\rn\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217db2c data_ov61_0217db2c: ; 0x0217db2c .ascii "Unexpected data was received from the server." .byte 0x00, 0x00, 0x00 .global data_ov61_0217db5c data_ov61_0217db5c: ; 0x0217db5c .ascii "Out of memory." .byte 0x00, 0x00 .global data_ov61_0217db6c data_ov61_0217db6c: ; 0x0217db6c .ascii "strzcpy" .byte 0x00 .global data_ov61_0217db74 data_ov61_0217db74: ; 0x0217db74 .ascii "gpiValueForKey" .byte 0x00, 0x00 .global data_ov61_0217db84 data_ov61_0217db84: ; 0x0217db84 .ascii "gpiReadKeyAndValue" .byte 0x00, 0x00 .global data_ov61_0217db98 data_ov61_0217db98: ; 0x0217db98 .ascii "dest != NULL" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dba8 data_ov61_0217dba8: ; 0x0217dba8 .ascii "gpiUtility.c" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dbb8 data_ov61_0217dbb8: ; 0x0217dbb8 .ascii "src != NULL" .byte 0x00 .global data_ov61_0217dbc4 data_ov61_0217dbc4: ; 0x0217dbc4 .ascii "\\error\\" .byte 0x00 .global data_ov61_0217dbcc data_ov61_0217dbcc: ; 0x0217dbcc .ascii "\\err\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217dbd4 data_ov61_0217dbd4: ; 0x0217dbd4 .ascii "\\errmsg\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dbe0 data_ov61_0217dbe0: ; 0x0217dbe0 .ascii "\\fatal\\" .byte 0x00 .global data_ov61_0217dbe8 data_ov61_0217dbe8: ; 0x0217dbe8 .ascii "command != NULL" .byte 0x00 .global data_ov61_0217dbf8 data_ov61_0217dbf8: ; 0x0217dbf8 .ascii "key != NULL" .byte 0x00 .global data_ov61_0217dc04 data_ov61_0217dc04: ; 0x0217dc04 .ascii "value != NULL" .byte 0x00, 0x00, 0x00 .global data_ov61_0217dc14 data_ov61_0217dc14: ; 0x0217dc14 .ascii "len > 0" .byte 0x00 .global data_ov61_0217dc1c data_ov61_0217dc1c: ; 0x0217dc1c .ascii "Error connecting\n" .byte 0x00, 0x00, 0x00 .global data_ov61_0217dc30 data_ov61_0217dc30: ; 0x0217dc30 .ascii "There was an error checking for a completed connection." .byte 0x00 .global data_ov61_0217dc68 data_ov61_0217dc68: ; 0x0217dc68 .ascii "Connection rejected\n" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dc80 data_ov61_0217dc80: ; 0x0217dc80 .ascii "Connection accepted\n" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dc98 data_ov61_0217dc98: ; 0x0217dc98 .ascii "buffer != NULL" .byte 0x00, 0x00 .global data_ov61_0217dca8 data_ov61_0217dca8: ; 0x0217dca8 .ascii "Parse Error." .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dcb8 data_ov61_0217dcb8: ; 0x0217dcb8 .ascii "DoFind" .byte 0x00, 0x00 .global data_ov61_0217dcc0 data_ov61_0217dcc0: ; 0x0217dcc0 .ascii "BucketNew" .byte 0x00, 0x00, 0x00 .global data_ov61_0217dccc data_ov61_0217dccc: ; 0x0217dccc .ascii "BucketConcat" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dcdc data_ov61_0217dcdc: ; 0x0217dcdc .ascii "set" .byte 0x00 .global data_ov61_0217dce0 data_ov61_0217dce0: ; 0x0217dce0 .ascii "gbucket.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217dcec data_ov61_0217dcec: ; 0x0217dcec .ascii "pbucket->type == bt_string" .byte 0x00, 0x00 .global data_ov61_0217dd08 data_ov61_0217dd08: ; 0x0217dd08 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217dd0c data_ov61_0217dd0c: ; 0x0217dd0c .byte 0x20, 0x4e, 0x00, 0x00 .global data_ov61_0217dd10 data_ov61_0217dd10: ; 0x0217dd10 .word data_ov61_0217dd54 .global data_ov61_0217dd14 data_ov61_0217dd14: ; 0x0217dd14 .word func_ov61_02171bc0 .global data_ov61_0217dd18 data_ov61_0217dd18: ; 0x0217dd18 .word func_ov61_02171bec .global data_ov61_0217dd1c data_ov61_0217dd1c: ; 0x0217dd1c .word func_ov61_02171c80 .global data_ov61_0217dd20 data_ov61_0217dd20: ; 0x0217dd20 .word func_ov61_02171d04 .global data_ov61_0217dd24 data_ov61_0217dd24: ; 0x0217dd24 .word func_ov61_02171d84 .global data_ov61_0217dd28 data_ov61_0217dd28: ; 0x0217dd28 .word func_ov61_02171e08 .global data_ov61_0217dd2c data_ov61_0217dd2c: ; 0x0217dd2c .word func_ov61_02171eac .global data_ov61_0217dd30 data_ov61_0217dd30: ; 0x0217dd30 .word func_ov61_02172b6c .global data_ov61_0217dd34 data_ov61_0217dd34: ; 0x0217dd34 .word func_ov61_02172bd4 .global data_ov61_0217dd38 data_ov61_0217dd38: ; 0x0217dd38 .word func_ov61_02172c44 .global data_ov61_0217dd3c data_ov61_0217dd3c: ; 0x0217dd3c .word func_ov61_02172ca0 .global data_ov61_0217dd40 data_ov61_0217dd40: ; 0x0217dd40 .word func_ov61_02172cfc .global data_ov61_0217dd44 data_ov61_0217dd44: ; 0x0217dd44 .word func_ov61_02172d5c .global data_ov61_0217dd48 data_ov61_0217dd48: ; 0x0217dd48 .word func_ov61_02172db8 .global data_ov61_0217dd4c data_ov61_0217dd4c: ; 0x0217dd4c .word func_ov61_02172e14 .global data_ov61_0217dd50 data_ov61_0217dd50: ; 0x0217dd50 .word func_ov61_02172e74 .global data_ov61_0217dd54 data_ov61_0217dd54: ; 0x0217dd54 .byte 0x00 .global data_ov61_0217dd55 data_ov61_0217dd55: ; 0x0217dd55 .ascii "ameSpy3D" .byte 0x00 .global data_ov61_0217dd5e data_ov61_0217dd5e: ; 0x0217dd5e .byte 0x00 .global data_ov61_0217dd5f data_ov61_0217dd5f: ; 0x0217dd5f .byte 0x00 .global data_ov61_0217dd60 data_ov61_0217dd60: ; 0x0217dd60 .byte 0x00 .global data_ov61_0217dd61 data_ov61_0217dd61: ; 0x0217dd61 .byte 0x00 .global data_ov61_0217dd62 data_ov61_0217dd62: ; 0x0217dd62 .byte 0x00 .global data_ov61_0217dd63 data_ov61_0217dd63: ; 0x0217dd63 .byte 0x00 .global data_ov61_0217dd64 data_ov61_0217dd64: ; 0x0217dd64 .byte 0x00 .global data_ov61_0217dd65 data_ov61_0217dd65: ; 0x0217dd65 .ascii "rojectAphex" .byte 0x00 .global data_ov61_0217dd71 data_ov61_0217dd71: ; 0x0217dd71 .byte 0x00 .global data_ov61_0217dd72 data_ov61_0217dd72: ; 0x0217dd72 .byte 0x00 .global data_ov61_0217dd73 data_ov61_0217dd73: ; 0x0217dd73 .byte 0x00 .global data_ov61_0217dd74 data_ov61_0217dd74: ; 0x0217dd74 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dd78 data_ov61_0217dd78: ; 0x0217dd78 .byte 0x5c, 0x00, 0x00, 0x00 .global data_ov61_0217dd7c data_ov61_0217dd7c: ; 0x0217dd7c .ascii "pauthr" .byte 0x00, 0x00 .global data_ov61_0217dd84 data_ov61_0217dd84: ; 0x0217dd84 .ascii "lid" .byte 0x00 .global data_ov61_0217dd88 data_ov61_0217dd88: ; 0x0217dd88 .ascii "errmsg" .byte 0x00, 0x00 .global data_ov61_0217dd90 data_ov61_0217dd90: ; 0x0217dd90 .ascii "getpidr" .byte 0x00 .global data_ov61_0217dd98 data_ov61_0217dd98: ; 0x0217dd98 .ascii "getpdr" .byte 0x00, 0x00 .global data_ov61_0217dda0 data_ov61_0217dda0: ; 0x0217dda0 .ascii "pid" .byte 0x00 .global data_ov61_0217dda4 data_ov61_0217dda4: ; 0x0217dda4 .ascii "mod" .byte 0x00 .global data_ov61_0217dda8 data_ov61_0217dda8: ; 0x0217dda8 .ascii "length" .byte 0x00, 0x00 .global data_ov61_0217ddb0 data_ov61_0217ddb0: ; 0x0217ddb0 .ascii "\\data\\" .byte 0x00, 0x00 .global data_ov61_0217ddb8 data_ov61_0217ddb8: ; 0x0217ddb8 .ascii "setpdr" .byte 0x00, 0x00 .global data_ov61_0217ddc0 data_ov61_0217ddc0: ; 0x0217ddc0 .ascii "\\pauthr\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ddcc data_ov61_0217ddcc: ; 0x0217ddcc .ascii "\\getpidr\\" .byte 0x00, 0x00, 0x00 .global data_ov61_0217ddd8 data_ov61_0217ddd8: ; 0x0217ddd8 .ascii "\\getpdr\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dde4 data_ov61_0217dde4: ; 0x0217dde4 .ascii "\\setpdr\\" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ddf0 data_ov61_0217ddf0: ; 0x0217ddf0 .ascii "%s_t%d" .byte 0x00, 0x00 .global data_ov61_0217ddf8 data_ov61_0217ddf8: ; 0x0217ddf8 .ascii "%s_%d" .byte 0x00, 0x00, 0x00 .global data_ov61_0217de00 data_ov61_0217de00: ; 0x0217de00 .ascii "gti2GetChallenge" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217de14 data_ov61_0217de14: ; 0x0217de14 .ascii "3b8dd8995f7c40a9a5c5b7dd5b481341" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217de38 data_ov61_0217de38: ; 0x0217de38 .ascii "buffer" .byte 0x00, 0x00 .global data_ov61_0217de40 data_ov61_0217de40: ; 0x0217de40 .ascii "gt2Auth.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217de4c data_ov61_0217de4c: ; 0x0217de4c .ascii "gti2BufferShorten" .byte 0x00, 0x00, 0x00 .global data_ov61_0217de60 data_ov61_0217de60: ; 0x0217de60 .ascii "gti2BufferWriteData" .byte 0x00 .global data_ov61_0217de74 data_ov61_0217de74: ; 0x0217de74 .ascii "gti2BufferWriteByte" .byte 0x00 .global data_ov61_0217de88 data_ov61_0217de88: ; 0x0217de88 .ascii "gti2BufferWriteUShort" .byte 0x00, 0x00, 0x00 .global data_ov61_0217dea0 data_ov61_0217dea0: ; 0x0217dea0 .ascii "buffer->len < buffer->size" .byte 0x00, 0x00 .global data_ov61_0217debc data_ov61_0217debc: ; 0x0217debc .ascii "gt2Buffer.c" .byte 0x00 .global data_ov61_0217dec8 data_ov61_0217dec8: ; 0x0217dec8 .ascii "(buffer->len + 2) <= buffer->size" .byte 0x00, 0x00, 0x00 .global data_ov61_0217deec data_ov61_0217deec: ; 0x0217deec .ascii "(buffer->len + len) <= buffer->size" .byte 0x00 .global data_ov61_0217df10 data_ov61_0217df10: ; 0x0217df10 .ascii "start <= buffer->len" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217df28 data_ov61_0217df28: ; 0x0217df28 .ascii "shortenBy <= (buffer->len - start)" .byte 0x00, 0x00 .global data_ov61_0217df4c data_ov61_0217df4c: ; 0x0217df4c .ascii "gti2DumpCallback" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217df60 data_ov61_0217df60: ; 0x0217df60 .ascii "gti2PingCallback" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217df74 data_ov61_0217df74: ; 0x0217df74 .ascii "gti2ClosedCallback" .byte 0x00, 0x00 .global data_ov61_0217df88 data_ov61_0217df88: ; 0x0217df88 .ascii "gti2ReceivedCallback" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217dfa0 data_ov61_0217dfa0: ; 0x0217dfa0 .ascii "gti2ConnectedCallback" .byte 0x00, 0x00, 0x00 .global data_ov61_0217dfb8 data_ov61_0217dfb8: ; 0x0217dfb8 .ascii "gti2SendFilterCallback" .byte 0x00, 0x00 .global data_ov61_0217dfd0 data_ov61_0217dfd0: ; 0x0217dfd0 .ascii "gti2SocketErrorCallback" .byte 0x00 .global data_ov61_0217dfe8 data_ov61_0217dfe8: ; 0x0217dfe8 .ascii "gti2ReceiveFilterCallback" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e004 data_ov61_0217e004: ; 0x0217e004 .ascii "gti2ConnectAttemptCallback" .byte 0x00, 0x00 .global data_ov61_0217e020 data_ov61_0217e020: ; 0x0217e020 .ascii "gti2UnrecognizedMessageCallback" .byte 0x00 .global data_ov61_0217e040 data_ov61_0217e040: ; 0x0217e040 .ascii "socket" .byte 0x00, 0x00 .global data_ov61_0217e048 data_ov61_0217e048: ; 0x0217e048 .ascii "gt2Callback.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e058 data_ov61_0217e058: ; 0x0217e058 .ascii "socket && connection" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e070 data_ov61_0217e070: ; 0x0217e070 .ascii "connection" .byte 0x00, 0x00 .global data_ov61_0217e07c data_ov61_0217e07c: ; 0x0217e07c .ascii "gt2SetConnectionData" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e094 data_ov61_0217e094: ; 0x0217e094 .ascii "gt2GetConnectionData" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e0ac data_ov61_0217e0ac: ; 0x0217e0ac .ascii "gt2Main.c" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e0b8 data_ov61_0217e0b8: ; 0x0217e0b8 .ascii "connection" .byte 0x00, 0x00 .global data_ov61_0217e0c4 data_ov61_0217e0c4: ; 0x0217e0c4 .ascii "gti2EndReliableMessage" .byte 0x00, 0x00 .global data_ov61_0217e0dc data_ov61_0217e0dc: ; 0x0217e0dc .ascii "time" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e0e4 data_ov61_0217e0e4: ; 0x0217e0e4 .byte 0xfe .global data_ov61_0217e0e5 data_ov61_0217e0e5: ; 0x0217e0e5 .byte 0xfe .global data_ov61_0217e0e6 data_ov61_0217e0e6: ; 0x0217e0e6 .byte 0x00 .global data_ov61_0217e0e7 data_ov61_0217e0e7: ; 0x0217e0e7 .byte 0x00 .global data_ov61_0217e0e8 data_ov61_0217e0e8: ; 0x0217e0e8 .ascii "len > 0" .byte 0x00 .global data_ov61_0217e0f0 data_ov61_0217e0f0: ; 0x0217e0f0 .ascii "gt2Message.c" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e100 data_ov61_0217e100: ; 0x0217e100 .ascii "gt2StringToAddress" .byte 0x00, 0x00 .global data_ov61_0217e114 data_ov61_0217e114: ; 0x0217e114 .ascii "%s:%d" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e11c data_ov61_0217e11c: ; 0x0217e11c .ascii "%s" .byte 0x00, 0x00 .global data_ov61_0217e120 data_ov61_0217e120: ; 0x0217e120 .ascii ":%d" .byte 0x00 .global data_ov61_0217e124 data_ov61_0217e124: ; 0x0217e124 .ascii "len < GTI2_STACK_HOSTLEN_MAX" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e144 data_ov61_0217e144: ; 0x0217e144 .ascii "gt2Utility.c" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e154 data_ov61_0217e154: ; 0x0217e154 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e158 data_ov61_0217e158: ; 0x0217e158 .byte 0xfd .global data_ov61_0217e159 data_ov61_0217e159: ; 0x0217e159 .byte 0xfc .global data_ov61_0217e15a data_ov61_0217e15a: ; 0x0217e15a .byte 0x1e .global data_ov61_0217e15b data_ov61_0217e15b: ; 0x0217e15b .byte 0x66 .global data_ov61_0217e15c data_ov61_0217e15c: ; 0x0217e15c .byte 0x6a .global data_ov61_0217e15d data_ov61_0217e15d: ; 0x0217e15d .byte 0xb2 .global data_ov61_0217e15e data_ov61_0217e15e: ; 0x0217e15e .byte 0x00 .global data_ov61_0217e15f data_ov61_0217e15f: ; 0x0217e15f .byte 0x00 .global data_ov61_0217e160 data_ov61_0217e160: ; 0x0217e160 .ascii "%s.%s" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e168 data_ov61_0217e168: ; 0x0217e168 .ascii "natneg1.gs.nintendowifi.net" .byte 0x00 .global data_ov61_0217e184 data_ov61_0217e184: ; 0x0217e184 .ascii "natneg2.gs.nintendowifi.net" .byte 0x00 .global data_ov61_0217e1a0 data_ov61_0217e1a0: ; 0x0217e1a0 .word data_ov61_0217e1a4 .global data_ov61_0217e1a4 data_ov61_0217e1a4: ; 0x0217e1a4 .byte 0xff, 0xff, 0xff, 0xff .global data_ov61_0217e1a8 data_ov61_0217e1a8: ; 0x0217e1a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1ac data_ov61_0217e1ac: ; 0x0217e1ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1b0 data_ov61_0217e1b0: ; 0x0217e1b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1b4 data_ov61_0217e1b4: ; 0x0217e1b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1b8 data_ov61_0217e1b8: ; 0x0217e1b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1bc data_ov61_0217e1bc: ; 0x0217e1bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1c0 data_ov61_0217e1c0: ; 0x0217e1c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1c4 data_ov61_0217e1c4: ; 0x0217e1c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1c8 data_ov61_0217e1c8: ; 0x0217e1c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1cc data_ov61_0217e1cc: ; 0x0217e1cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1d0 data_ov61_0217e1d0: ; 0x0217e1d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1d4 data_ov61_0217e1d4: ; 0x0217e1d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1d8 data_ov61_0217e1d8: ; 0x0217e1d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1dc data_ov61_0217e1dc: ; 0x0217e1dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1e0 data_ov61_0217e1e0: ; 0x0217e1e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1e4 data_ov61_0217e1e4: ; 0x0217e1e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1e8 data_ov61_0217e1e8: ; 0x0217e1e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1ec data_ov61_0217e1ec: ; 0x0217e1ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1f0 data_ov61_0217e1f0: ; 0x0217e1f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1f4 data_ov61_0217e1f4: ; 0x0217e1f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1f8 data_ov61_0217e1f8: ; 0x0217e1f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e1fc data_ov61_0217e1fc: ; 0x0217e1fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e200 data_ov61_0217e200: ; 0x0217e200 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e204 data_ov61_0217e204: ; 0x0217e204 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e208 data_ov61_0217e208: ; 0x0217e208 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e20c data_ov61_0217e20c: ; 0x0217e20c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e210 data_ov61_0217e210: ; 0x0217e210 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e214 data_ov61_0217e214: ; 0x0217e214 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e218 data_ov61_0217e218: ; 0x0217e218 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e21c data_ov61_0217e21c: ; 0x0217e21c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e220 data_ov61_0217e220: ; 0x0217e220 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e224 data_ov61_0217e224: ; 0x0217e224 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e228 data_ov61_0217e228: ; 0x0217e228 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e22c data_ov61_0217e22c: ; 0x0217e22c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e230 data_ov61_0217e230: ; 0x0217e230 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e234 data_ov61_0217e234: ; 0x0217e234 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e238 data_ov61_0217e238: ; 0x0217e238 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e23c data_ov61_0217e23c: ; 0x0217e23c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e240 data_ov61_0217e240: ; 0x0217e240 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e244 data_ov61_0217e244: ; 0x0217e244 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e248 data_ov61_0217e248: ; 0x0217e248 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e24c data_ov61_0217e24c: ; 0x0217e24c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e250 data_ov61_0217e250: ; 0x0217e250 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e254 data_ov61_0217e254: ; 0x0217e254 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e258 data_ov61_0217e258: ; 0x0217e258 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e25c data_ov61_0217e25c: ; 0x0217e25c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e260 data_ov61_0217e260: ; 0x0217e260 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e264 data_ov61_0217e264: ; 0x0217e264 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e268 data_ov61_0217e268: ; 0x0217e268 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e26c data_ov61_0217e26c: ; 0x0217e26c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e270 data_ov61_0217e270: ; 0x0217e270 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e274 data_ov61_0217e274: ; 0x0217e274 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e278 data_ov61_0217e278: ; 0x0217e278 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e27c data_ov61_0217e27c: ; 0x0217e27c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e280 data_ov61_0217e280: ; 0x0217e280 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e284 data_ov61_0217e284: ; 0x0217e284 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e288 data_ov61_0217e288: ; 0x0217e288 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e28c data_ov61_0217e28c: ; 0x0217e28c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e290 data_ov61_0217e290: ; 0x0217e290 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e294 data_ov61_0217e294: ; 0x0217e294 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e298 data_ov61_0217e298: ; 0x0217e298 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e29c data_ov61_0217e29c: ; 0x0217e29c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e2a0 data_ov61_0217e2a0: ; 0x0217e2a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e2a4 data_ov61_0217e2a4: ; 0x0217e2a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e2a8 data_ov61_0217e2a8: ; 0x0217e2a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e2ac data_ov61_0217e2ac: ; 0x0217e2ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e2b0 data_ov61_0217e2b0: ; 0x0217e2b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e2b4 data_ov61_0217e2b4: ; 0x0217e2b4 .ascii "%s.master.gs.nintendowifi.net" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e2d4 data_ov61_0217e2d4: ; 0x0217e2d4 .ascii "No challenge value was received from the master server." .byte 0x00 .global data_ov61_0217e30c data_ov61_0217e30c: ; 0x0217e30c .ascii "%d" .byte 0x00, 0x00 .global data_ov61_0217e310 data_ov61_0217e310: ; 0x0217e310 .ascii "255.255.255.255" .byte 0x00 .global data_ov61_0217e320 data_ov61_0217e320: ; 0x0217e320 .ascii "%08X%04X" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e32c data_ov61_0217e32c: ; 0x0217e32c .ascii "unknown" .byte 0x00 .global data_ov61_0217e334 data_ov61_0217e334: ; 0x0217e334 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e338 data_ov61_0217e338: ; 0x0217e338 .ascii "%s%d" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e340 data_ov61_0217e340: ; 0x0217e340 .ascii "final\\\\queryid\\1.1" .byte 0x00, 0x00 .global data_ov61_0217e354 data_ov61_0217e354: ; 0x0217e354 .ascii "localip%d" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e360 data_ov61_0217e360: ; 0x0217e360 .ascii "localport" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e36c data_ov61_0217e36c: ; 0x0217e36c .ascii "natneg" .byte 0x00, 0x00 .global data_ov61_0217e374 data_ov61_0217e374: ; 0x0217e374 .ascii "1" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e378 data_ov61_0217e378: ; 0x0217e378 .ascii "0" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e37c data_ov61_0217e37c: ; 0x0217e37c .ascii "statechanged" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e38c data_ov61_0217e38c: ; 0x0217e38c .ascii "gamename" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e398 data_ov61_0217e398: ; 0x0217e398 .ascii "publicip" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e3a4 data_ov61_0217e3a4: ; 0x0217e3a4 .ascii "publicport" .byte 0x00, 0x00 .global data_ov61_0217e3b0 data_ov61_0217e3b0: ; 0x0217e3b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e3b4 data_ov61_0217e3b4: ; 0x0217e3b4 .ascii "pid_" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e3bc data_ov61_0217e3bc: ; 0x0217e3bc .ascii "ping_" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e3c4 data_ov61_0217e3c4: ; 0x0217e3c4 .ascii "team_" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e3cc data_ov61_0217e3cc: ; 0x0217e3cc .ascii "score_" .byte 0x00, 0x00 .global data_ov61_0217e3d4 data_ov61_0217e3d4: ; 0x0217e3d4 .ascii "team_t" .byte 0x00, 0x00 .global data_ov61_0217e3dc data_ov61_0217e3dc: ; 0x0217e3dc .ascii "skill_" .byte 0x00, 0x00 .global data_ov61_0217e3e4 data_ov61_0217e3e4: ; 0x0217e3e4 .ascii "groupid" .byte 0x00 .global data_ov61_0217e3ec data_ov61_0217e3ec: ; 0x0217e3ec .ascii "deaths_" .byte 0x00 .global data_ov61_0217e3f4 data_ov61_0217e3f4: ; 0x0217e3f4 .ascii "gamever" .byte 0x00 .global data_ov61_0217e3fc data_ov61_0217e3fc: ; 0x0217e3fc .ascii "player_" .byte 0x00 .global data_ov61_0217e404 data_ov61_0217e404: ; 0x0217e404 .ascii "score_t" .byte 0x00 .global data_ov61_0217e40c data_ov61_0217e40c: ; 0x0217e40c .ascii "mapname" .byte 0x00 .global data_ov61_0217e414 data_ov61_0217e414: ; 0x0217e414 .ascii "gamename" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e420 data_ov61_0217e420: ; 0x0217e420 .ascii "hostport" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e42c data_ov61_0217e42c: ; 0x0217e42c .ascii "password" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e438 data_ov61_0217e438: ; 0x0217e438 .ascii "gametype" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e444 data_ov61_0217e444: ; 0x0217e444 .ascii "numteams" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e450 data_ov61_0217e450: ; 0x0217e450 .ascii "gamemode" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e45c data_ov61_0217e45c: ; 0x0217e45c .ascii "teamplay" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e468 data_ov61_0217e468: ; 0x0217e468 .ascii "hostname" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e474 data_ov61_0217e474: ; 0x0217e474 .ascii "fraglimit" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e480 data_ov61_0217e480: ; 0x0217e480 .ascii "timelimit" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e48c data_ov61_0217e48c: ; 0x0217e48c .ascii "roundtime" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e498 data_ov61_0217e498: ; 0x0217e498 .ascii "numplayers" .byte 0x00, 0x00 .global data_ov61_0217e4a4 data_ov61_0217e4a4: ; 0x0217e4a4 .ascii "maxplayers" .byte 0x00, 0x00 .global data_ov61_0217e4b0 data_ov61_0217e4b0: ; 0x0217e4b0 .ascii "gamevariant" .byte 0x00 .global data_ov61_0217e4bc data_ov61_0217e4bc: ; 0x0217e4bc .ascii "timeelapsed" .byte 0x00 .global data_ov61_0217e4c8 data_ov61_0217e4c8: ; 0x0217e4c8 .ascii "roundelapsed" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e4d8 data_ov61_0217e4d8: ; 0x0217e4d8 .ascii "teamfraglimit" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e4e8 data_ov61_0217e4e8: ; 0x0217e4e8 .word data_ov61_0217e3b0 .global data_ov61_0217e4ec data_ov61_0217e4ec: ; 0x0217e4ec .word data_ov61_0217e468 .global data_ov61_0217e4f0 data_ov61_0217e4f0: ; 0x0217e4f0 .word data_ov61_0217e414 .global data_ov61_0217e4f4 data_ov61_0217e4f4: ; 0x0217e4f4 .word data_ov61_0217e3f4 .global data_ov61_0217e4f8 data_ov61_0217e4f8: ; 0x0217e4f8 .word data_ov61_0217e420 .global data_ov61_0217e4fc data_ov61_0217e4fc: ; 0x0217e4fc .word data_ov61_0217e40c .global data_ov61_0217e500 data_ov61_0217e500: ; 0x0217e500 .word data_ov61_0217e438 .global data_ov61_0217e504 data_ov61_0217e504: ; 0x0217e504 .word data_ov61_0217e4b0 .global data_ov61_0217e508 data_ov61_0217e508: ; 0x0217e508 .word data_ov61_0217e498 .global data_ov61_0217e50c data_ov61_0217e50c: ; 0x0217e50c .word data_ov61_0217e444 .global data_ov61_0217e510 data_ov61_0217e510: ; 0x0217e510 .word data_ov61_0217e4a4 .global data_ov61_0217e514 data_ov61_0217e514: ; 0x0217e514 .word data_ov61_0217e450 .global data_ov61_0217e518 data_ov61_0217e518: ; 0x0217e518 .word data_ov61_0217e45c .global data_ov61_0217e51c data_ov61_0217e51c: ; 0x0217e51c .word data_ov61_0217e474 .global data_ov61_0217e520 data_ov61_0217e520: ; 0x0217e520 .word data_ov61_0217e4d8 .global data_ov61_0217e524 data_ov61_0217e524: ; 0x0217e524 .word data_ov61_0217e4bc .global data_ov61_0217e528 data_ov61_0217e528: ; 0x0217e528 .word data_ov61_0217e480 .global data_ov61_0217e52c data_ov61_0217e52c: ; 0x0217e52c .word data_ov61_0217e48c .global data_ov61_0217e530 data_ov61_0217e530: ; 0x0217e530 .word data_ov61_0217e4c8 .global data_ov61_0217e534 data_ov61_0217e534: ; 0x0217e534 .word data_ov61_0217e42c .global data_ov61_0217e538 data_ov61_0217e538: ; 0x0217e538 .word data_ov61_0217e3e4 .global data_ov61_0217e53c data_ov61_0217e53c: ; 0x0217e53c .word data_ov61_0217e3fc .global data_ov61_0217e540 data_ov61_0217e540: ; 0x0217e540 .word data_ov61_0217e3cc .global data_ov61_0217e544 data_ov61_0217e544: ; 0x0217e544 .word data_ov61_0217e3dc .global data_ov61_0217e548 data_ov61_0217e548: ; 0x0217e548 .word data_ov61_0217e3bc .global data_ov61_0217e54c data_ov61_0217e54c: ; 0x0217e54c .word data_ov61_0217e3c4 .global data_ov61_0217e550 data_ov61_0217e550: ; 0x0217e550 .word data_ov61_0217e3ec .global data_ov61_0217e554 data_ov61_0217e554: ; 0x0217e554 .word data_ov61_0217e3b4 .global data_ov61_0217e558 data_ov61_0217e558: ; 0x0217e558 .word data_ov61_0217e3d4 .global data_ov61_0217e55c data_ov61_0217e55c: ; 0x0217e55c .word data_ov61_0217e404 .global data_ov61_0217e560 data_ov61_0217e560: ; 0x0217e560 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e564 data_ov61_0217e564: ; 0x0217e564 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e568 data_ov61_0217e568: ; 0x0217e568 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e56c data_ov61_0217e56c: ; 0x0217e56c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e570 data_ov61_0217e570: ; 0x0217e570 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e574 data_ov61_0217e574: ; 0x0217e574 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e578 data_ov61_0217e578: ; 0x0217e578 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e57c data_ov61_0217e57c: ; 0x0217e57c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e580 data_ov61_0217e580: ; 0x0217e580 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e584 data_ov61_0217e584: ; 0x0217e584 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e588 data_ov61_0217e588: ; 0x0217e588 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e58c data_ov61_0217e58c: ; 0x0217e58c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e590 data_ov61_0217e590: ; 0x0217e590 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e594 data_ov61_0217e594: ; 0x0217e594 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e598 data_ov61_0217e598: ; 0x0217e598 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e59c data_ov61_0217e59c: ; 0x0217e59c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5a0 data_ov61_0217e5a0: ; 0x0217e5a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5a4 data_ov61_0217e5a4: ; 0x0217e5a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5a8 data_ov61_0217e5a8: ; 0x0217e5a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5ac data_ov61_0217e5ac: ; 0x0217e5ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5b0 data_ov61_0217e5b0: ; 0x0217e5b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5b4 data_ov61_0217e5b4: ; 0x0217e5b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5b8 data_ov61_0217e5b8: ; 0x0217e5b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5bc data_ov61_0217e5bc: ; 0x0217e5bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5c0 data_ov61_0217e5c0: ; 0x0217e5c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5c4 data_ov61_0217e5c4: ; 0x0217e5c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5c8 data_ov61_0217e5c8: ; 0x0217e5c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5cc data_ov61_0217e5cc: ; 0x0217e5cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5d0 data_ov61_0217e5d0: ; 0x0217e5d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5d4 data_ov61_0217e5d4: ; 0x0217e5d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5d8 data_ov61_0217e5d8: ; 0x0217e5d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5dc data_ov61_0217e5dc: ; 0x0217e5dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5e0 data_ov61_0217e5e0: ; 0x0217e5e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5e4 data_ov61_0217e5e4: ; 0x0217e5e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5e8 data_ov61_0217e5e8: ; 0x0217e5e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5ec data_ov61_0217e5ec: ; 0x0217e5ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5f0 data_ov61_0217e5f0: ; 0x0217e5f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5f4 data_ov61_0217e5f4: ; 0x0217e5f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5f8 data_ov61_0217e5f8: ; 0x0217e5f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e5fc data_ov61_0217e5fc: ; 0x0217e5fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e600 data_ov61_0217e600: ; 0x0217e600 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e604 data_ov61_0217e604: ; 0x0217e604 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e608 data_ov61_0217e608: ; 0x0217e608 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e60c data_ov61_0217e60c: ; 0x0217e60c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e610 data_ov61_0217e610: ; 0x0217e610 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e614 data_ov61_0217e614: ; 0x0217e614 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e618 data_ov61_0217e618: ; 0x0217e618 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e61c data_ov61_0217e61c: ; 0x0217e61c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e620 data_ov61_0217e620: ; 0x0217e620 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e624 data_ov61_0217e624: ; 0x0217e624 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e628 data_ov61_0217e628: ; 0x0217e628 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e62c data_ov61_0217e62c: ; 0x0217e62c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e630 data_ov61_0217e630: ; 0x0217e630 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e634 data_ov61_0217e634: ; 0x0217e634 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e638 data_ov61_0217e638: ; 0x0217e638 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e63c data_ov61_0217e63c: ; 0x0217e63c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e640 data_ov61_0217e640: ; 0x0217e640 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e644 data_ov61_0217e644: ; 0x0217e644 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e648 data_ov61_0217e648: ; 0x0217e648 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e64c data_ov61_0217e64c: ; 0x0217e64c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e650 data_ov61_0217e650: ; 0x0217e650 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e654 data_ov61_0217e654: ; 0x0217e654 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e658 data_ov61_0217e658: ; 0x0217e658 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e65c data_ov61_0217e65c: ; 0x0217e65c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e660 data_ov61_0217e660: ; 0x0217e660 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e664 data_ov61_0217e664: ; 0x0217e664 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e668 data_ov61_0217e668: ; 0x0217e668 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e66c data_ov61_0217e66c: ; 0x0217e66c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e670 data_ov61_0217e670: ; 0x0217e670 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e674 data_ov61_0217e674: ; 0x0217e674 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e678 data_ov61_0217e678: ; 0x0217e678 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e67c data_ov61_0217e67c: ; 0x0217e67c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e680 data_ov61_0217e680: ; 0x0217e680 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e684 data_ov61_0217e684: ; 0x0217e684 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e688 data_ov61_0217e688: ; 0x0217e688 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e68c data_ov61_0217e68c: ; 0x0217e68c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e690 data_ov61_0217e690: ; 0x0217e690 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e694 data_ov61_0217e694: ; 0x0217e694 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e698 data_ov61_0217e698: ; 0x0217e698 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e69c data_ov61_0217e69c: ; 0x0217e69c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6a0 data_ov61_0217e6a0: ; 0x0217e6a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6a4 data_ov61_0217e6a4: ; 0x0217e6a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6a8 data_ov61_0217e6a8: ; 0x0217e6a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6ac data_ov61_0217e6ac: ; 0x0217e6ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6b0 data_ov61_0217e6b0: ; 0x0217e6b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6b4 data_ov61_0217e6b4: ; 0x0217e6b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6b8 data_ov61_0217e6b8: ; 0x0217e6b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6bc data_ov61_0217e6bc: ; 0x0217e6bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6c0 data_ov61_0217e6c0: ; 0x0217e6c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6c4 data_ov61_0217e6c4: ; 0x0217e6c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6c8 data_ov61_0217e6c8: ; 0x0217e6c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6cc data_ov61_0217e6cc: ; 0x0217e6cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6d0 data_ov61_0217e6d0: ; 0x0217e6d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6d4 data_ov61_0217e6d4: ; 0x0217e6d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6d8 data_ov61_0217e6d8: ; 0x0217e6d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6dc data_ov61_0217e6dc: ; 0x0217e6dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6e0 data_ov61_0217e6e0: ; 0x0217e6e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6e4 data_ov61_0217e6e4: ; 0x0217e6e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6e8 data_ov61_0217e6e8: ; 0x0217e6e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6ec data_ov61_0217e6ec: ; 0x0217e6ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6f0 data_ov61_0217e6f0: ; 0x0217e6f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6f4 data_ov61_0217e6f4: ; 0x0217e6f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6f8 data_ov61_0217e6f8: ; 0x0217e6f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e6fc data_ov61_0217e6fc: ; 0x0217e6fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e700 data_ov61_0217e700: ; 0x0217e700 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e704 data_ov61_0217e704: ; 0x0217e704 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e708 data_ov61_0217e708: ; 0x0217e708 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e70c data_ov61_0217e70c: ; 0x0217e70c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e710 data_ov61_0217e710: ; 0x0217e710 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e714 data_ov61_0217e714: ; 0x0217e714 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e718 data_ov61_0217e718: ; 0x0217e718 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e71c data_ov61_0217e71c: ; 0x0217e71c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e720 data_ov61_0217e720: ; 0x0217e720 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e724 data_ov61_0217e724: ; 0x0217e724 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e728 data_ov61_0217e728: ; 0x0217e728 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e72c data_ov61_0217e72c: ; 0x0217e72c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e730 data_ov61_0217e730: ; 0x0217e730 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e734 data_ov61_0217e734: ; 0x0217e734 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e738 data_ov61_0217e738: ; 0x0217e738 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e73c data_ov61_0217e73c: ; 0x0217e73c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e740 data_ov61_0217e740: ; 0x0217e740 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e744 data_ov61_0217e744: ; 0x0217e744 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e748 data_ov61_0217e748: ; 0x0217e748 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e74c data_ov61_0217e74c: ; 0x0217e74c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e750 data_ov61_0217e750: ; 0x0217e750 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e754 data_ov61_0217e754: ; 0x0217e754 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e758 data_ov61_0217e758: ; 0x0217e758 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e75c data_ov61_0217e75c: ; 0x0217e75c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e760 data_ov61_0217e760: ; 0x0217e760 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e764 data_ov61_0217e764: ; 0x0217e764 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e768 data_ov61_0217e768: ; 0x0217e768 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e76c data_ov61_0217e76c: ; 0x0217e76c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e770 data_ov61_0217e770: ; 0x0217e770 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e774 data_ov61_0217e774: ; 0x0217e774 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e778 data_ov61_0217e778: ; 0x0217e778 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e77c data_ov61_0217e77c: ; 0x0217e77c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e780 data_ov61_0217e780: ; 0x0217e780 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e784 data_ov61_0217e784: ; 0x0217e784 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e788 data_ov61_0217e788: ; 0x0217e788 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e78c data_ov61_0217e78c: ; 0x0217e78c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e790 data_ov61_0217e790: ; 0x0217e790 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e794 data_ov61_0217e794: ; 0x0217e794 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e798 data_ov61_0217e798: ; 0x0217e798 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e79c data_ov61_0217e79c: ; 0x0217e79c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7a0 data_ov61_0217e7a0: ; 0x0217e7a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7a4 data_ov61_0217e7a4: ; 0x0217e7a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7a8 data_ov61_0217e7a8: ; 0x0217e7a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7ac data_ov61_0217e7ac: ; 0x0217e7ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7b0 data_ov61_0217e7b0: ; 0x0217e7b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7b4 data_ov61_0217e7b4: ; 0x0217e7b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7b8 data_ov61_0217e7b8: ; 0x0217e7b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7bc data_ov61_0217e7bc: ; 0x0217e7bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7c0 data_ov61_0217e7c0: ; 0x0217e7c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7c4 data_ov61_0217e7c4: ; 0x0217e7c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7c8 data_ov61_0217e7c8: ; 0x0217e7c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7cc data_ov61_0217e7cc: ; 0x0217e7cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7d0 data_ov61_0217e7d0: ; 0x0217e7d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7d4 data_ov61_0217e7d4: ; 0x0217e7d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7d8 data_ov61_0217e7d8: ; 0x0217e7d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7dc data_ov61_0217e7dc: ; 0x0217e7dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7e0 data_ov61_0217e7e0: ; 0x0217e7e0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7e4 data_ov61_0217e7e4: ; 0x0217e7e4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7e8 data_ov61_0217e7e8: ; 0x0217e7e8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7ec data_ov61_0217e7ec: ; 0x0217e7ec .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7f0 data_ov61_0217e7f0: ; 0x0217e7f0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7f4 data_ov61_0217e7f4: ; 0x0217e7f4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7f8 data_ov61_0217e7f8: ; 0x0217e7f8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e7fc data_ov61_0217e7fc: ; 0x0217e7fc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e800 data_ov61_0217e800: ; 0x0217e800 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e804 data_ov61_0217e804: ; 0x0217e804 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e808 data_ov61_0217e808: ; 0x0217e808 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e80c data_ov61_0217e80c: ; 0x0217e80c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e810 data_ov61_0217e810: ; 0x0217e810 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e814 data_ov61_0217e814: ; 0x0217e814 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e818 data_ov61_0217e818: ; 0x0217e818 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e81c data_ov61_0217e81c: ; 0x0217e81c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e820 data_ov61_0217e820: ; 0x0217e820 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e824 data_ov61_0217e824: ; 0x0217e824 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e828 data_ov61_0217e828: ; 0x0217e828 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e82c data_ov61_0217e82c: ; 0x0217e82c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e830 data_ov61_0217e830: ; 0x0217e830 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e834 data_ov61_0217e834: ; 0x0217e834 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e838 data_ov61_0217e838: ; 0x0217e838 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e83c data_ov61_0217e83c: ; 0x0217e83c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e840 data_ov61_0217e840: ; 0x0217e840 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e844 data_ov61_0217e844: ; 0x0217e844 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e848 data_ov61_0217e848: ; 0x0217e848 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e84c data_ov61_0217e84c: ; 0x0217e84c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e850 data_ov61_0217e850: ; 0x0217e850 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e854 data_ov61_0217e854: ; 0x0217e854 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e858 data_ov61_0217e858: ; 0x0217e858 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e85c data_ov61_0217e85c: ; 0x0217e85c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e860 data_ov61_0217e860: ; 0x0217e860 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e864 data_ov61_0217e864: ; 0x0217e864 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e868 data_ov61_0217e868: ; 0x0217e868 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e86c data_ov61_0217e86c: ; 0x0217e86c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e870 data_ov61_0217e870: ; 0x0217e870 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e874 data_ov61_0217e874: ; 0x0217e874 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e878 data_ov61_0217e878: ; 0x0217e878 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e87c data_ov61_0217e87c: ; 0x0217e87c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e880 data_ov61_0217e880: ; 0x0217e880 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e884 data_ov61_0217e884: ; 0x0217e884 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e888 data_ov61_0217e888: ; 0x0217e888 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e88c data_ov61_0217e88c: ; 0x0217e88c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e890 data_ov61_0217e890: ; 0x0217e890 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e894 data_ov61_0217e894: ; 0x0217e894 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e898 data_ov61_0217e898: ; 0x0217e898 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e89c data_ov61_0217e89c: ; 0x0217e89c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8a0 data_ov61_0217e8a0: ; 0x0217e8a0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8a4 data_ov61_0217e8a4: ; 0x0217e8a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8a8 data_ov61_0217e8a8: ; 0x0217e8a8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8ac data_ov61_0217e8ac: ; 0x0217e8ac .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8b0 data_ov61_0217e8b0: ; 0x0217e8b0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8b4 data_ov61_0217e8b4: ; 0x0217e8b4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8b8 data_ov61_0217e8b8: ; 0x0217e8b8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8bc data_ov61_0217e8bc: ; 0x0217e8bc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8c0 data_ov61_0217e8c0: ; 0x0217e8c0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8c4 data_ov61_0217e8c4: ; 0x0217e8c4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8c8 data_ov61_0217e8c8: ; 0x0217e8c8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8cc data_ov61_0217e8cc: ; 0x0217e8cc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8d0 data_ov61_0217e8d0: ; 0x0217e8d0 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8d4 data_ov61_0217e8d4: ; 0x0217e8d4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8d8 data_ov61_0217e8d8: ; 0x0217e8d8 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8dc data_ov61_0217e8dc: ; 0x0217e8dc .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e8e0 data_ov61_0217e8e0: ; 0x0217e8e0 .ascii "brg" .byte 0x00 .global data_ov61_0217e8e4 data_ov61_0217e8e4: ; 0x0217e8e4 .ascii "fnl" .byte 0x00 .global data_ov61_0217e8e8 data_ov61_0217e8e8: ; 0x0217e8e8 .ascii "pdl" .byte 0x00 .global data_ov61_0217e8ec data_ov61_0217e8ec: ; 0x0217e8ec .ascii "dco" .byte 0x00 .global data_ov61_0217e8f0 data_ov61_0217e8f0: ; 0x0217e8f0 .ascii "can" .byte 0x00 .global data_ov61_0217e8f4 data_ov61_0217e8f4: ; 0x0217e8f4 .ascii "hul" .byte 0x00 .global data_ov61_0217e8f8 data_ov61_0217e8f8: ; 0x0217e8f8 .ascii "bow" .byte 0x00 .global data_ov61_0217e8fc data_ov61_0217e8fc: ; 0x0217e8fc .ascii "anc" .byte 0x00 .global data_ov61_0217e900 data_ov61_0217e900: ; 0x0217e900 .word data_ov61_0217e8fc .global data_ov61_0217e904 data_ov61_0217e904: ; 0x0217e904 .word data_ov61_0217e8f8 .global data_ov61_0217e908 data_ov61_0217e908: ; 0x0217e908 .word data_ov61_0217e8f4 .global data_ov61_0217e90c data_ov61_0217e90c: ; 0x0217e90c .word data_ov61_0217e8f0 .global data_ov61_0217e910 data_ov61_0217e910: ; 0x0217e910 .word data_ov61_0217e8ec .global data_ov61_0217e914 data_ov61_0217e914: ; 0x0217e914 .word data_ov61_0217e8e8 .global data_ov61_0217e918 data_ov61_0217e918: ; 0x0217e918 .word data_ov61_0217e8e4 .global data_ov61_0217e91c data_ov61_0217e91c: ; 0x0217e91c .word data_ov61_0217e8e0 .global data_ov61_0217e920 data_ov61_0217e920: ; 0x0217e920 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e924 data_ov61_0217e924: ; 0x0217e924 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e928 data_ov61_0217e928: ; 0x0217e928 .word func_ov61_02179734 .global data_ov61_0217e92c data_ov61_0217e92c: ; 0x0217e92c .word func_ov61_02179774 .global data_ov61_0217e930 data_ov61_0217e930: ; 0x0217e930 .word func_ov61_021797bc .global data_ov61_0217e934 data_ov61_0217e934: ; 0x0217e934 .word func_ov61_02179838 .global data_ov61_0217e938 data_ov61_0217e938: ; 0x0217e938 .word func_ov61_02179854 .global data_ov61_0217e93c data_ov61_0217e93c: ; 0x0217e93c .word func_ov61_02179ef8 .global data_ov61_0217e940 data_ov61_0217e940: ; 0x0217e940 .word func_ov61_021798d0 .global data_ov61_0217e944 data_ov61_0217e944: ; 0x0217e944 .word func_ov61_021798f8 .global data_ov61_0217e948 data_ov61_0217e948: ; 0x0217e948 .word func_ov61_02179970 .global data_ov61_0217e94c data_ov61_0217e94c: ; 0x0217e94c .word func_ov61_02179acc .global data_ov61_0217e950 data_ov61_0217e950: ; 0x0217e950 .word func_ov61_02179adc .global data_ov61_0217e954 data_ov61_0217e954: ; 0x0217e954 .word func_ov61_0217a1e0 .global data_ov61_0217e958 data_ov61_0217e958: ; 0x0217e958 .word func_ov61_0217a1ec .global data_ov61_0217e95c data_ov61_0217e95c: ; 0x0217e95c .word func_ov61_02179824 .global data_ov61_0217e960 data_ov61_0217e960: ; 0x0217e960 .word func_ov61_021798bc .global data_ov61_0217e964 data_ov61_0217e964: ; 0x0217e964 .word func_ov61_0217a1fc .global data_ov61_0217e968 data_ov61_0217e968: ; 0x0217e968 .word func_ov61_02179b18 .global data_ov61_0217e96c data_ov61_0217e96c: ; 0x0217e96c .word func_ov61_02179b5c .global data_ov61_0217e970 data_ov61_0217e970: ; 0x0217e970 .word func_ov61_02179fdc .global data_ov61_0217e974 data_ov61_0217e974: ; 0x0217e974 .ascii "soft_name" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e980 data_ov61_0217e980: ; 0x0217e980 .ascii "country_region" .byte 0x00, 0x00 .global data_ov61_0217e990 data_ov61_0217e990: ; 0x0217e990 .ascii "play_level" .byte 0x00, 0x00 .global data_ov61_0217e99c data_ov61_0217e99c: ; 0x0217e99c .ascii "battle_rank" .byte 0x00 .global data_ov61_0217e9a8 data_ov61_0217e9a8: ; 0x0217e9a8 .ascii "match_type" .byte 0x00, 0x00 .global data_ov61_0217e9b4 data_ov61_0217e9b4: ; 0x0217e9b4 .ascii "manner_level" .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217e9c4 data_ov61_0217e9c4: ; 0x0217e9c4 .ascii "zelda_ds_phantom_hourglass" .byte 0x00, 0x00 .global data_ov61_0217e9e0 data_ov61_0217e9e0: ; 0x0217e9e0 .ascii "lozphourds" .byte 0x00, 0x00 .global data_ov61_0217e9ec data_ov61_0217e9ec: ; 0x0217e9ec .ascii "t8RsDb" .byte 0x00, 0x00 .global data_ov61_0217e9f4 data_ov61_0217e9f4: ; 0x0217e9f4 .ascii "='" .byte 0x00, 0x00 .global data_ov61_0217e9f8 data_ov61_0217e9f8: ; 0x0217e9f8 .ascii "'" .byte 0x00, 0x00, 0x00 .global data_ov61_0217e9fc data_ov61_0217e9fc: ; 0x0217e9fc .ascii " and %s=%d" .byte 0x00, 0x00 .global data_ov61_0217ea08 data_ov61_0217ea08: ; 0x0217ea08 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ea0c data_ov61_0217ea0c: ; 0x0217ea0c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ea10 data_ov61_0217ea10: ; 0x0217ea10 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ea14 data_ov61_0217ea14: ; 0x0217ea14 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ea18 data_ov61_0217ea18: ; 0x0217ea18 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov61_0217ea1c data_ov61_0217ea1c: ; 0x0217ea1c .byte 0x00, 0x00, 0x00, 0x00 ; 0x0217ea20 .bss .global data_ov61_0217ea20 data_ov61_0217ea20: .space 0x4 .global data_ov61_0217ea24 data_ov61_0217ea24: .space 0x4 .global data_ov61_0217ea28 data_ov61_0217ea28: .space 0x4 .global data_ov61_0217ea2c data_ov61_0217ea2c: .space 0x4 .global data_ov61_0217ea30 data_ov61_0217ea30: .space 0x4 .global data_ov61_0217ea34 data_ov61_0217ea34: .space 0x4 .global data_ov61_0217ea38 data_ov61_0217ea38: .space 0x4 .global data_ov61_0217ea3c data_ov61_0217ea3c: .space 0x4 .global data_ov61_0217ea40 data_ov61_0217ea40: .space 0x4 .global data_ov61_0217ea44 data_ov61_0217ea44: .space 0x4 .global data_ov61_0217ea48 data_ov61_0217ea48: .space 0x4 .global data_ov61_0217ea4c data_ov61_0217ea4c: .space 0x4 .global data_ov61_0217ea50 data_ov61_0217ea50: .space 0x4 .global data_ov61_0217ea54 data_ov61_0217ea54: .space 0x4 .global data_ov61_0217ea58 data_ov61_0217ea58: .space 0x4 .global data_ov61_0217ea5c data_ov61_0217ea5c: .space 0x4 .global data_ov61_0217ea60 data_ov61_0217ea60: .space 0x4 .global data_ov61_0217ea64 data_ov61_0217ea64: .space 0x4 .global data_ov61_0217ea68 data_ov61_0217ea68: .space 0x4 .global data_ov61_0217ea6c data_ov61_0217ea6c: .space 0x4 .global data_ov61_0217ea70 data_ov61_0217ea70: .space 0x4 .global data_ov61_0217ea74 data_ov61_0217ea74: .space 0x4 .global data_ov61_0217ea78 data_ov61_0217ea78: .space 0x4 .global data_ov61_0217ea7c data_ov61_0217ea7c: .space 0x4 .global data_ov61_0217ea80 data_ov61_0217ea80: .space 0x4 .global data_ov61_0217ea84 data_ov61_0217ea84: .space 0x4 .global data_ov61_0217ea88 data_ov61_0217ea88: .space 0x4 .global data_ov61_0217ea8c data_ov61_0217ea8c: .space 0x4 .global data_ov61_0217ea90 data_ov61_0217ea90: .space 0x4 .global data_ov61_0217ea94 data_ov61_0217ea94: .space 0x4 .global data_ov61_0217ea98 data_ov61_0217ea98: .space 0x4 .global data_ov61_0217ea9c data_ov61_0217ea9c: .space 0x4 .global data_ov61_0217eaa0 data_ov61_0217eaa0: .space 0x4 .global data_ov61_0217eaa4 data_ov61_0217eaa4: .space 0x4 .global data_ov61_0217eaa8 data_ov61_0217eaa8: .space 0x4 .global data_ov61_0217eaac data_ov61_0217eaac: .space 0x4 .global data_ov61_0217eab0 data_ov61_0217eab0: .space 0x4 .global data_ov61_0217eab4 data_ov61_0217eab4: .space 0x4 .global data_ov61_0217eab8 data_ov61_0217eab8: .space 0x4 .global data_ov61_0217eabc data_ov61_0217eabc: .space 0x4 .global data_ov61_0217eac0 data_ov61_0217eac0: .space 0x4 .global data_ov61_0217eac4 data_ov61_0217eac4: .space 0x4 .global data_ov61_0217eac8 data_ov61_0217eac8: .space 0x4 .global data_ov61_0217eacc data_ov61_0217eacc: .space 0x4 .global data_ov61_0217ead0 data_ov61_0217ead0: .space 0x4 .global data_ov61_0217ead4 data_ov61_0217ead4: .space 0x4 .global data_ov61_0217ead8 data_ov61_0217ead8: .space 0x4 .global data_ov61_0217eadc data_ov61_0217eadc: .space 0x4 .global data_ov61_0217eae0 data_ov61_0217eae0: .space 0x4 .global data_ov61_0217eae4 data_ov61_0217eae4: .space 0x4 .global data_ov61_0217eae8 data_ov61_0217eae8: .space 0x4 .global data_ov61_0217eaec data_ov61_0217eaec: .space 0x4 .global data_ov61_0217eaf0 data_ov61_0217eaf0: .space 0x4 .global data_ov61_0217eaf4 data_ov61_0217eaf4: .space 0x4 .global data_ov61_0217eaf8 data_ov61_0217eaf8: .space 0x4 .global data_ov61_0217eafc data_ov61_0217eafc: .space 0x4 .global data_ov61_0217eb00 data_ov61_0217eb00: .space 0x4 .global data_ov61_0217eb04 data_ov61_0217eb04: .space 0x4 .global data_ov61_0217eb08 data_ov61_0217eb08: .space 0x4 .global data_ov61_0217eb0c data_ov61_0217eb0c: .space 0x4 .global data_ov61_0217eb10 data_ov61_0217eb10: .space 0x4 .global data_ov61_0217eb14 data_ov61_0217eb14: .space 0x4 .global data_ov61_0217eb18 data_ov61_0217eb18: .space 0x4 .global data_ov61_0217eb1c data_ov61_0217eb1c: .space 0x4 .global data_ov61_0217eb20 data_ov61_0217eb20: .space 0x4 .global data_ov61_0217eb24 data_ov61_0217eb24: .space 0x4 .global data_ov61_0217eb28 data_ov61_0217eb28: .space 0x4 .global data_ov61_0217eb2c data_ov61_0217eb2c: .space 0x4 .global data_ov61_0217eb30 data_ov61_0217eb30: .space 0x4 .global data_ov61_0217eb34 data_ov61_0217eb34: .space 0x4 .global data_ov61_0217eb38 data_ov61_0217eb38: .space 0x4 .global data_ov61_0217eb3c data_ov61_0217eb3c: .space 0x4 .global data_ov61_0217eb40 data_ov61_0217eb40: .space 0x4 .global data_ov61_0217eb44 data_ov61_0217eb44: .space 0x4 .global data_ov61_0217eb48 data_ov61_0217eb48: .space 0x4 .global data_ov61_0217eb4c data_ov61_0217eb4c: .space 0x4 .global data_ov61_0217eb50 data_ov61_0217eb50: .space 0x4 .global data_ov61_0217eb54 data_ov61_0217eb54: .space 0x4 .global data_ov61_0217eb58 data_ov61_0217eb58: .space 0x4 .global data_ov61_0217eb5c data_ov61_0217eb5c: .space 0x4 .global data_ov61_0217eb60 data_ov61_0217eb60: .space 0x4 .global data_ov61_0217eb64 data_ov61_0217eb64: .space 0x4 .global data_ov61_0217eb68 data_ov61_0217eb68: .space 0x4 .global data_ov61_0217eb6c data_ov61_0217eb6c: .space 0x4 .global data_ov61_0217eb70 data_ov61_0217eb70: .space 0x4 .global data_ov61_0217eb74 data_ov61_0217eb74: .space 0x4 .global data_ov61_0217eb78 data_ov61_0217eb78: .space 0x4 .global data_ov61_0217eb7c data_ov61_0217eb7c: .space 0x4 .global data_ov61_0217eb80 data_ov61_0217eb80: .space 0x4 .global data_ov61_0217eb84 data_ov61_0217eb84: .space 0x4 .global data_ov61_0217eb88 data_ov61_0217eb88: .space 0x4 .global data_ov61_0217eb8c data_ov61_0217eb8c: .space 0x4 .global data_ov61_0217eb90 data_ov61_0217eb90: .space 0x4 .global data_ov61_0217eb94 data_ov61_0217eb94: .space 0x4 .global data_ov61_0217eb98 data_ov61_0217eb98: .space 0x4 .global data_ov61_0217eb9c data_ov61_0217eb9c: .space 0x4 .global data_ov61_0217eba0 data_ov61_0217eba0: .space 0x4 .global data_ov61_0217eba4 data_ov61_0217eba4: .space 0x4 .global data_ov61_0217eba8 data_ov61_0217eba8: .space 0x4 .global data_ov61_0217ebac data_ov61_0217ebac: .space 0x4 .global data_ov61_0217ebb0 data_ov61_0217ebb0: .space 0x4 .global data_ov61_0217ebb4 data_ov61_0217ebb4: .space 0x4 .global data_ov61_0217ebb8 data_ov61_0217ebb8: .space 0x4 .global data_ov61_0217ebbc data_ov61_0217ebbc: .space 0x4 .global data_ov61_0217ebc0 data_ov61_0217ebc0: .space 0x4 .global data_ov61_0217ebc4 data_ov61_0217ebc4: .space 0x4 .global data_ov61_0217ebc8 data_ov61_0217ebc8: .space 0x4 .global data_ov61_0217ebcc data_ov61_0217ebcc: .space 0x4 .global data_ov61_0217ebd0 data_ov61_0217ebd0: .space 0x4 .global data_ov61_0217ebd4 data_ov61_0217ebd4: .space 0x4 .global data_ov61_0217ebd8 data_ov61_0217ebd8: .space 0x4 .global data_ov61_0217ebdc data_ov61_0217ebdc: .space 0x4 .global data_ov61_0217ebe0 data_ov61_0217ebe0: .space 0x4 .global data_ov61_0217ebe4 data_ov61_0217ebe4: .space 0x4 .global data_ov61_0217ebe8 data_ov61_0217ebe8: .space 0x4 .global data_ov61_0217ebec data_ov61_0217ebec: .space 0x4 .global data_ov61_0217ebf0 data_ov61_0217ebf0: .space 0x1 .global data_ov61_0217ebf1 data_ov61_0217ebf1: .space 0x1 .global data_ov61_0217ebf2 data_ov61_0217ebf2: .space 0x2 .global data_ov61_0217ebf4 data_ov61_0217ebf4: .space 0x4 .global data_ov61_0217ebf8 data_ov61_0217ebf8: .space 0x1 .global data_ov61_0217ebf9 data_ov61_0217ebf9: .space 0x1 .global data_ov61_0217ebfa data_ov61_0217ebfa: .space 0x2 .global data_ov61_0217ebfc data_ov61_0217ebfc: .space 0x4 .global data_ov61_0217ec00 data_ov61_0217ec00: .space 0x4 .global data_ov61_0217ec04 data_ov61_0217ec04: .space 0x4 .global data_ov61_0217ec08 data_ov61_0217ec08: .space 0x4 .global data_ov61_0217ec0c data_ov61_0217ec0c: .space 0x4 .global data_ov61_0217ec10 data_ov61_0217ec10: .space 0x4 .global data_ov61_0217ec14 data_ov61_0217ec14: .space 0x4 .global data_ov61_0217ec18 data_ov61_0217ec18: .space 0x4 .global data_ov61_0217ec1c data_ov61_0217ec1c: .space 0x4 .global data_ov61_0217ec20 data_ov61_0217ec20: .space 0x4 .global data_ov61_0217ec24 data_ov61_0217ec24: .space 0x4 .global data_ov61_0217ec28 data_ov61_0217ec28: .space 0x4 .global data_ov61_0217ec2c data_ov61_0217ec2c: .space 0x4 .global data_ov61_0217ec30 data_ov61_0217ec30: .space 0x4 .global data_ov61_0217ec34 data_ov61_0217ec34: .space 0x4 .global data_ov61_0217ec38 data_ov61_0217ec38: .space 0x4 .global data_ov61_0217ec3c data_ov61_0217ec3c: .space 0x4 .global data_ov61_0217ec40 data_ov61_0217ec40: .space 0x4 .global data_ov61_0217ec44 data_ov61_0217ec44: .space 0x4 .global data_ov61_0217ec48 data_ov61_0217ec48: .space 0x4 .global data_ov61_0217ec4c data_ov61_0217ec4c: .space 0x4 .global data_ov61_0217ec50 data_ov61_0217ec50: .space 0x4 .global data_ov61_0217ec54 data_ov61_0217ec54: .space 0x4 .global data_ov61_0217ec58 data_ov61_0217ec58: .space 0x4 .global data_ov61_0217ec5c data_ov61_0217ec5c: .space 0x4 .global data_ov61_0217ec60 data_ov61_0217ec60: .space 0x4 .global data_ov61_0217ec64 data_ov61_0217ec64: .space 0x4 .global data_ov61_0217ec68 data_ov61_0217ec68: .space 0x4 .global data_ov61_0217ec6c data_ov61_0217ec6c: .space 0x4 .global data_ov61_0217ec70 data_ov61_0217ec70: .space 0x4 .global data_ov61_0217ec74 data_ov61_0217ec74: .space 0x4 .global data_ov61_0217ec78 data_ov61_0217ec78: .space 0x4 .global data_ov61_0217ec7c data_ov61_0217ec7c: .space 0x4 .global data_ov61_0217ec80 data_ov61_0217ec80: .space 0x4 .global data_ov61_0217ec84 data_ov61_0217ec84: .space 0x4 .global data_ov61_0217ec88 data_ov61_0217ec88: .space 0x4 .global data_ov61_0217ec8c data_ov61_0217ec8c: .space 0x4 .global data_ov61_0217ec90 data_ov61_0217ec90: .space 0x4 .global data_ov61_0217ec94 data_ov61_0217ec94: .space 0x4 .global data_ov61_0217ec98 data_ov61_0217ec98: .space 0x4 .global data_ov61_0217ec9c data_ov61_0217ec9c: .space 0x4 .global data_ov61_0217eca0 data_ov61_0217eca0: .space 0x4 .global data_ov61_0217eca4 data_ov61_0217eca4: .space 0x4 .global data_ov61_0217eca8 data_ov61_0217eca8: .space 0x4 .global data_ov61_0217ecac data_ov61_0217ecac: .space 0x4 .global data_ov61_0217ecb0 data_ov61_0217ecb0: .space 0x4 .global data_ov61_0217ecb4 data_ov61_0217ecb4: .space 0x4 .global data_ov61_0217ecb8 data_ov61_0217ecb8: .space 0x4 .global data_ov61_0217ecbc data_ov61_0217ecbc: .space 0x4 .global data_ov61_0217ecc0 data_ov61_0217ecc0: .space 0x4 .global data_ov61_0217ecc4 data_ov61_0217ecc4: .space 0x4 .global data_ov61_0217ecc8 data_ov61_0217ecc8: .space 0x4 .global data_ov61_0217eccc data_ov61_0217eccc: .space 0x4 .global data_ov61_0217ecd0 data_ov61_0217ecd0: .space 0x4 .global data_ov61_0217ecd4 data_ov61_0217ecd4: .space 0x4 .global data_ov61_0217ecd8 data_ov61_0217ecd8: .space 0x4 .global data_ov61_0217ecdc data_ov61_0217ecdc: .space 0x4 .global data_ov61_0217ece0 data_ov61_0217ece0: .space 0x4 .global data_ov61_0217ece4 data_ov61_0217ece4: .space 0x4 .global data_ov61_0217ece8 data_ov61_0217ece8: .space 0x4 .global data_ov61_0217ecec data_ov61_0217ecec: .space 0x4 .global data_ov61_0217ecf0 data_ov61_0217ecf0: .space 0x4 .global data_ov61_0217ecf4 data_ov61_0217ecf4: .space 0x4 .global data_ov61_0217ecf8 data_ov61_0217ecf8: .space 0x4 .global data_ov61_0217ecfc data_ov61_0217ecfc: .space 0x4 .global data_ov61_0217ed00 data_ov61_0217ed00: .space 0x4 .global data_ov61_0217ed04 data_ov61_0217ed04: .space 0x4 .global data_ov61_0217ed08 data_ov61_0217ed08: .space 0x4 .global data_ov61_0217ed0c data_ov61_0217ed0c: .space 0x4 .global data_ov61_0217ed10 data_ov61_0217ed10: .space 0x4 .global data_ov61_0217ed14 data_ov61_0217ed14: .space 0x4 .global data_ov61_0217ed18 data_ov61_0217ed18: .space 0x4 .global data_ov61_0217ed1c data_ov61_0217ed1c: .space 0x4 .global data_ov61_0217ed20 data_ov61_0217ed20: .space 0x4 .global data_ov61_0217ed24 data_ov61_0217ed24: .space 0x4 .global data_ov61_0217ed28 data_ov61_0217ed28: .space 0x4 .global data_ov61_0217ed2c data_ov61_0217ed2c: .space 0x4 .global data_ov61_0217ed30 data_ov61_0217ed30: .space 0x4 .global data_ov61_0217ed34 data_ov61_0217ed34: .space 0x4 .global data_ov61_0217ed38 data_ov61_0217ed38: .space 0x4 .global data_ov61_0217ed3c data_ov61_0217ed3c: .space 0x4 .global data_ov61_0217ed40 data_ov61_0217ed40: .space 0x4 .global data_ov61_0217ed44 data_ov61_0217ed44: .space 0x4 .global data_ov61_0217ed48 data_ov61_0217ed48: .space 0x4 .global data_ov61_0217ed4c data_ov61_0217ed4c: .space 0x4 .global data_ov61_0217ed50 data_ov61_0217ed50: .space 0x4 .global data_ov61_0217ed54 data_ov61_0217ed54: .space 0x4 .global data_ov61_0217ed58 data_ov61_0217ed58: .space 0x4 .global data_ov61_0217ed5c data_ov61_0217ed5c: .space 0x4 .global data_ov61_0217ed60 data_ov61_0217ed60: .space 0x4 .global data_ov61_0217ed64 data_ov61_0217ed64: .space 0x4 .global data_ov61_0217ed68 data_ov61_0217ed68: .space 0x4 .global data_ov61_0217ed6c data_ov61_0217ed6c: .space 0x4 .global data_ov61_0217ed70 data_ov61_0217ed70: .space 0x4 .global data_ov61_0217ed74 data_ov61_0217ed74: .space 0x4 .global data_ov61_0217ed78 data_ov61_0217ed78: .space 0x4 .global data_ov61_0217ed7c data_ov61_0217ed7c: .space 0x4 .global data_ov61_0217ed80 data_ov61_0217ed80: .space 0x4 .global data_ov61_0217ed84 data_ov61_0217ed84: .space 0x4 .global data_ov61_0217ed88 data_ov61_0217ed88: .space 0x4 .global data_ov61_0217ed8c data_ov61_0217ed8c: .space 0x4 .global data_ov61_0217ed90 data_ov61_0217ed90: .space 0x4 .global data_ov61_0217ed94 data_ov61_0217ed94: .space 0x4 .global data_ov61_0217ed98 data_ov61_0217ed98: .space 0x4 .global data_ov61_0217ed9c data_ov61_0217ed9c: .space 0x4 .global data_ov61_0217eda0 data_ov61_0217eda0: .space 0x4 .global data_ov61_0217eda4 data_ov61_0217eda4: .space 0x4 .global data_ov61_0217eda8 data_ov61_0217eda8: .space 0x4 .global data_ov61_0217edac data_ov61_0217edac: .space 0x4 .global data_ov61_0217edb0 data_ov61_0217edb0: .space 0x4 .global data_ov61_0217edb4 data_ov61_0217edb4: .space 0x4 .global data_ov61_0217edb8 data_ov61_0217edb8: .space 0x4 .global data_ov61_0217edbc data_ov61_0217edbc: .space 0x4 .global data_ov61_0217edc0 data_ov61_0217edc0: .space 0x4 .global data_ov61_0217edc4 data_ov61_0217edc4: .space 0x4 .global data_ov61_0217edc8 data_ov61_0217edc8: .space 0x4 .global data_ov61_0217edcc data_ov61_0217edcc: .space 0x4 .global data_ov61_0217edd0 data_ov61_0217edd0: .space 0x4 .global data_ov61_0217edd4 data_ov61_0217edd4: .space 0x4 .global data_ov61_0217edd8 data_ov61_0217edd8: .space 0x4 .global data_ov61_0217eddc data_ov61_0217eddc: .space 0x4 .global data_ov61_0217ede0 data_ov61_0217ede0: .space 0x4 .global data_ov61_0217ede4 data_ov61_0217ede4: .space 0x4 .global data_ov61_0217ede8 data_ov61_0217ede8: .space 0x4 .global data_ov61_0217edec data_ov61_0217edec: .space 0x4 .global data_ov61_0217edf0 data_ov61_0217edf0: .space 0x4 .global data_ov61_0217edf4 data_ov61_0217edf4: .space 0x4 .global data_ov61_0217edf8 data_ov61_0217edf8: .space 0x4 .global data_ov61_0217edfc data_ov61_0217edfc: .space 0x4 .global data_ov61_0217ee00 data_ov61_0217ee00: .space 0x4 .global data_ov61_0217ee04 data_ov61_0217ee04: .space 0x4 .global data_ov61_0217ee08 data_ov61_0217ee08: .space 0x4 .global data_ov61_0217ee0c data_ov61_0217ee0c: .space 0x4 .global data_ov61_0217ee10 data_ov61_0217ee10: .space 0x4 .global data_ov61_0217ee14 data_ov61_0217ee14: .space 0x4 .global data_ov61_0217ee18 data_ov61_0217ee18: .space 0x4 .global data_ov61_0217ee1c data_ov61_0217ee1c: .space 0x4 .global data_ov61_0217ee20 data_ov61_0217ee20: .space 0x4 .global data_ov61_0217ee24 data_ov61_0217ee24: .space 0x4 .global data_ov61_0217ee28 data_ov61_0217ee28: .space 0x4 .global data_ov61_0217ee2c data_ov61_0217ee2c: .space 0x4 .global data_ov61_0217ee30 data_ov61_0217ee30: .space 0x4 .global data_ov61_0217ee34 data_ov61_0217ee34: .space 0x4 .global data_ov61_0217ee38 data_ov61_0217ee38: .space 0x4 .global data_ov61_0217ee3c data_ov61_0217ee3c: .space 0x4 .global data_ov61_0217ee40 data_ov61_0217ee40: .space 0x4 .global data_ov61_0217ee44 data_ov61_0217ee44: .space 0x4 .global data_ov61_0217ee48 data_ov61_0217ee48: .space 0x4 .global data_ov61_0217ee4c data_ov61_0217ee4c: .space 0x4 .global data_ov61_0217ee50 data_ov61_0217ee50: .space 0x4 .global data_ov61_0217ee54 data_ov61_0217ee54: .space 0x4 .global data_ov61_0217ee58 data_ov61_0217ee58: .space 0x4 .global data_ov61_0217ee5c data_ov61_0217ee5c: .space 0x4 .global data_ov61_0217ee60 data_ov61_0217ee60: .space 0x4 .global data_ov61_0217ee64 data_ov61_0217ee64: .space 0x4 .global data_ov61_0217ee68 data_ov61_0217ee68: .space 0x4 .global data_ov61_0217ee6c data_ov61_0217ee6c: .space 0x4 .global data_ov61_0217ee70 data_ov61_0217ee70: .space 0x4 .global data_ov61_0217ee74 data_ov61_0217ee74: .space 0x4 .global data_ov61_0217ee78 data_ov61_0217ee78: .space 0x4 .global data_ov61_0217ee7c data_ov61_0217ee7c: .space 0x4 .global data_ov61_0217ee80 data_ov61_0217ee80: .space 0x4 .global data_ov61_0217ee84 data_ov61_0217ee84: .space 0x4 .global data_ov61_0217ee88 data_ov61_0217ee88: .space 0x4 .global data_ov61_0217ee8c data_ov61_0217ee8c: .space 0x4 .global data_ov61_0217ee90 data_ov61_0217ee90: .space 0x4 .global data_ov61_0217ee94 data_ov61_0217ee94: .space 0x4 .global data_ov61_0217ee98 data_ov61_0217ee98: .space 0x4 .global data_ov61_0217ee9c data_ov61_0217ee9c: .space 0x4 .global data_ov61_0217eea0 data_ov61_0217eea0: .space 0x4 .global data_ov61_0217eea4 data_ov61_0217eea4: .space 0x4 .global data_ov61_0217eea8 data_ov61_0217eea8: .space 0x4 .global data_ov61_0217eeac data_ov61_0217eeac: .space 0x4 .global data_ov61_0217eeb0 data_ov61_0217eeb0: .space 0x4 .global data_ov61_0217eeb4 data_ov61_0217eeb4: .space 0x4 .global data_ov61_0217eeb8 data_ov61_0217eeb8: .space 0x4 .global data_ov61_0217eebc data_ov61_0217eebc: .space 0x4 .global data_ov61_0217eec0 data_ov61_0217eec0: .space 0x4 .global data_ov61_0217eec4 data_ov61_0217eec4: .space 0x4 .global data_ov61_0217eec8 data_ov61_0217eec8: .space 0x4 .global data_ov61_0217eecc data_ov61_0217eecc: .space 0x4 .global data_ov61_0217eed0 data_ov61_0217eed0: .space 0x4 .global data_ov61_0217eed4 data_ov61_0217eed4: .space 0x4 .global data_ov61_0217eed8 data_ov61_0217eed8: .space 0x4 .global data_ov61_0217eedc data_ov61_0217eedc: .space 0x4 .global data_ov61_0217eee0 data_ov61_0217eee0: .space 0x4 .global data_ov61_0217eee4 data_ov61_0217eee4: .space 0x4 .global data_ov61_0217eee8 data_ov61_0217eee8: .space 0x4 .global data_ov61_0217eeec data_ov61_0217eeec: .space 0x4 .global data_ov61_0217eef0 data_ov61_0217eef0: .space 0x4 .global data_ov61_0217eef4 data_ov61_0217eef4: .space 0x4 .global data_ov61_0217eef8 data_ov61_0217eef8: .space 0x4 .global data_ov61_0217eefc data_ov61_0217eefc: .space 0x4 .global data_ov61_0217ef00 data_ov61_0217ef00: .space 0x4 .global data_ov61_0217ef04 data_ov61_0217ef04: .space 0x4 .global data_ov61_0217ef08 data_ov61_0217ef08: .space 0x4 .global data_ov61_0217ef0c data_ov61_0217ef0c: .space 0x4 .global data_ov61_0217ef10 data_ov61_0217ef10: .space 0x4 .global data_ov61_0217ef14 data_ov61_0217ef14: .space 0x4 .global data_ov61_0217ef18 data_ov61_0217ef18: .space 0x4 .global data_ov61_0217ef1c data_ov61_0217ef1c: .space 0x4 .global data_ov61_0217ef20 data_ov61_0217ef20: .space 0x4 .global data_ov61_0217ef24 data_ov61_0217ef24: .space 0x4 .global data_ov61_0217ef28 data_ov61_0217ef28: .space 0x4 .global data_ov61_0217ef2c data_ov61_0217ef2c: .space 0x4 .global data_ov61_0217ef30 data_ov61_0217ef30: .space 0x4 .global data_ov61_0217ef34 data_ov61_0217ef34: .space 0x4 .global data_ov61_0217ef38 data_ov61_0217ef38: .space 0x4 .global data_ov61_0217ef3c data_ov61_0217ef3c: .space 0x4 .global data_ov61_0217ef40 data_ov61_0217ef40: .space 0x4 .global data_ov61_0217ef44 data_ov61_0217ef44: .space 0x4 .global data_ov61_0217ef48 data_ov61_0217ef48: .space 0x4 .global data_ov61_0217ef4c data_ov61_0217ef4c: .space 0x4 .global data_ov61_0217ef50 data_ov61_0217ef50: .space 0x4 .global data_ov61_0217ef54 data_ov61_0217ef54: .space 0x4 .global data_ov61_0217ef58 data_ov61_0217ef58: .space 0x4 .global data_ov61_0217ef5c data_ov61_0217ef5c: .space 0x4 .global data_ov61_0217ef60 data_ov61_0217ef60: .space 0x4 .global data_ov61_0217ef64 data_ov61_0217ef64: .space 0x4 .global data_ov61_0217ef68 data_ov61_0217ef68: .space 0x4 .global data_ov61_0217ef6c data_ov61_0217ef6c: .space 0x4 .global data_ov61_0217ef70 data_ov61_0217ef70: .space 0x4 .global data_ov61_0217ef74 data_ov61_0217ef74: .space 0x4 .global data_ov61_0217ef78 data_ov61_0217ef78: .space 0x4 .global data_ov61_0217ef7c data_ov61_0217ef7c: .space 0x4 .global data_ov61_0217ef80 data_ov61_0217ef80: .space 0x4 .global data_ov61_0217ef84 data_ov61_0217ef84: .space 0x4 .global data_ov61_0217ef88 data_ov61_0217ef88: .space 0x4 .global data_ov61_0217ef8c data_ov61_0217ef8c: .space 0x4 .global data_ov61_0217ef90 data_ov61_0217ef90: .space 0x4 .global data_ov61_0217ef94 data_ov61_0217ef94: .space 0x4 .global data_ov61_0217ef98 data_ov61_0217ef98: .space 0x4 .global data_ov61_0217ef9c data_ov61_0217ef9c: .space 0x4 .global data_ov61_0217efa0 data_ov61_0217efa0: .space 0x4 .global data_ov61_0217efa4 data_ov61_0217efa4: .space 0x4 .global data_ov61_0217efa8 data_ov61_0217efa8: .space 0x4 .global data_ov61_0217efac data_ov61_0217efac: .space 0x4 .global data_ov61_0217efb0 data_ov61_0217efb0: .space 0x4 .global data_ov61_0217efb4 data_ov61_0217efb4: .space 0x4 .global data_ov61_0217efb8 data_ov61_0217efb8: .space 0x4 .global data_ov61_0217efbc data_ov61_0217efbc: .space 0x4 .global data_ov61_0217efc0 data_ov61_0217efc0: .space 0x4 .global data_ov61_0217efc4 data_ov61_0217efc4: .space 0x4 .global data_ov61_0217efc8 data_ov61_0217efc8: .space 0x4 .global data_ov61_0217efcc data_ov61_0217efcc: .space 0x4 .global data_ov61_0217efd0 data_ov61_0217efd0: .space 0x4 .global data_ov61_0217efd4 data_ov61_0217efd4: .space 0x4 .global data_ov61_0217efd8 data_ov61_0217efd8: .space 0x4 .global data_ov61_0217efdc data_ov61_0217efdc: .space 0x4 .global data_ov61_0217efe0 data_ov61_0217efe0: .space 0x4 .global data_ov61_0217efe4 data_ov61_0217efe4: .space 0x4 .global data_ov61_0217efe8 data_ov61_0217efe8: .space 0x4 .global data_ov61_0217efec data_ov61_0217efec: .space 0x4 .global data_ov61_0217eff0 data_ov61_0217eff0: .space 0x4 .global data_ov61_0217eff4 data_ov61_0217eff4: .space 0x4 .global data_ov61_0217eff8 data_ov61_0217eff8: .space 0x4 .global data_ov61_0217effc data_ov61_0217effc: .space 0x4 .global data_ov61_0217f000 data_ov61_0217f000: .space 0x4 .global data_ov61_0217f004 data_ov61_0217f004: .space 0x4 .global data_ov61_0217f008 data_ov61_0217f008: .space 0x4 .global data_ov61_0217f00c data_ov61_0217f00c: .space 0x4 .global data_ov61_0217f010 data_ov61_0217f010: .space 0x4 .global data_ov61_0217f014 data_ov61_0217f014: .space 0x4 .global data_ov61_0217f018 data_ov61_0217f018: .space 0x4 .global data_ov61_0217f01c data_ov61_0217f01c: .space 0x4 .global data_ov61_0217f020 data_ov61_0217f020: .space 0x4 .global data_ov61_0217f024 data_ov61_0217f024: .space 0x4 .global data_ov61_0217f028 data_ov61_0217f028: .space 0x4 .global data_ov61_0217f02c data_ov61_0217f02c: .space 0x4 .global data_ov61_0217f030 data_ov61_0217f030: .space 0x4 .global data_ov61_0217f034 data_ov61_0217f034: .space 0x4 .global data_ov61_0217f038 data_ov61_0217f038: .space 0x4 .global data_ov61_0217f03c data_ov61_0217f03c: .space 0x4 .global data_ov61_0217f040 data_ov61_0217f040: .space 0x4 .global data_ov61_0217f044 data_ov61_0217f044: .space 0x4 .global data_ov61_0217f048 data_ov61_0217f048: .space 0x4 .global data_ov61_0217f04c data_ov61_0217f04c: .space 0x4 .global data_ov61_0217f050 data_ov61_0217f050: .space 0x4 .global data_ov61_0217f054 data_ov61_0217f054: .space 0x4 .global data_ov61_0217f058 data_ov61_0217f058: .space 0x4 .global data_ov61_0217f05c data_ov61_0217f05c: .space 0x4 .global data_ov61_0217f060 data_ov61_0217f060: .space 0x4 .global data_ov61_0217f064 data_ov61_0217f064: .space 0x4 .global data_ov61_0217f068 data_ov61_0217f068: .space 0x4 .global data_ov61_0217f06c data_ov61_0217f06c: .space 0x4 .global data_ov61_0217f070 data_ov61_0217f070: .space 0x4 .global data_ov61_0217f074 data_ov61_0217f074: .space 0x4 .global data_ov61_0217f078 data_ov61_0217f078: .space 0x4 .global data_ov61_0217f07c data_ov61_0217f07c: .space 0x4 .global data_ov61_0217f080 data_ov61_0217f080: .space 0x4 .global data_ov61_0217f084 data_ov61_0217f084: .space 0x4 .global data_ov61_0217f088 data_ov61_0217f088: .space 0x4 .global data_ov61_0217f08c data_ov61_0217f08c: .space 0x4 .global data_ov61_0217f090 data_ov61_0217f090: .space 0x4 .global data_ov61_0217f094 data_ov61_0217f094: .space 0x4 .global data_ov61_0217f098 data_ov61_0217f098: .space 0x4 .global data_ov61_0217f09c data_ov61_0217f09c: .space 0x4 .global data_ov61_0217f0a0 data_ov61_0217f0a0: .space 0x4 .global data_ov61_0217f0a4 data_ov61_0217f0a4: .space 0x4 .global data_ov61_0217f0a8 data_ov61_0217f0a8: .space 0x4 .global data_ov61_0217f0ac data_ov61_0217f0ac: .space 0x4 .global data_ov61_0217f0b0 data_ov61_0217f0b0: .space 0x4 .global data_ov61_0217f0b4 data_ov61_0217f0b4: .space 0x4 .global data_ov61_0217f0b8 data_ov61_0217f0b8: .space 0x4 .global data_ov61_0217f0bc data_ov61_0217f0bc: .space 0x4 .global data_ov61_0217f0c0 data_ov61_0217f0c0: .space 0x4 .global data_ov61_0217f0c4 data_ov61_0217f0c4: .space 0x4 .global data_ov61_0217f0c8 data_ov61_0217f0c8: .space 0x4 .global data_ov61_0217f0cc data_ov61_0217f0cc: .space 0x4 .global data_ov61_0217f0d0 data_ov61_0217f0d0: .space 0x4 .global data_ov61_0217f0d4 data_ov61_0217f0d4: .space 0x4 .global data_ov61_0217f0d8 data_ov61_0217f0d8: .space 0x4 .global data_ov61_0217f0dc data_ov61_0217f0dc: .space 0x4 .global data_ov61_0217f0e0 data_ov61_0217f0e0: .space 0x4 .global data_ov61_0217f0e4 data_ov61_0217f0e4: .space 0x4 .global data_ov61_0217f0e8 data_ov61_0217f0e8: .space 0x4 .global data_ov61_0217f0ec data_ov61_0217f0ec: .space 0x4 .global data_ov61_0217f0f0 data_ov61_0217f0f0: .space 0x4 .global data_ov61_0217f0f4 data_ov61_0217f0f4: .space 0x4 .global data_ov61_0217f0f8 data_ov61_0217f0f8: .space 0x4 .global data_ov61_0217f0fc data_ov61_0217f0fc: .space 0x4 .global data_ov61_0217f100 data_ov61_0217f100: .space 0x4 .global data_ov61_0217f104 data_ov61_0217f104: .space 0x4 .global data_ov61_0217f108 data_ov61_0217f108: .space 0x4 .global data_ov61_0217f10c data_ov61_0217f10c: .space 0x4 .global data_ov61_0217f110 data_ov61_0217f110: .space 0x4 .global data_ov61_0217f114 data_ov61_0217f114: .space 0x4 .global data_ov61_0217f118 data_ov61_0217f118: .space 0x4 .global data_ov61_0217f11c data_ov61_0217f11c: .space 0x4 .global data_ov61_0217f120 data_ov61_0217f120: .space 0x4 .global data_ov61_0217f124 data_ov61_0217f124: .space 0x4 .global data_ov61_0217f128 data_ov61_0217f128: .space 0x4 .global data_ov61_0217f12c data_ov61_0217f12c: .space 0x4 .global data_ov61_0217f130 data_ov61_0217f130: .space 0x4 .global data_ov61_0217f134 data_ov61_0217f134: .space 0x4 .global data_ov61_0217f138 data_ov61_0217f138: .space 0x4 .global data_ov61_0217f13c data_ov61_0217f13c: .space 0x4 .global data_ov61_0217f140 data_ov61_0217f140: .space 0x4 .global data_ov61_0217f144 data_ov61_0217f144: .space 0x4 .global data_ov61_0217f148 data_ov61_0217f148: .space 0x4 .global data_ov61_0217f14c data_ov61_0217f14c: .space 0x4 .global data_ov61_0217f150 data_ov61_0217f150: .space 0x4 .global data_ov61_0217f154 data_ov61_0217f154: .space 0x4 .global data_ov61_0217f158 data_ov61_0217f158: .space 0x4 .global data_ov61_0217f15c data_ov61_0217f15c: .space 0x4 .global data_ov61_0217f160 data_ov61_0217f160: .space 0x4 .global data_ov61_0217f164 data_ov61_0217f164: .space 0x4 .global data_ov61_0217f168 data_ov61_0217f168: .space 0x4 .global data_ov61_0217f16c data_ov61_0217f16c: .space 0x4 .global data_ov61_0217f170 data_ov61_0217f170: .space 0x4 .global data_ov61_0217f174 data_ov61_0217f174: .space 0x4 .global data_ov61_0217f178 data_ov61_0217f178: .space 0x4 .global data_ov61_0217f17c data_ov61_0217f17c: .space 0x4 .global data_ov61_0217f180 data_ov61_0217f180: .space 0x4 .global data_ov61_0217f184 data_ov61_0217f184: .space 0x4 .global data_ov61_0217f188 data_ov61_0217f188: .space 0x4 .global data_ov61_0217f18c data_ov61_0217f18c: .space 0x4 .global data_ov61_0217f190 data_ov61_0217f190: .space 0x4 .global data_ov61_0217f194 data_ov61_0217f194: .space 0x4 .global data_ov61_0217f198 data_ov61_0217f198: .space 0x4 .global data_ov61_0217f19c data_ov61_0217f19c: .space 0x4 .global data_ov61_0217f1a0 data_ov61_0217f1a0: .space 0x4 .global data_ov61_0217f1a4 data_ov61_0217f1a4: .space 0x4 .global data_ov61_0217f1a8 data_ov61_0217f1a8: .space 0x4 .global data_ov61_0217f1ac data_ov61_0217f1ac: .space 0x4 .global data_ov61_0217f1b0 data_ov61_0217f1b0: .space 0x4 .global data_ov61_0217f1b4 data_ov61_0217f1b4: .space 0x4 .global data_ov61_0217f1b8 data_ov61_0217f1b8: .space 0x4 .global data_ov61_0217f1bc data_ov61_0217f1bc: .space 0x4 .global data_ov61_0217f1c0 data_ov61_0217f1c0: .space 0x4 .global data_ov61_0217f1c4 data_ov61_0217f1c4: .space 0x4 .global data_ov61_0217f1c8 data_ov61_0217f1c8: .space 0x4 .global data_ov61_0217f1cc data_ov61_0217f1cc: .space 0x4 .global data_ov61_0217f1d0 data_ov61_0217f1d0: .space 0x4 .global data_ov61_0217f1d4 data_ov61_0217f1d4: .space 0x4 .global data_ov61_0217f1d8 data_ov61_0217f1d8: .space 0x4 .global data_ov61_0217f1dc data_ov61_0217f1dc: .space 0x4 .global data_ov61_0217f1e0 data_ov61_0217f1e0: .space 0x4 .global data_ov61_0217f1e4 data_ov61_0217f1e4: .space 0x4 .global data_ov61_0217f1e8 data_ov61_0217f1e8: .space 0x4 .global data_ov61_0217f1ec data_ov61_0217f1ec: .space 0x4 .global data_ov61_0217f1f0 data_ov61_0217f1f0: .space 0x4 .global data_ov61_0217f1f4 data_ov61_0217f1f4: .space 0x4 .global data_ov61_0217f1f8 data_ov61_0217f1f8: .space 0x4 .global data_ov61_0217f1fc data_ov61_0217f1fc: .space 0x4 .global data_ov61_0217f200 data_ov61_0217f200: .space 0x4 .global data_ov61_0217f204 data_ov61_0217f204: .space 0x4 .global data_ov61_0217f208 data_ov61_0217f208: .space 0x4 .global data_ov61_0217f20c data_ov61_0217f20c: .space 0x4 .global data_ov61_0217f210 data_ov61_0217f210: .space 0x4 .global data_ov61_0217f214 data_ov61_0217f214: .space 0x4 .global data_ov61_0217f218 data_ov61_0217f218: .space 0x4 .global data_ov61_0217f21c data_ov61_0217f21c: .space 0x4 .global data_ov61_0217f220 data_ov61_0217f220: .space 0x4 .global data_ov61_0217f224 data_ov61_0217f224: .space 0x4 .global data_ov61_0217f228 data_ov61_0217f228: .space 0x4 .global data_ov61_0217f22c data_ov61_0217f22c: .space 0x4 .global data_ov61_0217f230 data_ov61_0217f230: .space 0x4 .global data_ov61_0217f234 data_ov61_0217f234: .space 0x4 .global data_ov61_0217f238 data_ov61_0217f238: .space 0x4 .global data_ov61_0217f23c data_ov61_0217f23c: .space 0x4 .global data_ov61_0217f240 data_ov61_0217f240: .space 0x4 .global data_ov61_0217f244 data_ov61_0217f244: .space 0x4 .global data_ov61_0217f248 data_ov61_0217f248: .space 0x4 .global data_ov61_0217f24c data_ov61_0217f24c: .space 0x4 .global data_ov61_0217f250 data_ov61_0217f250: .space 0x4 .global data_ov61_0217f254 data_ov61_0217f254: .space 0x4 .global data_ov61_0217f258 data_ov61_0217f258: .space 0x4 .global data_ov61_0217f25c data_ov61_0217f25c: .space 0x4 .global data_ov61_0217f260 data_ov61_0217f260: .space 0x4 .global data_ov61_0217f264 data_ov61_0217f264: .space 0x4 .global data_ov61_0217f268 data_ov61_0217f268: .space 0x4 .global data_ov61_0217f26c data_ov61_0217f26c: .space 0x4 .global data_ov61_0217f270 data_ov61_0217f270: .space 0x4 .global data_ov61_0217f274 data_ov61_0217f274: .space 0x4 .global data_ov61_0217f278 data_ov61_0217f278: .space 0x4 .global data_ov61_0217f27c data_ov61_0217f27c: .space 0x4 .global data_ov61_0217f280 data_ov61_0217f280: .space 0x4 .global data_ov61_0217f284 data_ov61_0217f284: .space 0x4 .global data_ov61_0217f288 data_ov61_0217f288: .space 0x4 .global data_ov61_0217f28c data_ov61_0217f28c: .space 0x4 .global data_ov61_0217f290 data_ov61_0217f290: .space 0x4 .global data_ov61_0217f294 data_ov61_0217f294: .space 0x4 .global data_ov61_0217f298 data_ov61_0217f298: .space 0x4 .global data_ov61_0217f29c data_ov61_0217f29c: .space 0x4 .global data_ov61_0217f2a0 data_ov61_0217f2a0: .space 0x4 .global data_ov61_0217f2a4 data_ov61_0217f2a4: .space 0x4 .global data_ov61_0217f2a8 data_ov61_0217f2a8: .space 0x4 .global data_ov61_0217f2ac data_ov61_0217f2ac: .space 0x4 .global data_ov61_0217f2b0 data_ov61_0217f2b0: .space 0x4 .global data_ov61_0217f2b4 data_ov61_0217f2b4: .space 0x4 .global data_ov61_0217f2b8 data_ov61_0217f2b8: .space 0x4 .global data_ov61_0217f2bc data_ov61_0217f2bc: .space 0x4 .global data_ov61_0217f2c0 data_ov61_0217f2c0: .space 0x4 .global data_ov61_0217f2c4 data_ov61_0217f2c4: .space 0x4 .global data_ov61_0217f2c8 data_ov61_0217f2c8: .space 0x4 .global data_ov61_0217f2cc data_ov61_0217f2cc: .space 0x4 .global data_ov61_0217f2d0 data_ov61_0217f2d0: .space 0x4 .global data_ov61_0217f2d4 data_ov61_0217f2d4: .space 0x4 .global data_ov61_0217f2d8 data_ov61_0217f2d8: .space 0x4 .global data_ov61_0217f2dc data_ov61_0217f2dc: .space 0x4 .global data_ov61_0217f2e0 data_ov61_0217f2e0: .space 0x4 .global data_ov61_0217f2e4 data_ov61_0217f2e4: .space 0x4 .global data_ov61_0217f2e8 data_ov61_0217f2e8: .space 0x4 .global data_ov61_0217f2ec data_ov61_0217f2ec: .space 0x4 .global data_ov61_0217f2f0 data_ov61_0217f2f0: .space 0x4 .global data_ov61_0217f2f4 data_ov61_0217f2f4: .space 0x4 .global data_ov61_0217f2f8 data_ov61_0217f2f8: .space 0x4 .global data_ov61_0217f2fc data_ov61_0217f2fc: .space 0x4 .global data_ov61_0217f300 data_ov61_0217f300: .space 0x4 .global data_ov61_0217f304 data_ov61_0217f304: .space 0x4 .global data_ov61_0217f308 data_ov61_0217f308: .space 0x4 .global data_ov61_0217f30c data_ov61_0217f30c: .space 0x4 .global data_ov61_0217f310 data_ov61_0217f310: .space 0x4 .global data_ov61_0217f314 data_ov61_0217f314: .space 0x4 .global data_ov61_0217f318 data_ov61_0217f318: .space 0x4 .global data_ov61_0217f31c data_ov61_0217f31c: .space 0x4 .global data_ov61_0217f320 data_ov61_0217f320: .space 0x4 .global data_ov61_0217f324 data_ov61_0217f324: .space 0x4 .global data_ov61_0217f328 data_ov61_0217f328: .space 0x4 .global data_ov61_0217f32c data_ov61_0217f32c: .space 0x4 .global data_ov61_0217f330 data_ov61_0217f330: .space 0x4 .global data_ov61_0217f334 data_ov61_0217f334: .space 0x4 .global data_ov61_0217f338 data_ov61_0217f338: .space 0x4 .global data_ov61_0217f33c data_ov61_0217f33c: .space 0x4 .global data_ov61_0217f340 data_ov61_0217f340: .space 0x4 .global data_ov61_0217f344 data_ov61_0217f344: .space 0x4 .global data_ov61_0217f348 data_ov61_0217f348: .space 0x4 .global data_ov61_0217f34c data_ov61_0217f34c: .space 0x4 .global data_ov61_0217f350 data_ov61_0217f350: .space 0x4 .global data_ov61_0217f354 data_ov61_0217f354: .space 0x4 .global data_ov61_0217f358 data_ov61_0217f358: .space 0x4 .global data_ov61_0217f35c data_ov61_0217f35c: .space 0x4 .global data_ov61_0217f360 data_ov61_0217f360: .space 0x4 .global data_ov61_0217f364 data_ov61_0217f364: .space 0x4 .global data_ov61_0217f368 data_ov61_0217f368: .space 0x4 .global data_ov61_0217f36c data_ov61_0217f36c: .space 0x4 .global data_ov61_0217f370 data_ov61_0217f370: .space 0x4 .global data_ov61_0217f374 data_ov61_0217f374: .space 0x4 .global data_ov61_0217f378 data_ov61_0217f378: .space 0x4 .global data_ov61_0217f37c data_ov61_0217f37c: .space 0x4 .global data_ov61_0217f380 data_ov61_0217f380: .space 0x4 .global data_ov61_0217f384 data_ov61_0217f384: .space 0x4 .global data_ov61_0217f388 data_ov61_0217f388: .space 0x4 .global data_ov61_0217f38c data_ov61_0217f38c: .space 0x4 .global data_ov61_0217f390 data_ov61_0217f390: .space 0x4 .global data_ov61_0217f394 data_ov61_0217f394: .space 0x4 .global data_ov61_0217f398 data_ov61_0217f398: .space 0x4 .global data_ov61_0217f39c data_ov61_0217f39c: .space 0x4 .global data_ov61_0217f3a0 data_ov61_0217f3a0: .space 0x4 .global data_ov61_0217f3a4 data_ov61_0217f3a4: .space 0x4 .global data_ov61_0217f3a8 data_ov61_0217f3a8: .space 0x4 .global data_ov61_0217f3ac data_ov61_0217f3ac: .space 0x4 .global data_ov61_0217f3b0 data_ov61_0217f3b0: .space 0x4 .global data_ov61_0217f3b4 data_ov61_0217f3b4: .space 0x4 .global data_ov61_0217f3b8 data_ov61_0217f3b8: .space 0x4 .global data_ov61_0217f3bc data_ov61_0217f3bc: .space 0x4 .global data_ov61_0217f3c0 data_ov61_0217f3c0: .space 0x4 .global data_ov61_0217f3c4 data_ov61_0217f3c4: .space 0x4 .global data_ov61_0217f3c8 data_ov61_0217f3c8: .space 0x4 .global data_ov61_0217f3cc data_ov61_0217f3cc: .space 0x4 .global data_ov61_0217f3d0 data_ov61_0217f3d0: .space 0x4 .global data_ov61_0217f3d4 data_ov61_0217f3d4: .space 0x4 .global data_ov61_0217f3d8 data_ov61_0217f3d8: .space 0x4 .global data_ov61_0217f3dc data_ov61_0217f3dc: .space 0x4 .global data_ov61_0217f3e0 data_ov61_0217f3e0: .space 0x4 .global data_ov61_0217f3e4 data_ov61_0217f3e4: .space 0x4 .global data_ov61_0217f3e8 data_ov61_0217f3e8: .space 0x4 .global data_ov61_0217f3ec data_ov61_0217f3ec: .space 0x4 .global data_ov61_0217f3f0 data_ov61_0217f3f0: .space 0x4 .global data_ov61_0217f3f4 data_ov61_0217f3f4: .space 0x4 .global data_ov61_0217f3f8 data_ov61_0217f3f8: .space 0x4 .global data_ov61_0217f3fc data_ov61_0217f3fc: .space 0x4 .global data_ov61_0217f400 data_ov61_0217f400: .space 0x4 .global data_ov61_0217f404 data_ov61_0217f404: .space 0x4 .global data_ov61_0217f408 data_ov61_0217f408: .space 0x4 .global data_ov61_0217f40c data_ov61_0217f40c: .space 0x4 .global data_ov61_0217f410 data_ov61_0217f410: .space 0x4 .global data_ov61_0217f414 data_ov61_0217f414: .space 0x1 .global data_ov61_0217f415 data_ov61_0217f415: .space 0x1 .global data_ov61_0217f416 data_ov61_0217f416: .space 0x2 .global data_ov61_0217f418 data_ov61_0217f418: .space 0x2 .global data_ov61_0217f41a data_ov61_0217f41a: .space 0x2 .global data_ov61_0217f41c data_ov61_0217f41c: .space 0x4 .global data_ov61_0217f420 data_ov61_0217f420: .space 0x4 .global data_ov61_0217f424 data_ov61_0217f424: .space 0x4 .global data_ov61_0217f428 data_ov61_0217f428: .space 0x4 .global data_ov61_0217f42c data_ov61_0217f42c: .space 0x4 .global data_ov61_0217f430 data_ov61_0217f430: .space 0x4 .global data_ov61_0217f434 data_ov61_0217f434: .space 0x4 .global data_ov61_0217f438 data_ov61_0217f438: .space 0x4 .global data_ov61_0217f43c data_ov61_0217f43c: .space 0x4 .global data_ov61_0217f440 data_ov61_0217f440: .space 0x4 .global data_ov61_0217f444 data_ov61_0217f444: .space 0x4 .global data_ov61_0217f448 data_ov61_0217f448: .space 0x4 .global data_ov61_0217f44c data_ov61_0217f44c: .space 0x4 .global data_ov61_0217f450 data_ov61_0217f450: .space 0x4 .global data_ov61_0217f454 data_ov61_0217f454: .space 0x4 .global data_ov61_0217f458 data_ov61_0217f458: .space 0x4 .global data_ov61_0217f45c data_ov61_0217f45c: .space 0x4 .global data_ov61_0217f460 data_ov61_0217f460: .space 0x4 .global data_ov61_0217f464 data_ov61_0217f464: .space 0x4 .global data_ov61_0217f468 data_ov61_0217f468: .space 0x4 .global data_ov61_0217f46c data_ov61_0217f46c: .space 0x4 .global data_ov61_0217f470 data_ov61_0217f470: .space 0x4 .global data_ov61_0217f474 data_ov61_0217f474: .space 0x4 .global data_ov61_0217f478 data_ov61_0217f478: .space 0x4 .global data_ov61_0217f47c data_ov61_0217f47c: .space 0x4 .global data_ov61_0217f480 data_ov61_0217f480: .space 0x4 .global data_ov61_0217f484 data_ov61_0217f484: .space 0x4 .global data_ov61_0217f488 data_ov61_0217f488: .space 0x4 .global data_ov61_0217f48c data_ov61_0217f48c: .space 0x4 .global data_ov61_0217f490 data_ov61_0217f490: .space 0x4 .global data_ov61_0217f494 data_ov61_0217f494: .space 0x2 .global data_ov61_0217f496 data_ov61_0217f496: .space 0x2 .global data_ov61_0217f498 data_ov61_0217f498: .space 0x2 .global data_ov61_0217f49a data_ov61_0217f49a: .space 0x2 .global data_ov61_0217f49c data_ov61_0217f49c: .space 0x2 .global data_ov61_0217f49e data_ov61_0217f49e: .space 0x2 .global data_ov61_0217f4a0 data_ov61_0217f4a0: .space 0x2 .global data_ov61_0217f4a2 data_ov61_0217f4a2: .space 0x2 .global data_ov61_0217f4a4 data_ov61_0217f4a4: .space 0x2 .global data_ov61_0217f4a6 data_ov61_0217f4a6: .space 0x2 .global data_ov61_0217f4a8 data_ov61_0217f4a8: .space 0x2 .global data_ov61_0217f4aa data_ov61_0217f4aa: .space 0x2 .global data_ov61_0217f4ac data_ov61_0217f4ac: .space 0x2 .global data_ov61_0217f4ae data_ov61_0217f4ae: .space 0x2 .global data_ov61_0217f4b0 data_ov61_0217f4b0: .space 0x2 .global data_ov61_0217f4b2 data_ov61_0217f4b2: .space 0x2 .global data_ov61_0217f4b4 data_ov61_0217f4b4: .space 0x2 .global data_ov61_0217f4b6 data_ov61_0217f4b6: .space 0x2 .global data_ov61_0217f4b8 data_ov61_0217f4b8: .space 0x2 .global data_ov61_0217f4ba data_ov61_0217f4ba: .space 0x2 .global data_ov61_0217f4bc data_ov61_0217f4bc: .space 0x2 .global data_ov61_0217f4be data_ov61_0217f4be: .space 0x2 .global data_ov61_0217f4c0 data_ov61_0217f4c0: .space 0x2 .global data_ov61_0217f4c2 data_ov61_0217f4c2: .space 0x2 .global data_ov61_0217f4c4 data_ov61_0217f4c4: .space 0x2 .global data_ov61_0217f4c6 data_ov61_0217f4c6: .space 0x2 .global data_ov61_0217f4c8 data_ov61_0217f4c8: .space 0x2 .global data_ov61_0217f4ca data_ov61_0217f4ca: .space 0x2 .global data_ov61_0217f4cc data_ov61_0217f4cc: .space 0x2 .global data_ov61_0217f4ce data_ov61_0217f4ce: .space 0x2 .global data_ov61_0217f4d0 data_ov61_0217f4d0: .space 0x2 .global data_ov61_0217f4d2 data_ov61_0217f4d2: .space 0x2 .global data_ov61_0217f4d4 data_ov61_0217f4d4: .space 0x2 .global data_ov61_0217f4d6 data_ov61_0217f4d6: .space 0x2 .global data_ov61_0217f4d8 data_ov61_0217f4d8: .space 0x2 .global data_ov61_0217f4da data_ov61_0217f4da: .space 0x2 .global data_ov61_0217f4dc data_ov61_0217f4dc: .space 0x2 .global data_ov61_0217f4de data_ov61_0217f4de: .space 0x2 .global data_ov61_0217f4e0 data_ov61_0217f4e0: .space 0x2 .global data_ov61_0217f4e2 data_ov61_0217f4e2: .space 0x2 .global data_ov61_0217f4e4 data_ov61_0217f4e4: .space 0x2 .global data_ov61_0217f4e6 data_ov61_0217f4e6: .space 0x2 .global data_ov61_0217f4e8 data_ov61_0217f4e8: .space 0x2 .global data_ov61_0217f4ea data_ov61_0217f4ea: .space 0x2 .global data_ov61_0217f4ec data_ov61_0217f4ec: .space 0x2 .global data_ov61_0217f4ee data_ov61_0217f4ee: .space 0x2 .global data_ov61_0217f4f0 data_ov61_0217f4f0: .space 0x2 .global data_ov61_0217f4f2 data_ov61_0217f4f2: .space 0x2 .global data_ov61_0217f4f4 data_ov61_0217f4f4: .space 0x4 .global data_ov61_0217f4f8 data_ov61_0217f4f8: .space 0x4 .global data_ov61_0217f4fc data_ov61_0217f4fc: .space 0x4 .global data_ov61_0217f500 data_ov61_0217f500: .space 0x4 .global data_ov61_0217f504 data_ov61_0217f504: .space 0x4 .global data_ov61_0217f508 data_ov61_0217f508: .space 0x4 .global data_ov61_0217f50c data_ov61_0217f50c: .space 0x4 .global data_ov61_0217f510 data_ov61_0217f510: .space 0x4 .global data_ov61_0217f514 data_ov61_0217f514: .space 0x4 .global data_ov61_0217f518 data_ov61_0217f518: .space 0x4 .global data_ov61_0217f51c data_ov61_0217f51c: .space 0x4 .global data_ov61_0217f520 data_ov61_0217f520: .space 0x4 .global data_ov61_0217f524 data_ov61_0217f524: .space 0x4 .global data_ov61_0217f528 data_ov61_0217f528: .space 0x4 .global data_ov61_0217f52c data_ov61_0217f52c: .space 0x4 .global data_ov61_0217f530 data_ov61_0217f530: .space 0x4 .global data_ov61_0217f534 data_ov61_0217f534: .space 0x4 .global data_ov61_0217f538 data_ov61_0217f538: .space 0x4 .global data_ov61_0217f53c data_ov61_0217f53c: .space 0x4 .global data_ov61_0217f540 data_ov61_0217f540: .space 0x4 .global data_ov61_0217f544 data_ov61_0217f544: .space 0x4 .global data_ov61_0217f548 data_ov61_0217f548: .space 0x4 .global data_ov61_0217f54c data_ov61_0217f54c: .space 0x4 .global data_ov61_0217f550 data_ov61_0217f550: .space 0x4 .global data_ov61_0217f554 data_ov61_0217f554: .space 0x4 .global data_ov61_0217f558 data_ov61_0217f558: .space 0x2 .global data_ov61_0217f55a data_ov61_0217f55a: .space 0x2 .global data_ov61_0217f55c data_ov61_0217f55c: .space 0x2 .global data_ov61_0217f55e data_ov61_0217f55e: .space 0x2 .global data_ov61_0217f560 data_ov61_0217f560: .space 0x2 .global data_ov61_0217f562 data_ov61_0217f562: .space 0x2 .global data_ov61_0217f564 data_ov61_0217f564: .space 0x2 .global data_ov61_0217f566 data_ov61_0217f566: .space 0x2 .global data_ov61_0217f568 data_ov61_0217f568: .space 0x2 .global data_ov61_0217f56a data_ov61_0217f56a: .space 0x2 .global data_ov61_0217f56c data_ov61_0217f56c: .space 0x2 .global data_ov61_0217f56e data_ov61_0217f56e: .space 0x2 .global data_ov61_0217f570 data_ov61_0217f570: .space 0x4 .global data_ov61_0217f574 data_ov61_0217f574: .space 0x4 .global data_ov61_0217f578 data_ov61_0217f578: .space 0x4 .global data_ov61_0217f57c data_ov61_0217f57c: .space 0x4 .global data_ov61_0217f580 data_ov61_0217f580: .space 0x4 .global data_ov61_0217f584 data_ov61_0217f584: .space 0x4 .global data_ov61_0217f588 data_ov61_0217f588: .space 0x4 .global data_ov61_0217f58c data_ov61_0217f58c: .space 0x4 .global data_ov61_0217f590 data_ov61_0217f590: .space 0x4 .global data_ov61_0217f594 data_ov61_0217f594: .space 0x4 .global data_ov61_0217f598 data_ov61_0217f598: .space 0x4 .global data_ov61_0217f59c data_ov61_0217f59c: .space 0x4 .global data_ov61_0217f5a0 data_ov61_0217f5a0: .space 0x4 .global data_ov61_0217f5a4 data_ov61_0217f5a4: .space 0x4 .global data_ov61_0217f5a8 data_ov61_0217f5a8: .space 0x4 .global data_ov61_0217f5ac data_ov61_0217f5ac: .space 0x4 .global data_ov61_0217f5b0 data_ov61_0217f5b0: .space 0x4 .global data_ov61_0217f5b4 data_ov61_0217f5b4: .space 0x4 .global data_ov61_0217f5b8 data_ov61_0217f5b8: .space 0x4 .global data_ov61_0217f5bc data_ov61_0217f5bc: .space 0x4 .global data_ov61_0217f5c0 data_ov61_0217f5c0: .space 0x4 .global data_ov61_0217f5c4 data_ov61_0217f5c4: .space 0x4 .global data_ov61_0217f5c8 data_ov61_0217f5c8: .space 0x4 .global data_ov61_0217f5cc data_ov61_0217f5cc: .space 0x4 .global data_ov61_0217f5d0 data_ov61_0217f5d0: .space 0x4 .global data_ov61_0217f5d4 data_ov61_0217f5d4: .space 0x4 .global data_ov61_0217f5d8 data_ov61_0217f5d8: .space 0x4 .global data_ov61_0217f5dc data_ov61_0217f5dc: .space 0x4 .global data_ov61_0217f5e0 data_ov61_0217f5e0: .space 0x4 .global data_ov61_0217f5e4 data_ov61_0217f5e4: .space 0x4 .global data_ov61_0217f5e8 data_ov61_0217f5e8: .space 0x4 .global data_ov61_0217f5ec data_ov61_0217f5ec: .space 0x4 .global data_ov61_0217f5f0 data_ov61_0217f5f0: .space 0x4 .global data_ov61_0217f5f4 data_ov61_0217f5f4: .space 0x4 .global data_ov61_0217f5f8 data_ov61_0217f5f8: .space 0x4 .global data_ov61_0217f5fc data_ov61_0217f5fc: .space 0x4 .global data_ov61_0217f600 data_ov61_0217f600: .space 0x4 .global data_ov61_0217f604 data_ov61_0217f604: .space 0x4 .global data_ov61_0217f608 data_ov61_0217f608: .space 0x4 .global data_ov61_0217f60c data_ov61_0217f60c: .space 0x4 .global data_ov61_0217f610 data_ov61_0217f610: .space 0x4 .global data_ov61_0217f614 data_ov61_0217f614: .space 0x4 .global data_ov61_0217f618 data_ov61_0217f618: .space 0x4 .global data_ov61_0217f61c data_ov61_0217f61c: .space 0x4 .global data_ov61_0217f620 data_ov61_0217f620: .space 0x4 .global data_ov61_0217f624 data_ov61_0217f624: .space 0x4 .global data_ov61_0217f628 data_ov61_0217f628: .space 0x4 .global data_ov61_0217f62c data_ov61_0217f62c: .space 0x4 .global data_ov61_0217f630 data_ov61_0217f630: .space 0x4 .global data_ov61_0217f634 data_ov61_0217f634: .space 0x4 .global data_ov61_0217f638 data_ov61_0217f638: .space 0x4 .global data_ov61_0217f63c data_ov61_0217f63c: .space 0x4 .global data_ov61_0217f640 data_ov61_0217f640: .space 0x4 .global data_ov61_0217f644 data_ov61_0217f644: .space 0x4 .global data_ov61_0217f648 data_ov61_0217f648: .space 0x4 .global data_ov61_0217f64c data_ov61_0217f64c: .space 0x4 .global data_ov61_0217f650 data_ov61_0217f650: .space 0x4 .global data_ov61_0217f654 data_ov61_0217f654: .space 0x4 .global data_ov61_0217f658 data_ov61_0217f658: .space 0x4 .global data_ov61_0217f65c data_ov61_0217f65c: .space 0x4 .global data_ov61_0217f660 data_ov61_0217f660: .space 0x4 .global data_ov61_0217f664 data_ov61_0217f664: .space 0x4 .global data_ov61_0217f668 data_ov61_0217f668: .space 0x4 .global data_ov61_0217f66c data_ov61_0217f66c: .space 0x4 .global data_ov61_0217f670 data_ov61_0217f670: .space 0x4 .global data_ov61_0217f674 data_ov61_0217f674: .space 0x4 .global data_ov61_0217f678 data_ov61_0217f678: .space 0x4 .global data_ov61_0217f67c data_ov61_0217f67c: .space 0x4 .global data_ov61_0217f680 data_ov61_0217f680: .space 0x4 .global data_ov61_0217f684 data_ov61_0217f684: .space 0x4 .global data_ov61_0217f688 data_ov61_0217f688: .space 0x4 .global data_ov61_0217f68c data_ov61_0217f68c: .space 0x4 .global data_ov61_0217f690 data_ov61_0217f690: .space 0x4 .global data_ov61_0217f694 data_ov61_0217f694: .space 0x4 .global data_ov61_0217f698 data_ov61_0217f698: .space 0x4 .global data_ov61_0217f69c data_ov61_0217f69c: .space 0x4 .global data_ov61_0217f6a0 data_ov61_0217f6a0: .space 0x4 .global data_ov61_0217f6a4 data_ov61_0217f6a4: .space 0x4 .global data_ov61_0217f6a8 data_ov61_0217f6a8: .space 0x4 .global data_ov61_0217f6ac data_ov61_0217f6ac: .space 0x4 .global data_ov61_0217f6b0 data_ov61_0217f6b0: .space 0x4 .global data_ov61_0217f6b4 data_ov61_0217f6b4: .space 0x4 .global data_ov61_0217f6b8 data_ov61_0217f6b8: .space 0x4 .global data_ov61_0217f6bc data_ov61_0217f6bc: .space 0x4 .global data_ov61_0217f6c0 data_ov61_0217f6c0: .space 0x4 .global data_ov61_0217f6c4 data_ov61_0217f6c4: .space 0x4 .global data_ov61_0217f6c8 data_ov61_0217f6c8: .space 0x4 .global data_ov61_0217f6cc data_ov61_0217f6cc: .space 0x4 .global data_ov61_0217f6d0 data_ov61_0217f6d0: .space 0x4 .global data_ov61_0217f6d4 data_ov61_0217f6d4: .space 0x4 .global data_ov61_0217f6d8 data_ov61_0217f6d8: .space 0x4 .global data_ov61_0217f6dc data_ov61_0217f6dc: .space 0x4 .global data_ov61_0217f6e0 data_ov61_0217f6e0: .space 0x4 .global data_ov61_0217f6e4 data_ov61_0217f6e4: .space 0x4 .global data_ov61_0217f6e8 data_ov61_0217f6e8: .space 0x4 .global data_ov61_0217f6ec data_ov61_0217f6ec: .space 0x4 .global data_ov61_0217f6f0 data_ov61_0217f6f0: .space 0x4 .global data_ov61_0217f6f4 data_ov61_0217f6f4: .space 0x4 .global data_ov61_0217f6f8 data_ov61_0217f6f8: .space 0x4 .global data_ov61_0217f6fc data_ov61_0217f6fc: .space 0x4 .global data_ov61_0217f700 data_ov61_0217f700: .space 0x4 .global data_ov61_0217f704 data_ov61_0217f704: .space 0x4 .global data_ov61_0217f708 data_ov61_0217f708: .space 0x4 .global data_ov61_0217f70c data_ov61_0217f70c: .space 0x4 .global data_ov61_0217f710 data_ov61_0217f710: .space 0x4 .global data_ov61_0217f714 data_ov61_0217f714: .space 0x4 .global data_ov61_0217f718 data_ov61_0217f718: .space 0x4 .global data_ov61_0217f71c data_ov61_0217f71c: .space 0x4 .global data_ov61_0217f720 data_ov61_0217f720: .space 0x4 .global data_ov61_0217f724 data_ov61_0217f724: .space 0x4 .global data_ov61_0217f728 data_ov61_0217f728: .space 0x4 .global data_ov61_0217f72c data_ov61_0217f72c: .space 0x4 .global data_ov61_0217f730 data_ov61_0217f730: .space 0x4 .global data_ov61_0217f734 data_ov61_0217f734: .space 0x4 .global data_ov61_0217f738 data_ov61_0217f738: .space 0x4 .global data_ov61_0217f73c data_ov61_0217f73c: .space 0x4 .global data_ov61_0217f740 data_ov61_0217f740: .space 0x4 .global data_ov61_0217f744 data_ov61_0217f744: .space 0x4 .global data_ov61_0217f748 data_ov61_0217f748: .space 0x4 .global data_ov61_0217f74c data_ov61_0217f74c: .space 0x4 .global data_ov61_0217f750 data_ov61_0217f750: .space 0x4 .global data_ov61_0217f754 data_ov61_0217f754: .space 0x4 .global data_ov61_0217f758 data_ov61_0217f758: .space 0x4 .global data_ov61_0217f75c data_ov61_0217f75c: .space 0x4 .global data_ov61_0217f760 data_ov61_0217f760: .space 0x4 .global data_ov61_0217f764 data_ov61_0217f764: .space 0x4 .global data_ov61_0217f768 data_ov61_0217f768: .space 0x4 .global data_ov61_0217f76c data_ov61_0217f76c: .space 0x4 .global data_ov61_0217f770 data_ov61_0217f770: .space 0x4 .global data_ov61_0217f774 data_ov61_0217f774: .space 0x4 .global data_ov61_0217f778 data_ov61_0217f778: .space 0x4 .global data_ov61_0217f77c data_ov61_0217f77c: .space 0x4 .global data_ov61_0217f780 data_ov61_0217f780: .space 0x4 .global data_ov61_0217f784 data_ov61_0217f784: .space 0x4 .global data_ov61_0217f788 data_ov61_0217f788: .space 0x4 .global data_ov61_0217f78c data_ov61_0217f78c: .space 0x4 .global data_ov61_0217f790 data_ov61_0217f790: .space 0x4 .global data_ov61_0217f794 data_ov61_0217f794: .space 0x4 .global data_ov61_0217f798 data_ov61_0217f798: .space 0x4 .global data_ov61_0217f79c data_ov61_0217f79c: .space 0x4 .global data_ov61_0217f7a0 data_ov61_0217f7a0: .space 0x4 .global data_ov61_0217f7a4 data_ov61_0217f7a4: .space 0x4 .global data_ov61_0217f7a8 data_ov61_0217f7a8: .space 0x4 .global data_ov61_0217f7ac data_ov61_0217f7ac: .space 0x4 .global data_ov61_0217f7b0 data_ov61_0217f7b0: .space 0x4 .global data_ov61_0217f7b4 data_ov61_0217f7b4: .space 0x4 .global data_ov61_0217f7b8 data_ov61_0217f7b8: .space 0x4 .global data_ov61_0217f7bc data_ov61_0217f7bc: .space 0x4 .global data_ov61_0217f7c0 data_ov61_0217f7c0: .space 0x4 .global data_ov61_0217f7c4 data_ov61_0217f7c4: .space 0x4 .global data_ov61_0217f7c8 data_ov61_0217f7c8: .space 0x4 .global data_ov61_0217f7cc data_ov61_0217f7cc: .space 0x4 .global data_ov61_0217f7d0 data_ov61_0217f7d0: .space 0x4 .global data_ov61_0217f7d4 data_ov61_0217f7d4: .space 0x4 .global data_ov61_0217f7d8 data_ov61_0217f7d8: .space 0x4 .global data_ov61_0217f7dc data_ov61_0217f7dc: .space 0x4 .global data_ov61_0217f7e0 data_ov61_0217f7e0: .space 0x4 .global data_ov61_0217f7e4 data_ov61_0217f7e4: .space 0x4 .global data_ov61_0217f7e8 data_ov61_0217f7e8: .space 0x4 .global data_ov61_0217f7ec data_ov61_0217f7ec: .space 0x4 .global data_ov61_0217f7f0 data_ov61_0217f7f0: .space 0x4 .global data_ov61_0217f7f4 data_ov61_0217f7f4: .space 0x4 .global data_ov61_0217f7f8 data_ov61_0217f7f8: .space 0x4 .global data_ov61_0217f7fc data_ov61_0217f7fc: .space 0x4 .global data_ov61_0217f800 data_ov61_0217f800: .space 0x4 .global data_ov61_0217f804 data_ov61_0217f804: .space 0x4 .global data_ov61_0217f808 data_ov61_0217f808: .space 0x4 .global data_ov61_0217f80c data_ov61_0217f80c: .space 0x4 .global data_ov61_0217f810 data_ov61_0217f810: .space 0x4 .global data_ov61_0217f814 data_ov61_0217f814: .space 0x4 .global data_ov61_0217f818 data_ov61_0217f818: .space 0x4 .global data_ov61_0217f81c data_ov61_0217f81c: .space 0x4 .global data_ov61_0217f820 data_ov61_0217f820: .space 0x4 .global data_ov61_0217f824 data_ov61_0217f824: .space 0x4 .global data_ov61_0217f828 data_ov61_0217f828: .space 0x4 .global data_ov61_0217f82c data_ov61_0217f82c: .space 0x4 .global data_ov61_0217f830 data_ov61_0217f830: .space 0x4 .global data_ov61_0217f834 data_ov61_0217f834: .space 0x4 .global data_ov61_0217f838 data_ov61_0217f838: .space 0x4 .global data_ov61_0217f83c data_ov61_0217f83c: .space 0x4 .global data_ov61_0217f840 data_ov61_0217f840: .space 0x4 .global data_ov61_0217f844 data_ov61_0217f844: .space 0x4 .global data_ov61_0217f848 data_ov61_0217f848: .space 0x4 .global data_ov61_0217f84c data_ov61_0217f84c: .space 0x4 .global data_ov61_0217f850 data_ov61_0217f850: .space 0x4 .global data_ov61_0217f854 data_ov61_0217f854: .space 0x4 .global data_ov61_0217f858 data_ov61_0217f858: .space 0x4 .global data_ov61_0217f85c data_ov61_0217f85c: .space 0x4 .global data_ov61_0217f860 data_ov61_0217f860: .space 0x4 .global data_ov61_0217f864 data_ov61_0217f864: .space 0x4 .global data_ov61_0217f868 data_ov61_0217f868: .space 0x4 .global data_ov61_0217f86c data_ov61_0217f86c: .space 0x4 .global data_ov61_0217f870 data_ov61_0217f870: .space 0x4 .global data_ov61_0217f874 data_ov61_0217f874: .space 0x4 .global data_ov61_0217f878 data_ov61_0217f878: .space 0x4 .global data_ov61_0217f87c data_ov61_0217f87c: .space 0x4 .global data_ov61_0217f880 data_ov61_0217f880: .space 0x4 .global data_ov61_0217f884 data_ov61_0217f884: .space 0x4 .global data_ov61_0217f888 data_ov61_0217f888: .space 0x4 .global data_ov61_0217f88c data_ov61_0217f88c: .space 0x4 .global data_ov61_0217f890 data_ov61_0217f890: .space 0x4 .global data_ov61_0217f894 data_ov61_0217f894: .space 0x4 .global data_ov61_0217f898 data_ov61_0217f898: .space 0x4 .global data_ov61_0217f89c data_ov61_0217f89c: .space 0x4 .global data_ov61_0217f8a0 data_ov61_0217f8a0: .space 0x4 .global data_ov61_0217f8a4 data_ov61_0217f8a4: .space 0x4 .global data_ov61_0217f8a8 data_ov61_0217f8a8: .space 0x4 .global data_ov61_0217f8ac data_ov61_0217f8ac: .space 0x4 .global data_ov61_0217f8b0 data_ov61_0217f8b0: .space 0x4 .global data_ov61_0217f8b4 data_ov61_0217f8b4: .space 0x4 .global data_ov61_0217f8b8 data_ov61_0217f8b8: .space 0x4 .global data_ov61_0217f8bc data_ov61_0217f8bc: .space 0x4 .global data_ov61_0217f8c0 data_ov61_0217f8c0: .space 0x4 .global data_ov61_0217f8c4 data_ov61_0217f8c4: .space 0x4 .global data_ov61_0217f8c8 data_ov61_0217f8c8: .space 0x4 .global data_ov61_0217f8cc data_ov61_0217f8cc: .space 0x4 .global data_ov61_0217f8d0 data_ov61_0217f8d0: .space 0x4 .global data_ov61_0217f8d4 data_ov61_0217f8d4: .space 0x4 .global data_ov61_0217f8d8 data_ov61_0217f8d8: .space 0x4 .global data_ov61_0217f8dc data_ov61_0217f8dc: .space 0x4 .global data_ov61_0217f8e0 data_ov61_0217f8e0: .space 0x4 .global data_ov61_0217f8e4 data_ov61_0217f8e4: .space 0x4 .global data_ov61_0217f8e8 data_ov61_0217f8e8: .space 0x4 .global data_ov61_0217f8ec data_ov61_0217f8ec: .space 0x4 .global data_ov61_0217f8f0 data_ov61_0217f8f0: .space 0x4 .global data_ov61_0217f8f4 data_ov61_0217f8f4: .space 0x4 .global data_ov61_0217f8f8 data_ov61_0217f8f8: .space 0x4 .global data_ov61_0217f8fc data_ov61_0217f8fc: .space 0x2 .global data_ov61_0217f8fe data_ov61_0217f8fe: .space 0x2 .global data_ov61_0217f900 data_ov61_0217f900: .space 0x2 .global data_ov61_0217f902 data_ov61_0217f902: .space 0x2 .global data_ov61_0217f904 data_ov61_0217f904: .space 0x2 .global data_ov61_0217f906 data_ov61_0217f906: .space 0x2 .global data_ov61_0217f908 data_ov61_0217f908: .space 0x2 .global data_ov61_0217f90a data_ov61_0217f90a: .space 0x2 .global data_ov61_0217f90c data_ov61_0217f90c: .space 0x2 .global data_ov61_0217f90e data_ov61_0217f90e: .space 0x2 .global data_ov61_0217f910 data_ov61_0217f910: .space 0x2 .global data_ov61_0217f912 data_ov61_0217f912: .space 0x2 .global data_ov61_0217f914 data_ov61_0217f914: .space 0x2 .global data_ov61_0217f916 data_ov61_0217f916: .space 0x2 .global data_ov61_0217f918 data_ov61_0217f918: .space 0x2 .global data_ov61_0217f91a data_ov61_0217f91a: .space 0x2 .global data_ov61_0217f91c data_ov61_0217f91c: .space 0x2 .global data_ov61_0217f91e data_ov61_0217f91e: .space 0x2 .global data_ov61_0217f920 data_ov61_0217f920: .space 0x2 .global data_ov61_0217f922 data_ov61_0217f922: .space 0x2 .global data_ov61_0217f924 data_ov61_0217f924: .space 0x2 .global data_ov61_0217f926 data_ov61_0217f926: .space 0x2 .global data_ov61_0217f928 data_ov61_0217f928: .space 0x2 .global data_ov61_0217f92a data_ov61_0217f92a: .space 0x2 .global data_ov61_0217f92c data_ov61_0217f92c: .space 0x2 .global data_ov61_0217f92e data_ov61_0217f92e: .space 0x2 .global data_ov61_0217f930 data_ov61_0217f930: .space 0x2 .global data_ov61_0217f932 data_ov61_0217f932: .space 0x2 .global data_ov61_0217f934 data_ov61_0217f934: .space 0x2 .global data_ov61_0217f936 data_ov61_0217f936: .space 0x2 .global data_ov61_0217f938 data_ov61_0217f938: .space 0x2 .global data_ov61_0217f93a data_ov61_0217f93a: .space 0x2 .global data_ov61_0217f93c data_ov61_0217f93c: .space 0x2 .global data_ov61_0217f93e data_ov61_0217f93e: .space 0x2 .global data_ov61_0217f940 data_ov61_0217f940: .space 0x2 .global data_ov61_0217f942 data_ov61_0217f942: .space 0x2 .global data_ov61_0217f944 data_ov61_0217f944: .space 0x2 .global data_ov61_0217f946 data_ov61_0217f946: .space 0x2 .global data_ov61_0217f948 data_ov61_0217f948: .space 0x2 .global data_ov61_0217f94a data_ov61_0217f94a: .space 0x2 .global data_ov61_0217f94c data_ov61_0217f94c: .space 0x2 .global data_ov61_0217f94e data_ov61_0217f94e: .space 0x2 .global data_ov61_0217f950 data_ov61_0217f950: .space 0x2 .global data_ov61_0217f952 data_ov61_0217f952: .space 0x2 .global data_ov61_0217f954 data_ov61_0217f954: .space 0x2 .global data_ov61_0217f956 data_ov61_0217f956: .space 0x2 .global data_ov61_0217f958 data_ov61_0217f958: .space 0x2 .global data_ov61_0217f95a data_ov61_0217f95a: .space 0x2 .global data_ov61_0217f95c data_ov61_0217f95c: .space 0x2 .global data_ov61_0217f95e data_ov61_0217f95e: .space 0x2 .global data_ov61_0217f960 data_ov61_0217f960: .space 0x2 .global data_ov61_0217f962 data_ov61_0217f962: .space 0x2 .global data_ov61_0217f964 data_ov61_0217f964: .space 0x2 .global data_ov61_0217f966 data_ov61_0217f966: .space 0x2 .global data_ov61_0217f968 data_ov61_0217f968: .space 0x2 .global data_ov61_0217f96a data_ov61_0217f96a: .space 0x2 .global data_ov61_0217f96c data_ov61_0217f96c: .space 0x2 .global data_ov61_0217f96e data_ov61_0217f96e: .space 0x2 .global data_ov61_0217f970 data_ov61_0217f970: .space 0x2 .global data_ov61_0217f972 data_ov61_0217f972: .space 0x2 .global data_ov61_0217f974 data_ov61_0217f974: .space 0x2 .global data_ov61_0217f976 data_ov61_0217f976: .space 0x2 .global data_ov61_0217f978 data_ov61_0217f978: .space 0x2 .global data_ov61_0217f97a data_ov61_0217f97a: .space 0x2 .global data_ov61_0217f97c data_ov61_0217f97c: .space 0x2 .global data_ov61_0217f97e data_ov61_0217f97e: .space 0x2 .global data_ov61_0217f980 data_ov61_0217f980: .space 0x2 .global data_ov61_0217f982 data_ov61_0217f982: .space 0x2 .global data_ov61_0217f984 data_ov61_0217f984: .space 0x2 .global data_ov61_0217f986 data_ov61_0217f986: .space 0x2 .global data_ov61_0217f988 data_ov61_0217f988: .space 0x2 .global data_ov61_0217f98a data_ov61_0217f98a: .space 0x2 .global data_ov61_0217f98c data_ov61_0217f98c: .space 0x2 .global data_ov61_0217f98e data_ov61_0217f98e: .space 0x2 .global data_ov61_0217f990 data_ov61_0217f990: .space 0x2 .global data_ov61_0217f992 data_ov61_0217f992: .space 0x2 .global data_ov61_0217f994 data_ov61_0217f994: .space 0x2 .global data_ov61_0217f996 data_ov61_0217f996: .space 0x2 .global data_ov61_0217f998 data_ov61_0217f998: .space 0x2 .global data_ov61_0217f99a data_ov61_0217f99a: .space 0x2 .global data_ov61_0217f99c data_ov61_0217f99c: .space 0x2 .global data_ov61_0217f99e data_ov61_0217f99e: .space 0x2 .global data_ov61_0217f9a0 data_ov61_0217f9a0: .space 0x2 .global data_ov61_0217f9a2 data_ov61_0217f9a2: .space 0x2 .global data_ov61_0217f9a4 data_ov61_0217f9a4: .space 0x2 .global data_ov61_0217f9a6 data_ov61_0217f9a6: .space 0x2 .global data_ov61_0217f9a8 data_ov61_0217f9a8: .space 0x2 .global data_ov61_0217f9aa data_ov61_0217f9aa: .space 0x2 .global data_ov61_0217f9ac data_ov61_0217f9ac: .space 0x2 .global data_ov61_0217f9ae data_ov61_0217f9ae: .space 0x2 .global data_ov61_0217f9b0 data_ov61_0217f9b0: .space 0x2 .global data_ov61_0217f9b2 data_ov61_0217f9b2: .space 0x2 .global data_ov61_0217f9b4 data_ov61_0217f9b4: .space 0x2 .global data_ov61_0217f9b6 data_ov61_0217f9b6: .space 0x2 .global data_ov61_0217f9b8 data_ov61_0217f9b8: .space 0x2 .global data_ov61_0217f9ba data_ov61_0217f9ba: .space 0x2 .global data_ov61_0217f9bc data_ov61_0217f9bc: .space 0x2 .global data_ov61_0217f9be data_ov61_0217f9be: .space 0x2 .global data_ov61_0217f9c0 data_ov61_0217f9c0: .space 0x2 .global data_ov61_0217f9c2 data_ov61_0217f9c2: .space 0x2 .global data_ov61_0217f9c4 data_ov61_0217f9c4: .space 0x2 .global data_ov61_0217f9c6 data_ov61_0217f9c6: .space 0x2 .global data_ov61_0217f9c8 data_ov61_0217f9c8: .space 0x2 .global data_ov61_0217f9ca data_ov61_0217f9ca: .space 0x2 .global data_ov61_0217f9cc data_ov61_0217f9cc: .space 0x2 .global data_ov61_0217f9ce data_ov61_0217f9ce: .space 0x2 .global data_ov61_0217f9d0 data_ov61_0217f9d0: .space 0x2 .global data_ov61_0217f9d2 data_ov61_0217f9d2: .space 0x2 .global data_ov61_0217f9d4 data_ov61_0217f9d4: .space 0x2 .global data_ov61_0217f9d6 data_ov61_0217f9d6: .space 0x2 .global data_ov61_0217f9d8 data_ov61_0217f9d8: .space 0x2 .global data_ov61_0217f9da data_ov61_0217f9da: .space 0x2 .global data_ov61_0217f9dc data_ov61_0217f9dc: .space 0x2 .global data_ov61_0217f9de data_ov61_0217f9de: .space 0x2 .global data_ov61_0217f9e0 data_ov61_0217f9e0: .space 0x2 .global data_ov61_0217f9e2 data_ov61_0217f9e2: .space 0x2 .global data_ov61_0217f9e4 data_ov61_0217f9e4: .space 0x2 .global data_ov61_0217f9e6 data_ov61_0217f9e6: .space 0x2 .global data_ov61_0217f9e8 data_ov61_0217f9e8: .space 0x2 .global data_ov61_0217f9ea data_ov61_0217f9ea: .space 0x2 .global data_ov61_0217f9ec data_ov61_0217f9ec: .space 0x2 .global data_ov61_0217f9ee data_ov61_0217f9ee: .space 0x2 .global data_ov61_0217f9f0 data_ov61_0217f9f0: .space 0x2 .global data_ov61_0217f9f2 data_ov61_0217f9f2: .space 0x2 .global data_ov61_0217f9f4 data_ov61_0217f9f4: .space 0x2 .global data_ov61_0217f9f6 data_ov61_0217f9f6: .space 0x2 .global data_ov61_0217f9f8 data_ov61_0217f9f8: .space 0x2 .global data_ov61_0217f9fa data_ov61_0217f9fa: .space 0x2 .global data_ov61_0217f9fc data_ov61_0217f9fc: .space 0x2 .global data_ov61_0217f9fe data_ov61_0217f9fe: .space 0x2 .global data_ov61_0217fa00 data_ov61_0217fa00: .space 0x2 .global data_ov61_0217fa02 data_ov61_0217fa02: .space 0x2 .global data_ov61_0217fa04 data_ov61_0217fa04: .space 0x2 .global data_ov61_0217fa06 data_ov61_0217fa06: .space 0x2 .global data_ov61_0217fa08 data_ov61_0217fa08: .space 0x2 .global data_ov61_0217fa0a data_ov61_0217fa0a: .space 0x2 .global data_ov61_0217fa0c data_ov61_0217fa0c: .space 0x2 .global data_ov61_0217fa0e data_ov61_0217fa0e: .space 0x2 .global data_ov61_0217fa10 data_ov61_0217fa10: .space 0x2 .global data_ov61_0217fa12 data_ov61_0217fa12: .space 0x2 .global data_ov61_0217fa14 data_ov61_0217fa14: .space 0x2 .global data_ov61_0217fa16 data_ov61_0217fa16: .space 0x2 .global data_ov61_0217fa18 data_ov61_0217fa18: .space 0x2 .global data_ov61_0217fa1a data_ov61_0217fa1a: .space 0x2 .global data_ov61_0217fa1c data_ov61_0217fa1c: .space 0x2 .global data_ov61_0217fa1e data_ov61_0217fa1e: .space 0x2 .global data_ov61_0217fa20 data_ov61_0217fa20: .space 0x2 .global data_ov61_0217fa22 data_ov61_0217fa22: .space 0x2 .global data_ov61_0217fa24 data_ov61_0217fa24: .space 0x2 .global data_ov61_0217fa26 data_ov61_0217fa26: .space 0x2 .global data_ov61_0217fa28 data_ov61_0217fa28: .space 0x2 .global data_ov61_0217fa2a data_ov61_0217fa2a: .space 0x2 .global data_ov61_0217fa2c data_ov61_0217fa2c: .space 0x2 .global data_ov61_0217fa2e data_ov61_0217fa2e: .space 0x2 .global data_ov61_0217fa30 data_ov61_0217fa30: .space 0x2 .global data_ov61_0217fa32 data_ov61_0217fa32: .space 0x2 .global data_ov61_0217fa34 data_ov61_0217fa34: .space 0x2 .global data_ov61_0217fa36 data_ov61_0217fa36: .space 0x2 .global data_ov61_0217fa38 data_ov61_0217fa38: .space 0x2 .global data_ov61_0217fa3a data_ov61_0217fa3a: .space 0x2 .global data_ov61_0217fa3c data_ov61_0217fa3c: .space 0x2 .global data_ov61_0217fa3e data_ov61_0217fa3e: .space 0x2 .global data_ov61_0217fa40 data_ov61_0217fa40: .space 0x2 .global data_ov61_0217fa42 data_ov61_0217fa42: .space 0x2 .global data_ov61_0217fa44 data_ov61_0217fa44: .space 0x2 .global data_ov61_0217fa46 data_ov61_0217fa46: .space 0x2 .global data_ov61_0217fa48 data_ov61_0217fa48: .space 0x2 .global data_ov61_0217fa4a data_ov61_0217fa4a: .space 0x2 .global data_ov61_0217fa4c data_ov61_0217fa4c: .space 0x2 .global data_ov61_0217fa4e data_ov61_0217fa4e: .space 0x2 .global data_ov61_0217fa50 data_ov61_0217fa50: .space 0x2 .global data_ov61_0217fa52 data_ov61_0217fa52: .space 0x2 .global data_ov61_0217fa54 data_ov61_0217fa54: .space 0x2 .global data_ov61_0217fa56 data_ov61_0217fa56: .space 0x2 .global data_ov61_0217fa58 data_ov61_0217fa58: .space 0x2 .global data_ov61_0217fa5a data_ov61_0217fa5a: .space 0x2 .global data_ov61_0217fa5c data_ov61_0217fa5c: .space 0x2 .global data_ov61_0217fa5e data_ov61_0217fa5e: .space 0x2 .global data_ov61_0217fa60 data_ov61_0217fa60: .space 0x2 .global data_ov61_0217fa62 data_ov61_0217fa62: .space 0x2 .global data_ov61_0217fa64 data_ov61_0217fa64: .space 0x2 .global data_ov61_0217fa66 data_ov61_0217fa66: .space 0x2 .global data_ov61_0217fa68 data_ov61_0217fa68: .space 0x2 .global data_ov61_0217fa6a data_ov61_0217fa6a: .space 0x2 .global data_ov61_0217fa6c data_ov61_0217fa6c: .space 0x2 .global data_ov61_0217fa6e data_ov61_0217fa6e: .space 0x2 .global data_ov61_0217fa70 data_ov61_0217fa70: .space 0x2 .global data_ov61_0217fa72 data_ov61_0217fa72: .space 0x2 .global data_ov61_0217fa74 data_ov61_0217fa74: .space 0x2 .global data_ov61_0217fa76 data_ov61_0217fa76: .space 0x2 .global data_ov61_0217fa78 data_ov61_0217fa78: .space 0x2 .global data_ov61_0217fa7a data_ov61_0217fa7a: .space 0x2 .global data_ov61_0217fa7c data_ov61_0217fa7c: .space 0x2 .global data_ov61_0217fa7e data_ov61_0217fa7e: .space 0x2 .global data_ov61_0217fa80 data_ov61_0217fa80: .space 0x2 .global data_ov61_0217fa82 data_ov61_0217fa82: .space 0x2 .global data_ov61_0217fa84 data_ov61_0217fa84: .space 0x2 .global data_ov61_0217fa86 data_ov61_0217fa86: .space 0x2 .global data_ov61_0217fa88 data_ov61_0217fa88: .space 0x2 .global data_ov61_0217fa8a data_ov61_0217fa8a: .space 0x2 .global data_ov61_0217fa8c data_ov61_0217fa8c: .space 0x2 .global data_ov61_0217fa8e data_ov61_0217fa8e: .space 0x2 .global data_ov61_0217fa90 data_ov61_0217fa90: .space 0x2 .global data_ov61_0217fa92 data_ov61_0217fa92: .space 0x2 .global data_ov61_0217fa94 data_ov61_0217fa94: .space 0x2 .global data_ov61_0217fa96 data_ov61_0217fa96: .space 0x2 .global data_ov61_0217fa98 data_ov61_0217fa98: .space 0x2 .global data_ov61_0217fa9a data_ov61_0217fa9a: .space 0x2 .global data_ov61_0217fa9c data_ov61_0217fa9c: .space 0x2 .global data_ov61_0217fa9e data_ov61_0217fa9e: .space 0x2 .global data_ov61_0217faa0 data_ov61_0217faa0: .space 0x2 .global data_ov61_0217faa2 data_ov61_0217faa2: .space 0x2 .global data_ov61_0217faa4 data_ov61_0217faa4: .space 0x2 .global data_ov61_0217faa6 data_ov61_0217faa6: .space 0x2 .global data_ov61_0217faa8 data_ov61_0217faa8: .space 0x2 .global data_ov61_0217faaa data_ov61_0217faaa: .space 0x2 .global data_ov61_0217faac data_ov61_0217faac: .space 0x2 .global data_ov61_0217faae data_ov61_0217faae: .space 0x2 .global data_ov61_0217fab0 data_ov61_0217fab0: .space 0x2 .global data_ov61_0217fab2 data_ov61_0217fab2: .space 0x2 .global data_ov61_0217fab4 data_ov61_0217fab4: .space 0x2 .global data_ov61_0217fab6 data_ov61_0217fab6: .space 0x2 .global data_ov61_0217fab8 data_ov61_0217fab8: .space 0x2 .global data_ov61_0217faba data_ov61_0217faba: .space 0x2 .global data_ov61_0217fabc data_ov61_0217fabc: .space 0x2 .global data_ov61_0217fabe data_ov61_0217fabe: .space 0x2 .global data_ov61_0217fac0 data_ov61_0217fac0: .space 0x4 .global data_ov61_0217fac4 data_ov61_0217fac4: .space 0x4 .global data_ov61_0217fac8 data_ov61_0217fac8: .space 0x4 .global data_ov61_0217facc data_ov61_0217facc: .space 0x4 .global data_ov61_0217fad0 data_ov61_0217fad0: .space 0x4 .global data_ov61_0217fad4 data_ov61_0217fad4: .space 0x4 .global data_ov61_0217fad8 data_ov61_0217fad8: .space 0x4 .global data_ov61_0217fadc data_ov61_0217fadc: .space 0x4 .global data_ov61_0217fae0 data_ov61_0217fae0: .space 0x4 .global data_ov61_0217fae4 data_ov61_0217fae4: .space 0x4 .global data_ov61_0217fae8 data_ov61_0217fae8: .space 0x4 .global data_ov61_0217faec data_ov61_0217faec: .space 0x4 .global data_ov61_0217faf0 data_ov61_0217faf0: .space 0x4 .global data_ov61_0217faf4 data_ov61_0217faf4: .space 0x4 .global data_ov61_0217faf8 data_ov61_0217faf8: .space 0x4 .global data_ov61_0217fafc data_ov61_0217fafc: .space 0x4 .global data_ov61_0217fb00 data_ov61_0217fb00: .space 0x4 .global data_ov61_0217fb04 data_ov61_0217fb04: .space 0x4 .global data_ov61_0217fb08 data_ov61_0217fb08: .space 0x4 .global data_ov61_0217fb0c data_ov61_0217fb0c: .space 0x4 .global data_ov61_0217fb10 data_ov61_0217fb10: .space 0x4 .global data_ov61_0217fb14 data_ov61_0217fb14: .space 0x4 .global data_ov61_0217fb18 data_ov61_0217fb18: .space 0x4 .global data_ov61_0217fb1c data_ov61_0217fb1c: .space 0x4 .global data_ov61_0217fb20 data_ov61_0217fb20: .space 0x4 .global data_ov61_0217fb24 data_ov61_0217fb24: .space 0x4 .global data_ov61_0217fb28 data_ov61_0217fb28: .space 0x4 .global data_ov61_0217fb2c data_ov61_0217fb2c: .space 0x4 .global data_ov61_0217fb30 data_ov61_0217fb30: .space 0x4 .global data_ov61_0217fb34 data_ov61_0217fb34: .space 0x4 .global data_ov61_0217fb38 data_ov61_0217fb38: .space 0x4 .global data_ov61_0217fb3c data_ov61_0217fb3c: .space 0x4 .global data_ov61_0217fb40 data_ov61_0217fb40: .space 0x4 .global data_ov61_0217fb44 data_ov61_0217fb44: .space 0x4 .global data_ov61_0217fb48 data_ov61_0217fb48: .space 0x4 .global data_ov61_0217fb4c data_ov61_0217fb4c: .space 0x4 .global data_ov61_0217fb50 data_ov61_0217fb50: .space 0x4 .global data_ov61_0217fb54 data_ov61_0217fb54: .space 0x4 .global data_ov61_0217fb58 data_ov61_0217fb58: .space 0x4 .global data_ov61_0217fb5c data_ov61_0217fb5c: .space 0x4 .global data_ov61_0217fb60 data_ov61_0217fb60: .space 0x4 .global data_ov61_0217fb64 data_ov61_0217fb64: .space 0x4 .global data_ov61_0217fb68 data_ov61_0217fb68: .space 0x4 .global data_ov61_0217fb6c data_ov61_0217fb6c: .space 0x4 .global data_ov61_0217fb70 data_ov61_0217fb70: .space 0x4 .global data_ov61_0217fb74 data_ov61_0217fb74: .space 0x4 .global data_ov61_0217fb78 data_ov61_0217fb78: .space 0x4 .global data_ov61_0217fb7c data_ov61_0217fb7c: .space 0x4 .global data_ov61_0217fb80 data_ov61_0217fb80: .space 0x4 .global data_ov61_0217fb84 data_ov61_0217fb84: .space 0x4 .global data_ov61_0217fb88 data_ov61_0217fb88: .space 0x4 .global data_ov61_0217fb8c data_ov61_0217fb8c: .space 0x4 .global data_ov61_0217fb90 data_ov61_0217fb90: .space 0x4 .global data_ov61_0217fb94 data_ov61_0217fb94: .space 0x4 .global data_ov61_0217fb98 data_ov61_0217fb98: .space 0x4 .global data_ov61_0217fb9c data_ov61_0217fb9c: .space 0x4 .global data_ov61_0217fba0 data_ov61_0217fba0: .space 0x4 .global data_ov61_0217fba4 data_ov61_0217fba4: .space 0x4 .global data_ov61_0217fba8 data_ov61_0217fba8: .space 0x4 .global data_ov61_0217fbac data_ov61_0217fbac: .space 0x4 .global data_ov61_0217fbb0 data_ov61_0217fbb0: .space 0x4 .global data_ov61_0217fbb4 data_ov61_0217fbb4: .space 0x4 .global data_ov61_0217fbb8 data_ov61_0217fbb8: .space 0x4 .global data_ov61_0217fbbc data_ov61_0217fbbc: .space 0x4 .global data_ov61_0217fbc0 data_ov61_0217fbc0: .space 0x4 .global data_ov61_0217fbc4 data_ov61_0217fbc4: .space 0x4 .global data_ov61_0217fbc8 data_ov61_0217fbc8: .space 0x4 .global data_ov61_0217fbcc data_ov61_0217fbcc: .space 0x4 .global data_ov61_0217fbd0 data_ov61_0217fbd0: .space 0x4 .global data_ov61_0217fbd4 data_ov61_0217fbd4: .space 0x4 .global data_ov61_0217fbd8 data_ov61_0217fbd8: .space 0x4 .global data_ov61_0217fbdc data_ov61_0217fbdc: .space 0x4 .global data_ov61_0217fbe0 data_ov61_0217fbe0: .space 0x4 .global data_ov61_0217fbe4 data_ov61_0217fbe4: .space 0x4 .global data_ov61_0217fbe8 data_ov61_0217fbe8: .space 0x4 .global data_ov61_0217fbec data_ov61_0217fbec: .space 0x4 .global data_ov61_0217fbf0 data_ov61_0217fbf0: .space 0x4 .global data_ov61_0217fbf4 data_ov61_0217fbf4: .space 0x4 .global data_ov61_0217fbf8 data_ov61_0217fbf8: .space 0x4 .global data_ov61_0217fbfc data_ov61_0217fbfc: .space 0x4 .global data_ov61_0217fc00 data_ov61_0217fc00: .space 0x4 .global data_ov61_0217fc04 data_ov61_0217fc04: .space 0x4 .global data_ov61_0217fc08 data_ov61_0217fc08: .space 0x4 .global data_ov61_0217fc0c data_ov61_0217fc0c: .space 0x4 .global data_ov61_0217fc10 data_ov61_0217fc10: .space 0x4 .global data_ov61_0217fc14 data_ov61_0217fc14: .space 0x4 .global data_ov61_0217fc18 data_ov61_0217fc18: .space 0x4 .global data_ov61_0217fc1c data_ov61_0217fc1c: .space 0x4 .global data_ov61_0217fc20 data_ov61_0217fc20: .space 0x4 .global data_ov61_0217fc24 data_ov61_0217fc24: .space 0x4 .global data_ov61_0217fc28 data_ov61_0217fc28: .space 0x4 .global data_ov61_0217fc2c data_ov61_0217fc2c: .space 0x4 .global data_ov61_0217fc30 data_ov61_0217fc30: .space 0x4 .global data_ov61_0217fc34 data_ov61_0217fc34: .space 0x4 .global data_ov61_0217fc38 data_ov61_0217fc38: .space 0x4 .global data_ov61_0217fc3c data_ov61_0217fc3c: .space 0x4 .global data_ov61_0217fc40 data_ov61_0217fc40: .space 0x4 .global data_ov61_0217fc44 data_ov61_0217fc44: .space 0x4 .global data_ov61_0217fc48 data_ov61_0217fc48: .space 0x4 .global data_ov61_0217fc4c data_ov61_0217fc4c: .space 0x4 .global data_ov61_0217fc50 data_ov61_0217fc50: .space 0x4 .global data_ov61_0217fc54 data_ov61_0217fc54: .space 0x4 .global data_ov61_0217fc58 data_ov61_0217fc58: .space 0x4 .global data_ov61_0217fc5c data_ov61_0217fc5c: .space 0x4 .global data_ov61_0217fc60 data_ov61_0217fc60: .space 0x4 .global data_ov61_0217fc64 data_ov61_0217fc64: .space 0x4 .global data_ov61_0217fc68 data_ov61_0217fc68: .space 0x4 .global data_ov61_0217fc6c data_ov61_0217fc6c: .space 0x4 .global data_ov61_0217fc70 data_ov61_0217fc70: .space 0x4 .global data_ov61_0217fc74 data_ov61_0217fc74: .space 0x4 .global data_ov61_0217fc78 data_ov61_0217fc78: .space 0x4 .global data_ov61_0217fc7c data_ov61_0217fc7c: .space 0x4 .global data_ov61_0217fc80 data_ov61_0217fc80: .space 0x4 .global data_ov61_0217fc84 data_ov61_0217fc84: .space 0x4 .global data_ov61_0217fc88 data_ov61_0217fc88: .space 0x4 .global data_ov61_0217fc8c data_ov61_0217fc8c: .space 0x4 .global data_ov61_0217fc90 data_ov61_0217fc90: .space 0x4 .global data_ov61_0217fc94 data_ov61_0217fc94: .space 0x4 .global data_ov61_0217fc98 data_ov61_0217fc98: .space 0x4 .global data_ov61_0217fc9c data_ov61_0217fc9c: .space 0x4 .global data_ov61_0217fca0 data_ov61_0217fca0: .space 0x4 .global data_ov61_0217fca4 data_ov61_0217fca4: .space 0x4 .global data_ov61_0217fca8 data_ov61_0217fca8: .space 0x4 .global data_ov61_0217fcac data_ov61_0217fcac: .space 0x4 .global data_ov61_0217fcb0 data_ov61_0217fcb0: .space 0x4 .global data_ov61_0217fcb4 data_ov61_0217fcb4: .space 0x4 .global data_ov61_0217fcb8 data_ov61_0217fcb8: .space 0x4 .global data_ov61_0217fcbc data_ov61_0217fcbc: .space 0x4 .global data_ov61_0217fcc0 data_ov61_0217fcc0: .space 0x4 .global data_ov61_0217fcc4 data_ov61_0217fcc4: .space 0x4 .global data_ov61_0217fcc8 data_ov61_0217fcc8: .space 0x4 .global data_ov61_0217fccc data_ov61_0217fccc: .space 0x4 .global data_ov61_0217fcd0 data_ov61_0217fcd0: .space 0x4 .global data_ov61_0217fcd4 data_ov61_0217fcd4: .space 0x4 .global data_ov61_0217fcd8 data_ov61_0217fcd8: .space 0x4 .global data_ov61_0217fcdc data_ov61_0217fcdc: .space 0x4 .global data_ov61_0217fce0 data_ov61_0217fce0: .space 0x4 .global data_ov61_0217fce4 data_ov61_0217fce4: .space 0x4 .global data_ov61_0217fce8 data_ov61_0217fce8: .space 0x4 .global data_ov61_0217fcec data_ov61_0217fcec: .space 0x4 .global data_ov61_0217fcf0 data_ov61_0217fcf0: .space 0x4 .global data_ov61_0217fcf4 data_ov61_0217fcf4: .space 0x4 .global data_ov61_0217fcf8 data_ov61_0217fcf8: .space 0x4 .global data_ov61_0217fcfc data_ov61_0217fcfc: .space 0x4 .global data_ov61_0217fd00 data_ov61_0217fd00: .space 0x4 .global data_ov61_0217fd04 data_ov61_0217fd04: .space 0x4 .global data_ov61_0217fd08 data_ov61_0217fd08: .space 0x4 .global data_ov61_0217fd0c data_ov61_0217fd0c: .space 0x4 .global data_ov61_0217fd10 data_ov61_0217fd10: .space 0x4 .global data_ov61_0217fd14 data_ov61_0217fd14: .space 0x4 .global data_ov61_0217fd18 data_ov61_0217fd18: .space 0x4 .global data_ov61_0217fd1c data_ov61_0217fd1c: .space 0x4 .global data_ov61_0217fd20 data_ov61_0217fd20: .space 0x4 .global data_ov61_0217fd24 data_ov61_0217fd24: .space 0x4 .global data_ov61_0217fd28 data_ov61_0217fd28: .space 0x4 .global data_ov61_0217fd2c data_ov61_0217fd2c: .space 0x4 .global data_ov61_0217fd30 data_ov61_0217fd30: .space 0x4 .global data_ov61_0217fd34 data_ov61_0217fd34: .space 0x4 .global data_ov61_0217fd38 data_ov61_0217fd38: .space 0x4 .global data_ov61_0217fd3c data_ov61_0217fd3c: .space 0x4 .global data_ov61_0217fd40 data_ov61_0217fd40: .space 0x4 .global data_ov61_0217fd44 data_ov61_0217fd44: .space 0x4 .global data_ov61_0217fd48 data_ov61_0217fd48: .space 0x4 .global data_ov61_0217fd4c data_ov61_0217fd4c: .space 0x4 .global data_ov61_0217fd50 data_ov61_0217fd50: .space 0x4 .global data_ov61_0217fd54 data_ov61_0217fd54: .space 0x4 .global data_ov61_0217fd58 data_ov61_0217fd58: .space 0x4 .global data_ov61_0217fd5c data_ov61_0217fd5c: .space 0x4 .global data_ov61_0217fd60 data_ov61_0217fd60: .space 0x4 .global data_ov61_0217fd64 data_ov61_0217fd64: .space 0x4 .global data_ov61_0217fd68 data_ov61_0217fd68: .space 0x4 .global data_ov61_0217fd6c data_ov61_0217fd6c: .space 0x4 .global data_ov61_0217fd70 data_ov61_0217fd70: .space 0x4 .global data_ov61_0217fd74 data_ov61_0217fd74: .space 0x4 .global data_ov61_0217fd78 data_ov61_0217fd78: .space 0x4 .global data_ov61_0217fd7c data_ov61_0217fd7c: .space 0x4 .global data_ov61_0217fd80 data_ov61_0217fd80: .space 0x4 .global data_ov61_0217fd84 data_ov61_0217fd84: .space 0x4 .global data_ov61_0217fd88 data_ov61_0217fd88: .space 0x4 .global data_ov61_0217fd8c data_ov61_0217fd8c: .space 0x4 .global data_ov61_0217fd90 data_ov61_0217fd90: .space 0x4 .global data_ov61_0217fd94 data_ov61_0217fd94: .space 0x4 .global data_ov61_0217fd98 data_ov61_0217fd98: .space 0x4 .global data_ov61_0217fd9c data_ov61_0217fd9c: .space 0x4 .global data_ov61_0217fda0 data_ov61_0217fda0: .space 0x4 .global data_ov61_0217fda4 data_ov61_0217fda4: .space 0x4 .global data_ov61_0217fda8 data_ov61_0217fda8: .space 0x4 .global data_ov61_0217fdac data_ov61_0217fdac: .space 0x4 .global data_ov61_0217fdb0 data_ov61_0217fdb0: .space 0x4 .global data_ov61_0217fdb4 data_ov61_0217fdb4: .space 0x4 .global data_ov61_0217fdb8 data_ov61_0217fdb8: .space 0x4 .global data_ov61_0217fdbc data_ov61_0217fdbc: .space 0x4 .global data_ov61_0217fdc0 data_ov61_0217fdc0: .space 0x4 .global data_ov61_0217fdc4 data_ov61_0217fdc4: .space 0x4 .global data_ov61_0217fdc8 data_ov61_0217fdc8: .space 0x4 .global data_ov61_0217fdcc data_ov61_0217fdcc: .space 0x4 .global data_ov61_0217fdd0 data_ov61_0217fdd0: .space 0x4 .global data_ov61_0217fdd4 data_ov61_0217fdd4: .space 0x4 .global data_ov61_0217fdd8 data_ov61_0217fdd8: .space 0x4 .global data_ov61_0217fddc data_ov61_0217fddc: .space 0x4 .global data_ov61_0217fde0 data_ov61_0217fde0: .space 0x4 .global data_ov61_0217fde4 data_ov61_0217fde4: .space 0x4 .global data_ov61_0217fde8 data_ov61_0217fde8: .space 0x4 .global data_ov61_0217fdec data_ov61_0217fdec: .space 0x4 .global data_ov61_0217fdf0 data_ov61_0217fdf0: .space 0x4 .global data_ov61_0217fdf4 data_ov61_0217fdf4: .space 0x4 .global data_ov61_0217fdf8 data_ov61_0217fdf8: .space 0x4 .global data_ov61_0217fdfc data_ov61_0217fdfc: .space 0x4 .global data_ov61_0217fe00 data_ov61_0217fe00: .space 0x4 .global data_ov61_0217fe04 data_ov61_0217fe04: .space 0x4 .global data_ov61_0217fe08 data_ov61_0217fe08: .space 0x4 .global data_ov61_0217fe0c data_ov61_0217fe0c: .space 0x4 .global data_ov61_0217fe10 data_ov61_0217fe10: .space 0x4 .global data_ov61_0217fe14 data_ov61_0217fe14: .space 0x4 .global data_ov61_0217fe18 data_ov61_0217fe18: .space 0x4 .global data_ov61_0217fe1c data_ov61_0217fe1c: .space 0x4 .global data_ov61_0217fe20 data_ov61_0217fe20: .space 0x4 .global data_ov61_0217fe24 data_ov61_0217fe24: .space 0x4 .global data_ov61_0217fe28 data_ov61_0217fe28: .space 0x4 .global data_ov61_0217fe2c data_ov61_0217fe2c: .space 0x4 .global data_ov61_0217fe30 data_ov61_0217fe30: .space 0x4 .global data_ov61_0217fe34 data_ov61_0217fe34: .space 0x4 .global data_ov61_0217fe38 data_ov61_0217fe38: .space 0x4 .global data_ov61_0217fe3c data_ov61_0217fe3c: .space 0x4 .global data_ov61_0217fe40 data_ov61_0217fe40: .space 0x4 .global data_ov61_0217fe44 data_ov61_0217fe44: .space 0x4 .global data_ov61_0217fe48 data_ov61_0217fe48: .space 0x4 .global data_ov61_0217fe4c data_ov61_0217fe4c: .space 0x4 .global data_ov61_0217fe50 data_ov61_0217fe50: .space 0x4 .global data_ov61_0217fe54 data_ov61_0217fe54: .space 0x4 .global data_ov61_0217fe58 data_ov61_0217fe58: .space 0x4 .global data_ov61_0217fe5c data_ov61_0217fe5c: .space 0x4 .global data_ov61_0217fe60 data_ov61_0217fe60: .space 0x4 .global data_ov61_0217fe64 data_ov61_0217fe64: .space 0x4 .global data_ov61_0217fe68 data_ov61_0217fe68: .space 0x4 .global data_ov61_0217fe6c data_ov61_0217fe6c: .space 0x4 .global data_ov61_0217fe70 data_ov61_0217fe70: .space 0x4 .global data_ov61_0217fe74 data_ov61_0217fe74: .space 0x4 .global data_ov61_0217fe78 data_ov61_0217fe78: .space 0x4 .global data_ov61_0217fe7c data_ov61_0217fe7c: .space 0x4 .global data_ov61_0217fe80 data_ov61_0217fe80: .space 0x4 .global data_ov61_0217fe84 data_ov61_0217fe84: .space 0x4 .global data_ov61_0217fe88 data_ov61_0217fe88: .space 0x4 .global data_ov61_0217fe8c data_ov61_0217fe8c: .space 0x4 .global data_ov61_0217fe90 data_ov61_0217fe90: .space 0x4 .global data_ov61_0217fe94 data_ov61_0217fe94: .space 0x4 .global data_ov61_0217fe98 data_ov61_0217fe98: .space 0x4 .global data_ov61_0217fe9c data_ov61_0217fe9c: .space 0x4 .global data_ov61_0217fea0 data_ov61_0217fea0: .space 0x4 .global data_ov61_0217fea4 data_ov61_0217fea4: .space 0x4 .global data_ov61_0217fea8 data_ov61_0217fea8: .space 0x4 .global data_ov61_0217feac data_ov61_0217feac: .space 0x4 .global data_ov61_0217feb0 data_ov61_0217feb0: .space 0x4 .global data_ov61_0217feb4 data_ov61_0217feb4: .space 0x4 .global data_ov61_0217feb8 data_ov61_0217feb8: .space 0x4 .global data_ov61_0217febc data_ov61_0217febc: .space 0x4 .global data_ov61_0217fec0 data_ov61_0217fec0: .space 0x4 .global data_ov61_0217fec4 data_ov61_0217fec4: .space 0x4 .global data_ov61_0217fec8 data_ov61_0217fec8: .space 0x4 .global data_ov61_0217fecc data_ov61_0217fecc: .space 0x4 .global data_ov61_0217fed0 data_ov61_0217fed0: .space 0x4 .global data_ov61_0217fed4 data_ov61_0217fed4: .space 0x4 .global data_ov61_0217fed8 data_ov61_0217fed8: .space 0x4 .global data_ov61_0217fedc data_ov61_0217fedc: .space 0x4 .global data_ov61_0217fee0 data_ov61_0217fee0: .space 0x4 .global data_ov61_0217fee4 data_ov61_0217fee4: .space 0x4 .global data_ov61_0217fee8 data_ov61_0217fee8: .space 0x4 .global data_ov61_0217feec data_ov61_0217feec: .space 0x4 .global data_ov61_0217fef0 data_ov61_0217fef0: .space 0x4 .global data_ov61_0217fef4 data_ov61_0217fef4: .space 0x4 .global data_ov61_0217fef8 data_ov61_0217fef8: .space 0x4 .global data_ov61_0217fefc data_ov61_0217fefc: .space 0x4 .global data_ov61_0217ff00 data_ov61_0217ff00: .space 0x4 .global data_ov61_0217ff04 data_ov61_0217ff04: .space 0x4 .global data_ov61_0217ff08 data_ov61_0217ff08: .space 0x4 .global data_ov61_0217ff0c data_ov61_0217ff0c: .space 0x4 .global data_ov61_0217ff10 data_ov61_0217ff10: .space 0x4 .global data_ov61_0217ff14 data_ov61_0217ff14: .space 0x4 .global data_ov61_0217ff18 data_ov61_0217ff18: .space 0x4 .global data_ov61_0217ff1c data_ov61_0217ff1c: .space 0x4 .global data_ov61_0217ff20 data_ov61_0217ff20: .space 0x4 .global data_ov61_0217ff24 data_ov61_0217ff24: .space 0x4 .global data_ov61_0217ff28 data_ov61_0217ff28: .space 0x4 .global data_ov61_0217ff2c data_ov61_0217ff2c: .space 0x4 .global data_ov61_0217ff30 data_ov61_0217ff30: .space 0x4 .global data_ov61_0217ff34 data_ov61_0217ff34: .space 0x4 .global data_ov61_0217ff38 data_ov61_0217ff38: .space 0x4 .global data_ov61_0217ff3c data_ov61_0217ff3c: .space 0x4 .global data_ov61_0217ff40 data_ov61_0217ff40: .space 0x4 .global data_ov61_0217ff44 data_ov61_0217ff44: .space 0x4 .global data_ov61_0217ff48 data_ov61_0217ff48: .space 0x4 .global data_ov61_0217ff4c data_ov61_0217ff4c: .space 0x4 .global data_ov61_0217ff50 data_ov61_0217ff50: .space 0x4 .global data_ov61_0217ff54 data_ov61_0217ff54: .space 0x4 .global data_ov61_0217ff58 data_ov61_0217ff58: .space 0x4 .global data_ov61_0217ff5c data_ov61_0217ff5c: .space 0x4 .global data_ov61_0217ff60 data_ov61_0217ff60: .space 0x4 .global data_ov61_0217ff64 data_ov61_0217ff64: .space 0x4 .global data_ov61_0217ff68 data_ov61_0217ff68: .space 0x4 .global data_ov61_0217ff6c data_ov61_0217ff6c: .space 0x4 .global data_ov61_0217ff70 data_ov61_0217ff70: .space 0x4 .global data_ov61_0217ff74 data_ov61_0217ff74: .space 0x4 .global data_ov61_0217ff78 data_ov61_0217ff78: .space 0x4 .global data_ov61_0217ff7c data_ov61_0217ff7c: .space 0x4 .global data_ov61_0217ff80 data_ov61_0217ff80: .space 0x4 .global data_ov61_0217ff84 data_ov61_0217ff84: .space 0x4 .global data_ov61_0217ff88 data_ov61_0217ff88: .space 0x4 .global data_ov61_0217ff8c data_ov61_0217ff8c: .space 0x4 .global data_ov61_0217ff90 data_ov61_0217ff90: .space 0x4 .global data_ov61_0217ff94 data_ov61_0217ff94: .space 0x4 .global data_ov61_0217ff98 data_ov61_0217ff98: .space 0x4 .global data_ov61_0217ff9c data_ov61_0217ff9c: .space 0x4 .global data_ov61_0217ffa0 data_ov61_0217ffa0: .space 0x4 .global data_ov61_0217ffa4 data_ov61_0217ffa4: .space 0x4 .global data_ov61_0217ffa8 data_ov61_0217ffa8: .space 0x4 .global data_ov61_0217ffac data_ov61_0217ffac: .space 0x4 .global data_ov61_0217ffb0 data_ov61_0217ffb0: .space 0x4 .global data_ov61_0217ffb4 data_ov61_0217ffb4: .space 0x4 .global data_ov61_0217ffb8 data_ov61_0217ffb8: .space 0x4 .global data_ov61_0217ffbc data_ov61_0217ffbc: .space 0x4 .global data_ov61_0217ffc0 data_ov61_0217ffc0: .space 0x4 .global data_ov61_0217ffc4 data_ov61_0217ffc4: .space 0x4 .global data_ov61_0217ffc8 data_ov61_0217ffc8: .space 0x4 .global data_ov61_0217ffcc data_ov61_0217ffcc: .space 0x4 .global data_ov61_0217ffd0 data_ov61_0217ffd0: .space 0x4 .global data_ov61_0217ffd4 data_ov61_0217ffd4: .space 0x4 .global data_ov61_0217ffd8 data_ov61_0217ffd8: .space 0x4 .global data_ov61_0217ffdc data_ov61_0217ffdc: .space 0x4 .global data_ov61_0217ffe0 data_ov61_0217ffe0: .space 0x4 .global data_ov61_0217ffe4 data_ov61_0217ffe4: .space 0x4 .global data_ov61_0217ffe8 data_ov61_0217ffe8: .space 0x4 .global data_ov61_0217ffec data_ov61_0217ffec: .space 0x4 .global data_ov61_0217fff0 data_ov61_0217fff0: .space 0x4 .global data_ov61_0217fff4 data_ov61_0217fff4: .space 0x4 .global data_ov61_0217fff8 data_ov61_0217fff8: .space 0x4 .global data_ov61_0217fffc data_ov61_0217fffc: .space 0x4 .global data_ov61_02180000 data_ov61_02180000: .space 0x4 .global data_ov61_02180004 data_ov61_02180004: .space 0x4 .global data_ov61_02180008 data_ov61_02180008: .space 0x4 .global data_ov61_0218000c data_ov61_0218000c: .space 0x4 .global data_ov61_02180010 data_ov61_02180010: .space 0x4 .global data_ov61_02180014 data_ov61_02180014: .space 0x4 .global data_ov61_02180018 data_ov61_02180018: .space 0x4 .global data_ov61_0218001c data_ov61_0218001c: .space 0x4 .global data_ov61_02180020 data_ov61_02180020: .space 0x4 .global data_ov61_02180024 data_ov61_02180024: .space 0x4 .global data_ov61_02180028 data_ov61_02180028: .space 0x4 .global data_ov61_0218002c data_ov61_0218002c: .space 0x4 .global data_ov61_02180030 data_ov61_02180030: .space 0x4 .global data_ov61_02180034 data_ov61_02180034: .space 0x4 .global data_ov61_02180038 data_ov61_02180038: .space 0x4 .global data_ov61_0218003c data_ov61_0218003c: .space 0x4 .global data_ov61_02180040 data_ov61_02180040: .space 0x4 .global data_ov61_02180044 data_ov61_02180044: .space 0x4 .global data_ov61_02180048 data_ov61_02180048: .space 0x4 .global data_ov61_0218004c data_ov61_0218004c: .space 0x4 .global data_ov61_02180050 data_ov61_02180050: .space 0x4 .global data_ov61_02180054 data_ov61_02180054: .space 0x4 .global data_ov61_02180058 data_ov61_02180058: .space 0x4 .global data_ov61_0218005c data_ov61_0218005c: .space 0x4 .global data_ov61_02180060 data_ov61_02180060: .space 0x4 .global data_ov61_02180064 data_ov61_02180064: .space 0x4 .global data_ov61_02180068 data_ov61_02180068: .space 0x4 .global data_ov61_0218006c data_ov61_0218006c: .space 0x4 .global data_ov61_02180070 data_ov61_02180070: .space 0x4 .global data_ov61_02180074 data_ov61_02180074: .space 0x4 .global data_ov61_02180078 data_ov61_02180078: .space 0x4 .global data_ov61_0218007c data_ov61_0218007c: .space 0x4 .global data_ov61_02180080 data_ov61_02180080: .space 0x4 .global data_ov61_02180084 data_ov61_02180084: .space 0x4 .global data_ov61_02180088 data_ov61_02180088: .space 0x4 .global data_ov61_0218008c data_ov61_0218008c: .space 0x4 .global data_ov61_02180090 data_ov61_02180090: .space 0x4 .global data_ov61_02180094 data_ov61_02180094: .space 0x4 .global data_ov61_02180098 data_ov61_02180098: .space 0x4 .global data_ov61_0218009c data_ov61_0218009c: .space 0x4 .global data_ov61_021800a0 data_ov61_021800a0: .space 0x4 .global data_ov61_021800a4 data_ov61_021800a4: .space 0x4 .global data_ov61_021800a8 data_ov61_021800a8: .space 0x4 .global data_ov61_021800ac data_ov61_021800ac: .space 0x4 .global data_ov61_021800b0 data_ov61_021800b0: .space 0x4 .global data_ov61_021800b4 data_ov61_021800b4: .space 0x4 .global data_ov61_021800b8 data_ov61_021800b8: .space 0x4 .global data_ov61_021800bc data_ov61_021800bc: .space 0x4 .global data_ov61_021800c0 data_ov61_021800c0: .space 0x4 .global data_ov61_021800c4 data_ov61_021800c4: .space 0x4 .global data_ov61_021800c8 data_ov61_021800c8: .space 0x4 .global data_ov61_021800cc data_ov61_021800cc: .space 0x4 .global data_ov61_021800d0 data_ov61_021800d0: .space 0x4 .global data_ov61_021800d4 data_ov61_021800d4: .space 0x4 .global data_ov61_021800d8 data_ov61_021800d8: .space 0x4 .global data_ov61_021800dc data_ov61_021800dc: .space 0x4 .global data_ov61_021800e0 data_ov61_021800e0: .space 0x4 .global data_ov61_021800e4 data_ov61_021800e4: .space 0x4 .global data_ov61_021800e8 data_ov61_021800e8: .space 0x4 .global data_ov61_021800ec data_ov61_021800ec: .space 0x4 .global data_ov61_021800f0 data_ov61_021800f0: .space 0x4 .global data_ov61_021800f4 data_ov61_021800f4: .space 0x4 .global data_ov61_021800f8 data_ov61_021800f8: .space 0x4 .global data_ov61_021800fc data_ov61_021800fc: .space 0x4 .global data_ov61_02180100 data_ov61_02180100: .space 0x4 .global data_ov61_02180104 data_ov61_02180104: .space 0x4 .global data_ov61_02180108 data_ov61_02180108: .space 0x4 .global data_ov61_0218010c data_ov61_0218010c: .space 0x4 .global data_ov61_02180110 data_ov61_02180110: .space 0x4 .global data_ov61_02180114 data_ov61_02180114: .space 0x4 .global data_ov61_02180118 data_ov61_02180118: .space 0x4 .global data_ov61_0218011c data_ov61_0218011c: .space 0x4 .global data_ov61_02180120 data_ov61_02180120: .space 0x4 .global data_ov61_02180124 data_ov61_02180124: .space 0x4 .global data_ov61_02180128 data_ov61_02180128: .space 0x4 .global data_ov61_0218012c data_ov61_0218012c: .space 0x4 .global data_ov61_02180130 data_ov61_02180130: .space 0x4 .global data_ov61_02180134 data_ov61_02180134: .space 0x4 .global data_ov61_02180138 data_ov61_02180138: .space 0x4 .global data_ov61_0218013c data_ov61_0218013c: .space 0x4 .global data_ov61_02180140 data_ov61_02180140: .space 0x4 .global data_ov61_02180144 data_ov61_02180144: .space 0x4 .global data_ov61_02180148 data_ov61_02180148: .space 0x4 .global data_ov61_0218014c data_ov61_0218014c: .space 0x4 .global data_ov61_02180150 data_ov61_02180150: .space 0x4 .global data_ov61_02180154 data_ov61_02180154: .space 0x4 .global data_ov61_02180158 data_ov61_02180158: .space 0x4 .global data_ov61_0218015c data_ov61_0218015c: .space 0x4 .global data_ov61_02180160 data_ov61_02180160: .space 0x4 .global data_ov61_02180164 data_ov61_02180164: .space 0x4 .global data_ov61_02180168 data_ov61_02180168: .space 0x4 .global data_ov61_0218016c data_ov61_0218016c: .space 0x4 .global data_ov61_02180170 data_ov61_02180170: .space 0x4 .global data_ov61_02180174 data_ov61_02180174: .space 0x4 .global data_ov61_02180178 data_ov61_02180178: .space 0x4 .global data_ov61_0218017c data_ov61_0218017c: .space 0x4 .global data_ov61_02180180 data_ov61_02180180: .space 0x4 .global data_ov61_02180184 data_ov61_02180184: .space 0x4 .global data_ov61_02180188 data_ov61_02180188: .space 0x4 .global data_ov61_0218018c data_ov61_0218018c: .space 0x4 .global data_ov61_02180190 data_ov61_02180190: .space 0x4 .global data_ov61_02180194 data_ov61_02180194: .space 0x4 .global data_ov61_02180198 data_ov61_02180198: .space 0x4 .global data_ov61_0218019c data_ov61_0218019c: .space 0x4 .global data_ov61_021801a0 data_ov61_021801a0: .space 0x4 .global data_ov61_021801a4 data_ov61_021801a4: .space 0x4 .global data_ov61_021801a8 data_ov61_021801a8: .space 0x4 .global data_ov61_021801ac data_ov61_021801ac: .space 0x4 .global data_ov61_021801b0 data_ov61_021801b0: .space 0x4 .global data_ov61_021801b4 data_ov61_021801b4: .space 0x4 .global data_ov61_021801b8 data_ov61_021801b8: .space 0x4 .global data_ov61_021801bc data_ov61_021801bc: .space 0x4 .global data_ov61_021801c0 data_ov61_021801c0: .space 0x4 .global data_ov61_021801c4 data_ov61_021801c4: .space 0x4 .global data_ov61_021801c8 data_ov61_021801c8: .space 0x4 .global data_ov61_021801cc data_ov61_021801cc: .space 0x4 .global data_ov61_021801d0 data_ov61_021801d0: .space 0x4 .global data_ov61_021801d4 data_ov61_021801d4: .space 0x4 .global data_ov61_021801d8 data_ov61_021801d8: .space 0x4 .global data_ov61_021801dc data_ov61_021801dc: .space 0x4 .global data_ov61_021801e0 data_ov61_021801e0: .space 0x4 .global data_ov61_021801e4 data_ov61_021801e4: .space 0x4 .global data_ov61_021801e8 data_ov61_021801e8: .space 0x4 .global data_ov61_021801ec data_ov61_021801ec: .space 0x4 .global data_ov61_021801f0 data_ov61_021801f0: .space 0x4 .global data_ov61_021801f4 data_ov61_021801f4: .space 0x4 .global data_ov61_021801f8 data_ov61_021801f8: .space 0x4 .global data_ov61_021801fc data_ov61_021801fc: .space 0x4 .global data_ov61_02180200 data_ov61_02180200: .space 0x4 .global data_ov61_02180204 data_ov61_02180204: .space 0x4 .global data_ov61_02180208 data_ov61_02180208: .space 0x4 .global data_ov61_0218020c data_ov61_0218020c: .space 0x4 .global data_ov61_02180210 data_ov61_02180210: .space 0x4 .global data_ov61_02180214 data_ov61_02180214: .space 0x4 .global data_ov61_02180218 data_ov61_02180218: .space 0x4 .global data_ov61_0218021c data_ov61_0218021c: .space 0x4 .global data_ov61_02180220 data_ov61_02180220: .space 0x4 .global data_ov61_02180224 data_ov61_02180224: .space 0x4 .global data_ov61_02180228 data_ov61_02180228: .space 0x4 .global data_ov61_0218022c data_ov61_0218022c: .space 0x4 .global data_ov61_02180230 data_ov61_02180230: .space 0x4 .global data_ov61_02180234 data_ov61_02180234: .space 0x4 .global data_ov61_02180238 data_ov61_02180238: .space 0x4 .global data_ov61_0218023c data_ov61_0218023c: .space 0x4 .global data_ov61_02180240 data_ov61_02180240: .space 0x4 .global data_ov61_02180244 data_ov61_02180244: .space 0x4 .global data_ov61_02180248 data_ov61_02180248: .space 0x4 .global data_ov61_0218024c data_ov61_0218024c: .space 0x4 .global data_ov61_02180250 data_ov61_02180250: .space 0x4 .global data_ov61_02180254 data_ov61_02180254: .space 0x4 .global data_ov61_02180258 data_ov61_02180258: .space 0x4 .global data_ov61_0218025c data_ov61_0218025c: .space 0x4 .global data_ov61_02180260 data_ov61_02180260: .space 0x4 .global data_ov61_02180264 data_ov61_02180264: .space 0x4 .global data_ov61_02180268 data_ov61_02180268: .space 0x4 .global data_ov61_0218026c data_ov61_0218026c: .space 0x4 .global data_ov61_02180270 data_ov61_02180270: .space 0x4 .global data_ov61_02180274 data_ov61_02180274: .space 0x4 .global data_ov61_02180278 data_ov61_02180278: .space 0x4 .global data_ov61_0218027c data_ov61_0218027c: .space 0x4 .global data_ov61_02180280 data_ov61_02180280: .space 0x4 .global data_ov61_02180284 data_ov61_02180284: .space 0x4 .global data_ov61_02180288 data_ov61_02180288: .space 0x4 .global data_ov61_0218028c data_ov61_0218028c: .space 0x4 .global data_ov61_02180290 data_ov61_02180290: .space 0x4 .global data_ov61_02180294 data_ov61_02180294: .space 0x4 .global data_ov61_02180298 data_ov61_02180298: .space 0x4 .global data_ov61_0218029c data_ov61_0218029c: .space 0x4 .global data_ov61_021802a0 data_ov61_021802a0: .space 0x4 .global data_ov61_021802a4 data_ov61_021802a4: .space 0x4 .global data_ov61_021802a8 data_ov61_021802a8: .space 0x4 .global data_ov61_021802ac data_ov61_021802ac: .space 0x4 .global data_ov61_021802b0 data_ov61_021802b0: .space 0x4 .global data_ov61_021802b4 data_ov61_021802b4: .space 0x4 .global data_ov61_021802b8 data_ov61_021802b8: .space 0x4 .global data_ov61_021802bc data_ov61_021802bc: .space 0x4 .global data_ov61_021802c0 data_ov61_021802c0: .space 0x4 .global data_ov61_021802c4 data_ov61_021802c4: .space 0x4 .global data_ov61_021802c8 data_ov61_021802c8: .space 0x4 .global data_ov61_021802cc data_ov61_021802cc: .space 0x4 .global data_ov61_021802d0 data_ov61_021802d0: .space 0x4 .global data_ov61_021802d4 data_ov61_021802d4: .space 0x4 .global data_ov61_021802d8 data_ov61_021802d8: .space 0x4 .global data_ov61_021802dc data_ov61_021802dc: .space 0x4 .global data_ov61_021802e0 data_ov61_021802e0: .space 0x4 .global data_ov61_021802e4 data_ov61_021802e4: .space 0x4 .global data_ov61_021802e8 data_ov61_021802e8: .space 0x4 .global data_ov61_021802ec data_ov61_021802ec: .space 0x4 .global data_ov61_021802f0 data_ov61_021802f0: .space 0x4 .global data_ov61_021802f4 data_ov61_021802f4: .space 0x4 .global data_ov61_021802f8 data_ov61_021802f8: .space 0x4 .global data_ov61_021802fc data_ov61_021802fc: .space 0x4 .global data_ov61_02180300 data_ov61_02180300: .space 0x4 .global data_ov61_02180304 data_ov61_02180304: .space 0x4 .global data_ov61_02180308 data_ov61_02180308: .space 0x4 .global data_ov61_0218030c data_ov61_0218030c: .space 0x4 .global data_ov61_02180310 data_ov61_02180310: .space 0x4 .global data_ov61_02180314 data_ov61_02180314: .space 0x4 .global data_ov61_02180318 data_ov61_02180318: .space 0x4 .global data_ov61_0218031c data_ov61_0218031c: .space 0x4 .global data_ov61_02180320 data_ov61_02180320: .space 0x4 .global data_ov61_02180324 data_ov61_02180324: .space 0x4 .global data_ov61_02180328 data_ov61_02180328: .space 0x4 .global data_ov61_0218032c data_ov61_0218032c: .space 0x4 .global data_ov61_02180330 data_ov61_02180330: .space 0x4 .global data_ov61_02180334 data_ov61_02180334: .space 0x4 .global data_ov61_02180338 data_ov61_02180338: .space 0x4 .global data_ov61_0218033c data_ov61_0218033c: .space 0x4 .global data_ov61_02180340 data_ov61_02180340: .space 0x4 .global data_ov61_02180344 data_ov61_02180344: .space 0x4 .global data_ov61_02180348 data_ov61_02180348: .space 0x4 .global data_ov61_0218034c data_ov61_0218034c: .space 0x4 .global data_ov61_02180350 data_ov61_02180350: .space 0x4 .global data_ov61_02180354 data_ov61_02180354: .space 0x4 .global data_ov61_02180358 data_ov61_02180358: .space 0x4 .global data_ov61_0218035c data_ov61_0218035c: .space 0x4 .global data_ov61_02180360 data_ov61_02180360: .space 0x4 .global data_ov61_02180364 data_ov61_02180364: .space 0x4 .global data_ov61_02180368 data_ov61_02180368: .space 0x4 .global data_ov61_0218036c data_ov61_0218036c: .space 0x4 .global data_ov61_02180370 data_ov61_02180370: .space 0x4 .global data_ov61_02180374 data_ov61_02180374: .space 0x4 .global data_ov61_02180378 data_ov61_02180378: .space 0x4 .global data_ov61_0218037c data_ov61_0218037c: .space 0x4 .global data_ov61_02180380 data_ov61_02180380: .space 0x4 .global data_ov61_02180384 data_ov61_02180384: .space 0x4 .global data_ov61_02180388 data_ov61_02180388: .space 0x4 .global data_ov61_0218038c data_ov61_0218038c: .space 0x4 .global data_ov61_02180390 data_ov61_02180390: .space 0x4 .global data_ov61_02180394 data_ov61_02180394: .space 0x4 .global data_ov61_02180398 data_ov61_02180398: .space 0x4 .global data_ov61_0218039c data_ov61_0218039c: .space 0x4 .global data_ov61_021803a0 data_ov61_021803a0: .space 0x4 .global data_ov61_021803a4 data_ov61_021803a4: .space 0x4 .global data_ov61_021803a8 data_ov61_021803a8: .space 0x4 .global data_ov61_021803ac data_ov61_021803ac: .space 0x4 .global data_ov61_021803b0 data_ov61_021803b0: .space 0x4 .global data_ov61_021803b4 data_ov61_021803b4: .space 0x4 .global data_ov61_021803b8 data_ov61_021803b8: .space 0x4 .global data_ov61_021803bc data_ov61_021803bc: .space 0x4 .global data_ov61_021803c0 data_ov61_021803c0: .space 0x4 .global data_ov61_021803c4 data_ov61_021803c4: .space 0x4 .global data_ov61_021803c8 data_ov61_021803c8: .space 0x4 .global data_ov61_021803cc data_ov61_021803cc: .space 0x4 .global data_ov61_021803d0 data_ov61_021803d0: .space 0x4 .global data_ov61_021803d4 data_ov61_021803d4: .space 0x4 .global data_ov61_021803d8 data_ov61_021803d8: .space 0x4 .global data_ov61_021803dc data_ov61_021803dc: .space 0x4 .global data_ov61_021803e0 data_ov61_021803e0: .space 0x4 .global data_ov61_021803e4 data_ov61_021803e4: .space 0x4 .global data_ov61_021803e8 data_ov61_021803e8: .space 0x4 .global data_ov61_021803ec data_ov61_021803ec: .space 0x4 .global data_ov61_021803f0 data_ov61_021803f0: .space 0x4 .global data_ov61_021803f4 data_ov61_021803f4: .space 0x4 .global data_ov61_021803f8 data_ov61_021803f8: .space 0x4 .global data_ov61_021803fc data_ov61_021803fc: .space 0x4 .global data_ov61_02180400 data_ov61_02180400: .space 0x4 .global data_ov61_02180404 data_ov61_02180404: .space 0x4 .global data_ov61_02180408 data_ov61_02180408: .space 0x4 .global data_ov61_0218040c data_ov61_0218040c: .space 0x4 .global data_ov61_02180410 data_ov61_02180410: .space 0x4 .global data_ov61_02180414 data_ov61_02180414: .space 0x4 .global data_ov61_02180418 data_ov61_02180418: .space 0x4 .global data_ov61_0218041c data_ov61_0218041c: .space 0x4 .global data_ov61_02180420 data_ov61_02180420: .space 0x4 .global data_ov61_02180424 data_ov61_02180424: .space 0x4 .global data_ov61_02180428 data_ov61_02180428: .space 0x4 .global data_ov61_0218042c data_ov61_0218042c: .space 0x4 .global data_ov61_02180430 data_ov61_02180430: .space 0x4 .global data_ov61_02180434 data_ov61_02180434: .space 0x4 .global data_ov61_02180438 data_ov61_02180438: .space 0x4 .global data_ov61_0218043c data_ov61_0218043c: .space 0x4 .global data_ov61_02180440 data_ov61_02180440: .space 0x4 .global data_ov61_02180444 data_ov61_02180444: .space 0x4 .global data_ov61_02180448 data_ov61_02180448: .space 0x4 .global data_ov61_0218044c data_ov61_0218044c: .space 0x4 .global data_ov61_02180450 data_ov61_02180450: .space 0x4 .global data_ov61_02180454 data_ov61_02180454: .space 0x4 .global data_ov61_02180458 data_ov61_02180458: .space 0x4 .global data_ov61_0218045c data_ov61_0218045c: .space 0x4 .global data_ov61_02180460 data_ov61_02180460: .space 0x4 .global data_ov61_02180464 data_ov61_02180464: .space 0x4 .global data_ov61_02180468 data_ov61_02180468: .space 0x4 .global data_ov61_0218046c data_ov61_0218046c: .space 0x4 .global data_ov61_02180470 data_ov61_02180470: .space 0x4 .global data_ov61_02180474 data_ov61_02180474: .space 0x4 .global data_ov61_02180478 data_ov61_02180478: .space 0x4 .global data_ov61_0218047c data_ov61_0218047c: .space 0x4 .global data_ov61_02180480 data_ov61_02180480: .space 0x4 .global data_ov61_02180484 data_ov61_02180484: .space 0x4 .global data_ov61_02180488 data_ov61_02180488: .space 0x4 .global data_ov61_0218048c data_ov61_0218048c: .space 0x4 .global data_ov61_02180490 data_ov61_02180490: .space 0x4 .global data_ov61_02180494 data_ov61_02180494: .space 0x4 .global data_ov61_02180498 data_ov61_02180498: .space 0x4 .global data_ov61_0218049c data_ov61_0218049c: .space 0x4 .global data_ov61_021804a0 data_ov61_021804a0: .space 0x4 .global data_ov61_021804a4 data_ov61_021804a4: .space 0x4 .global data_ov61_021804a8 data_ov61_021804a8: .space 0x4 .global data_ov61_021804ac data_ov61_021804ac: .space 0x4 .global data_ov61_021804b0 data_ov61_021804b0: .space 0x4 .global data_ov61_021804b4 data_ov61_021804b4: .space 0x4 .global data_ov61_021804b8 data_ov61_021804b8: .space 0x4 .global data_ov61_021804bc data_ov61_021804bc: .space 0x4 .global data_ov61_021804c0 data_ov61_021804c0: .space 0x4 .global data_ov61_021804c4 data_ov61_021804c4: .space 0x4 .global data_ov61_021804c8 data_ov61_021804c8: .space 0x4 .global data_ov61_021804cc data_ov61_021804cc: .space 0x4 .global data_ov61_021804d0 data_ov61_021804d0: .space 0x4 .global data_ov61_021804d4 data_ov61_021804d4: .space 0x4 .global data_ov61_021804d8 data_ov61_021804d8: .space 0x4 .global data_ov61_021804dc data_ov61_021804dc: .space 0x4 .global data_ov61_021804e0 data_ov61_021804e0: .space 0x4 .global data_ov61_021804e4 data_ov61_021804e4: .space 0x4 .global data_ov61_021804e8 data_ov61_021804e8: .space 0x4 .global data_ov61_021804ec data_ov61_021804ec: .space 0x4 .global data_ov61_021804f0 data_ov61_021804f0: .space 0x4 .global data_ov61_021804f4 data_ov61_021804f4: .space 0x4 .global data_ov61_021804f8 data_ov61_021804f8: .space 0x4 .global data_ov61_021804fc data_ov61_021804fc: .space 0x4 .global data_ov61_02180500 data_ov61_02180500: .space 0x4 .global data_ov61_02180504 data_ov61_02180504: .space 0x4 .global data_ov61_02180508 data_ov61_02180508: .space 0x4 .global data_ov61_0218050c data_ov61_0218050c: .space 0x4 .global data_ov61_02180510 data_ov61_02180510: .space 0x4 .global data_ov61_02180514 data_ov61_02180514: .space 0x4 .global data_ov61_02180518 data_ov61_02180518: .space 0x4 .global data_ov61_0218051c data_ov61_0218051c: .space 0x4 .global data_ov61_02180520 data_ov61_02180520: .space 0x4 .global data_ov61_02180524 data_ov61_02180524: .space 0x4 .global data_ov61_02180528 data_ov61_02180528: .space 0x4 .global data_ov61_0218052c data_ov61_0218052c: .space 0x4 .global data_ov61_02180530 data_ov61_02180530: .space 0x4 .global data_ov61_02180534 data_ov61_02180534: .space 0x4 .global data_ov61_02180538 data_ov61_02180538: .space 0x4 .global data_ov61_0218053c data_ov61_0218053c: .space 0x4 .global data_ov61_02180540 data_ov61_02180540: .space 0x4 .global data_ov61_02180544 data_ov61_02180544: .space 0x4 .global data_ov61_02180548 data_ov61_02180548: .space 0x4 .global data_ov61_0218054c data_ov61_0218054c: .space 0x4 .global data_ov61_02180550 data_ov61_02180550: .space 0x4 .global data_ov61_02180554 data_ov61_02180554: .space 0x4 .global data_ov61_02180558 data_ov61_02180558: .space 0x4 .global data_ov61_0218055c data_ov61_0218055c: .space 0x4 .global data_ov61_02180560 data_ov61_02180560: .space 0x4 .global data_ov61_02180564 data_ov61_02180564: .space 0x4 .global data_ov61_02180568 data_ov61_02180568: .space 0x4 .global data_ov61_0218056c data_ov61_0218056c: .space 0x4 .global data_ov61_02180570 data_ov61_02180570: .space 0x4 .global data_ov61_02180574 data_ov61_02180574: .space 0x4 .global data_ov61_02180578 data_ov61_02180578: .space 0x4 .global data_ov61_0218057c data_ov61_0218057c: .space 0x4 .global data_ov61_02180580 data_ov61_02180580: .space 0x4 .global data_ov61_02180584 data_ov61_02180584: .space 0x4 .global data_ov61_02180588 data_ov61_02180588: .space 0x4 .global data_ov61_0218058c data_ov61_0218058c: .space 0x4 .global data_ov61_02180590 data_ov61_02180590: .space 0x4 .global data_ov61_02180594 data_ov61_02180594: .space 0x4 .global data_ov61_02180598 data_ov61_02180598: .space 0x4 .global data_ov61_0218059c data_ov61_0218059c: .space 0x4 .global data_ov61_021805a0 data_ov61_021805a0: .space 0x4 .global data_ov61_021805a4 data_ov61_021805a4: .space 0x4 .global data_ov61_021805a8 data_ov61_021805a8: .space 0x4 .global data_ov61_021805ac data_ov61_021805ac: .space 0x4 .global data_ov61_021805b0 data_ov61_021805b0: .space 0x4 .global data_ov61_021805b4 data_ov61_021805b4: .space 0x4 .global data_ov61_021805b8 data_ov61_021805b8: .space 0x4 .global data_ov61_021805bc data_ov61_021805bc: .space 0x4 .global data_ov61_021805c0 data_ov61_021805c0: .space 0x4 .global data_ov61_021805c4 data_ov61_021805c4: .space 0x4 .global data_ov61_021805c8 data_ov61_021805c8: .space 0x4 .global data_ov61_021805cc data_ov61_021805cc: .space 0x4 .global data_ov61_021805d0 data_ov61_021805d0: .space 0x4 .global data_ov61_021805d4 data_ov61_021805d4: .space 0x4 .global data_ov61_021805d8 data_ov61_021805d8: .space 0x4 .global data_ov61_021805dc data_ov61_021805dc: .space 0x4 .global data_ov61_021805e0 data_ov61_021805e0: .space 0x4 .global data_ov61_021805e4 data_ov61_021805e4: .space 0x4 .global data_ov61_021805e8 data_ov61_021805e8: .space 0x4 .global data_ov61_021805ec data_ov61_021805ec: .space 0x4 .global data_ov61_021805f0 data_ov61_021805f0: .space 0x4 .global data_ov61_021805f4 data_ov61_021805f4: .space 0x4 .global data_ov61_021805f8 data_ov61_021805f8: .space 0x4 .global data_ov61_021805fc data_ov61_021805fc: .space 0x4 .global data_ov61_02180600 data_ov61_02180600: .space 0x4 .global data_ov61_02180604 data_ov61_02180604: .space 0x4 .global data_ov61_02180608 data_ov61_02180608: .space 0x4 .global data_ov61_0218060c data_ov61_0218060c: .space 0x4 .global data_ov61_02180610 data_ov61_02180610: .space 0x4 .global data_ov61_02180614 data_ov61_02180614: .space 0x4 .global data_ov61_02180618 data_ov61_02180618: .space 0x4 .global data_ov61_0218061c data_ov61_0218061c: .space 0x4 .global data_ov61_02180620 data_ov61_02180620: .space 0x4 .global data_ov61_02180624 data_ov61_02180624: .space 0x4 .global data_ov61_02180628 data_ov61_02180628: .space 0x4 .global data_ov61_0218062c data_ov61_0218062c: .space 0x4 .global data_ov61_02180630 data_ov61_02180630: .space 0x4 .global data_ov61_02180634 data_ov61_02180634: .space 0x4 .global data_ov61_02180638 data_ov61_02180638: .space 0x4 .global data_ov61_0218063c data_ov61_0218063c: .space 0x4 .global data_ov61_02180640 data_ov61_02180640: .space 0x4 .global data_ov61_02180644 data_ov61_02180644: .space 0x4 .global data_ov61_02180648 data_ov61_02180648: .space 0x4 .global data_ov61_0218064c data_ov61_0218064c: .space 0x4 .global data_ov61_02180650 data_ov61_02180650: .space 0x4 .global data_ov61_02180654 data_ov61_02180654: .space 0x4 .global data_ov61_02180658 data_ov61_02180658: .space 0x4 .global data_ov61_0218065c data_ov61_0218065c: .space 0x4 .global data_ov61_02180660 data_ov61_02180660: .space 0x4 .global data_ov61_02180664 data_ov61_02180664: .space 0x4 .global data_ov61_02180668 data_ov61_02180668: .space 0x4 .global data_ov61_0218066c data_ov61_0218066c: .space 0x4 .global data_ov61_02180670 data_ov61_02180670: .space 0x4 .global data_ov61_02180674 data_ov61_02180674: .space 0x4 .global data_ov61_02180678 data_ov61_02180678: .space 0x4 .global data_ov61_0218067c data_ov61_0218067c: .space 0x4 .global data_ov61_02180680 data_ov61_02180680: .space 0x4 .global data_ov61_02180684 data_ov61_02180684: .space 0x4 .global data_ov61_02180688 data_ov61_02180688: .space 0x4 .global data_ov61_0218068c data_ov61_0218068c: .space 0x4 .global data_ov61_02180690 data_ov61_02180690: .space 0x4 .global data_ov61_02180694 data_ov61_02180694: .space 0x4 .global data_ov61_02180698 data_ov61_02180698: .space 0x4 .global data_ov61_0218069c data_ov61_0218069c: .space 0x4 .global data_ov61_021806a0 data_ov61_021806a0: .space 0x4 .global data_ov61_021806a4 data_ov61_021806a4: .space 0x4 .global data_ov61_021806a8 data_ov61_021806a8: .space 0x4 .global data_ov61_021806ac data_ov61_021806ac: .space 0x4 .global data_ov61_021806b0 data_ov61_021806b0: .space 0x4 .global data_ov61_021806b4 data_ov61_021806b4: .space 0x4 .global data_ov61_021806b8 data_ov61_021806b8: .space 0x4 .global data_ov61_021806bc data_ov61_021806bc: .space 0x4 .global data_ov61_021806c0 data_ov61_021806c0: .space 0x4 .global data_ov61_021806c4 data_ov61_021806c4: .space 0x4 .global data_ov61_021806c8 data_ov61_021806c8: .space 0x4 .global data_ov61_021806cc data_ov61_021806cc: .space 0x4 .global data_ov61_021806d0 data_ov61_021806d0: .space 0x4 .global data_ov61_021806d4 data_ov61_021806d4: .space 0x4 .global data_ov61_021806d8 data_ov61_021806d8: .space 0x4 .global data_ov61_021806dc data_ov61_021806dc: .space 0x4 .global data_ov61_021806e0 data_ov61_021806e0: .space 0x4 .global data_ov61_021806e4 data_ov61_021806e4: .space 0x4 .global data_ov61_021806e8 data_ov61_021806e8: .space 0x4 .global data_ov61_021806ec data_ov61_021806ec: .space 0x4 .global data_ov61_021806f0 data_ov61_021806f0: .space 0x4 .global data_ov61_021806f4 data_ov61_021806f4: .space 0x4 .global data_ov61_021806f8 data_ov61_021806f8: .space 0x4 .global data_ov61_021806fc data_ov61_021806fc: .space 0x4 .global data_ov61_02180700 data_ov61_02180700: .space 0x4 .global data_ov61_02180704 data_ov61_02180704: .space 0x4 .global data_ov61_02180708 data_ov61_02180708: .space 0x4 .global data_ov61_0218070c data_ov61_0218070c: .space 0x4 .global data_ov61_02180710 data_ov61_02180710: .space 0x4 .global data_ov61_02180714 data_ov61_02180714: .space 0x4 .global data_ov61_02180718 data_ov61_02180718: .space 0x4 .global data_ov61_0218071c data_ov61_0218071c: .space 0x4 .global data_ov61_02180720 data_ov61_02180720: .space 0x4 .global data_ov61_02180724 data_ov61_02180724: .space 0x4 .global data_ov61_02180728 data_ov61_02180728: .space 0x4 .global data_ov61_0218072c data_ov61_0218072c: .space 0x4 .global data_ov61_02180730 data_ov61_02180730: .space 0x4 .global data_ov61_02180734 data_ov61_02180734: .space 0x4 .global data_ov61_02180738 data_ov61_02180738: .space 0x4 .global data_ov61_0218073c data_ov61_0218073c: .space 0x4 .global data_ov61_02180740 data_ov61_02180740: .space 0x4 .global data_ov61_02180744 data_ov61_02180744: .space 0x4 .global data_ov61_02180748 data_ov61_02180748: .space 0x4 .global data_ov61_0218074c data_ov61_0218074c: .space 0x4 .global data_ov61_02180750 data_ov61_02180750: .space 0x4 .global data_ov61_02180754 data_ov61_02180754: .space 0x4 .global data_ov61_02180758 data_ov61_02180758: .space 0x4 .global data_ov61_0218075c data_ov61_0218075c: .space 0x4 .global data_ov61_02180760 data_ov61_02180760: .space 0x4 .global data_ov61_02180764 data_ov61_02180764: .space 0x4 .global data_ov61_02180768 data_ov61_02180768: .space 0x4 .global data_ov61_0218076c data_ov61_0218076c: .space 0x4 .global data_ov61_02180770 data_ov61_02180770: .space 0x4 .global data_ov61_02180774 data_ov61_02180774: .space 0x4 .global data_ov61_02180778 data_ov61_02180778: .space 0x4 .global data_ov61_0218077c data_ov61_0218077c: .space 0x4 .global data_ov61_02180780 data_ov61_02180780: .space 0x4 .global data_ov61_02180784 data_ov61_02180784: .space 0x4 .global data_ov61_02180788 data_ov61_02180788: .space 0x4 .global data_ov61_0218078c data_ov61_0218078c: .space 0x4 .global data_ov61_02180790 data_ov61_02180790: .space 0x4 .global data_ov61_02180794 data_ov61_02180794: .space 0x4 .global data_ov61_02180798 data_ov61_02180798: .space 0x4 .global data_ov61_0218079c data_ov61_0218079c: .space 0x4 .global data_ov61_021807a0 data_ov61_021807a0: .space 0x4 .global data_ov61_021807a4 data_ov61_021807a4: .space 0x4 .global data_ov61_021807a8 data_ov61_021807a8: .space 0x4 .global data_ov61_021807ac data_ov61_021807ac: .space 0x4 .global data_ov61_021807b0 data_ov61_021807b0: .space 0x4 .global data_ov61_021807b4 data_ov61_021807b4: .space 0x4 .global data_ov61_021807b8 data_ov61_021807b8: .space 0x4 .global data_ov61_021807bc data_ov61_021807bc: .space 0x4 .global data_ov61_021807c0 data_ov61_021807c0: .space 0x4 .global data_ov61_021807c4 data_ov61_021807c4: .space 0x4 .global data_ov61_021807c8 data_ov61_021807c8: .space 0x4 .global data_ov61_021807cc data_ov61_021807cc: .space 0x4 .global data_ov61_021807d0 data_ov61_021807d0: .space 0x4 .global data_ov61_021807d4 data_ov61_021807d4: .space 0x4 .global data_ov61_021807d8 data_ov61_021807d8: .space 0x4 .global data_ov61_021807dc data_ov61_021807dc: .space 0x4 .global data_ov61_021807e0 data_ov61_021807e0: .space 0x4 .global data_ov61_021807e4 data_ov61_021807e4: .space 0x4 .global data_ov61_021807e8 data_ov61_021807e8: .space 0x4 .global data_ov61_021807ec data_ov61_021807ec: .space 0x4 .global data_ov61_021807f0 data_ov61_021807f0: .space 0x4 .global data_ov61_021807f4 data_ov61_021807f4: .space 0x4 .global data_ov61_021807f8 data_ov61_021807f8: .space 0x4 .global data_ov61_021807fc data_ov61_021807fc: .space 0x4 .global data_ov61_02180800 data_ov61_02180800: .space 0x4 .global data_ov61_02180804 data_ov61_02180804: .space 0x4 .global data_ov61_02180808 data_ov61_02180808: .space 0x4 .global data_ov61_0218080c data_ov61_0218080c: .space 0x4 .global data_ov61_02180810 data_ov61_02180810: .space 0x4 .global data_ov61_02180814 data_ov61_02180814: .space 0x4 .global data_ov61_02180818 data_ov61_02180818: .space 0x4 .global data_ov61_0218081c data_ov61_0218081c: .space 0x4 .global data_ov61_02180820 data_ov61_02180820: .space 0x4 .global data_ov61_02180824 data_ov61_02180824: .space 0x4 .global data_ov61_02180828 data_ov61_02180828: .space 0x4 .global data_ov61_0218082c data_ov61_0218082c: .space 0x4 .global data_ov61_02180830 data_ov61_02180830: .space 0x4 .global data_ov61_02180834 data_ov61_02180834: .space 0x4 .global data_ov61_02180838 data_ov61_02180838: .space 0x4 .global data_ov61_0218083c data_ov61_0218083c: .space 0x4 .global data_ov61_02180840 data_ov61_02180840: .space 0x4 .global data_ov61_02180844 data_ov61_02180844: .space 0x4 .global data_ov61_02180848 data_ov61_02180848: .space 0x4 .global data_ov61_0218084c data_ov61_0218084c: .space 0x4 .global data_ov61_02180850 data_ov61_02180850: .space 0x4 .global data_ov61_02180854 data_ov61_02180854: .space 0x4 .global data_ov61_02180858 data_ov61_02180858: .space 0x4 .global data_ov61_0218085c data_ov61_0218085c: .space 0x4 .global data_ov61_02180860 data_ov61_02180860: .space 0x4 .global data_ov61_02180864 data_ov61_02180864: .space 0x4 .global data_ov61_02180868 data_ov61_02180868: .space 0x4 .global data_ov61_0218086c data_ov61_0218086c: .space 0x4 .global data_ov61_02180870 data_ov61_02180870: .space 0x4 .global data_ov61_02180874 data_ov61_02180874: .space 0x4 .global data_ov61_02180878 data_ov61_02180878: .space 0x4 .global data_ov61_0218087c data_ov61_0218087c: .space 0x4 .global data_ov61_02180880 data_ov61_02180880: .space 0x4 .global data_ov61_02180884 data_ov61_02180884: .space 0x4 .global data_ov61_02180888 data_ov61_02180888: .space 0x4 .global data_ov61_0218088c data_ov61_0218088c: .space 0x4 .global data_ov61_02180890 data_ov61_02180890: .space 0x4 .global data_ov61_02180894 data_ov61_02180894: .space 0x4 .global data_ov61_02180898 data_ov61_02180898: .space 0x4 .global data_ov61_0218089c data_ov61_0218089c: .space 0x4 .global data_ov61_021808a0 data_ov61_021808a0: .space 0x4 .global data_ov61_021808a4 data_ov61_021808a4: .space 0x4 .global data_ov61_021808a8 data_ov61_021808a8: .space 0x4 .global data_ov61_021808ac data_ov61_021808ac: .space 0x4 .global data_ov61_021808b0 data_ov61_021808b0: .space 0x4 .global data_ov61_021808b4 data_ov61_021808b4: .space 0x4 .global data_ov61_021808b8 data_ov61_021808b8: .space 0x4 .global data_ov61_021808bc data_ov61_021808bc: .space 0x4 .global data_ov61_021808c0 data_ov61_021808c0: .space 0x4 .global data_ov61_021808c4 data_ov61_021808c4: .space 0x4 .global data_ov61_021808c8 data_ov61_021808c8: .space 0x4 .global data_ov61_021808cc data_ov61_021808cc: .space 0x4 .global data_ov61_021808d0 data_ov61_021808d0: .space 0x4 .global data_ov61_021808d4 data_ov61_021808d4: .space 0x4 .global data_ov61_021808d8 data_ov61_021808d8: .space 0x4 .global data_ov61_021808dc data_ov61_021808dc: .space 0x4 .global data_ov61_021808e0 data_ov61_021808e0: .space 0x4 .global data_ov61_021808e4 data_ov61_021808e4: .space 0x4 .global data_ov61_021808e8 data_ov61_021808e8: .space 0x4 .global data_ov61_021808ec data_ov61_021808ec: .space 0x4 .global data_ov61_021808f0 data_ov61_021808f0: .space 0x4 .global data_ov61_021808f4 data_ov61_021808f4: .space 0x4 .global data_ov61_021808f8 data_ov61_021808f8: .space 0x4 .global data_ov61_021808fc data_ov61_021808fc: .space 0x4 .global data_ov61_02180900 data_ov61_02180900: .space 0x4 .global data_ov61_02180904 data_ov61_02180904: .space 0x4 .global data_ov61_02180908 data_ov61_02180908: .space 0x4 .global data_ov61_0218090c data_ov61_0218090c: .space 0x4 .global data_ov61_02180910 data_ov61_02180910: .space 0x4 .global data_ov61_02180914 data_ov61_02180914: .space 0x4 .global data_ov61_02180918 data_ov61_02180918: .space 0x4 .global data_ov61_0218091c data_ov61_0218091c: .space 0x4 .global data_ov61_02180920 data_ov61_02180920: .space 0x4 .global data_ov61_02180924 data_ov61_02180924: .space 0x4 .global data_ov61_02180928 data_ov61_02180928: .space 0x4 .global data_ov61_0218092c data_ov61_0218092c: .space 0x4 .global data_ov61_02180930 data_ov61_02180930: .space 0x4 .global data_ov61_02180934 data_ov61_02180934: .space 0x4 .global data_ov61_02180938 data_ov61_02180938: .space 0x4 .global data_ov61_0218093c data_ov61_0218093c: .space 0x4 .global data_ov61_02180940 data_ov61_02180940: .space 0x4 .global data_ov61_02180944 data_ov61_02180944: .space 0x4 .global data_ov61_02180948 data_ov61_02180948: .space 0x4 .global data_ov61_0218094c data_ov61_0218094c: .space 0x4 .global data_ov61_02180950 data_ov61_02180950: .space 0x4 .global data_ov61_02180954 data_ov61_02180954: .space 0x4 .global data_ov61_02180958 data_ov61_02180958: .space 0x4 .global data_ov61_0218095c data_ov61_0218095c: .space 0x4 .global data_ov61_02180960 data_ov61_02180960: .space 0x4 .global data_ov61_02180964 data_ov61_02180964: .space 0x4 .global data_ov61_02180968 data_ov61_02180968: .space 0x4 .global data_ov61_0218096c data_ov61_0218096c: .space 0x4 .global data_ov61_02180970 data_ov61_02180970: .space 0x4 .global data_ov61_02180974 data_ov61_02180974: .space 0x4 .global data_ov61_02180978 data_ov61_02180978: .space 0x4 .global data_ov61_0218097c data_ov61_0218097c: .space 0x4 .global data_ov61_02180980 data_ov61_02180980: .space 0x4 .global data_ov61_02180984 data_ov61_02180984: .space 0x4 .global data_ov61_02180988 data_ov61_02180988: .space 0x4 .global data_ov61_0218098c data_ov61_0218098c: .space 0x4 .global data_ov61_02180990 data_ov61_02180990: .space 0x4 .global data_ov61_02180994 data_ov61_02180994: .space 0x4 .global data_ov61_02180998 data_ov61_02180998: .space 0x4 .global data_ov61_0218099c data_ov61_0218099c: .space 0x4 .global data_ov61_021809a0 data_ov61_021809a0: .space 0x4 .global data_ov61_021809a4 data_ov61_021809a4: .space 0x4 .global data_ov61_021809a8 data_ov61_021809a8: .space 0x4 .global data_ov61_021809ac data_ov61_021809ac: .space 0x4 .global data_ov61_021809b0 data_ov61_021809b0: .space 0x4 .global data_ov61_021809b4 data_ov61_021809b4: .space 0x4 .global data_ov61_021809b8 data_ov61_021809b8: .space 0x4 .global data_ov61_021809bc data_ov61_021809bc: .space 0x4 .global data_ov61_021809c0 data_ov61_021809c0: .space 0x4 .global data_ov61_021809c4 data_ov61_021809c4: .space 0x4 .global data_ov61_021809c8 data_ov61_021809c8: .space 0x4 .global data_ov61_021809cc data_ov61_021809cc: .space 0x4 .global data_ov61_021809d0 data_ov61_021809d0: .space 0x4 .global data_ov61_021809d4 data_ov61_021809d4: .space 0x4 .global data_ov61_021809d8 data_ov61_021809d8: .space 0x4 .global data_ov61_021809dc data_ov61_021809dc: .space 0x4 .global data_ov61_021809e0 data_ov61_021809e0: .space 0x4 .global data_ov61_021809e4 data_ov61_021809e4: .space 0x4 .global data_ov61_021809e8 data_ov61_021809e8: .space 0x4 .global data_ov61_021809ec data_ov61_021809ec: .space 0x4 .global data_ov61_021809f0 data_ov61_021809f0: .space 0x4 .global data_ov61_021809f4 data_ov61_021809f4: .space 0x4 .global data_ov61_021809f8 data_ov61_021809f8: .space 0x4 .global data_ov61_021809fc data_ov61_021809fc: .space 0x4 .global data_ov61_02180a00 data_ov61_02180a00: .space 0x4 .global data_ov61_02180a04 data_ov61_02180a04: .space 0x4 .global data_ov61_02180a08 data_ov61_02180a08: .space 0x4 .global data_ov61_02180a0c data_ov61_02180a0c: .space 0x4 .global data_ov61_02180a10 data_ov61_02180a10: .space 0x4 .global data_ov61_02180a14 data_ov61_02180a14: .space 0x4 .global data_ov61_02180a18 data_ov61_02180a18: .space 0x4 .global data_ov61_02180a1c data_ov61_02180a1c: .space 0x4 .global data_ov61_02180a20 data_ov61_02180a20: .space 0x4 .global data_ov61_02180a24 data_ov61_02180a24: .space 0x4 .global data_ov61_02180a28 data_ov61_02180a28: .space 0x4 .global data_ov61_02180a2c data_ov61_02180a2c: .space 0x4 .global data_ov61_02180a30 data_ov61_02180a30: .space 0x4 .global data_ov61_02180a34 data_ov61_02180a34: .space 0x4 .global data_ov61_02180a38 data_ov61_02180a38: .space 0x4 .global data_ov61_02180a3c data_ov61_02180a3c: .space 0x4 .global data_ov61_02180a40 data_ov61_02180a40: .space 0x4 .global data_ov61_02180a44 data_ov61_02180a44: .space 0x4 .global data_ov61_02180a48 data_ov61_02180a48: .space 0x4 .global data_ov61_02180a4c data_ov61_02180a4c: .space 0x4 .global data_ov61_02180a50 data_ov61_02180a50: .space 0x4 .global data_ov61_02180a54 data_ov61_02180a54: .space 0x4 .global data_ov61_02180a58 data_ov61_02180a58: .space 0x4 .global data_ov61_02180a5c data_ov61_02180a5c: .space 0x4 .global data_ov61_02180a60 data_ov61_02180a60: .space 0x4 .global data_ov61_02180a64 data_ov61_02180a64: .space 0x4 .global data_ov61_02180a68 data_ov61_02180a68: .space 0x4 .global data_ov61_02180a6c data_ov61_02180a6c: .space 0x4 .global data_ov61_02180a70 data_ov61_02180a70: .space 0x4 .global data_ov61_02180a74 data_ov61_02180a74: .space 0x4 .global data_ov61_02180a78 data_ov61_02180a78: .space 0x4 .global data_ov61_02180a7c data_ov61_02180a7c: .space 0x4 .global data_ov61_02180a80 data_ov61_02180a80: .space 0x4 .global data_ov61_02180a84 data_ov61_02180a84: .space 0x4 .global data_ov61_02180a88 data_ov61_02180a88: .space 0x4 .global data_ov61_02180a8c data_ov61_02180a8c: .space 0x4 .global data_ov61_02180a90 data_ov61_02180a90: .space 0x4 .global data_ov61_02180a94 data_ov61_02180a94: .space 0x4 .global data_ov61_02180a98 data_ov61_02180a98: .space 0x4 .global data_ov61_02180a9c data_ov61_02180a9c: .space 0x4 .global data_ov61_02180aa0 data_ov61_02180aa0: .space 0x4 .global data_ov61_02180aa4 data_ov61_02180aa4: .space 0x4 .global data_ov61_02180aa8 data_ov61_02180aa8: .space 0x4 .global data_ov61_02180aac data_ov61_02180aac: .space 0x4 .global data_ov61_02180ab0 data_ov61_02180ab0: .space 0x4 .global data_ov61_02180ab4 data_ov61_02180ab4: .space 0x4 .global data_ov61_02180ab8 data_ov61_02180ab8: .space 0x4 .global data_ov61_02180abc data_ov61_02180abc: .space 0x4 .global data_ov61_02180ac0 data_ov61_02180ac0: .space 0x4 .global data_ov61_02180ac4 data_ov61_02180ac4: .space 0x4 .global data_ov61_02180ac8 data_ov61_02180ac8: .space 0x4 .global data_ov61_02180acc data_ov61_02180acc: .space 0x4 .global data_ov61_02180ad0 data_ov61_02180ad0: .space 0x4 .global data_ov61_02180ad4 data_ov61_02180ad4: .space 0x4 .global data_ov61_02180ad8 data_ov61_02180ad8: .space 0x4 .global data_ov61_02180adc data_ov61_02180adc: .space 0x4 .global data_ov61_02180ae0 data_ov61_02180ae0: .space 0x4 .global data_ov61_02180ae4 data_ov61_02180ae4: .space 0x4 .global data_ov61_02180ae8 data_ov61_02180ae8: .space 0x4 .global data_ov61_02180aec data_ov61_02180aec: .space 0x4 .global data_ov61_02180af0 data_ov61_02180af0: .space 0x4 .global data_ov61_02180af4 data_ov61_02180af4: .space 0x4 .global data_ov61_02180af8 data_ov61_02180af8: .space 0x4 .global data_ov61_02180afc data_ov61_02180afc: .space 0x4 .global data_ov61_02180b00 data_ov61_02180b00: .space 0x4 .global data_ov61_02180b04 data_ov61_02180b04: .space 0x4 .global data_ov61_02180b08 data_ov61_02180b08: .space 0x4 .global data_ov61_02180b0c data_ov61_02180b0c: .space 0x4 .global data_ov61_02180b10 data_ov61_02180b10: .space 0x4 .global data_ov61_02180b14 data_ov61_02180b14: .space 0x4 .global data_ov61_02180b18 data_ov61_02180b18: .space 0x4 .global data_ov61_02180b1c data_ov61_02180b1c: .space 0x4 .global data_ov61_02180b20 data_ov61_02180b20: .space 0x4 .global data_ov61_02180b24 data_ov61_02180b24: .space 0x4 .global data_ov61_02180b28 data_ov61_02180b28: .space 0x4 .global data_ov61_02180b2c data_ov61_02180b2c: .space 0x4 .global data_ov61_02180b30 data_ov61_02180b30: .space 0x4 .global data_ov61_02180b34 data_ov61_02180b34: .space 0x4 .global data_ov61_02180b38 data_ov61_02180b38: .space 0x4 .global data_ov61_02180b3c data_ov61_02180b3c: .space 0x4 .global data_ov61_02180b40 data_ov61_02180b40: .space 0x4 .global data_ov61_02180b44 data_ov61_02180b44: .space 0x4 .global data_ov61_02180b48 data_ov61_02180b48: .space 0x4 .global data_ov61_02180b4c data_ov61_02180b4c: .space 0x4 .global data_ov61_02180b50 data_ov61_02180b50: .space 0x4 .global data_ov61_02180b54 data_ov61_02180b54: .space 0x4 .global data_ov61_02180b58 data_ov61_02180b58: .space 0x4 .global data_ov61_02180b5c data_ov61_02180b5c: .space 0x4 .global data_ov61_02180b60 data_ov61_02180b60: .space 0x4 .global data_ov61_02180b64 data_ov61_02180b64: .space 0x4 .global data_ov61_02180b68 data_ov61_02180b68: .space 0x4 .global data_ov61_02180b6c data_ov61_02180b6c: .space 0x4 .global data_ov61_02180b70 data_ov61_02180b70: .space 0x4 .global data_ov61_02180b74 data_ov61_02180b74: .space 0x4 .global data_ov61_02180b78 data_ov61_02180b78: .space 0x4 .global data_ov61_02180b7c data_ov61_02180b7c: .space 0x4 .global data_ov61_02180b80 data_ov61_02180b80: .space 0x4 .global data_ov61_02180b84 data_ov61_02180b84: .space 0x4 .global data_ov61_02180b88 data_ov61_02180b88: .space 0x4 .global data_ov61_02180b8c data_ov61_02180b8c: .space 0x4 .global data_ov61_02180b90 data_ov61_02180b90: .space 0x4 .global data_ov61_02180b94 data_ov61_02180b94: .space 0x4 .global data_ov61_02180b98 data_ov61_02180b98: .space 0x4 .global data_ov61_02180b9c data_ov61_02180b9c: .space 0x4 .global data_ov61_02180ba0 data_ov61_02180ba0: .space 0x4 .global data_ov61_02180ba4 data_ov61_02180ba4: .space 0x4 .global data_ov61_02180ba8 data_ov61_02180ba8: .space 0x4 .global data_ov61_02180bac data_ov61_02180bac: .space 0x4 .global data_ov61_02180bb0 data_ov61_02180bb0: .space 0x4 .global data_ov61_02180bb4 data_ov61_02180bb4: .space 0x4 .global data_ov61_02180bb8 data_ov61_02180bb8: .space 0x4 .global data_ov61_02180bbc data_ov61_02180bbc: .space 0x4 .global data_ov61_02180bc0 data_ov61_02180bc0: .space 0x4 .global data_ov61_02180bc4 data_ov61_02180bc4: .space 0x4 .global data_ov61_02180bc8 data_ov61_02180bc8: .space 0x4 .global data_ov61_02180bcc data_ov61_02180bcc: .space 0x4 .global data_ov61_02180bd0 data_ov61_02180bd0: .space 0x4 .global data_ov61_02180bd4 data_ov61_02180bd4: .space 0x4 .global data_ov61_02180bd8 data_ov61_02180bd8: .space 0x4 .global data_ov61_02180bdc data_ov61_02180bdc: .space 0x4 .global data_ov61_02180be0 data_ov61_02180be0: .space 0x4 .global data_ov61_02180be4 data_ov61_02180be4: .space 0x4 .global data_ov61_02180be8 data_ov61_02180be8: .space 0x4 .global data_ov61_02180bec data_ov61_02180bec: .space 0x4 .global data_ov61_02180bf0 data_ov61_02180bf0: .space 0x4 .global data_ov61_02180bf4 data_ov61_02180bf4: .space 0x4 .global data_ov61_02180bf8 data_ov61_02180bf8: .space 0x4 .global data_ov61_02180bfc data_ov61_02180bfc: .space 0x4 .global data_ov61_02180c00 data_ov61_02180c00: .space 0x4 .global data_ov61_02180c04 data_ov61_02180c04: .space 0x4 .global data_ov61_02180c08 data_ov61_02180c08: .space 0x4 .global data_ov61_02180c0c data_ov61_02180c0c: .space 0x4 .global data_ov61_02180c10 data_ov61_02180c10: .space 0x4 .global data_ov61_02180c14 data_ov61_02180c14: .space 0x4 .global data_ov61_02180c18 data_ov61_02180c18: .space 0x4 .global data_ov61_02180c1c data_ov61_02180c1c: .space 0x4 .global data_ov61_02180c20 data_ov61_02180c20: .space 0x4 .global data_ov61_02180c24 data_ov61_02180c24: .space 0x4 .global data_ov61_02180c28 data_ov61_02180c28: .space 0x4 .global data_ov61_02180c2c data_ov61_02180c2c: .space 0x4 .global data_ov61_02180c30 data_ov61_02180c30: .space 0x4 .global data_ov61_02180c34 data_ov61_02180c34: .space 0x4 .global data_ov61_02180c38 data_ov61_02180c38: .space 0x4 .global data_ov61_02180c3c data_ov61_02180c3c: .space 0x4 .global data_ov61_02180c40 data_ov61_02180c40: .space 0x4 .global data_ov61_02180c44 data_ov61_02180c44: .space 0x4 .global data_ov61_02180c48 data_ov61_02180c48: .space 0x4 .global data_ov61_02180c4c data_ov61_02180c4c: .space 0x4 .global data_ov61_02180c50 data_ov61_02180c50: .space 0x4 .global data_ov61_02180c54 data_ov61_02180c54: .space 0x4 .global data_ov61_02180c58 data_ov61_02180c58: .space 0x4 .global data_ov61_02180c5c data_ov61_02180c5c: .space 0x4 .global data_ov61_02180c60 data_ov61_02180c60: .space 0x4 .global data_ov61_02180c64 data_ov61_02180c64: .space 0x4 .global data_ov61_02180c68 data_ov61_02180c68: .space 0x4 .global data_ov61_02180c6c data_ov61_02180c6c: .space 0x4 .global data_ov61_02180c70 data_ov61_02180c70: .space 0x4 .global data_ov61_02180c74 data_ov61_02180c74: .space 0x4 .global data_ov61_02180c78 data_ov61_02180c78: .space 0x4 .global data_ov61_02180c7c data_ov61_02180c7c: .space 0x4 .global data_ov61_02180c80 data_ov61_02180c80: .space 0x4 .global data_ov61_02180c84 data_ov61_02180c84: .space 0x4 .global data_ov61_02180c88 data_ov61_02180c88: .space 0x4 .global data_ov61_02180c8c data_ov61_02180c8c: .space 0x4 .global data_ov61_02180c90 data_ov61_02180c90: .space 0x4 .global data_ov61_02180c94 data_ov61_02180c94: .space 0x4 .global data_ov61_02180c98 data_ov61_02180c98: .space 0x4 .global data_ov61_02180c9c data_ov61_02180c9c: .space 0x4 .global data_ov61_02180ca0 data_ov61_02180ca0: .space 0x4 .global data_ov61_02180ca4 data_ov61_02180ca4: .space 0x4 .global data_ov61_02180ca8 data_ov61_02180ca8: .space 0x4 .global data_ov61_02180cac data_ov61_02180cac: .space 0x4 .global data_ov61_02180cb0 data_ov61_02180cb0: .space 0x4 .global data_ov61_02180cb4 data_ov61_02180cb4: .space 0x4 .global data_ov61_02180cb8 data_ov61_02180cb8: .space 0x4 .global data_ov61_02180cbc data_ov61_02180cbc: .space 0x4 .global data_ov61_02180cc0 data_ov61_02180cc0: .space 0x4 .global data_ov61_02180cc4 data_ov61_02180cc4: .space 0x4 .global data_ov61_02180cc8 data_ov61_02180cc8: .space 0x4 .global data_ov61_02180ccc data_ov61_02180ccc: .space 0x4 .global data_ov61_02180cd0 data_ov61_02180cd0: .space 0x4 .global data_ov61_02180cd4 data_ov61_02180cd4: .space 0x4 .global data_ov61_02180cd8 data_ov61_02180cd8: .space 0x4 .global data_ov61_02180cdc data_ov61_02180cdc: .space 0x2 .global data_ov61_02180cde data_ov61_02180cde: .space 0x2 .global data_ov61_02180ce0 data_ov61_02180ce0: .space 0x4 .global data_ov61_02180ce4 data_ov61_02180ce4: .space 0x4 .global data_ov61_02180ce8 data_ov61_02180ce8: .space 0x4 .global data_ov61_02180cec data_ov61_02180cec: .space 0x4 .global data_ov61_02180cf0 data_ov61_02180cf0: .space 0x4 .global data_ov61_02180cf4 data_ov61_02180cf4: .space 0x4 .global data_ov61_02180cf8 data_ov61_02180cf8: .space 0x4 .global data_ov61_02180cfc data_ov61_02180cfc: .space 0x4 .global data_ov61_02180d00 data_ov61_02180d00: .space 0x4 .global data_ov61_02180d04 data_ov61_02180d04: .space 0x4 .global data_ov61_02180d08 data_ov61_02180d08: .space 0x4 .global data_ov61_02180d0c data_ov61_02180d0c: .space 0x4 .global data_ov61_02180d10 data_ov61_02180d10: .space 0x4 .global data_ov61_02180d14 data_ov61_02180d14: .space 0x4 .global data_ov61_02180d18 data_ov61_02180d18: .space 0x4 .global data_ov61_02180d1c data_ov61_02180d1c: .space 0x4 .global data_ov61_02180d20 data_ov61_02180d20: .space 0x4 .global data_ov61_02180d24 data_ov61_02180d24: .space 0x4 .global data_ov61_02180d28 data_ov61_02180d28: .space 0x4 .global data_ov61_02180d2c data_ov61_02180d2c: .space 0x4 .global data_ov61_02180d30 data_ov61_02180d30: .space 0x4 .global data_ov61_02180d34 data_ov61_02180d34: .space 0x4 .global data_ov61_02180d38 data_ov61_02180d38: .space 0x4 .global data_ov61_02180d3c data_ov61_02180d3c: .space 0x4 .global data_ov61_02180d40 data_ov61_02180d40: .space 0x4 .global data_ov61_02180d44 data_ov61_02180d44: .space 0x4 .global data_ov61_02180d48 data_ov61_02180d48: .space 0x4 .global data_ov61_02180d4c data_ov61_02180d4c: .space 0x4 .global data_ov61_02180d50 data_ov61_02180d50: .space 0x4 .global data_ov61_02180d54 data_ov61_02180d54: .space 0x4 .global data_ov61_02180d58 data_ov61_02180d58: .space 0x4 .global data_ov61_02180d5c data_ov61_02180d5c: .space 0x4 .global data_ov61_02180d60 data_ov61_02180d60: .space 0x4 .global data_ov61_02180d64 data_ov61_02180d64: .space 0x4 .global data_ov61_02180d68 data_ov61_02180d68: .space 0x4 .global data_ov61_02180d6c data_ov61_02180d6c: .space 0x4 .global data_ov61_02180d70 data_ov61_02180d70: .space 0x4 .global data_ov61_02180d74 data_ov61_02180d74: .space 0x4 .global data_ov61_02180d78 data_ov61_02180d78: .space 0x4 .global data_ov61_02180d7c data_ov61_02180d7c: .space 0x4 .global data_ov61_02180d80 data_ov61_02180d80: .space 0x4 .global data_ov61_02180d84 data_ov61_02180d84: .space 0x4 .global data_ov61_02180d88 data_ov61_02180d88: .space 0x4 .global data_ov61_02180d8c data_ov61_02180d8c: .space 0x4 .global data_ov61_02180d90 data_ov61_02180d90: .space 0x4 .global data_ov61_02180d94 data_ov61_02180d94: .space 0x4 .global data_ov61_02180d98 data_ov61_02180d98: .space 0x4 .global data_ov61_02180d9c data_ov61_02180d9c: .space 0x4 .global data_ov61_02180da0 data_ov61_02180da0: .space 0x4 .global data_ov61_02180da4 data_ov61_02180da4: .space 0x4 .global data_ov61_02180da8 data_ov61_02180da8: .space 0x4 .global data_ov61_02180dac data_ov61_02180dac: .space 0x4 .global data_ov61_02180db0 data_ov61_02180db0: .space 0x4 .global data_ov61_02180db4 data_ov61_02180db4: .space 0x4 .global data_ov61_02180db8 data_ov61_02180db8: .space 0x4 .global data_ov61_02180dbc data_ov61_02180dbc: .space 0x4 .global data_ov61_02180dc0 data_ov61_02180dc0: .space 0x4 .global data_ov61_02180dc4 data_ov61_02180dc4: .space 0x4 .global data_ov61_02180dc8 data_ov61_02180dc8: .space 0x4 .global data_ov61_02180dcc data_ov61_02180dcc: .space 0x4 .global data_ov61_02180dd0 data_ov61_02180dd0: .space 0x4 .global data_ov61_02180dd4 data_ov61_02180dd4: .space 0x4 .global data_ov61_02180dd8 data_ov61_02180dd8: .space 0x4 .global data_ov61_02180ddc data_ov61_02180ddc: .space 0x4 .global data_ov61_02180de0 data_ov61_02180de0: .space 0x4 .global data_ov61_02180de4 data_ov61_02180de4: .space 0x4 .global data_ov61_02180de8 data_ov61_02180de8: .space 0x4 .global data_ov61_02180dec data_ov61_02180dec: .space 0x4 .global data_ov61_02180df0 data_ov61_02180df0: .space 0x4 .global data_ov61_02180df4 data_ov61_02180df4: .space 0x4 .global data_ov61_02180df8 data_ov61_02180df8: .space 0x4 .global data_ov61_02180dfc data_ov61_02180dfc: .space 0x4 .global data_ov61_02180e00 data_ov61_02180e00: .space 0x4 .global data_ov61_02180e04 data_ov61_02180e04: .space 0x4 .global data_ov61_02180e08 data_ov61_02180e08: .space 0x4 .global data_ov61_02180e0c data_ov61_02180e0c: .space 0x4 .global data_ov61_02180e10 data_ov61_02180e10: .space 0x4 .global data_ov61_02180e14 data_ov61_02180e14: .space 0x4 .global data_ov61_02180e18 data_ov61_02180e18: .space 0x4 .global data_ov61_02180e1c data_ov61_02180e1c: .space 0x4 .global data_ov61_02180e20 data_ov61_02180e20: .space 0x4 .global data_ov61_02180e24 data_ov61_02180e24: .space 0x4 .global data_ov61_02180e28 data_ov61_02180e28: .space 0x4 .global data_ov61_02180e2c data_ov61_02180e2c: .space 0x4 .global data_ov61_02180e30 data_ov61_02180e30: .space 0x4 .global data_ov61_02180e34 data_ov61_02180e34: .space 0x4 .global data_ov61_02180e38 data_ov61_02180e38: .space 0x4 .global data_ov61_02180e3c data_ov61_02180e3c: .space 0x4 .global data_ov61_02180e40 data_ov61_02180e40: .space 0x4 .global data_ov61_02180e44 data_ov61_02180e44: .space 0x4 .global data_ov61_02180e48 data_ov61_02180e48: .space 0x4 .global data_ov61_02180e4c data_ov61_02180e4c: .space 0x4 .global data_ov61_02180e50 data_ov61_02180e50: .space 0x4 .global data_ov61_02180e54 data_ov61_02180e54: .space 0x4 .global data_ov61_02180e58 data_ov61_02180e58: .space 0x4 .global data_ov61_02180e5c data_ov61_02180e5c: .space 0x4 .global data_ov61_02180e60 data_ov61_02180e60: .space 0x4 .global data_ov61_02180e64 data_ov61_02180e64: .space 0x4 .global data_ov61_02180e68 data_ov61_02180e68: .space 0x4 .global data_ov61_02180e6c data_ov61_02180e6c: .space 0x4 .global data_ov61_02180e70 data_ov61_02180e70: .space 0x4 .global data_ov61_02180e74 data_ov61_02180e74: .space 0x4 .global data_ov61_02180e78 data_ov61_02180e78: .space 0x4 .global data_ov61_02180e7c data_ov61_02180e7c: .space 0x4 .global data_ov61_02180e80 data_ov61_02180e80: .space 0x4 .global data_ov61_02180e84 data_ov61_02180e84: .space 0x4 .global data_ov61_02180e88 data_ov61_02180e88: .space 0x4 .global data_ov61_02180e8c data_ov61_02180e8c: .space 0x4 .global data_ov61_02180e90 data_ov61_02180e90: .space 0x4 .global data_ov61_02180e94 data_ov61_02180e94: .space 0x4 .global data_ov61_02180e98 data_ov61_02180e98: .space 0x4 .global data_ov61_02180e9c data_ov61_02180e9c: .space 0x4 .global data_ov61_02180ea0 data_ov61_02180ea0: .space 0x2 .global data_ov61_02180ea2 data_ov61_02180ea2: .space 0x2 .global data_ov61_02180ea4 data_ov61_02180ea4: .space 0x2 .global data_ov61_02180ea6 data_ov61_02180ea6: .space 0x2 .global data_ov61_02180ea8 data_ov61_02180ea8: .space 0x2 .global data_ov61_02180eaa data_ov61_02180eaa: .space 0x2 .global data_ov61_02180eac data_ov61_02180eac: .space 0x2 .global data_ov61_02180eae data_ov61_02180eae: .space 0x2 .global data_ov61_02180eb0 data_ov61_02180eb0: .space 0x2 .global data_ov61_02180eb2 data_ov61_02180eb2: .space 0x2 .global data_ov61_02180eb4 data_ov61_02180eb4: .space 0x2 .global data_ov61_02180eb6 data_ov61_02180eb6: .space 0x2 .global data_ov61_02180eb8 data_ov61_02180eb8: .space 0x2 .global data_ov61_02180eba data_ov61_02180eba: .space 0x2 .global data_ov61_02180ebc data_ov61_02180ebc: .space 0x2 .global data_ov61_02180ebe data_ov61_02180ebe: .space 0x2 .global data_ov61_02180ec0 data_ov61_02180ec0: .space 0x2 .global data_ov61_02180ec2 data_ov61_02180ec2: .space 0x2 .global data_ov61_02180ec4 data_ov61_02180ec4: .space 0x2 .global data_ov61_02180ec6 data_ov61_02180ec6: .space 0x2 .global data_ov61_02180ec8 data_ov61_02180ec8: .space 0x2 .global data_ov61_02180eca data_ov61_02180eca: .space 0x2 .global data_ov61_02180ecc data_ov61_02180ecc: .space 0x2 .global data_ov61_02180ece data_ov61_02180ece: .space 0x2 .global data_ov61_02180ed0 data_ov61_02180ed0: .space 0x2 .global data_ov61_02180ed2 data_ov61_02180ed2: .space 0x2 .global data_ov61_02180ed4 data_ov61_02180ed4: .space 0x2 .global data_ov61_02180ed6 data_ov61_02180ed6: .space 0x2 .global data_ov61_02180ed8 data_ov61_02180ed8: .space 0x2 .global data_ov61_02180eda data_ov61_02180eda: .space 0x2 .global data_ov61_02180edc data_ov61_02180edc: .space 0x2 .global data_ov61_02180ede data_ov61_02180ede: .space 0x2 .global data_ov61_02180ee0 data_ov61_02180ee0: .space 0x2 .global data_ov61_02180ee2 data_ov61_02180ee2: .space 0x2 .global data_ov61_02180ee4 data_ov61_02180ee4: .space 0x2 .global data_ov61_02180ee6 data_ov61_02180ee6: .space 0x2 .global data_ov61_02180ee8 data_ov61_02180ee8: .space 0x2 .global data_ov61_02180eea data_ov61_02180eea: .space 0x2 .global data_ov61_02180eec data_ov61_02180eec: .space 0x2 .global data_ov61_02180eee data_ov61_02180eee: .space 0x2 .global data_ov61_02180ef0 data_ov61_02180ef0: .space 0x2 .global data_ov61_02180ef2 data_ov61_02180ef2: .space 0x2 .global data_ov61_02180ef4 data_ov61_02180ef4: .space 0x2 .global data_ov61_02180ef6 data_ov61_02180ef6: .space 0x2 .global data_ov61_02180ef8 data_ov61_02180ef8: .space 0x2 .global data_ov61_02180efa data_ov61_02180efa: .space 0x2 .global data_ov61_02180efc data_ov61_02180efc: .space 0x2 .global data_ov61_02180efe data_ov61_02180efe: .space 0x2 .global data_ov61_02180f00 data_ov61_02180f00: .space 0x2 .global data_ov61_02180f02 data_ov61_02180f02: .space 0x2 .global data_ov61_02180f04 data_ov61_02180f04: .space 0x2 .global data_ov61_02180f06 data_ov61_02180f06: .space 0x2 .global data_ov61_02180f08 data_ov61_02180f08: .space 0x2 .global data_ov61_02180f0a data_ov61_02180f0a: .space 0x2 .global data_ov61_02180f0c data_ov61_02180f0c: .space 0x2 .global data_ov61_02180f0e data_ov61_02180f0e: .space 0x2 .global data_ov61_02180f10 data_ov61_02180f10: .space 0x2 .global data_ov61_02180f12 data_ov61_02180f12: .space 0x2 .global data_ov61_02180f14 data_ov61_02180f14: .space 0x2 .global data_ov61_02180f16 data_ov61_02180f16: .space 0x2 .global data_ov61_02180f18 data_ov61_02180f18: .space 0x2 .global data_ov61_02180f1a data_ov61_02180f1a: .space 0x2 .global data_ov61_02180f1c data_ov61_02180f1c: .space 0x2 .global data_ov61_02180f1e data_ov61_02180f1e: .space 0x2 .global data_ov61_02180f20 data_ov61_02180f20: .space 0x2 .global data_ov61_02180f22 data_ov61_02180f22: .space 0x2 .global data_ov61_02180f24 data_ov61_02180f24: .space 0x2 .global data_ov61_02180f26 data_ov61_02180f26: .space 0x2 .global data_ov61_02180f28 data_ov61_02180f28: .space 0x2 .global data_ov61_02180f2a data_ov61_02180f2a: .space 0x2 .global data_ov61_02180f2c data_ov61_02180f2c: .space 0x2 .global data_ov61_02180f2e data_ov61_02180f2e: .space 0x2 .global data_ov61_02180f30 data_ov61_02180f30: .space 0x2 .global data_ov61_02180f32 data_ov61_02180f32: .space 0x2 .global data_ov61_02180f34 data_ov61_02180f34: .space 0x2 .global data_ov61_02180f36 data_ov61_02180f36: .space 0x2 .global data_ov61_02180f38 data_ov61_02180f38: .space 0x2 .global data_ov61_02180f3a data_ov61_02180f3a: .space 0x2 .global data_ov61_02180f3c data_ov61_02180f3c: .space 0x2 .global data_ov61_02180f3e data_ov61_02180f3e: .space 0x2 .global data_ov61_02180f40 data_ov61_02180f40: .space 0x2 .global data_ov61_02180f42 data_ov61_02180f42: .space 0x2 .global data_ov61_02180f44 data_ov61_02180f44: .space 0x2 .global data_ov61_02180f46 data_ov61_02180f46: .space 0x2 .global data_ov61_02180f48 data_ov61_02180f48: .space 0x2 .global data_ov61_02180f4a data_ov61_02180f4a: .space 0x2 .global data_ov61_02180f4c data_ov61_02180f4c: .space 0x2 .global data_ov61_02180f4e data_ov61_02180f4e: .space 0x2 .global data_ov61_02180f50 data_ov61_02180f50: .space 0x2 .global data_ov61_02180f52 data_ov61_02180f52: .space 0x2 .global data_ov61_02180f54 data_ov61_02180f54: .space 0x2 .global data_ov61_02180f56 data_ov61_02180f56: .space 0x2 .global data_ov61_02180f58 data_ov61_02180f58: .space 0x2 .global data_ov61_02180f5a data_ov61_02180f5a: .space 0x2 .global data_ov61_02180f5c data_ov61_02180f5c: .space 0x2 .global data_ov61_02180f5e data_ov61_02180f5e: .space 0x2 .global data_ov61_02180f60 data_ov61_02180f60: .space 0x2 .global data_ov61_02180f62 data_ov61_02180f62: .space 0x2 .global data_ov61_02180f64 data_ov61_02180f64: .space 0x2 .global data_ov61_02180f66 data_ov61_02180f66: .space 0x2 .global data_ov61_02180f68 data_ov61_02180f68: .space 0x2 .global data_ov61_02180f6a data_ov61_02180f6a: .space 0x2 .global data_ov61_02180f6c data_ov61_02180f6c: .space 0x2 .global data_ov61_02180f6e data_ov61_02180f6e: .space 0x2 .global data_ov61_02180f70 data_ov61_02180f70: .space 0x2 .global data_ov61_02180f72 data_ov61_02180f72: .space 0x2 .global data_ov61_02180f74 data_ov61_02180f74: .space 0x2 .global data_ov61_02180f76 data_ov61_02180f76: .space 0x2 .global data_ov61_02180f78 data_ov61_02180f78: .space 0x2 .global data_ov61_02180f7a data_ov61_02180f7a: .space 0x2 .global data_ov61_02180f7c data_ov61_02180f7c: .space 0x2 .global data_ov61_02180f7e data_ov61_02180f7e: .space 0x2 .global data_ov61_02180f80 data_ov61_02180f80: .space 0x2 .global data_ov61_02180f82 data_ov61_02180f82: .space 0x2 .global data_ov61_02180f84 data_ov61_02180f84: .space 0x2 .global data_ov61_02180f86 data_ov61_02180f86: .space 0x2 .global data_ov61_02180f88 data_ov61_02180f88: .space 0x2 .global data_ov61_02180f8a data_ov61_02180f8a: .space 0x2 .global data_ov61_02180f8c data_ov61_02180f8c: .space 0x2 .global data_ov61_02180f8e data_ov61_02180f8e: .space 0x2 .global data_ov61_02180f90 data_ov61_02180f90: .space 0x2 .global data_ov61_02180f92 data_ov61_02180f92: .space 0x2 .global data_ov61_02180f94 data_ov61_02180f94: .space 0x2 .global data_ov61_02180f96 data_ov61_02180f96: .space 0x2 .global data_ov61_02180f98 data_ov61_02180f98: .space 0x2 .global data_ov61_02180f9a data_ov61_02180f9a: .space 0x2 .global data_ov61_02180f9c data_ov61_02180f9c: .space 0x2 .global data_ov61_02180f9e data_ov61_02180f9e: .space 0x2 .global data_ov61_02180fa0 data_ov61_02180fa0: .space 0x2 .global data_ov61_02180fa2 data_ov61_02180fa2: .space 0x2 .global data_ov61_02180fa4 data_ov61_02180fa4: .space 0x2 .global data_ov61_02180fa6 data_ov61_02180fa6: .space 0x2 .global data_ov61_02180fa8 data_ov61_02180fa8: .space 0x2 .global data_ov61_02180faa data_ov61_02180faa: .space 0x2 .global data_ov61_02180fac data_ov61_02180fac: .space 0x2 .global data_ov61_02180fae data_ov61_02180fae: .space 0x2 .global data_ov61_02180fb0 data_ov61_02180fb0: .space 0x2 .global data_ov61_02180fb2 data_ov61_02180fb2: .space 0x2 .global data_ov61_02180fb4 data_ov61_02180fb4: .space 0x2 .global data_ov61_02180fb6 data_ov61_02180fb6: .space 0x2 .global data_ov61_02180fb8 data_ov61_02180fb8: .space 0x1 .global data_ov61_02180fb9 data_ov61_02180fb9: .space 0x1 .global data_ov61_02180fba data_ov61_02180fba: .space 0x1 .global data_ov61_02180fbb data_ov61_02180fbb: .space 0x1 .global data_ov61_02180fbc data_ov61_02180fbc: .space 0x1 .global data_ov61_02180fbd data_ov61_02180fbd: .space 0x1 .global data_ov61_02180fbe data_ov61_02180fbe: .space 0x1 .global data_ov61_02180fbf data_ov61_02180fbf: .space 0x1 .global data_ov61_02180fc0 data_ov61_02180fc0: .space 0x1 .global data_ov61_02180fc1 data_ov61_02180fc1: .space 0x1 .global data_ov61_02180fc2 data_ov61_02180fc2: .space 0x1 .global data_ov61_02180fc3 data_ov61_02180fc3: .space 0x1 .global data_ov61_02180fc4 data_ov61_02180fc4: .space 0x1 .global data_ov61_02180fc5 data_ov61_02180fc5: .space 0x1 .global data_ov61_02180fc6 data_ov61_02180fc6: .space 0x1 .global data_ov61_02180fc7 data_ov61_02180fc7: .space 0x1 .global data_ov61_02180fc8 data_ov61_02180fc8: .space 0x1 .global data_ov61_02180fc9 data_ov61_02180fc9: .space 0x1 .global data_ov61_02180fca data_ov61_02180fca: .space 0x1 .global data_ov61_02180fcb data_ov61_02180fcb: .space 0x1 .global data_ov61_02180fcc data_ov61_02180fcc: .space 0x4 .global data_ov61_02180fd0 data_ov61_02180fd0: .space 0x4 .global data_ov61_02180fd4 data_ov61_02180fd4: .space 0x4 .global data_ov61_02180fd8 data_ov61_02180fd8: .space 0x4 .global data_ov61_02180fdc data_ov61_02180fdc: .space 0x4 .global data_ov61_02180fe0 data_ov61_02180fe0: .space 0x4 .global data_ov61_02180fe4 data_ov61_02180fe4: .space 0x4 .global data_ov61_02180fe8 data_ov61_02180fe8: .space 0x4 .global data_ov61_02180fec data_ov61_02180fec: .space 0x4 .global data_ov61_02180ff0 data_ov61_02180ff0: .space 0x4 .global data_ov61_02180ff4 data_ov61_02180ff4: .space 0x4 .global data_ov61_02180ff8 data_ov61_02180ff8: .space 0x4 .global data_ov61_02180ffc data_ov61_02180ffc: .space 0x4 .global data_ov61_02181000 data_ov61_02181000: .space 0x1 .global data_ov61_02181001 data_ov61_02181001: .space 0x1 .global data_ov61_02181002 data_ov61_02181002: .space 0x1 .global data_ov61_02181003 data_ov61_02181003: .space 0x1 .global data_ov61_02181004 data_ov61_02181004: .space 0x1 .global data_ov61_02181005 data_ov61_02181005: .space 0x1 .global data_ov61_02181006 data_ov61_02181006: .space 0x1 .global data_ov61_02181007 data_ov61_02181007: .space 0x1 .global data_ov61_02181008 data_ov61_02181008: .space 0x1 .global data_ov61_02181009 data_ov61_02181009: .space 0x1 .global data_ov61_0218100a data_ov61_0218100a: .space 0x1 .global data_ov61_0218100b data_ov61_0218100b: .space 0x1 .global data_ov61_0218100c data_ov61_0218100c: .space 0x1 .global data_ov61_0218100d data_ov61_0218100d: .space 0x1 .global data_ov61_0218100e data_ov61_0218100e: .space 0x1 .global data_ov61_0218100f data_ov61_0218100f: .space 0x1 .global data_ov61_02181010 data_ov61_02181010: .space 0x4 .global data_ov61_02181014 data_ov61_02181014: .space 0x4 .global data_ov61_02181018 data_ov61_02181018: .space 0x4 .global data_ov61_0218101c data_ov61_0218101c: .space 0x4 .global data_ov61_02181020 data_ov61_02181020: .space 0x4 .global data_ov61_02181024 data_ov61_02181024: .space 0x4 .global data_ov61_02181028 data_ov61_02181028: .space 0x4 .global data_ov61_0218102c data_ov61_0218102c: .space 0x2 .global data_ov61_0218102e data_ov61_0218102e: .space 0x2 .global data_ov61_02181030 data_ov61_02181030: .space 0x4 .global data_ov61_02181034 data_ov61_02181034: .space 0x1 .global data_ov61_02181035 data_ov61_02181035: .space 0x1 .global data_ov61_02181036 data_ov61_02181036: .space 0x1 .global data_ov61_02181037 data_ov61_02181037: .space 0x1 .global data_ov61_02181038 data_ov61_02181038: .space 0x1 .global data_ov61_02181039 data_ov61_02181039: .space 0x1 .global data_ov61_0218103a data_ov61_0218103a: .space 0x1 .global data_ov61_0218103b data_ov61_0218103b: .space 0x1 .global data_ov61_0218103c data_ov61_0218103c: .space 0x1 .global data_ov61_0218103d data_ov61_0218103d: .space 0x1 .global data_ov61_0218103e data_ov61_0218103e: .space 0x1 .global data_ov61_0218103f data_ov61_0218103f: .space 0x1 .global data_ov61_02181040 data_ov61_02181040: .space 0x1 .global data_ov61_02181041 data_ov61_02181041: .space 0x1 .global data_ov61_02181042 data_ov61_02181042: .space 0x1 .global data_ov61_02181043 data_ov61_02181043: .space 0x1 .global data_ov61_02181044 data_ov61_02181044: .space 0x1 .global data_ov61_02181045 data_ov61_02181045: .space 0x1 .global data_ov61_02181046 data_ov61_02181046: .space 0x1 .global data_ov61_02181047 data_ov61_02181047: .space 0x1 .global data_ov61_02181048 data_ov61_02181048: .space 0x1 .global data_ov61_02181049 data_ov61_02181049: .space 0x1 .global data_ov61_0218104a data_ov61_0218104a: .space 0x1 .global data_ov61_0218104b data_ov61_0218104b: .space 0x1 .global data_ov61_0218104c data_ov61_0218104c: .space 0x1 .global data_ov61_0218104d data_ov61_0218104d: .space 0x1 .global data_ov61_0218104e data_ov61_0218104e: .space 0x1 .global data_ov61_0218104f data_ov61_0218104f: .space 0x1 .global data_ov61_02181050 data_ov61_02181050: .space 0x1 .global data_ov61_02181051 data_ov61_02181051: .space 0x1 .global data_ov61_02181052 data_ov61_02181052: .space 0x1 .global data_ov61_02181053 data_ov61_02181053: .space 0x1 .global data_ov61_02181054 data_ov61_02181054: .space 0x1 .global data_ov61_02181055 data_ov61_02181055: .space 0x1 .global data_ov61_02181056 data_ov61_02181056: .space 0x1 .global data_ov61_02181057 data_ov61_02181057: .space 0x1 .global data_ov61_02181058 data_ov61_02181058: .space 0x1 .global data_ov61_02181059 data_ov61_02181059: .space 0x1 .global data_ov61_0218105a data_ov61_0218105a: .space 0x1 .global data_ov61_0218105b data_ov61_0218105b: .space 0x1 .global data_ov61_0218105c data_ov61_0218105c: .space 0x1 .global data_ov61_0218105d data_ov61_0218105d: .space 0x1 .global data_ov61_0218105e data_ov61_0218105e: .space 0x1 .global data_ov61_0218105f data_ov61_0218105f: .space 0x1 .global data_ov61_02181060 data_ov61_02181060: .space 0x1 .global data_ov61_02181061 data_ov61_02181061: .space 0x1 .global data_ov61_02181062 data_ov61_02181062: .space 0x1 .global data_ov61_02181063 data_ov61_02181063: .space 0x1 .global data_ov61_02181064 data_ov61_02181064: .space 0x1 .global data_ov61_02181065 data_ov61_02181065: .space 0x1 .global data_ov61_02181066 data_ov61_02181066: .space 0x1 .global data_ov61_02181067 data_ov61_02181067: .space 0x1 .global data_ov61_02181068 data_ov61_02181068: .space 0x1 .global data_ov61_02181069 data_ov61_02181069: .space 0x1 .global data_ov61_0218106a data_ov61_0218106a: .space 0x1 .global data_ov61_0218106b data_ov61_0218106b: .space 0x1 .global data_ov61_0218106c data_ov61_0218106c: .space 0x1 .global data_ov61_0218106d data_ov61_0218106d: .space 0x1 .global data_ov61_0218106e data_ov61_0218106e: .space 0x1 .global data_ov61_0218106f data_ov61_0218106f: .space 0x1 .global data_ov61_02181070 data_ov61_02181070: .space 0x1 .global data_ov61_02181071 data_ov61_02181071: .space 0x1 .global data_ov61_02181072 data_ov61_02181072: .space 0x1 .global data_ov61_02181073 data_ov61_02181073: .space 0x1 .global data_ov61_02181074 data_ov61_02181074: .space 0x4 .global data_ov61_02181078 data_ov61_02181078: .space 0x4 .global data_ov61_0218107c data_ov61_0218107c: .space 0x4 .global data_ov61_02181080 data_ov61_02181080: .space 0x4 .global data_ov61_02181084 data_ov61_02181084: .space 0x4 .global data_ov61_02181088 data_ov61_02181088: .space 0x4 .global data_ov61_0218108c data_ov61_0218108c: .space 0x4 .global data_ov61_02181090 data_ov61_02181090: .space 0x4 .global data_ov61_02181094 data_ov61_02181094: .space 0x4 .global data_ov61_02181098 data_ov61_02181098: .space 0x4 .global data_ov61_0218109c data_ov61_0218109c: .space 0x4 .global data_ov61_021810a0 data_ov61_021810a0: .space 0x4 .global data_ov61_021810a4 data_ov61_021810a4: .space 0x4 .global data_ov61_021810a8 data_ov61_021810a8: .space 0x4 .global data_ov61_021810ac data_ov61_021810ac: .space 0x4 .global data_ov61_021810b0 data_ov61_021810b0: .space 0x4 .global data_ov61_021810b4 data_ov61_021810b4: .space 0x4 .global data_ov61_021810b8 data_ov61_021810b8: .space 0x4 .global data_ov61_021810bc data_ov61_021810bc: .space 0x4 .global data_ov61_021810c0 data_ov61_021810c0: .space 0x4 .global data_ov61_021810c4 data_ov61_021810c4: .space 0x4 .global data_ov61_021810c8 data_ov61_021810c8: .space 0x4 .global data_ov61_021810cc data_ov61_021810cc: .space 0x4 .global data_ov61_021810d0 data_ov61_021810d0: .space 0x4 .global data_ov61_021810d4 data_ov61_021810d4: .space 0x4 .global data_ov61_021810d8 data_ov61_021810d8: .space 0x4 .global data_ov61_021810dc data_ov61_021810dc: .space 0x4 .global data_ov61_021810e0 data_ov61_021810e0: .space 0x4 .global data_ov61_021810e4 data_ov61_021810e4: .space 0x4 .global data_ov61_021810e8 data_ov61_021810e8: .space 0x4 .global data_ov61_021810ec data_ov61_021810ec: .space 0x4 .global data_ov61_021810f0 data_ov61_021810f0: .space 0x4 .global data_ov61_021810f4 data_ov61_021810f4: .space 0x4 .global data_ov61_021810f8 data_ov61_021810f8: .space 0x4 .global data_ov61_021810fc data_ov61_021810fc: .space 0x4 .global data_ov61_02181100 data_ov61_02181100: .space 0x4 .global data_ov61_02181104 data_ov61_02181104: .space 0x4 .global data_ov61_02181108 data_ov61_02181108: .space 0x4 .global data_ov61_0218110c data_ov61_0218110c: .space 0x4 .global data_ov61_02181110 data_ov61_02181110: .space 0x2 .global data_ov61_02181112 data_ov61_02181112: .space 0x2 .global data_ov61_02181114 data_ov61_02181114: .space 0x4 .global data_ov61_02181118 data_ov61_02181118: .space 0x4 .global data_ov61_0218111c data_ov61_0218111c: .space 0x4 .global data_ov61_02181120 data_ov61_02181120: .space 0x4 .global data_ov61_02181124 data_ov61_02181124: .space 0x4 .global data_ov61_02181128 data_ov61_02181128: .space 0x4 .global data_ov61_0218112c data_ov61_0218112c: .space 0x4 .global data_ov61_02181130 data_ov61_02181130: .space 0x4 .global data_ov61_02181134 data_ov61_02181134: .space 0x4 .global data_ov61_02181138 data_ov61_02181138: .space 0x4 .global data_ov61_0218113c data_ov61_0218113c: .space 0x4 .global data_ov61_02181140 data_ov61_02181140: .space 0x4 .global data_ov61_02181144 data_ov61_02181144: .space 0x4 .global data_ov61_02181148 data_ov61_02181148: .space 0x4 .global data_ov61_0218114c data_ov61_0218114c: .space 0x4 .global data_ov61_02181150 data_ov61_02181150: .space 0x4 .global data_ov61_02181154 data_ov61_02181154: .space 0x4 .global data_ov61_02181158 data_ov61_02181158: .space 0x4 .global data_ov61_0218115c data_ov61_0218115c: .space 0x4 .global data_ov61_02181160 data_ov61_02181160: .space 0x4 .global data_ov61_02181164 data_ov61_02181164: .space 0x4 .global data_ov61_02181168 data_ov61_02181168: .space 0x4 .global data_ov61_0218116c data_ov61_0218116c: .space 0x4 .global data_ov61_02181170 data_ov61_02181170: .space 0x4 .global data_ov61_02181174 data_ov61_02181174: .space 0x4 .global data_ov61_02181178 data_ov61_02181178: .space 0x4 .global data_ov61_0218117c data_ov61_0218117c: .space 0x4 .global data_ov61_02181180 data_ov61_02181180: .space 0x4 .global data_ov61_02181184 data_ov61_02181184: .space 0x4 .global data_ov61_02181188 data_ov61_02181188: .space 0x4 .global data_ov61_0218118c data_ov61_0218118c: .space 0x4 .global data_ov61_02181190 data_ov61_02181190: .space 0x4 .global data_ov61_02181194 data_ov61_02181194: .space 0x4 .global data_ov61_02181198 data_ov61_02181198: .space 0x4 .global data_ov61_0218119c data_ov61_0218119c: .space 0x4 .global data_ov61_021811a0 data_ov61_021811a0: .space 0x4 .global data_ov61_021811a4 data_ov61_021811a4: .space 0x4 .global data_ov61_021811a8 data_ov61_021811a8: .space 0x4 .global data_ov61_021811ac data_ov61_021811ac: .space 0x4 .global data_ov61_021811b0 data_ov61_021811b0: .space 0x4 .global data_ov61_021811b4 data_ov61_021811b4: .space 0x4 .global data_ov61_021811b8 data_ov61_021811b8: .space 0x4 .global data_ov61_021811bc data_ov61_021811bc: .space 0x4 .global data_ov61_021811c0 data_ov61_021811c0: .space 0x4 .global data_ov61_021811c4 data_ov61_021811c4: .space 0x4 .global data_ov61_021811c8 data_ov61_021811c8: .space 0x4 .global data_ov61_021811cc data_ov61_021811cc: .space 0x4 .global data_ov61_021811d0 data_ov61_021811d0: .space 0x4 .global data_ov61_021811d4 data_ov61_021811d4: .space 0x4 .global data_ov61_021811d8 data_ov61_021811d8: .space 0x4 .global data_ov61_021811dc data_ov61_021811dc: .space 0x4 .global data_ov61_021811e0 data_ov61_021811e0: .space 0x4 .global data_ov61_021811e4 data_ov61_021811e4: .space 0x4 .global data_ov61_021811e8 data_ov61_021811e8: .space 0x4 .global data_ov61_021811ec data_ov61_021811ec: .space 0x4 .global data_ov61_021811f0 data_ov61_021811f0: .space 0x4 .global data_ov61_021811f4 data_ov61_021811f4: .space 0x4 .global data_ov61_021811f8 data_ov61_021811f8: .space 0x4 .global data_ov61_021811fc data_ov61_021811fc: .space 0x4 .global data_ov61_02181200 data_ov61_02181200: .space 0x4 .global data_ov61_02181204 data_ov61_02181204: .space 0x4 .global data_ov61_02181208 data_ov61_02181208: .space 0x4 .global data_ov61_0218120c data_ov61_0218120c: .space 0x4 .global data_ov61_02181210 data_ov61_02181210: .space 0x4 .global data_ov61_02181214 data_ov61_02181214: .space 0x4 .global data_ov61_02181218 data_ov61_02181218: .space 0x4 .global data_ov61_0218121c data_ov61_0218121c: .space 0x4 .global data_ov61_02181220 data_ov61_02181220: .space 0x4 .global data_ov61_02181224 data_ov61_02181224: .space 0x4 .global data_ov61_02181228 data_ov61_02181228: .space 0x4 .global data_ov61_0218122c data_ov61_0218122c: .space 0x4 .global data_ov61_02181230 data_ov61_02181230: .space 0x4 .global data_ov61_02181234 data_ov61_02181234: .space 0x4 .global data_ov61_02181238 data_ov61_02181238: .space 0x4 .global data_ov61_0218123c data_ov61_0218123c: .space 0x4 .global data_ov61_02181240 data_ov61_02181240: .space 0x4 .global data_ov61_02181244 data_ov61_02181244: .space 0x4 .global data_ov61_02181248 data_ov61_02181248: .space 0x4 .global data_ov61_0218124c data_ov61_0218124c: .space 0x4 .global data_ov61_02181250 data_ov61_02181250: .space 0x4 .global data_ov61_02181254 data_ov61_02181254: .space 0x4 .global data_ov61_02181258 data_ov61_02181258: .space 0x4 .global data_ov61_0218125c data_ov61_0218125c: .space 0x4 .global data_ov61_02181260 data_ov61_02181260: .space 0x4 .global data_ov61_02181264 data_ov61_02181264: .space 0x4 .global data_ov61_02181268 data_ov61_02181268: .space 0x4 .global data_ov61_0218126c data_ov61_0218126c: .space 0x4 .global data_ov61_02181270 data_ov61_02181270: .space 0x4 .global data_ov61_02181274 data_ov61_02181274: .space 0x4 .global data_ov61_02181278 data_ov61_02181278: .space 0x4 .global data_ov61_0218127c data_ov61_0218127c: .space 0x4 .global data_ov61_02181280 data_ov61_02181280: .space 0x4 .global data_ov61_02181284 data_ov61_02181284: .space 0x4 .global data_ov61_02181288 data_ov61_02181288: .space 0x4 .global data_ov61_0218128c data_ov61_0218128c: .space 0x4 .global data_ov61_02181290 data_ov61_02181290: .space 0x4 .global data_ov61_02181294 data_ov61_02181294: .space 0x4 .global data_ov61_02181298 data_ov61_02181298: .space 0x4 .global data_ov61_0218129c data_ov61_0218129c: .space 0x4 .global data_ov61_021812a0 data_ov61_021812a0: .space 0x4 .global data_ov61_021812a4 data_ov61_021812a4: .space 0x4 .global data_ov61_021812a8 data_ov61_021812a8: .space 0x4 .global data_ov61_021812ac data_ov61_021812ac: .space 0x4 .global data_ov61_021812b0 data_ov61_021812b0: .space 0x4 .global data_ov61_021812b4 data_ov61_021812b4: .space 0x4 .global data_ov61_021812b8 data_ov61_021812b8: .space 0x4 .global data_ov61_021812bc data_ov61_021812bc: .space 0x4 .global data_ov61_021812c0 data_ov61_021812c0: .space 0x4 .global data_ov61_021812c4 data_ov61_021812c4: .space 0x4 .global data_ov61_021812c8 data_ov61_021812c8: .space 0x4 .global data_ov61_021812cc data_ov61_021812cc: .space 0x4 .global data_ov61_021812d0 data_ov61_021812d0: .space 0x4 .global data_ov61_021812d4 data_ov61_021812d4: .space 0x4 .global data_ov61_021812d8 data_ov61_021812d8: .space 0x4 .global data_ov61_021812dc data_ov61_021812dc: .space 0x4 .global data_ov61_021812e0 data_ov61_021812e0: .space 0x4 .global data_ov61_021812e4 data_ov61_021812e4: .space 0x4 .global data_ov61_021812e8 data_ov61_021812e8: .space 0x4 .global data_ov61_021812ec data_ov61_021812ec: .space 0x4 .global data_ov61_021812f0 data_ov61_021812f0: .space 0x4 .global data_ov61_021812f4 data_ov61_021812f4: .space 0x4 .global data_ov61_021812f8 data_ov61_021812f8: .space 0x4 .global data_ov61_021812fc data_ov61_021812fc: .space 0x4 .global data_ov61_02181300 data_ov61_02181300: .space 0x4 .global data_ov61_02181304 data_ov61_02181304: .space 0x4 .global data_ov61_02181308 data_ov61_02181308: .space 0x4 .global data_ov61_0218130c data_ov61_0218130c: .space 0x4 .global data_ov61_02181310 data_ov61_02181310: .space 0x4 .global data_ov61_02181314 data_ov61_02181314: .space 0x4 .global data_ov61_02181318 data_ov61_02181318: .space 0x4 .global data_ov61_0218131c data_ov61_0218131c: .space 0x4 .global data_ov61_02181320 data_ov61_02181320: .space 0x4 .global data_ov61_02181324 data_ov61_02181324: .space 0x4 .global data_ov61_02181328 data_ov61_02181328: .space 0x4 .global data_ov61_0218132c data_ov61_0218132c: .space 0x4 .global data_ov61_02181330 data_ov61_02181330: .space 0x4 .global data_ov61_02181334 data_ov61_02181334: .space 0x4 .global data_ov61_02181338 data_ov61_02181338: .space 0x4 .global data_ov61_0218133c data_ov61_0218133c: .space 0x4 .global data_ov61_02181340 data_ov61_02181340: .space 0x4 .global data_ov61_02181344 data_ov61_02181344: .space 0x4 .global data_ov61_02181348 data_ov61_02181348: .space 0x4 .global data_ov61_0218134c data_ov61_0218134c: .space 0x4 .global data_ov61_02181350 data_ov61_02181350: .space 0x4 .global data_ov61_02181354 data_ov61_02181354: .space 0x4 .global data_ov61_02181358 data_ov61_02181358: .space 0x4 .global data_ov61_0218135c data_ov61_0218135c: .space 0x4 .global data_ov61_02181360 data_ov61_02181360: .space 0x4 .global data_ov61_02181364 data_ov61_02181364: .space 0x4 .global data_ov61_02181368 data_ov61_02181368: .space 0x4 .global data_ov61_0218136c data_ov61_0218136c: .space 0x4 .global data_ov61_02181370 data_ov61_02181370: .space 0x4 .global data_ov61_02181374 data_ov61_02181374: .space 0x4 .global data_ov61_02181378 data_ov61_02181378: .space 0x4 .global data_ov61_0218137c data_ov61_0218137c: .space 0x4 .global data_ov61_02181380 data_ov61_02181380: .space 0x4 .global data_ov61_02181384 data_ov61_02181384: .space 0x4 .global data_ov61_02181388 data_ov61_02181388: .space 0x4 .global data_ov61_0218138c data_ov61_0218138c: .space 0x4 .global data_ov61_02181390 data_ov61_02181390: .space 0x4 .global data_ov61_02181394 data_ov61_02181394: .space 0x4 .global data_ov61_02181398 data_ov61_02181398: .space 0x4 .global data_ov61_0218139c data_ov61_0218139c: .space 0x4 .global data_ov61_021813a0 data_ov61_021813a0: .space 0x4 .global data_ov61_021813a4 data_ov61_021813a4: .space 0x4 .global data_ov61_021813a8 data_ov61_021813a8: .space 0x4 .global data_ov61_021813ac data_ov61_021813ac: .space 0x4 .global data_ov61_021813b0 data_ov61_021813b0: .space 0x4 .global data_ov61_021813b4 data_ov61_021813b4: .space 0x4 .global data_ov61_021813b8 data_ov61_021813b8: .space 0x4 .global data_ov61_021813bc data_ov61_021813bc: .space 0x4 .global data_ov61_021813c0 data_ov61_021813c0: .space 0x4 .global data_ov61_021813c4 data_ov61_021813c4: .space 0x4 .global data_ov61_021813c8 data_ov61_021813c8: .space 0x4 .global data_ov61_021813cc data_ov61_021813cc: .space 0x4 .global data_ov61_021813d0 data_ov61_021813d0: .space 0x4 .global data_ov61_021813d4 data_ov61_021813d4: .space 0x4 .global data_ov61_021813d8 data_ov61_021813d8: .space 0x4 .global data_ov61_021813dc data_ov61_021813dc: .space 0x4 .global data_ov61_021813e0 data_ov61_021813e0: .space 0x4 .global data_ov61_021813e4 data_ov61_021813e4: .space 0x4 .global data_ov61_021813e8 data_ov61_021813e8: .space 0x4 .global data_ov61_021813ec data_ov61_021813ec: .space 0x4 .global data_ov61_021813f0 data_ov61_021813f0: .space 0x4 .global data_ov61_021813f4 data_ov61_021813f4: .space 0x4 .global data_ov61_021813f8 data_ov61_021813f8: .space 0x4 .global data_ov61_021813fc data_ov61_021813fc: .space 0x4 .global data_ov61_02181400 data_ov61_02181400: .space 0x4 .global data_ov61_02181404 data_ov61_02181404: .space 0x4 .global data_ov61_02181408 data_ov61_02181408: .space 0x4 .global data_ov61_0218140c data_ov61_0218140c: .space 0x4 .global data_ov61_02181410 data_ov61_02181410: .space 0x4 .global data_ov61_02181414 data_ov61_02181414: .space 0x4 .global data_ov61_02181418 data_ov61_02181418: .space 0x4 .global data_ov61_0218141c data_ov61_0218141c: .space 0x4 .global data_ov61_02181420 data_ov61_02181420: .space 0x4 .global data_ov61_02181424 data_ov61_02181424: .space 0x4 .global data_ov61_02181428 data_ov61_02181428: .space 0x4 .global data_ov61_0218142c data_ov61_0218142c: .space 0x4 .global data_ov61_02181430 data_ov61_02181430: .space 0x4 .global data_ov61_02181434 data_ov61_02181434: .space 0x4 .global data_ov61_02181438 data_ov61_02181438: .space 0x4 .global data_ov61_0218143c data_ov61_0218143c: .space 0x4 .global data_ov61_02181440 data_ov61_02181440: .space 0x4 .global data_ov61_02181444 data_ov61_02181444: .space 0x4 .global data_ov61_02181448 data_ov61_02181448: .space 0x4 .global data_ov61_0218144c data_ov61_0218144c: .space 0x4 .global data_ov61_02181450 data_ov61_02181450: .space 0x4 .global data_ov61_02181454 data_ov61_02181454: .space 0x4 .global data_ov61_02181458 data_ov61_02181458: .space 0x4 .global data_ov61_0218145c data_ov61_0218145c: .space 0x4 .global data_ov61_02181460 data_ov61_02181460: .space 0x4 .global data_ov61_02181464 data_ov61_02181464: .space 0x4 .global data_ov61_02181468 data_ov61_02181468: .space 0x4 .global data_ov61_0218146c data_ov61_0218146c: .space 0x4 .global data_ov61_02181470 data_ov61_02181470: .space 0x4 .global data_ov61_02181474 data_ov61_02181474: .space 0x4 .global data_ov61_02181478 data_ov61_02181478: .space 0x4 .global data_ov61_0218147c data_ov61_0218147c: .space 0x4 .global data_ov61_02181480 data_ov61_02181480: .space 0x4 .global data_ov61_02181484 data_ov61_02181484: .space 0x4 .global data_ov61_02181488 data_ov61_02181488: .space 0x4 .global data_ov61_0218148c data_ov61_0218148c: .space 0x4 .global data_ov61_02181490 data_ov61_02181490: .space 0x4 .global data_ov61_02181494 data_ov61_02181494: .space 0x4 .global data_ov61_02181498 data_ov61_02181498: .space 0x4 .global data_ov61_0218149c data_ov61_0218149c: .space 0x4 .global data_ov61_021814a0 data_ov61_021814a0: .space 0x4 .global data_ov61_021814a4 data_ov61_021814a4: .space 0x4 .global data_ov61_021814a8 data_ov61_021814a8: .space 0x4 .global data_ov61_021814ac data_ov61_021814ac: .space 0x4 .global data_ov61_021814b0 data_ov61_021814b0: .space 0x4 .global data_ov61_021814b4 data_ov61_021814b4: .space 0x4 .global data_ov61_021814b8 data_ov61_021814b8: .space 0x4 .global data_ov61_021814bc data_ov61_021814bc: .space 0x4 .global data_ov61_021814c0 data_ov61_021814c0: .space 0x4 .global data_ov61_021814c4 data_ov61_021814c4: .space 0x4 .global data_ov61_021814c8 data_ov61_021814c8: .space 0x4 .global data_ov61_021814cc data_ov61_021814cc: .space 0x4 .global data_ov61_021814d0 data_ov61_021814d0: .space 0x4 .global data_ov61_021814d4 data_ov61_021814d4: .space 0x4 .global data_ov61_021814d8 data_ov61_021814d8: .space 0x4 .global data_ov61_021814dc data_ov61_021814dc: .space 0x4 .global data_ov61_021814e0 data_ov61_021814e0: .space 0x4 .global data_ov61_021814e4 data_ov61_021814e4: .space 0x4 .global data_ov61_021814e8 data_ov61_021814e8: .space 0x4 .global data_ov61_021814ec data_ov61_021814ec: .space 0x4 .global data_ov61_021814f0 data_ov61_021814f0: .space 0x4 .global data_ov61_021814f4 data_ov61_021814f4: .space 0x4 .global data_ov61_021814f8 data_ov61_021814f8: .space 0x4 .global data_ov61_021814fc data_ov61_021814fc: .space 0x4 .global data_ov61_02181500 data_ov61_02181500: .space 0x4 .global data_ov61_02181504 data_ov61_02181504: .space 0x4 .global data_ov61_02181508 data_ov61_02181508: .space 0x4 .global data_ov61_0218150c data_ov61_0218150c: .space 0x4 .global data_ov61_02181510 data_ov61_02181510: .space 0x4 .global data_ov61_02181514 data_ov61_02181514: .space 0x4 .global data_ov61_02181518 data_ov61_02181518: .space 0x4 .global data_ov61_0218151c data_ov61_0218151c: .space 0x4 .global data_ov61_02181520 data_ov61_02181520: .space 0x4 .global data_ov61_02181524 data_ov61_02181524: .space 0x4 .global data_ov61_02181528 data_ov61_02181528: .space 0x4 .global data_ov61_0218152c data_ov61_0218152c: .space 0x4 .global data_ov61_02181530 data_ov61_02181530: .space 0x4 .global data_ov61_02181534 data_ov61_02181534: .space 0x4 .global data_ov61_02181538 data_ov61_02181538: .space 0x4 .global data_ov61_0218153c data_ov61_0218153c: .space 0x4 .global data_ov61_02181540 data_ov61_02181540: .space 0x4 .global data_ov61_02181544 data_ov61_02181544: .space 0x4 .global data_ov61_02181548 data_ov61_02181548: .space 0x4 .global data_ov61_0218154c data_ov61_0218154c: .space 0x4 .global data_ov61_02181550 data_ov61_02181550: .space 0x4 .global data_ov61_02181554 data_ov61_02181554: .space 0x4 .global data_ov61_02181558 data_ov61_02181558: .space 0x4 .global data_ov61_0218155c data_ov61_0218155c: .space 0x4 .global data_ov61_02181560 data_ov61_02181560: .space 0x4 .global data_ov61_02181564 data_ov61_02181564: .space 0x4 .global data_ov61_02181568 data_ov61_02181568: .space 0x4 .global data_ov61_0218156c data_ov61_0218156c: .space 0x4 .global data_ov61_02181570 data_ov61_02181570: .space 0x4 .global data_ov61_02181574 data_ov61_02181574: .space 0x4 .global data_ov61_02181578 data_ov61_02181578: .space 0x4 .global data_ov61_0218157c data_ov61_0218157c: .space 0x4 .global data_ov61_02181580 data_ov61_02181580: .space 0x4 .global data_ov61_02181584 data_ov61_02181584: .space 0x4 .global data_ov61_02181588 data_ov61_02181588: .space 0x4 .global data_ov61_0218158c data_ov61_0218158c: .space 0x4 .global data_ov61_02181590 data_ov61_02181590: .space 0x4 .global data_ov61_02181594 data_ov61_02181594: .space 0x4 .global data_ov61_02181598 data_ov61_02181598: .space 0x4 .global data_ov61_0218159c data_ov61_0218159c: .space 0x4 .global data_ov61_021815a0 data_ov61_021815a0: .space 0x4 .global data_ov61_021815a4 data_ov61_021815a4: .space 0x4 .global data_ov61_021815a8 data_ov61_021815a8: .space 0x4 .global data_ov61_021815ac data_ov61_021815ac: .space 0x4 .global data_ov61_021815b0 data_ov61_021815b0: .space 0x4 .global data_ov61_021815b4 data_ov61_021815b4: .space 0x4 .global data_ov61_021815b8 data_ov61_021815b8: .space 0x4 .global data_ov61_021815bc data_ov61_021815bc: .space 0x4 .global data_ov61_021815c0 data_ov61_021815c0: .space 0x4 .global data_ov61_021815c4 data_ov61_021815c4: .space 0x4 .global data_ov61_021815c8 data_ov61_021815c8: .space 0x4 .global data_ov61_021815cc data_ov61_021815cc: .space 0x4 .global data_ov61_021815d0 data_ov61_021815d0: .space 0x4 .global data_ov61_021815d4 data_ov61_021815d4: .space 0x4 .global data_ov61_021815d8 data_ov61_021815d8: .space 0x4 .global data_ov61_021815dc data_ov61_021815dc: .space 0x4 .global data_ov61_021815e0 data_ov61_021815e0: .space 0x4 .global data_ov61_021815e4 data_ov61_021815e4: .space 0x4 .global data_ov61_021815e8 data_ov61_021815e8: .space 0x4 .global data_ov61_021815ec data_ov61_021815ec: .space 0x4 .global data_ov61_021815f0 data_ov61_021815f0: .space 0x4 .global data_ov61_021815f4 data_ov61_021815f4: .space 0x4 .global data_ov61_021815f8 data_ov61_021815f8: .space 0x4 .global data_ov61_021815fc data_ov61_021815fc: .space 0x4 .global data_ov61_02181600 data_ov61_02181600: .space 0x4 .global data_ov61_02181604 data_ov61_02181604: .space 0x4 .global data_ov61_02181608 data_ov61_02181608: .space 0x4 .global data_ov61_0218160c data_ov61_0218160c: .space 0x4 .global data_ov61_02181610 data_ov61_02181610: .space 0x4 .global data_ov61_02181614 data_ov61_02181614: .space 0x4 .global data_ov61_02181618 data_ov61_02181618: .space 0x4 .global data_ov61_0218161c data_ov61_0218161c: .space 0x4 .global data_ov61_02181620 data_ov61_02181620: .space 0x4 .global data_ov61_02181624 data_ov61_02181624: .space 0x4 .global data_ov61_02181628 data_ov61_02181628: .space 0x4 .global data_ov61_0218162c data_ov61_0218162c: .space 0x4 .global data_ov61_02181630 data_ov61_02181630: .space 0x4 .global data_ov61_02181634 data_ov61_02181634: .space 0x4 .global data_ov61_02181638 data_ov61_02181638: .space 0x4 .global data_ov61_0218163c data_ov61_0218163c: .space 0x4 .global data_ov61_02181640 data_ov61_02181640: .space 0x4 .global data_ov61_02181644 data_ov61_02181644: .space 0x4 .global data_ov61_02181648 data_ov61_02181648: .space 0x4 .global data_ov61_0218164c data_ov61_0218164c: .space 0x4 .global data_ov61_02181650 data_ov61_02181650: .space 0x4 .global data_ov61_02181654 data_ov61_02181654: .space 0x4 .global data_ov61_02181658 data_ov61_02181658: .space 0x4 .global data_ov61_0218165c data_ov61_0218165c: .space 0x4 .global data_ov61_02181660 data_ov61_02181660: .space 0x4 .global data_ov61_02181664 data_ov61_02181664: .space 0x4 .global data_ov61_02181668 data_ov61_02181668: .space 0x4 .global data_ov61_0218166c data_ov61_0218166c: .space 0x4 .global data_ov61_02181670 data_ov61_02181670: .space 0x4 .global data_ov61_02181674 data_ov61_02181674: .space 0x4 .global data_ov61_02181678 data_ov61_02181678: .space 0x4 .global data_ov61_0218167c data_ov61_0218167c: .space 0x4 .global data_ov61_02181680 data_ov61_02181680: .space 0x4 .global data_ov61_02181684 data_ov61_02181684: .space 0x4 .global data_ov61_02181688 data_ov61_02181688: .space 0x4 .global data_ov61_0218168c data_ov61_0218168c: .space 0x4 .global data_ov61_02181690 data_ov61_02181690: .space 0x4 .global data_ov61_02181694 data_ov61_02181694: .space 0x4 .global data_ov61_02181698 data_ov61_02181698: .space 0x4 .global data_ov61_0218169c data_ov61_0218169c: .space 0x4 .global data_ov61_021816a0 data_ov61_021816a0: .space 0x4 .global data_ov61_021816a4 data_ov61_021816a4: .space 0x4 .global data_ov61_021816a8 data_ov61_021816a8: .space 0x4 .global data_ov61_021816ac data_ov61_021816ac: .space 0x4 .global data_ov61_021816b0 data_ov61_021816b0: .space 0x4 .global data_ov61_021816b4 data_ov61_021816b4: .space 0x4 .global data_ov61_021816b8 data_ov61_021816b8: .space 0x4 .global data_ov61_021816bc data_ov61_021816bc: .space 0x4 .global data_ov61_021816c0 data_ov61_021816c0: .space 0x4 .global data_ov61_021816c4 data_ov61_021816c4: .space 0x4 .global data_ov61_021816c8 data_ov61_021816c8: .space 0x4 .global data_ov61_021816cc data_ov61_021816cc: .space 0x4 .global data_ov61_021816d0 data_ov61_021816d0: .space 0x4 .global data_ov61_021816d4 data_ov61_021816d4: .space 0x4 .global data_ov61_021816d8 data_ov61_021816d8: .space 0x4 .global data_ov61_021816dc data_ov61_021816dc: .space 0x4 .global data_ov61_021816e0 data_ov61_021816e0: .space 0x4 .global data_ov61_021816e4 data_ov61_021816e4: .space 0x4 .global data_ov61_021816e8 data_ov61_021816e8: .space 0x4 .global data_ov61_021816ec data_ov61_021816ec: .space 0x4 .global data_ov61_021816f0 data_ov61_021816f0: .space 0x4 .global data_ov61_021816f4 data_ov61_021816f4: .space 0x4 .global data_ov61_021816f8 data_ov61_021816f8: .space 0x4 .global data_ov61_021816fc data_ov61_021816fc: .space 0x4 .global data_ov61_02181700 data_ov61_02181700: .space 0x4 .global data_ov61_02181704 data_ov61_02181704: .space 0x4 .global data_ov61_02181708 data_ov61_02181708: .space 0x4 .global data_ov61_0218170c data_ov61_0218170c: .space 0x4 .global data_ov61_02181710 data_ov61_02181710: .space 0x4 .global data_ov61_02181714 data_ov61_02181714: .space 0x4 .global data_ov61_02181718 data_ov61_02181718: .space 0x4 .global data_ov61_0218171c data_ov61_0218171c: .space 0x4 .global data_ov61_02181720 data_ov61_02181720: .space 0x4 .global data_ov61_02181724 data_ov61_02181724: .space 0x4 .global data_ov61_02181728 data_ov61_02181728: .space 0x4 .global data_ov61_0218172c data_ov61_0218172c: .space 0x4 .global data_ov61_02181730 data_ov61_02181730: .space 0x4 .global data_ov61_02181734 data_ov61_02181734: .space 0x4 .global data_ov61_02181738 data_ov61_02181738: .space 0x4 .global data_ov61_0218173c data_ov61_0218173c: .space 0x4 .global data_ov61_02181740 data_ov61_02181740: .space 0x4 .global data_ov61_02181744 data_ov61_02181744: .space 0x4 .global data_ov61_02181748 data_ov61_02181748: .space 0x4 .global data_ov61_0218174c data_ov61_0218174c: .space 0x4 .global data_ov61_02181750 data_ov61_02181750: .space 0x4 .global data_ov61_02181754 data_ov61_02181754: .space 0x4 .global data_ov61_02181758 data_ov61_02181758: .space 0x4 .global data_ov61_0218175c data_ov61_0218175c: .space 0x4 .global data_ov61_02181760 data_ov61_02181760: .space 0x4 .global data_ov61_02181764 data_ov61_02181764: .space 0x4 .global data_ov61_02181768 data_ov61_02181768: .space 0x4 .global data_ov61_0218176c data_ov61_0218176c: .space 0x4 .global data_ov61_02181770 data_ov61_02181770: .space 0x4 .global data_ov61_02181774 data_ov61_02181774: .space 0x4 .global data_ov61_02181778 data_ov61_02181778: .space 0x4 .global data_ov61_0218177c data_ov61_0218177c: .space 0x4 .global data_ov61_02181780 data_ov61_02181780: .space 0x4 .global data_ov61_02181784 data_ov61_02181784: .space 0x4 .global data_ov61_02181788 data_ov61_02181788: .space 0x4 .global data_ov61_0218178c data_ov61_0218178c: .space 0x4 .global data_ov61_02181790 data_ov61_02181790: .space 0x4 .global data_ov61_02181794 data_ov61_02181794: .space 0x4 .global data_ov61_02181798 data_ov61_02181798: .space 0x4 .global data_ov61_0218179c data_ov61_0218179c: .space 0x4 .global data_ov61_021817a0 data_ov61_021817a0: .space 0x4 .global data_ov61_021817a4 data_ov61_021817a4: .space 0x4 .global data_ov61_021817a8 data_ov61_021817a8: .space 0x4 .global data_ov61_021817ac data_ov61_021817ac: .space 0x4 .global data_ov61_021817b0 data_ov61_021817b0: .space 0x4 .global data_ov61_021817b4 data_ov61_021817b4: .space 0x4 .global data_ov61_021817b8 data_ov61_021817b8: .space 0x4 .global data_ov61_021817bc data_ov61_021817bc: .space 0x4 .global data_ov61_021817c0 data_ov61_021817c0: .space 0x4 .global data_ov61_021817c4 data_ov61_021817c4: .space 0x4 .global data_ov61_021817c8 data_ov61_021817c8: .space 0x4 .global data_ov61_021817cc data_ov61_021817cc: .space 0x4 .global data_ov61_021817d0 data_ov61_021817d0: .space 0x1 .global data_ov61_021817d1 data_ov61_021817d1: .space 0x1 .global data_ov61_021817d2 data_ov61_021817d2: .space 0x1 .global data_ov61_021817d3 data_ov61_021817d3: .space 0x1 .global data_ov61_021817d4 data_ov61_021817d4: .space 0x1 .global data_ov61_021817d5 data_ov61_021817d5: .space 0x1 .global data_ov61_021817d6 data_ov61_021817d6: .space 0x1 .global data_ov61_021817d7 data_ov61_021817d7: .space 0x1 .global data_ov61_021817d8 data_ov61_021817d8: .space 0x1 .global data_ov61_021817d9 data_ov61_021817d9: .space 0x1 .global data_ov61_021817da data_ov61_021817da: .space 0x1 .global data_ov61_021817db data_ov61_021817db: .space 0x1 .global data_ov61_021817dc data_ov61_021817dc: .space 0x1 .global data_ov61_021817dd data_ov61_021817dd: .space 0x1 .global data_ov61_021817de data_ov61_021817de: .space 0x1 .global data_ov61_021817df data_ov61_021817df: .space 0x1 .global data_ov61_021817e0 data_ov61_021817e0: .space 0x1 .global data_ov61_021817e1 data_ov61_021817e1: .space 0x1 .global data_ov61_021817e2 data_ov61_021817e2: .space 0x1 .global data_ov61_021817e3 data_ov61_021817e3: .space 0x1 .global data_ov61_021817e4 data_ov61_021817e4: .space 0x4 .global data_ov61_021817e8 data_ov61_021817e8: .space 0x4 .global data_ov61_021817ec data_ov61_021817ec: .space 0x4 .global data_ov61_021817f0 data_ov61_021817f0: .space 0x4 .global data_ov61_021817f4 data_ov61_021817f4: .space 0x4 .global data_ov61_021817f8 data_ov61_021817f8: .space 0x4 .global data_ov61_021817fc data_ov61_021817fc: .space 0x4 .global data_ov61_02181800 data_ov61_02181800: .space 0x4 .global data_ov61_02181804 data_ov61_02181804: .space 0x4 .global data_ov61_02181808 data_ov61_02181808: .space 0x4 .global data_ov61_0218180c data_ov61_0218180c: .space 0x4 .global data_ov61_02181810 data_ov61_02181810: .space 0x4 .global data_ov61_02181814 data_ov61_02181814: .space 0x4 .global data_ov61_02181818 data_ov61_02181818: .space 0x4 .global data_ov61_0218181c data_ov61_0218181c: .space 0x4 .global data_ov61_02181820 data_ov61_02181820: .space 0x4 .global data_ov61_02181824 data_ov61_02181824: .space 0x4 .global data_ov61_02181828 data_ov61_02181828: .space 0x4 .global data_ov61_0218182c data_ov61_0218182c: .space 0x4 .global data_ov61_02181830 data_ov61_02181830: .space 0x4 .global data_ov61_02181834 data_ov61_02181834: .space 0x4 .global data_ov61_02181838 data_ov61_02181838: .space 0x4 .global data_ov61_0218183c data_ov61_0218183c: .space 0x4 .global data_ov61_02181840 data_ov61_02181840: .space 0x4 .global data_ov61_02181844 data_ov61_02181844: .space 0x4 .global data_ov61_02181848 data_ov61_02181848: .space 0x4 .global data_ov61_0218184c data_ov61_0218184c: .space 0x4 .global data_ov61_02181850 data_ov61_02181850: .space 0x4 .global data_ov61_02181854 data_ov61_02181854: .space 0x4 .global data_ov61_02181858 data_ov61_02181858: .space 0x4 .global data_ov61_0218185c data_ov61_0218185c: .space 0x4 .global data_ov61_02181860 data_ov61_02181860: .space 0x4 .global data_ov61_02181864 data_ov61_02181864: .space 0x4 .global data_ov61_02181868 data_ov61_02181868: .space 0x4 .global data_ov61_0218186c data_ov61_0218186c: .space 0x4 .global data_ov61_02181870 data_ov61_02181870: .space 0x4 .global data_ov61_02181874 data_ov61_02181874: .space 0x4 .global data_ov61_02181878 data_ov61_02181878: .space 0x4 .global data_ov61_0218187c data_ov61_0218187c: .space 0x4 .global data_ov61_02181880 data_ov61_02181880: .space 0x4 .global data_ov61_02181884 data_ov61_02181884: .space 0x4 .global data_ov61_02181888 data_ov61_02181888: .space 0x4 .global data_ov61_0218188c data_ov61_0218188c: .space 0x4 .global data_ov61_02181890 data_ov61_02181890: .space 0x4 .global data_ov61_02181894 data_ov61_02181894: .space 0x4 .global data_ov61_02181898 data_ov61_02181898: .space 0x4 .global data_ov61_0218189c data_ov61_0218189c: .space 0x4 .global data_ov61_021818a0 data_ov61_021818a0: .space 0x4 .global data_ov61_021818a4 data_ov61_021818a4: .space 0x4 .global data_ov61_021818a8 data_ov61_021818a8: .space 0x4 .global data_ov61_021818ac data_ov61_021818ac: .space 0x4 .global data_ov61_021818b0 data_ov61_021818b0: .space 0x4 .global data_ov61_021818b4 data_ov61_021818b4: .space 0x4 .global data_ov61_021818b8 data_ov61_021818b8: .space 0x4 .global data_ov61_021818bc data_ov61_021818bc: .space 0x4 .global data_ov61_021818c0 data_ov61_021818c0: .space 0x4 .global data_ov61_021818c4 data_ov61_021818c4: .space 0x4 .global data_ov61_021818c8 data_ov61_021818c8: .space 0x4 .global data_ov61_021818cc data_ov61_021818cc: .space 0x4 .global data_ov61_021818d0 data_ov61_021818d0: .space 0x4 .global data_ov61_021818d4 data_ov61_021818d4: .space 0x4 .global data_ov61_021818d8 data_ov61_021818d8: .space 0x4 .global data_ov61_021818dc data_ov61_021818dc: .space 0x4 .global data_ov61_021818e0 data_ov61_021818e0: .space 0x4 .global data_ov61_021818e4 data_ov61_021818e4: .space 0x4 .global data_ov61_021818e8 data_ov61_021818e8: .space 0x4 .global data_ov61_021818ec data_ov61_021818ec: .space 0x4 .global data_ov61_021818f0 data_ov61_021818f0: .space 0x4 .global data_ov61_021818f4 data_ov61_021818f4: .space 0x4 .global data_ov61_021818f8 data_ov61_021818f8: .space 0x4 .global data_ov61_021818fc data_ov61_021818fc: .space 0x4 .global data_ov61_02181900 data_ov61_02181900: .space 0x4 .global data_ov61_02181904 data_ov61_02181904: .space 0x4 .global data_ov61_02181908 data_ov61_02181908: .space 0x4 .global data_ov61_0218190c data_ov61_0218190c: .space 0x4 .global data_ov61_02181910 data_ov61_02181910: .space 0x4 .global data_ov61_02181914 data_ov61_02181914: .space 0x4 .global data_ov61_02181918 data_ov61_02181918: .space 0x4 .global data_ov61_0218191c data_ov61_0218191c: .space 0x4 .global data_ov61_02181920 data_ov61_02181920: .space 0x4 .global data_ov61_02181924 data_ov61_02181924: .space 0x4 .global data_ov61_02181928 data_ov61_02181928: .space 0x4 .global data_ov61_0218192c data_ov61_0218192c: .space 0x4 .global data_ov61_02181930 data_ov61_02181930: .space 0x4 .global data_ov61_02181934 data_ov61_02181934: .space 0x4 .global data_ov61_02181938 data_ov61_02181938: .space 0x4 .global data_ov61_0218193c data_ov61_0218193c: .space 0x4 .global data_ov61_02181940 data_ov61_02181940: .space 0x4 .global data_ov61_02181944 data_ov61_02181944: .space 0x4 .global data_ov61_02181948 data_ov61_02181948: .space 0x4 .global data_ov61_0218194c data_ov61_0218194c: .space 0x4 .global data_ov61_02181950 data_ov61_02181950: .space 0x4 .global data_ov61_02181954 data_ov61_02181954: .space 0x4 .global data_ov61_02181958 data_ov61_02181958: .space 0x4 .global data_ov61_0218195c data_ov61_0218195c: .space 0x4 .global data_ov61_02181960 data_ov61_02181960: .space 0x4 .global data_ov61_02181964 data_ov61_02181964: .space 0x4 .global data_ov61_02181968 data_ov61_02181968: .space 0x4 .global data_ov61_0218196c data_ov61_0218196c: .space 0x4 .global data_ov61_02181970 data_ov61_02181970: .space 0x4 .global data_ov61_02181974 data_ov61_02181974: .space 0x4 .global data_ov61_02181978 data_ov61_02181978: .space 0x4 .global data_ov61_0218197c data_ov61_0218197c: .space 0x4 .global data_ov61_02181980 data_ov61_02181980: .space 0x4 .global data_ov61_02181984 data_ov61_02181984: .space 0x4 .global data_ov61_02181988 data_ov61_02181988: .space 0x4 .global data_ov61_0218198c data_ov61_0218198c: .space 0x4 .global data_ov61_02181990 data_ov61_02181990: .space 0x4 .global data_ov61_02181994 data_ov61_02181994: .space 0x4 .global data_ov61_02181998 data_ov61_02181998: .space 0x4 .global data_ov61_0218199c data_ov61_0218199c: .space 0x4 .global data_ov61_021819a0 data_ov61_021819a0: .space 0x4 .global data_ov61_021819a4 data_ov61_021819a4: .space 0x4 .global data_ov61_021819a8 data_ov61_021819a8: .space 0x4 .global data_ov61_021819ac data_ov61_021819ac: .space 0x4 .global data_ov61_021819b0 data_ov61_021819b0: .space 0x4 .global data_ov61_021819b4 data_ov61_021819b4: .space 0x4 .global data_ov61_021819b8 data_ov61_021819b8: .space 0x4 .global data_ov61_021819bc data_ov61_021819bc: .space 0x4 .global data_ov61_021819c0 data_ov61_021819c0: .space 0x4 .global data_ov61_021819c4 data_ov61_021819c4: .space 0x4 .global data_ov61_021819c8 data_ov61_021819c8: .space 0x4 .global data_ov61_021819cc data_ov61_021819cc: .space 0x4 .global data_ov61_021819d0 data_ov61_021819d0: .space 0x4 .global data_ov61_021819d4 data_ov61_021819d4: .space 0x4 .global data_ov61_021819d8 data_ov61_021819d8: .space 0x4 .global data_ov61_021819dc data_ov61_021819dc: .space 0x4