Function at 0x40fd73
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43716c
mov eax, dword fs:[0]
push eax
mov eax, 0x1019c
call fcn.00421640
mov eax, dword [0x445610]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x10178], eax
call fcn.0040d199
xor ebx, ebx
push 0xb0
push ebx
test eax, eax
je 0x40fee9
lea eax, [ebp - 0x10170]
push eax
call fcn.0041f3b0
add esp, 0xc
lea ecx, [ebp - 0x10170]
xor edi, edi
inc edi
push edi
push 3
call fcn.00402acb
lea eax, [ebp - 0x10160]
mov dword [ebp - 4], ebx
push esi
push eax
call fcn.00401763
pop ecx
pop ecx
lea eax, [ebp - 0x101a8]
push eax
lea ecx, [ebp - 0x10170]
call fcn.00415f17
cmp dword [eax + 0x14], 8
jb 0x40fe12
mov eax, dword [eax]
push ebx
push 0x80
push 3
push ebx
push 3
push 0xc0120089
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push ebx
push edi
lea ecx, [ebp - 0x101a8]
mov esi, eax
call fcn.00413939
cmp esi, 0xffffffff
je 0x40fed8
push ebx
push ebx
push ebx
push esi
mov dword [ebp - 0x10174], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
lea eax, [ebp - 0x10174]
push eax
push 0x10000
lea eax, [ebp - 0x10010]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40fec6
cmp dword [ebp - 0x10174], 0
jbe 0x40fec6
push dword [ebp - 0x10174]
lea eax, [ebp - 0x10010]
mov dword [ebp - 0x1017c], 0xf
push eax
lea ecx, [ebp - 0x10190]
mov dword [ebp - 0x10180], ebx
mov byte [ebp - 0x10190], bl
call fcn.00413d17
mov ecx, dword [ebp - 0x10178]
lea eax, [ebp - 0x10190]
push eax
call fcn.004039ec
push ebx
push edi
lea ecx, [ebp - 0x10190]
call fcn.004138f5
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x10170]
jmp 0x410003
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x10170]
jmp 0x410018
lea eax, [ebp - 0x100c0]
push eax
call fcn.0041f3b0
add esp, 0xc
lea ecx, [ebp - 0x100c0]
xor edi, edi
inc edi
push edi
push 3
call fcn.00402acb
push esi
lea eax, [ebp - 0x100b0]
mov dword [ebp - 4], edi
push 0x43945c
push eax
call fcn.00401331
pop ecx
pop ecx
push eax
call fcn.00401763
pop ecx
pop ecx
lea eax, [ebp - 0x101a8]
push eax
lea ecx, [ebp - 0x100c0]
call fcn.00415f17
cmp dword [eax + 0x14], 8
jb 0x40ff42
mov eax, dword [eax]
push ebx
push 0x80
push 3
push ebx
push 3
push 0xc0120089
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push ebx
push edi
lea ecx, [ebp - 0x101a8]
mov esi, eax
call fcn.00413939
cmp esi, 0xffffffff
je 0x41000c
push ebx
push ebx
push ebx
push esi
mov dword [ebp - 0x10174], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
lea eax, [ebp - 0x10174]
push eax
push 0x10000
lea eax, [ebp - 0x10010]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x40fff6
cmp dword [ebp - 0x10174], 0
jbe 0x40fff6
push dword [ebp - 0x10174]
lea eax, [ebp - 0x10010]
mov dword [ebp - 0x1017c], 0xf
push eax
lea ecx, [ebp - 0x10190]
mov dword [ebp - 0x10180], ebx
mov byte [ebp - 0x10190], bl
call fcn.00413d17
mov ecx, dword [ebp - 0x10178]
lea eax, [ebp - 0x10190]
push eax
call fcn.004039ec
push ebx
push edi
lea ecx, [ebp - 0x10190]
call fcn.004138f5
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x100c0]
call fcn.00403c09
xor eax, eax
jmp 0x410021
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x100c0]
mov esi, eax
call fcn.00403c09
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042109c
mov esp, ebp
pop ebp
ret 8