.include "macros/function.inc" .include "global.inc" .text arm_func_start func_ov08_02112c20 func_ov08_02112c20: ; 0x02112c20 stmdb sp!, {r4, lr} ldr r1, _02112c50 ; =data_027e0ce0 mov r4, r0 ldr r1, [r1, #4] mov r0, #0x10 mov r2, #4 bl func_0202e9dc cmp r0, #0 ldmia sp!, {r4, pc} mov r1, r4 bl func_ov08_02112c54 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov08_02112c20 _02112c50: .word data_027e0ce0 arm_func_start func_ov08_02112c54 func_ov08_02112c54: ; 0x02112c54 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x28 ldr r2, _02112d5c ; =data_02057634 mov r4, r0 ldr r0, _02112d60 ; =data_ov08_02113b44 str r2, [r4] stmia r4!, {r0, r1} mov r1, #0 str r1, [r4, #8] mov r0, #1 str r1, [r4, #0xc] bl func_02003f74 mov r0, #2 bl func_02003ce4 mov r0, #4 bl func_02004730 mov r1, #0x4000000 ldr r0, [r1] add r2, r1, #0x1000 bic r0, r0, #0x1f00 orr r0, r0, #0x1100 str r0, [r1] ldr r1, [r2] mov r0, #1 bic r1, r1, #0x1f00 orr r1, r1, #0x100 str r1, [r2] str r0, [sp] ldr r0, _02112d64 ; =data_ov08_02113b00 ldr r1, _02112d68 ; =data_ov08_02113b04 ldr r2, _02112d6c ; =data_020691a0 mov r3, #0xcc00 blx func_0202d5b4 mov r5, r0 ldr r1, _02112d70 ; =data_ov08_02113b20 add r0, sp, #0x10 blx func_02031e1c ldr r1, _02112d74 ; =data_ov08_02113b2c add r0, sp, #0x1c blx func_02031e1c mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] mov r1, #2 str r1, [sp, #0xc] ldr r1, [sp, #0x10] ldr r2, [sp, #0x14] ldr r3, [sp, #0x18] blx func_02027ab4 mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] mov r0, #2 str r0, [sp, #0xc] ldr r1, [sp, #0x1c] ldr r2, [sp, #0x20] ldr r3, [sp, #0x24] mov r0, #4 blx func_02027ab4 mov r0, r5 blx func_02016fcc mov r0, r4 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov08_02112c54 _02112d5c: .word data_02057634 _02112d60: .word data_ov08_02113b44 _02112d64: .word data_ov08_02113b00 _02112d68: .word data_ov08_02113b04 _02112d6c: .word data_020691a0 _02112d70: .word data_ov08_02113b20 _02112d74: .word data_ov08_02113b2c arm_func_start func_ov08_02112d78 func_ov08_02112d78: ; 0x02112d78 stmdb sp!, {r4, lr} ldr r1, _02112da4 ; =data_ov08_02113b44 mov r4, r0 str r1, [r4] bl func_02004ba8 bl func_02004b94 bl func_02004c68 mov r0, r4 blx func_0202c0b8 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov08_02112d78 _02112da4: .word data_ov08_02113b44 arm_func_start func_ov08_02112da8 func_ov08_02112da8: ; 0x02112da8 stmdb sp!, {r4, lr} ldr r1, _02112ddc ; =data_ov08_02113b44 mov r4, r0 str r1, [r4] bl func_02004ba8 bl func_02004b94 bl func_02004c68 mov r0, r4 blx func_0202c0b8 mov r0, r4 bl func_0202ea0c mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov08_02112da8 _02112ddc: .word data_ov08_02113b44 arm_func_start func_ov08_02112de0 func_ov08_02112de0: ; 0x02112de0 stmdb sp!, {r3, r4, r5, lr} ldr r2, _02112e7c ; =data_027e0618 mov r5, r0 ldr r0, [r2, #0xcc] mov r4, #0 cmp r0, #0 beq _02112e70 cmp r0, #1 bne _02112e74 cmp r1, #0 bne _02112e74 ldr r0, [r5, #8] add r0, r0, #1 str r0, [r5, #8] cmp r0, #1 bne _02112e30 ldr r0, _02112e80 ; =0x027ffc3c ldr r0, [r0] str r0, [r5, #0xc] b _02112e74 _02112e30: cmp r0, #2 ldreq r0, [r2, #4] cmpeq r0, #1 bne _02112e44 bl func_ov08_02112e88 _02112e44: ldr r1, _02112e80 ; =0x027ffc3c ldr r0, [r5, #0xc] ldr r1, [r1] sub r0, r1, r0 cmp r0, #0x3c blo _02112e74 ldr r0, _02112e7c ; =data_027e0618 mov r1, #1 mov r2, #0 blx func_0202cec8 b _02112e74 _02112e70: mov r4, #2 _02112e74: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov08_02112de0 _02112e7c: .word data_027e0618 _02112e80: .word 0x027ffc3c arm_func_start func_ov08_02112e84 func_ov08_02112e84: ; 0x02112e84 bx lr arm_func_end func_ov08_02112e84 arm_func_start func_ov08_02112e88 func_ov08_02112e88: ; 0x02112e88 stmdb sp!, {r3, lr} blx func_020425e0 ldr r0, _02112ec8 ; =data_027e0900 ldr r2, _02112ecc ; =0x00000000 mov r1, #0 blx func_0202ff44 ldr r0, _02112ed0 ; =data_ov00_020ee734 bl func_ov08_021131ac ldr r0, _02112ed4 ; =data_027e0d54 bl func_ov08_02112f28 ldr r0, _02112ed8 ; =data_027e0ce0 ldr r0, [r0] bl func_ov08_02113678 ldr r0, _02112edc ; =data_ov00_020ec754 blx func_ov00_0207a654 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end func_ov08_02112e88 _02112ec8: .word data_027e0900 _02112ecc: .word 0x00000000 _02112ed0: .word data_ov00_020ee734 _02112ed4: .word data_027e0d54 _02112ed8: .word data_027e0ce0 _02112edc: .word data_ov00_020ec754 arm_func_start func_ov08_02112ee0 func_ov08_02112ee0: ; 0x02112ee0 stmdb sp!, {r4, lr} mov r4, r0 mov r1, r4 mov r0, #0 mov r2, #8 bl func_020078f4 mov r1, #0 str r1, [r4, #8] mov r0, #1 strb r0, [r4, #0xc] strb r1, [r4, #0xd] strb r1, [r4, #0xe] strb r1, [r4, #0xf] str r1, [r4, #0x10] strh r1, [r4, #0x14] mov r0, r4 strh r1, [r4, #0x16] ldmia sp!, {r4, pc} arm_func_end func_ov08_02112ee0 arm_func_start func_ov08_02112f28 func_ov08_02112f28: ; 0x02112f28 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x34 ldr r1, _0211306c ; =data_027e0ce0 mov r5, r0 mov r0, #4 ldr r1, [r1] mov r2, r0 bl func_0202e9dc movs r4, r0 beq _02112f70 mov r1, r4 mov r0, #0 mov r2, #4 bl func_020078f4 mov r1, r4 mov r0, #0 mov r2, #4 bl func_020078f4 _02112f70: str r4, [r5, #8] bl func_0200c76c strh r0, [r5, #0x14] ldrh r0, [r5, #0x14] blx func_020400f4 mov r0, #0 mov r3, #0x21 add r1, sp, #0x18 mov r2, #0x1a strh r3, [sp, #0x14] strh r0, [sp, #0x16] strh r0, [sp, #0x32] mov r4, #1 bl func_020078c0 ldr r0, _02113070 ; =0x00001302 blx func_02040528 cmp r0, #0 bne _02112fc4 blx func_020400c0 str r0, [r5, #0x10] b _02113038 _02112fc4: mov r3, #0 str r3, [sp] str r3, [sp, #4] mov r0, #6 str r0, [sp, #8] mov r0, r4 str r0, [sp, #0xc] ldr r0, _02113074 ; =0x0007ea00 add r1, sp, #0x14 mov r2, #0x20 str r3, [sp, #0x10] blx func_02040464 cmp r0, #0 bne _02113008 blx func_020400c0 str r0, [r5, #0x10] b _02113038 _02113008: ldrh r1, [sp, #0x16] ldr r0, _02113078 ; =0x0000c2e4 cmp r1, r0 ldreqh r1, [sp, #0x32] ldreq r0, _0211307c ; =0x00001d3f cmpeq r1, r0 movne r0, #1 moveq r0, #0 strb r0, [r5, #0xc] ldrh r0, [sp, #0x14] cmp r0, #0x21 movne r4, #0 _02113038: ldrh r0, [r5, #0x14] blx func_02040100 ldr r0, [r5, #0x10] cmp r0, #0 movne r0, #1 strneb r0, [r5, #0xf] ldrb r0, [r5, #0xc] cmp r0, #0 cmpeq r4, #0 moveq r0, #1 streqb r0, [r5, #0xc] add sp, sp, #0x34 ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end func_ov08_02112f28 _0211306c: .word data_027e0ce0 _02113070: .word 0x00001302 _02113074: .word 0x0007ea00 _02113078: .word 0x0000c2e4 _0211307c: .word 0x00001d3f arm_func_start func_ov08_02113080 func_ov08_02113080: ; 0x02113080 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 blx func_ov00_0207ac24 blx func_0200a23c bl func_0200dd94 cmp r0, #0 beq _021130ac mov r0, #0 bl func_0200a318 b _021130c4 _021130ac: add r0, sp, #0 bl func_0200a284 cmp r0, #0 beq _021130c4 add r0, sp, #0 bl func_0200a318 _021130c4: mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_end func_ov08_02113080 arm_func_start func_ov08_021130d0 func_ov08_021130d0: ; 0x021130d0 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r0, #0 strb r0, [r4] strh r0, [r4, #2] bl func_ov01_020efdac strh r0, [r4, #4] mov r0, #0xd str r0, [r4, #8] mov r3, #4 add r1, r4, #0xc mov r0, #0 mov r2, #0x1e str r3, [r4, #0x2c] bl func_020078c0 ldr r0, _0211314c ; =data_027e0ce0 mov r1, #0x700 ldr r0, [r0, #4] mov r2, #0x20 blx func_0201739c mov r5, r0 blx func_ov00_020773c0 cmp r0, #3 moveq r0, #1 streqb r0, [r4] ldr r0, _0211314c ; =data_027e0ce0 mov r1, r5 ldr r0, [r0, #4] blx func_020174a4 mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov08_021130d0 _0211314c: .word data_027e0ce0 arm_func_start func_ov08_02113150 func_ov08_02113150: ; 0x02113150 mov r3, #0 mov r1, #1 str r3, [r0, #0x90] strb r1, [r0, #0x94] strb r3, [r0, #0x95] strb r3, [r0, #0x96] strb r3, [r0, #0x97] strb r3, [r0, #0x98] strb r3, [r0, #0x99] strb r3, [r0, #0x9a] str r3, [r0, #0x9c] str r3, [r0, #0xa0] sub r1, r1, #2 str r1, [r0, #0xa4] strb r3, [r0, #0xa8] strb r3, [r0, #0xa9] mov r2, r3 _02113194: add r1, r0, r3, lsl #2 add r3, r3, #1 str r2, [r1, #0xac] cmp r3, #8 blt _02113194 bx lr arm_func_end func_ov08_02113150 arm_func_start func_ov08_021131ac func_ov08_021131ac: ; 0x021131ac stmdb sp!, {r4, r5, r6, lr} mov r6, r0 bl func_0200dd94 cmp r0, #0 ldreqb r0, [r6, #0x98] cmpeq r0, #0 ldmia sp!, {r4, r5, r6, pc} bl func_0201f378 ldr r0, _0211326c ; =data_027e0ce0 ldr r1, _02113270 ; =data_ov08_02113b60 ldr r2, [r0, #0xc] mov r0, r6 str r2, [r6, #0x90] mov r3, #0 bl func_0202019c ldr r0, [r6, #0x90] bl func_020213f0 ldr r1, [r6, #0x90] mov r0, #9 bl func_02021714 ldr r1, [r6, #0x90] mov r0, #1 bl func_020209a4 ldr r0, [r6, #0x90] bl func_0201f1ac mov r0, #1 str r0, [r6, #0xb0] ldr r0, _02113274 ; =data_ov00_020eec68 bl func_ov08_021132cc ldr r0, _02113278 ; =data_ov00_020eec9c bl func_ov08_0211337c ldr r0, _0211327c ; =data_ov00_020ee820 bl func_ov08_021133f0 ldr r0, _02113280 ; =data_ov00_020eec60 bl func_ov08_02113474 ldr r0, _0211327c ; =data_ov00_020ee820 bl func_ov00_020d69e4 mov r5, #0 mov r4, r5 _02113248: mov r0, r5 mov r1, r4 bl func_0201f96c add r5, r5, #1 cmp r5, #0x10 blt _02113248 mov r0, #1 strb r0, [r6, #0x98] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end func_ov08_021131ac _0211326c: .word data_027e0ce0 _02113270: .word data_ov08_02113b60 _02113274: .word data_ov00_020eec68 _02113278: .word data_ov00_020eec9c _0211327c: .word data_ov00_020ee820 _02113280: .word data_ov00_020eec60 arm_func_start func_ov08_02113284 func_ov08_02113284: ; 0x02113284 mov r2, #0 strb r2, [r0, #0x10] strb r2, [r0, #0x11] strb r2, [r0, #0x12] strb r2, [r0, #0x13] strb r2, [r0, #0x14] strb r2, [r0, #0x15] strb r2, [r0, #0x16] str r2, [r0, #0x18] str r2, [r0, #0x1c] sub r1, r2, #1 str r1, [r0, #0x20] str r2, [r0, #0x24] sub r1, r2, #0x80000001 str r1, [r0, #0x28] mov r1, #0x7f str r1, [r0, #0x2c] bx lr arm_func_end func_ov08_02113284 arm_func_start func_ov08_021132cc func_ov08_021132cc: ; 0x021132cc stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r6 mov r4, #0 _021132dc: mov r0, r5 bl func_0201f704 add r4, r4, #1 cmp r4, #3 add r5, r5, #4 blt _021132dc add r0, r6, #0xc bl func_02021a1c mov r1, #1 strb r1, [r6, #0x11] mov r0, #0 strb r0, [r6, #0x12] strb r1, [r6, #0x10] ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov08_021132cc arm_func_start func_ov08_02113314 func_ov08_02113314: ; 0x02113314 mov r2, #0 str r2, [r0, #4] strb r2, [r0, #8] mov r1, #1 strb r2, [r0, #9] strb r1, [r0, #0xa] strb r2, [r0, #0xb] strb r2, [r0, #0xc] str r2, [r0, #0x10] sub r1, r1, #2 str r1, [r0, #0x14] str r1, [r0, #0x18] str r2, [r0, #0x1c] str r2, [r0, #0x20] str r1, [r0, #0x24] add r3, r0, #0x28 add r1, r0, #0x88 _02113358: str r2, [r3] strh r2, [r3, #4] strb r2, [r3, #6] strb r2, [r3, #7] add r3, r3, #0xc cmp r3, r1 blo _02113358 str r2, [r0, #0x88] bx lr arm_func_end func_ov08_02113314 arm_func_start func_ov08_0211337c func_ov08_0211337c: ; 0x0211337c stmdb sp!, {r3, r4, r5, lr} mov r4, r0 bl func_0200dd94 cmp r0, #0 ldmia sp!, {r3, r4, r5, pc} mov r0, r4 bl func_0201f704 add r4, r4, #0x28 mov r5, #0 _021133a0: add r0, r4, #8 bl func_0201f704 add r5, r5, #1 cmp r5, #8 add r4, r4, #0xc blt _021133a0 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov08_0211337c arm_func_start func_ov08_021133bc func_ov08_021133bc: ; 0x021133bc stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] sub r3, r0, #1 add r1, r4, #0x40 mov r2, #0x400 str r3, [r4, #0x20] bl func_02007938 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov08_021133bc arm_func_start func_ov08_021133f0 func_ov08_021133f0: ; 0x021133f0 stmdb sp!, {r4, lr} mov r4, r0 ldrb r0, [r4] cmp r0, #0 ldmia sp!, {r4, pc} blx func_0200aa20 mov r2, #0 str r2, [r4, #4] add r0, r4, #0x40 str r0, [r4, #8] mov r1, #0x400 ldr r0, _0211345c ; =0x0000105d str r1, [r4, #0xc] str r0, [r4, #0x10] mov r0, #1 str r0, [r4, #0x14] str r2, [r4, #0x18] str r2, [r4, #0x1c] blx func_0200afac mov r0, #1 bl func_0200b4dc mov r0, r4 mov r1, #2 bl func_ov00_020d69d4 mov r0, #1 strb r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov08_021133f0 _0211345c: .word 0x0000105d arm_func_start func_ov08_02113460 func_ov08_02113460: ; 0x02113460 mov r1, #0 strb r1, [r0] strb r1, [r0, #1] strh r1, [r0, #2] bx lr arm_func_end func_ov08_02113460 arm_func_start func_ov08_02113474 func_ov08_02113474: ; 0x02113474 stmdb sp!, {r4, lr} ldr r1, _021134b0 ; =data_ov00_020ee820 mov r4, r0 ldrb r0, [r1] cmp r0, #0 beq _021134a8 ldrb r0, [r4] cmp r0, #0 bne _021134a8 ldr r0, _021134b4 ; =data_ov00_020ee824 bl func_020156b4 mov r0, #1 strb r0, [r4] _021134a8: bl func_02015718 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov08_02113474 _021134b0: .word data_ov00_020ee820 _021134b4: .word data_ov00_020ee824 arm_func_start func_ov08_021134b8 func_ov08_021134b8: ; 0x021134b8 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 strb r1, [r4, #4] mov r0, #0x10 str r0, [r4, #8] str r0, [r4, #0xc] str r1, [r4, #0x10] str r1, [r4, #0x14] add r2, r4, #0x18 add r0, r4, #0x30 mvn r1, #0 _021134e8: str r1, [r2] str r1, [r2, #4] add r2, r2, #8 cmp r2, r0 blo _021134e8 mov r1, #0 mov r0, r4 strb r1, [r4, #0x38] bl func_0201f704 mov r1, #1 mov r0, r4 strb r1, [r4, #0x38] ldmia sp!, {r4, pc} arm_func_end func_ov08_021134b8 arm_func_start func_ov08_0211351c func_ov08_0211351c: ; 0x0211351c stmdb sp!, {r3, r4, r5, lr} mov lr, #0 ldr r1, _021135b4 ; =0x00007fff strb lr, [r0] strh r1, [r0, #2] str lr, [r0, #4] mov ip, #6 mov r2, #0x1f str ip, [r0, #8] mov r3, #0xa0 str r3, [r0, #0xc] str r2, [r0, #0x10] sub r1, r2, #0x20 str r1, [r0, #0x34] str ip, [r0, #0x38] str r3, [r0, #0x3c] str r2, [r0, #0x40] strb lr, [r0, #0x44] strb r2, [r0, #0x45] strb r2, [r0, #0x46] mov ip, lr strb r2, [r0, #0x47] mov r3, #4 mov r4, #8 mov r5, #0xc _02113580: orr r1, ip, r3, lsl #8 orr r1, r1, r4, lsl #16 orr r2, r1, r5, lsl #24 add r1, r0, lr, lsl #2 add lr, lr, #1 str r2, [r1, #0x14] cmp lr, #8 add r3, r3, #0x10 add ip, ip, #0x10 add r4, r4, #0x10 add r5, r5, #0x10 blt _02113580 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end func_ov08_0211351c _021135b4: .word 0x00007fff arm_func_start func_ov08_021135b8 func_ov08_021135b8: ; 0x021135b8 bx lr arm_func_end func_ov08_021135b8 arm_func_start func_ov08_021135bc func_ov08_021135bc: ; 0x021135bc stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #8 mov sl, r0 mov r8, #0 mov r0, #2 str r0, [sl] mov r7, #0x2000 rsb r7, r7, #0 strh r8, [sl, #0xe] mov r0, #0x1000 strh r0, [sl, #0x10] mov sb, r1 strh r8, [sl, #0x12] mov r5, r7, lsr #0x11 mov r6, #1 mov r4, r8 mov fp, r8 _02113600: ldr r0, [sl] cmp r8, r0 bge _02113648 mov r0, #0x10 mov r1, sb mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _0211363c str r7, [sp] mov r1, r8 mov r2, r5 mov r3, #0x2000 str r6, [sp, #4] bl func_ov08_021136c0 _0211363c: add r1, sl, r8, lsl #2 str r0, [r1, #4] b _02113650 _02113648: add r0, sl, r8, lsl #2 str r4, [r0, #4] _02113650: add r0, sl, r8 add r8, r8, #1 strb fp, [r0, #0xc] cmp r8, #2 blt _02113600 mov r0, sl bl func_ov00_020a1a3c mov r0, sl add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_end func_ov08_021135bc arm_func_start func_ov08_02113678 func_ov08_02113678: ; 0x02113678 stmdb sp!, {r4, lr} ldr r1, _021136bc ; =data_027e0f88 mov r4, r0 ldr r0, [r1] cmp r0, #0 ldmia sp!, {r4, pc} mov r1, r4 mov r0, #0x14 mov r2, #4 bl func_0202e9dc cmp r0, #0 beq _021136b0 mov r1, r4 bl func_ov08_021135bc _021136b0: ldr r1, _021136bc ; =data_027e0f88 str r0, [r1] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov08_02113678 _021136bc: .word data_027e0f88 arm_func_start func_ov08_021136c0 func_ov08_021136c0: ; 0x021136c0 stmdb sp!, {r4, lr} ldrb ip, [sp, #0xc] mov r4, r0 str r1, [r4] strh ip, [r4, #4] strh r2, [r4, #6] ldrsh r2, [sp, #8] mov r1, r3 bl func_ov00_020a1b54 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov08_021136c0 arm_func_start func_ov08_021136ec func_ov08_021136ec: ; 0x021136ec mov r1, #0 strh r1, [r0] strh r1, [r0, #2] bx lr arm_func_end func_ov08_021136ec arm_func_start func_ov08_021136fc func_ov08_021136fc: ; 0x021136fc stmdb sp!, {r4, lr} mov r4, r0 mov r3, #0 ldr r1, _0211372c ; =0x027ffc3c str r3, [r4, #0x1c] ldr r2, [r1] add r1, r4, #0x10 str r2, [r4, #0x20] str r3, [r4, #0x24] blx func_02042744 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov08_021136fc _0211372c: .word 0x027ffc3c arm_func_start func_ov08_02113730 func_ov08_02113730: ; 0x02113730 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #4 mov r4, r0 mov r1, r4 mov r0, #0 mov r2, #0x10 bl func_020078f4 add r1, r4, #0x10 mov r0, #0 mov r2, #4 bl func_020078f4 add r1, r4, #0x14 mov r0, #0 mov r2, #0xc bl func_020078f4 mov r0, #0 add r1, r4, #0x20 mov r2, #4 bl func_020078f4 mov r0, #0 strh r0, [r4, #0x7c] strb r0, [r4, #0x7e] strb r0, [r4, #0x7f] mov r0, r4 blx func_ov00_0207a38c mov r0, #0 add r1, r4, #0xa8 mov r2, #0x48 bl func_02007938 mov r0, #0 add r1, r4, #0xf0 mov r2, #8 bl func_020078c0 ldr r1, _02113950 ; =func_ov08_021139d8 add r0, r4, #0xf8 str r1, [sp] mov r1, #0x40 mov r2, #8 ldr r3, _02113954 ; =func_ov08_021139dc bl func_0204f614 ldr r1, _02113958 ; =func_ov08_02113984 add r0, r4, #0x2f8 str r1, [sp] mov r1, #0xcf mov r2, #0xc ldr r3, _0211395c ; =func_ov08_02113988 bl func_0204f614 add r5, r4, #0xac mov r0, #0 add r1, r5, #0xc00 mov r2, #0x40 bl func_020078f4 add r1, r5, #0xc00 mov r0, #0 mov r2, #0x40 bl func_020078f4 add r0, r4, #0xec add r5, r0, #0xc00 ldr r1, _02113960 ; =func_ov08_02113968 add r0, r5, #0x30 str r1, [sp] mov r1, #8 mov r2, #0x30 ldr r3, _02113964 ; =func_ov08_0211396c bl func_0204f614 add r1, r5, #0x1b0 mov r0, #0 mov r2, #8 bl func_020078f4 add r1, r5, #0x1b8 mov r0, #0 mov r2, #4 bl func_020078f4 mov r0, r5 blx func_ov00_0207a3e4 add r1, r4, #0xeb0 mov r0, #0 mov r2, #8 bl func_020078f4 add r5, r4, #0x2b8 mov r0, #0 add r1, r5, #0xc00 mov r2, #0x540 bl func_020078f4 add r1, r5, #0xc00 mov r0, #0 mov r2, #0x540 bl func_020078f4 mov r0, r4 blx func_ov00_0207a418 mov r0, #0 add r1, r4, #0x1400 mov r2, #0x1000 bl func_02007938 add r8, r4, #0x2580 add r5, r4, #0x2840 mov r7, #0 mov r6, #0x16 _021138b8: mov r0, r7 mov r1, r8 mov r2, r6 bl func_020078c0 add r8, r8, #0x16 cmp r8, r5 blo _021138b8 mov r0, r5 blx func_ov00_0207a4f0 add r0, r4, #0x2400 blx func_ov00_0207a5ac add r0, r4, #0x13c add r8, r4, #0x2900 add r5, r0, #0x2800 mov r7, #0 mov r6, #0x14 _021138f8: mov r0, r7 mov r1, r8 mov r2, r6 bl func_020078c0 add r8, r8, #0x14 cmp r8, r5 blo _021138f8 add r0, r4, #0x2900 blx func_ov00_0207c170 add r0, r4, #0x13c add r1, r0, #0x2800 mov r0, #0 mov r2, #4 bl func_020078f4 add r0, r4, #0x2940 blx func_ov00_0207a6d0 add r1, r4, #0x2000 mov r2, #0 mov r0, r4 str r2, [r1, #0x9c0] add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov08_02113730 _02113950: .word func_ov08_021139d8 _02113954: .word func_ov08_021139dc _02113958: .word func_ov08_02113984 _0211395c: .word func_ov08_02113988 _02113960: .word func_ov08_02113968 _02113964: .word func_ov08_0211396c arm_func_start func_ov08_02113968 func_ov08_02113968: ; 0x02113968 bx lr arm_func_end func_ov08_02113968 arm_func_start func_ov08_0211396c func_ov08_0211396c: ; 0x0211396c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1c bl func_ov00_020c1500 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov08_0211396c arm_func_start func_ov08_02113984 func_ov08_02113984: ; 0x02113984 bx lr arm_func_end func_ov08_02113984 arm_func_start func_ov08_02113988 func_ov08_02113988: ; 0x02113988 stmdb sp!, {r4, lr} mov r4, r0 mov r1, r4 mov r0, #0 mov r2, #8 bl func_020078f4 add r1, r4, #8 mov r0, #0 mov r2, #4 bl func_020078f4 mov r1, r4 mov r0, #0 mov r2, #8 bl func_020078f4 add r1, r4, #8 mov r0, #0 mov r2, #4 bl func_020078f4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov08_02113988 arm_func_start func_ov08_021139d8 func_ov08_021139d8: ; 0x021139d8 bx lr arm_func_end func_ov08_021139d8 arm_func_start func_ov08_021139dc func_ov08_021139dc: ; 0x021139dc stmdb sp!, {r4, lr} mov r4, r0 mov r1, r4 mov r0, #0 mov r2, #4 bl func_020078f4 mov r1, r4 mov r0, #0 mov r2, #8 bl func_020078f4 mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov08_021139dc arm_func_start func_ov08_02113a0c func_ov08_02113a0c: ; 0x02113a0c mov r2, #0 str r2, [r0, #0x900] str r2, [r0, #0x904] add r1, r0, #0x900 strh r2, [r1, #8] strh r2, [r1, #0xa] mov r1, #0x140 str r1, [r0, #0x90c] mov r1, #0x1e0 str r1, [r0, #0x910] mov r1, #2 str r1, [r0, #0x914] bx lr arm_func_end func_ov08_02113a0c arm_func_start func_ov08_02113a40 func_ov08_02113a40: ; 0x02113a40 stmdb sp!, {r4, lr} ldr r1, _02113aa0 ; =0x020d8795 mov r4, r0 ldr r0, _02113aa4 ; =data_ov00_020d88b4 ldrb r3, [r1] str r0, [r4] add r0, r4, #4 mov r1, #0 mov r2, #0xb strb r3, [r4, #0xf] bl func_02007a44 mov r2, #0 mov r3, r2 _02113a74: ldr r1, [r4] add r0, r4, r2 add r1, r1, r3 ldrb r1, [r1, #1] add r2, r2, #1 cmp r2, #0xb strb r1, [r0, #4] add r3, r3, #2 blt _02113a74 mov r0, r4 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end func_ov08_02113a40 _02113aa0: .word 0x020d8795 _02113aa4: .word data_ov00_020d88b4 arm_func_start func_ov08_02113aa8 func_ov08_02113aa8: ; 0x02113aa8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r7, r8 add r4, r8, #0x3c mov r6, #0 mov r5, #0x14 _02113ac0: mov r0, r6 mov r1, r7 mov r2, r5 bl func_020078c0 add r7, r7, #0x14 cmp r7, r4 blo _02113ac0 mov r0, r8 blx func_ov00_0207c170 mov r1, #0 mov r0, r8 strb r1, [r8, #0x3c] ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov08_02113aa8 data_ov08_02113af4: ; 0x02113af4 .byte 0x00, 0x00, 0x00, 0x00 data_ov08_02113af8: ; 0x02113af8 .byte 0x00, 0x00, 0x00, 0x00 data_ov08_02113afc: ; 0x02113afc .byte 0x00, 0x00, 0x00, 0x00 data_ov08_02113b00: ; 0x02113b00 .byte 0x4e, 0x4c, 0x47, 0x00 data_ov08_02113b04: ; 0x02113b04 .byte 0x4d, 0x65, 0x6e, 0x75, 0x2f, 0x42, 0x67, 0x2f, 0x4e, 0x69, 0x6e, 0x74 .byte 0x65, 0x6e, 0x64, 0x6f, 0x4c, 0x6f, 0x67, 0x6f, 0x2e, 0x62, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00 data_ov08_02113b20: ; 0x02113b20 .byte 0x4e, 0x4c, 0x47, 0x3a, 0x6e, 0x4c, 0x6f, 0x67, 0x6f, 0x00, 0x00, 0x00 data_ov08_02113b2c: ; 0x02113b2c .byte 0x4e, 0x4c, 0x47, 0x3a .byte 0x72, 0x69, 0x67, 0x68, 0x74, 0x54, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00 data_ov08_02113b3c: ; 0x02113b3c .byte 0x00, 0x00, 0x00, 0x00 data_ov08_02113b40: ; 0x02113b40 .byte 0x00, 0x00, 0x00, 0x00 data_ov08_02113b44: ; 0x02113b44 .byte 0x78, 0x2d, 0x11, 0x02 data_ov08_02113b48: ; 0x02113b48 .byte 0xa8, 0x2d, 0x11, 0x02 data_ov08_02113b4c: ; 0x02113b4c .byte 0xe0, 0x2d, 0x11, 0x02 data_ov08_02113b50: ; 0x02113b50 .byte 0xbd, 0xc0, 0x02, 0x02 data_ov08_02113b54: ; 0x02113b54 .byte 0x84, 0x2e, 0x11, 0x02 data_ov08_02113b58: ; 0x02113b58 .byte 0xc5, 0xc0, 0x02, 0x02 data_ov08_02113b5c: ; 0x02113b5c .byte 0xc9, 0xc0, 0x02, 0x02 data_ov08_02113b60: ; 0x02113b60 .byte 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f .byte 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x73, 0x64, 0x61, 0x74, 0x00 _02113b80: ; 0x02113b80