Function at 0x10069070
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4cc
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x4a8], ecx
push esi
push esi
push 3
push esi
push esi
push SysReAllocString
push edx
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x10069474
push esi
push edi
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
mov dword [ebp - 0x498], eax
cmp eax, 0x14
jbe 0x1006946d
mov ebx, dword [sym.imp.KERNEL32.DLL_ReadFile]
lea eax, [ebp - 0x494]
push esi
push eax
push 4
lea eax, [ebp - 0x4b4]
push eax
push edi
call ebx
test eax, eax
je 0x1006946d
cmp dword [ebp - 0x494], 4
jne 0x1006946d
cmp dword [ebp - 0x4b4], 1
jne 0x1006946d
mov eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x490]
sub eax, 0x10
mov esi, 4
mov dword [ebp - 0x498], eax
call fcn.100762a0
cmp eax, 0x34
jbe 0x10069404
push 0
lea eax, [ebp - 0x494]
push eax
push 4
lea eax, [ebp - 0x4a0]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
cmp dword [ebp - 0x494], 4
jne 0x10069460
push 4
lea edx, [ebp - 0x4a0]
lea ecx, [ebp - 0x490]
call fcn.100762d0
add esi, dword [ebp - 0x494]
lea eax, [ebp - 0x494]
add esp, 4
push 0
push eax
push 0x10
lea eax, [ebp - 0x14]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
cmp dword [ebp - 0x494], 0x10
jne 0x10069460
push 0x10
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x490]
call fcn.100762d0
add esi, dword [ebp - 0x494]
lea eax, [ebp - 0x494]
add esp, 4
push 0
push eax
push 4
lea eax, [ebp - 0x4a4]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
cmp dword [ebp - 0x494], 4
jne 0x10069460
push 4
lea edx, [ebp - 0x4a4]
lea ecx, [ebp - 0x490]
call fcn.100762d0
add esi, dword [ebp - 0x494]
lea eax, [ebp - 0x494]
add esp, 4
push 0
push eax
push 4
lea eax, [ebp - 0x4ac]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
cmp dword [ebp - 0x494], 4
jne 0x10069460
push 4
lea edx, [ebp - 0x4ac]
lea ecx, [ebp - 0x490]
call fcn.100762d0
add esi, dword [ebp - 0x494]
lea eax, [ebp - 0x494]
add esp, 4
push 0
push eax
push 8
lea eax, [ebp - 0x4c8]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
cmp dword [ebp - 0x494], 8
jne 0x10069460
push 8
lea edx, [ebp - 0x4c8]
lea ecx, [ebp - 0x490]
call fcn.100762d0
add esi, dword [ebp - 0x494]
lea eax, [ebp - 0x494]
add esp, 4
push 0
push eax
push 8
lea eax, [ebp - 0x4c0]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
cmp dword [ebp - 0x494], 8
jne 0x10069460
push 8
lea edx, [ebp - 0x4c0]
lea ecx, [ebp - 0x490]
call fcn.100762d0
add esi, dword [ebp - 0x494]
lea eax, [ebp - 0x494]
add esp, 4
push 0
push eax
push 4
lea eax, [ebp - 0x49c]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
cmp dword [ebp - 0x494], 4
jne 0x10069460
push 4
lea edx, [ebp - 0x49c]
lea ecx, [ebp - 0x490]
call fcn.100762d0
add esi, dword [ebp - 0x494]
add esp, 4
mov ecx, dword [ebp - 0x49c]
lea eax, [ecx + esi]
cmp eax, dword [ebp - 0x498]
ja 0x10069460
push 0
lea eax, [ebp - 0x494]
push eax
push ecx
lea eax, [ebp - 0x438]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
mov eax, dword [ebp - 0x494]
cmp eax, dword [ebp - 0x49c]
jne 0x10069460
push eax
lea edx, [ebp - 0x438]
lea ecx, [ebp - 0x490]
call fcn.100762d0
mov edx, dword [ebp - 0x49c]
lea eax, [ebp - 0x4b0]
add esi, dword [ebp - 0x494]
lea ecx, [ebp - 0x438]
add esp, 4
push eax
lea eax, [ebp - 0x230]
push eax
push 5
push 0x100c6984
call fcn.1005d0c0
mov eax, dword [ebp - 0x4b0]
add esp, 0x10
shr eax, 1
cmp word [ebp + eax*2 - 0x232], 0
jne 0x10069460
mov ecx, dword [ebp - 0x4a8]
lea edx, [ebp - 0x4b8]
mov eax, dword [ecx]
mov dword [ebp - 0x4b8], eax
lea eax, [ebp - 0x4c0]
push eax
lea eax, [ebp - 0x4c8]
push eax
push dword [ebp - 0x4ac]
lea eax, [ebp - 0x230]
push dword [ebp - 0x4a4]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x4a0]
call fcn.10068e10
lea eax, [esi + 0x30]
add esp, 0x1c
cmp eax, dword [ebp - 0x498]
jb 0x10069126
mov eax, dword [ebp - 0x498]
cmp esi, eax
jne 0x10069460
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x490]
call fcn.10076390
push 0
lea eax, [ebp - 0x494]
push eax
push 0x10
lea eax, [ebp - 0x14]
push eax
push edi
call ebx
test eax, eax
je 0x10069460
cmp dword [ebp - 0x494], 0x10
jne 0x10069460
lea ecx, [ebp - 0x14]
mov esi, 0xc
lea edx, [ebp - 0x24]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10069458
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10069440
mov esi, 1
jmp 0x1006945a
xor esi, esi
test esi, esi
jne 0x1006946d
jmp 0x10069462
xor esi, esi
mov ecx, dword [ebp - 0x4a8]
call fcn.1006f260
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007aa10
mov esp, ebp
pop ebp
ret