Function at 0x10068e60
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 0x10069264
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x498], eax
cmp eax, 0x14
jbe 0x1006925d
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 0x1006925d
cmp dword [ebp - 0x494], 4
jne 0x1006925d
cmp dword [ebp - 0x4b4], 1
jne 0x1006925d
mov eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x490]
sub eax, 0x10
mov esi, 4
mov dword [ebp - 0x498], eax
call fcn.10075fc0
cmp eax, 0x34
jbe 0x100691f4
push 0
lea eax, [ebp - 0x494]
push eax
push 4
lea eax, [ebp - 0x4a0]
push eax
push edi
call ebx
test eax, eax
je 0x10069250
cmp dword [ebp - 0x494], 4
jne 0x10069250
push 4
lea edx, [ebp - 0x4a0]
lea ecx, [ebp - 0x490]
call fcn.10075ff0
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 0x10069250
cmp dword [ebp - 0x494], 0x10
jne 0x10069250
push 0x10
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x490]
call fcn.10075ff0
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 0x10069250
cmp dword [ebp - 0x494], 4
jne 0x10069250
push 4
lea edx, [ebp - 0x4a4]
lea ecx, [ebp - 0x490]
call fcn.10075ff0
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 0x10069250
cmp dword [ebp - 0x494], 4
jne 0x10069250
push 4
lea edx, [ebp - 0x4ac]
lea ecx, [ebp - 0x490]
call fcn.10075ff0
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 0x10069250
cmp dword [ebp - 0x494], 8
jne 0x10069250
push 8
lea edx, [ebp - 0x4c8]
lea ecx, [ebp - 0x490]
call fcn.10075ff0
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 0x10069250
cmp dword [ebp - 0x494], 8
jne 0x10069250
push 8
lea edx, [ebp - 0x4c0]
lea ecx, [ebp - 0x490]
call fcn.10075ff0
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 0x10069250
cmp dword [ebp - 0x494], 4
jne 0x10069250
push 4
lea edx, [ebp - 0x49c]
lea ecx, [ebp - 0x490]
call fcn.10075ff0
add esi, dword [ebp - 0x494]
add esp, 4
mov ecx, dword [ebp - 0x49c]
lea eax, [ecx + esi]
cmp eax, dword [ebp - 0x498]
ja 0x10069250
push 0
lea eax, [ebp - 0x494]
push eax
push ecx
lea eax, [ebp - 0x438]
push eax
push edi
call ebx
test eax, eax
je 0x10069250
mov eax, dword [ebp - 0x494]
cmp eax, dword [ebp - 0x49c]
jne 0x10069250
push eax
lea edx, [ebp - 0x438]
lea ecx, [ebp - 0x490]
call fcn.10075ff0
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 0x100c694c
call fcn.1005d0c0
mov eax, dword [ebp - 0x4b0]
add esp, 0x10
shr eax, 1
cmp word [ebp + eax*2 - 0x232], 0
jne 0x10069250
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.10068c00
lea eax, [esi + 0x30]
add esp, 0x1c
cmp eax, dword [ebp - 0x498]
jb 0x10068f16
mov eax, dword [ebp - 0x498]
cmp esi, eax
jne 0x10069250
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x490]
call fcn.100760b0
push 0
lea eax, [ebp - 0x494]
push eax
push 0x10
lea eax, [ebp - 0x14]
push eax
push edi
call ebx
test eax, eax
je 0x10069250
cmp dword [ebp - 0x494], 0x10
jne 0x10069250
lea ecx, [ebp - 0x14]
mov esi, 0xc
lea edx, [ebp - 0x24]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10069248
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10069230
mov esi, 1
jmp 0x1006924a
xor esi, esi
test esi, esi
jne 0x1006925d
jmp 0x10069252
xor esi, esi
mov ecx, dword [ebp - 0x4a8]
call fcn.1006ef80
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.1007a730
mov esp, ebp
pop ebp
ret