Function at 0x78175afc
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov ecx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
xor edi, edi
cmp dword [ebp + 0x10], edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], ebx
je 0x78175b39
cmp dword [ebp + 0x14], edi
je 0x78175b39
cmp ecx, edi
jne 0x78175b40
call sym.MSVCR80.dll__errno
push edi
push edi
push edi
push edi
mov dword [eax], 0x16
push edi
call sym.MSVCR80.dll__invalid_parameter
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov esi, dword [ebp + 0x18]
cmp esi, edi
je 0x78175b54
or eax, 0xffffffff
xor edx, edx
div dword [ebp + 0x10]
cmp dword [ebp + 0x14], eax
jbe 0x78175b75
cmp ebx, 0xffffffff
je 0x78175b64
push ebx
push edi
push ecx
call sym.MSVCR80.dll_memset
add esp, 0xc
cmp esi, edi
je 0x78175b21
or eax, 0xffffffff
xor edx, edx
div dword [ebp + 0x10]
cmp dword [ebp + 0x14], eax
ja 0x78175b21
mov edi, dword [ebp + 0x10]
imul edi, dword [ebp + 0x14]
test word [esi + 0xc], 0x10c
mov dword [ebp - 0x10], edi
mov ebx, edi
je 0x78175b91
mov eax, dword [esi + 0x18]
mov dword [ebp - 0xc], eax
jmp 0x78175b98
mov dword [ebp - 0xc], 0x1000
test edi, edi
je 0x78175c89
test word [esi + 0xc], 0x10c
je 0x78175bec
mov eax, dword [esi + 4]
test eax, eax
je 0x78175bec
jl 0x78175cea
cmp ebx, eax
mov edi, ebx
jb 0x78175bbd
mov edi, eax
cmp edi, dword [ebp - 4]
ja 0x78175c91
push edi
push dword [esi]
push dword [ebp - 4]
push dword [ebp - 8]
call sym.MSVCR80.dll_memcpy_s
sub dword [esi + 4], edi
add dword [esi], edi
add dword [ebp - 8], edi
sub ebx, edi
add esp, 0x10
sub dword [ebp - 4], edi
mov edi, dword [ebp - 0x10]
jmp 0x78175c81
cmp ebx, dword [ebp - 0xc]
jb 0x78175c59
cmp dword [ebp - 0xc], 0
je 0x78175c16
mov ecx, 0x7fffffff
xor edx, edx
cmp ebx, ecx
jbe 0x78175c0b
mov eax, ecx
div dword [ebp - 0xc]
mov eax, ecx
jmp 0x78175c12
mov eax, ebx
div dword [ebp - 0xc]
mov eax, ebx
sub eax, edx
jmp 0x78175c21
mov eax, 0x7fffffff
cmp ebx, eax
ja 0x78175c21
mov eax, ebx
cmp eax, dword [ebp - 4]
ja 0x78175cbd
push eax
push dword [ebp - 8]
push esi
call sym.MSVCR80.dll__fileno
pop ecx
push eax
call sym.MSVCR80.dll__read
add esp, 0xc
test eax, eax
je 0x78175cfc
cmp eax, 0xffffffff
je 0x78175cea
add dword [ebp - 8], eax
sub ebx, eax
sub dword [ebp - 4], eax
jmp 0x78175c81
push esi
call sym.MSVCR80.dll__filbuf
cmp eax, 0xffffffff
pop ecx
je 0x78175cee
cmp dword [ebp - 4], 0
je 0x78175cbd
mov ecx, dword [ebp - 8]
inc dword [ebp - 8]
mov byte [ecx], al
mov eax, dword [esi + 0x18]
dec ebx
dec dword [ebp - 4]
mov dword [ebp - 0xc], eax
test ebx, ebx
jne 0x78175ba0
mov eax, dword [ebp + 0x14]
jmp 0x78175b3b
xor esi, esi
cmp dword [ebp + 0xc], 0xffffffff
je 0x78175ca8
push dword [ebp + 0xc]
push esi
push dword [ebp + 8]
call sym.MSVCR80.dll_memset
add esp, 0xc
call sym.MSVCR80.dll__errno
push esi
push esi
push esi
push esi
mov dword [eax], 0x22
push esi
jmp 0x78175b31
cmp dword [ebp + 0xc], 0xffffffff
je 0x78175cd3
push dword [ebp + 0xc]
push 0
push dword [ebp + 8]
call sym.MSVCR80.dll_memset
add esp, 0xc
call sym.MSVCR80.dll__errno
mov dword [eax], 0x22
xor eax, eax
push eax
push eax
push eax
push eax
push eax
jmp 0x78175b31
or dword [esi + 0xc], 0x20
mov eax, edi
sub eax, ebx
xor edx, edx
div dword [ebp + 0x10]
jmp 0x78175b3b
or dword [esi + 0xc], 0x10
jmp 0x78175cee