Function at 0x10008162
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push 0x1001d664
push dword [ebp + 8]
lea eax, [ebp - 4]
push eax
mov esi, ecx
call fcn.1000ce61
add esp, 0xc
test eax, eax
jne 0x10008228
xor edi, edi
push 0x10
mov word [esi + 0x13d8], ax
lea eax, [esi + 0x13da]
push edi
push eax
mov dword [esi + 0x394], edi
call fcn.1000aa30
push dword [ebp - 4]
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 8]
push 4
push eax
call fcn.1000c456
mov eax, dword [ebp - 8]
add esp, 0x1c
mov dword [esi + 0x374], eax
cmp eax, 0x30100
je 0x10008594
cmp eax, 0x40000
je 0x100081e2
cmp eax, 0x40100
jne 0x10008576
push dword [ebp - 4]
lea eax, [ebp + 8]
push ebx
push 2
pop ebx
push ebx
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x10008258
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x38
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x378], eax
cmp eax, edi
jne 0x10008231
push dword [ebp - 4]
call fcn.1000cd1f
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4
movzx ecx, word [ebp + 8]
imul ecx, ecx, 0x38
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x38
push dword [esi + 0x378]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push 1
mov dword [esi + 0x37c], eax
lea eax, [ebp + 8]
push ebx
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x100082c4
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x18
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x13d0], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [ebp + 8]
imul ecx, ecx, 0x18
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x18
push dword [esi + 0x13d0]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push 1
mov dword [esi + 0x13d4], eax
lea eax, [ebp + 8]
push ebx
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x10008334
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x18
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x380], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [ebp + 8]
imul ecx, ecx, 0x18
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x18
push dword [esi + 0x380]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push 1
mov dword [esi + 0x384], eax
lea eax, [ebp + 8]
push ebx
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x100083a4
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x10
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x388], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [ebp + 8]
shl ecx, 4
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x10
push dword [esi + 0x388]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push 1
mov dword [esi + 0x38c], eax
lea eax, [ebp + 8]
push ebx
push eax
call fcn.1000c456
movzx eax, word [ebp + 8]
add esp, 0x10
mov dword [esi + 0x394], eax
cmp word [ebp + 8], di
jbe 0x10008456
xor ecx, ecx
push 0x1c
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x390], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [ebp + 8]
imul ecx, ecx, 0x1c
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x1c
push dword [esi + 0x390]
call fcn.1000c456
add esp, 0x1c
cmp dword [ebp - 8], 0x40100
jne 0x10008456
movzx eax, word [ebp + 8]
xor ecx, ecx
mov edx, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
push dword [ebp - 4]
movzx ecx, word [ebp + 8]
push ecx
push ebx
push eax
mov dword [esi + 0x398], eax
call fcn.1000c456
add esp, 0x14
push dword [ebp - 4]
lea eax, [ebp + 8]
push 1
push ebx
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x100084fe
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x18
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
movzx ecx, word [ebp + 8]
mov dword [esi + 0x39c], eax
mov dword [esi + 0x3a0], ecx
cmp eax, edi
je 0x1000821f
imul ecx, ecx, 0x18
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x18
push dword [esi + 0x39c]
call fcn.1000c456
add esp, 0x1c
cmp dword [ebp - 8], 0x40100
jne 0x100084fe
movzx eax, word [ebp + 8]
xor ecx, ecx
mov edx, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
push dword [ebp - 4]
movzx ecx, word [ebp + 8]
push ecx
push ebx
push eax
mov dword [esi + 0x3a4], eax
call fcn.1000c456
add esp, 0x14
push dword [ebp - 4]
push 1
push ebx
lea eax, [ebp + 8]
push eax
call fcn.1000c456
mov ax, word [ebp + 8]
add esp, 0x10
cmp ax, di
jbe 0x10008576
mov word [esi + 0x13cc], ax
movzx eax, ax
xor ecx, ecx
push 4
shl eax, 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x13c4], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [esi + 0x13cc]
shl ecx, 4
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [esi + 0x13cc]
push eax
push 0x10
push dword [esi + 0x13c4]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
mov ecx, esi
call sym.KcMV3Da.dll_protected:_void___thiscall_CMV3D::LoadDisplayListData_struct__iobuf__
push dword [ebp - 4]
call fcn.1000cd1f
mov eax, dword [esi + 0x374]
pop ecx
jmp 0x1000822a
push dword [ebp - 4]
lea eax, [ebp + 8]
push ebx
push 2
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x100085fa
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x38
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x378], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [ebp + 8]
imul ecx, ecx, 0x38
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x38
push dword [esi + 0x378]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push ebx
mov dword [esi + 0x37c], eax
lea eax, [ebp + 8]
push 2
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x1000866a
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x18
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x380], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [ebp + 8]
imul ecx, ecx, 0x18
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x18
push dword [esi + 0x380]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push ebx
mov dword [esi + 0x384], eax
lea eax, [ebp + 8]
push 2
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x100086fb
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x10
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x388], eax
cmp eax, edi
je 0x1000821f
xor eax, eax
mov dword [ebp - 0xc], edi
cmp ax, word [ebp + 8]
jae 0x100086fb
xor ebx, ebx
mov eax, dword [esi + 0x388]
push 0x10
add eax, ebx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
mov eax, dword [esi + 0x388]
push 1
add eax, ebx
push 0xc
push eax
call fcn.1000c456
movzx eax, word [ebp + 8]
add esp, 0x1c
inc dword [ebp - 0xc]
add ebx, 0x10
cmp dword [ebp - 0xc], eax
jl 0x100086c0
xor ebx, ebx
inc ebx
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push ebx
mov dword [esi + 0x38c], eax
lea eax, [ebp + 8]
push 2
push eax
call fcn.1000c456
movzx eax, word [ebp + 8]
add esp, 0x10
mov dword [esi + 0x394], eax
cmp word [ebp + 8], di
jbe 0x10008771
xor ecx, ecx
push 0x1c
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x390], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [ebp + 8]
imul ecx, ecx, 0x1c
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x1c
push dword [esi + 0x390]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
lea eax, [ebp + 8]
push ebx
push 2
push eax
call fcn.1000c456
add esp, 0x10
cmp word [ebp + 8], di
jbe 0x100087d7
movzx eax, word [ebp + 8]
xor ecx, ecx
push 0x18
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1000a5db
pop ecx
mov dword [esi + 0x39c], eax
cmp eax, edi
je 0x1000821f
movzx ecx, word [ebp + 8]
imul ecx, ecx, 0x18
push ecx
push edi
push eax
call fcn.1000aa30
push dword [ebp - 4]
movzx eax, word [ebp + 8]
push eax
push 0x18
push dword [esi + 0x39c]
call fcn.1000c456
add esp, 0x1c
push dword [ebp - 4]
push ebx
push 2
jmp 0x10008504