Function at 0x4155c5
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
push ebx
push esi
lea eax, [ebp - 4]
mov ecx, 0
mov dword [eax], ecx
lea eax, [ebp - 0x88]
mov ecx, 0
mov dword [eax], ecx
lea eax, [ebp - 0xa0]
mov ecx, 0
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, 0
cmp eax, ecx
je 0x41560e
mov eax, dword [ebp + 0x18]
mov ecx, 0
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, 0
cmp eax, ecx
je 0x415628
mov eax, dword [ebp + 0x14]
mov ecx, 0
mov dword [eax], ecx
lea eax, [0x474e1c]
push eax
call fcn.00409a3d
lea ecx, [ebp - 0x88]
mov dword [ecx], eax
mov ecx, 0
cmp eax, ecx
jne 0x415658
lea eax, [ebp - 4]
mov ecx, 0xfffffff4
mov dword [eax], ecx
jmp 0x415951
lea eax, [ebp - 0x94]
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp + 8]
push eax
call sub.cvirte.dll_ftell
add esp, 4
lea ecx, [ebp - 0x9c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x9c]
mov ecx, 0xffffffff
cmp eax, ecx
je 0x41569e
call fcn.00401658
mov eax, dword [eax]
mov ecx, 0x64
cmp eax, ecx
jne 0x4156bd
lea eax, [ebp - 4]
mov ecx, 0xffffffa3
mov dword [eax], ecx
mov eax, dword [ebp - 4]
mov ecx, 0
cmp eax, ecx
jge 0x4156bd
jmp 0x415951
mov eax, dword [ebp + 0x10]
mov ecx, 0
cmp eax, ecx
jge 0x4156df
lea eax, [ebp - 0x98]
mov ecx, pe_nt_image_headers32
mov dword [eax], ecx
jmp 0x415723
mov eax, pe_nt_image_headers32
mov ecx, dword [ebp - 0x94]
cmp eax, ecx
jge 0x415707
lea eax, [ebp - 0xa4]
mov ecx, pe_nt_image_headers32
mov dword [eax], ecx
lea eax, [0x415715]
jmp eax
lea eax, [ebp - 0xa4]
mov ecx, dword [ebp - 0x94]
mov dword [eax], ecx
lea eax, [ebp - 0x98]
mov ecx, dword [ebp - 0xa4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
mov ecx, 0
cmp eax, ecx
jg 0x415755
mov eax, dword [ebp + 0x18]
mov ecx, 0
cmp eax, ecx
je 0x415877
mov eax, dword [ebp + 0x18]
mov ecx, 1
mov dword [eax], ecx
jmp 0x415877
mov eax, dword [ebp - 0x98]
lea ecx, [ebp - 0x84]
mov edx, dword [ebp + 8]
push edx
push eax
push 1
push ecx
call sub.cvirte.dll_fread
add esp, 0x10
lea ecx, [ebp - 0x90]
mov dword [ecx], eax
mov eax, dword [ebp - 0x90]
mov ecx, 0
cmp eax, ecx
jne 0x4157ae
mov eax, dword [ebp + 0x14]
mov ecx, 0
cmp eax, ecx
je 0x415877
mov eax, dword [ebp + 0x14]
mov ecx, 1
mov dword [eax], ecx
jmp 0x415877
mov eax, dword [ebp + 0x10]
mov ecx, 0
cmp eax, ecx
jl 0x4157d0
lea eax, [ebp - 0x94]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x90]
sub ecx, edx
mov dword [eax], ecx
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0x90]
push edx
push eax
push ecx
call fcn.00409ab4
lea ecx, [ebp - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov ecx, 0
cmp eax, ecx
jge 0x415804
jmp 0x415951
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x84]
push eax
push 0
push ecx
call sub.cvirte.dll_memchr
add esp, 0xc
lea ecx, [ebp - 0x8c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x8c]
mov ecx, 0
cmp eax, ecx
je 0x415860
lea eax, [ebp - 0xa0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x8c]
lea ebx, [ebp - 0x84]
sub edx, ebx
mov ebx, 1
add edx, ebx
add ecx, edx
mov dword [eax], ecx
jmp 0x415877
lea eax, [ebp - 0xa0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x90]
add ecx, edx
mov dword [eax], ecx
jmp 0x4156bd
mov eax, dword [ebp - 0x8c]
mov ecx, 0
cmp eax, ecx
jne 0x41590a
mov eax, dword [0x4470a8]
mov ecx, 0
cmp eax, ecx
je 0x4158ca
mov eax, dword [ebp - 0xa0]
mov ecx, 1
sub eax, ecx
push eax
mov eax, dword [ebp - 0x88]
push eax
call sub.cvirte.dll_CVI__mbsbtype
add esp, 8
lea ecx, [ebp - 0xa4]
mov dword [ecx], eax
lea eax, [0x4158d7]
jmp eax
lea eax, [ebp - 0xa4]
mov ecx, 0
mov dword [eax], ecx
mov eax, dword [ebp - 0xa4]
mov ecx, 1
cmp eax, ecx
jne 0x41590a
lea eax, [ebp - 0xa0]
mov ecx, dword [eax]
mov edx, 1
sub ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
add ecx, eax
mov eax, 0
mov byte [ecx], al
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
add eax, ecx
push 0
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00401622
add esp, 0xc
mov ecx, 0
cmp eax, ecx
je 0x415951
lea eax, [ebp - 4]
mov ecx, 0xffffffa3
mov dword [eax], ecx
mov eax, dword [ebp - 4]
mov ecx, 0
cmp eax, ecx
jge 0x415951
mov eax, dword [ebp - 4]
mov ecx, 0
cmp eax, ecx
jge 0x415982
mov eax, dword [ebp - 0x88]
push eax
call sub.cvirte.dll_free
add esp, 4
mov eax, dword [ebp + 0xc]
mov ecx, 0
mov dword [eax], ecx
mov eax, dword [ebp - 4]
jmp 0x415992
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, 0
pop esi
pop ebx
leave
ret 0x14