Function at 0x410abf
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x100c8
call fcn.004394b0
mov eax, dword [0x450060]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
and dword [ebp - 0x10088], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10084], eax
and dword [ebp - 0x1000c], 0
and dword [ebp - 0x10080], 0
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x1007c]
rep stosd dword es:[edi], eax
push 0x48
push 0
lea eax, [ebp - 0x10060]
push eax
call fcn.0042cd80
add esp, 0xc
mov byte [ebp - 0x100a8], 0
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x100a7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp - 0x10084]
cmp dword [eax + 0xc], 0
je 0x410b49
mov eax, dword [ebp - 0x10084]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x100b4], eax
jmp 0x410b53
mov dword [ebp - 0x100b4], 0x4047f8
mov eax, dword [ebp - 0x100b4]
mov dword [ebp - 0x1000c], eax
cmp dword [ebp + 0xc], 0
je 0x410b9b
push dword [ebp + 0x10]
mov eax, dword [ebp - 0x10084]
mov eax, dword [eax + 0x10]
push dword [eax + 0x14]
push dword [eax + 0x10]
push dword [ebp - 0x1000c]
push 3
call dword [ebp + 0xc]
mov dword [ebp - 0x10088], eax
cmp dword [ebp - 0x10088], 0
je 0x410b9b
jmp 0x410e3a
lea eax, [ebp - 0x10080]
push eax
call fcn.00449340
push 0
push 0
mov eax, dword [ebp - 0x10084]
mov eax, dword [eax + 0x10]
push dword [eax + 0xc]
push dword [eax + 8]
mov eax, dword [ebp - 0x10084]
push dword [eax]
call fcn.0040feaa
mov dword [ebp - 0x10088], eax
cmp dword [ebp - 0x10088], 0
jge 0x410be0
jmp 0x410e3a
cmp dword [ebp + 0xc], 0
je 0x410c11
push dword [ebp + 0x10]
push 0
push 0
push dword [ebp - 0x1000c]
push 4
call dword [ebp + 0xc]
mov dword [ebp - 0x10088], eax
cmp dword [ebp - 0x10088], 0
je 0x410c11
jmp 0x410e3a
and dword [ebp - 0x10018], 0
and dword [ebp - 0x10014], 0
mov eax, dword [ebp - 0x10084]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
sub ecx, dword [ebp - 0x10018]
mov eax, dword [eax + 0x14]
sbb eax, dword [ebp - 0x10014]
mov dword [ebp - 0x100bc], ecx
mov dword [ebp - 0x100b8], eax
cmp dword [ebp - 0x100b8], 0
jb 0x410c70
ja 0x410c5d
cmp dword [ebp - 0x100bc], 0x10000
jbe 0x410c70
mov dword [ebp - 0x100c4], 0x10000
and dword [ebp - 0x100c0], 0
jmp 0x410c97
mov eax, dword [ebp - 0x10084]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
sub ecx, dword [ebp - 0x10018]
mov eax, dword [eax + 0x14]
sbb eax, dword [ebp - 0x10014]
mov dword [ebp - 0x100c4], ecx
mov dword [ebp - 0x100c0], eax
mov eax, dword [ebp - 0x100c4]
mov dword [ebp - 0x100ac], eax
and dword [ebp - 0x100b0], 0
push 0
lea eax, [ebp - 0x100b0]
push eax
push dword [ebp - 0x100ac]
lea eax, [ebp - 0x10008]
push eax
mov eax, dword [ebp - 0x10084]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x410d21
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x10088], eax
push dword [ebp - 0x10088]
call fcn.00407c6d
mov dword [ebp - 0x10088], eax
cmp dword [ebp - 0x10088], 0
jl 0x410d02
mov dword [ebp - 0x10088], 0x80004005
push dword [ebp - 0x10088]
push 0x181
push 0x405ffc
call fcn.0040e33f
jmp 0x410e3a
push dword [ebp - 0x100b0]
lea eax, [ebp - 0x10008]
push eax
lea eax, [ebp - 0x10080]
push eax
call fcn.00449eb0
mov eax, dword [ebp - 0x100b0]
xor ecx, ecx
add eax, dword [ebp - 0x10018]
adc ecx, dword [ebp - 0x10014]
mov dword [ebp - 0x10018], eax
mov dword [ebp - 0x10014], ecx
push dword [ebp + 0x10]
push dword [ebp - 0x10014]
push dword [ebp - 0x10018]
push dword [ebp - 0x1000c]
push 4
call dword [ebp + 0xc]
mov dword [ebp - 0x10088], eax
cmp dword [ebp - 0x10088], 0
je 0x410d8d
jmp 0x410e3a
mov eax, dword [ebp - 0x10084]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x100c8], eax
mov eax, dword [ebp - 0x100c8]
mov ecx, dword [ebp - 0x10014]
cmp ecx, dword [eax + 0x14]
jb 0x410c1f
ja 0x410dc8
mov eax, dword [ebp - 0x100c8]
mov ecx, dword [ebp - 0x10018]
cmp ecx, dword [eax + 0x10]
jb 0x410c1f
lea eax, [ebp - 0x100a8]
push eax
lea eax, [ebp - 0x10080]
push eax
call fcn.00449fc0
push 0x20
lea eax, [ebp - 0x100a8]
push eax
mov eax, dword [ebp - 0x10084]
mov eax, dword [eax + 0x10]
add eax, 0x18
push eax
call fcn.0043bb79
add esp, 0xc
test eax, eax
je 0x410e14
mov dword [ebp - 0x10088], 0x80004005
cmp dword [ebp - 0x10088], 0
jge 0x410e14
jmp 0x410e3a
cmp dword [ebp + 0xc], 0
je 0x410e3a
push dword [ebp + 0x10]
push dword [ebp - 0x10014]
push dword [ebp - 0x10018]
push dword [ebp - 0x1000c]
push 5
call dword [ebp + 0xc]
mov dword [ebp - 0x10088], eax
mov eax, dword [ebp - 0x10088]
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042cd6d
leave
ret 0xc