Function at 0x75ad8d2d
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x398
mov eax, dword [0x75bc8d18]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x394], eax
mov eax, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x398], eax
mov eax, dword [ebp + 0x14]
push edi
xor ebx, ebx
push ebx
mov dword [ebp - 0x37c], esi
mov dword [ebp - 0x390], eax
call fcn.75ad5ed1
xor edi, edi
inc edi
pop ecx
test eax, eax
jne 0x75ad8d88
push edi
call fcn.75ad5ed1
pop ecx
test eax, eax
je 0x75ad91c7
cmp esi, ebx
je 0x75ad91c7
cmp dword [0x75bcc8ec], 2
jne 0x75ad8daa
push esi
call fcn.75b675cc
pop ecx
mov dword [ebp - 0x378], edi
cmp al, 1
je 0x75ad8db0
mov dword [ebp - 0x378], ebx
push 0x75a19524
call fcn.75ad627f
mov esi, eax
pop ecx
cmp esi, ebx
je 0x75ad91c7
mov dword [ebp - 0x370], ebx
mov dword [ebp - 0x36c], ebx
mov edi, dword [esi]
lea ecx, [ebp - 0x370]
call fcn.759c6f3c
push eax
push 0x75ad9258
push esi
call dword [edi]
mov edi, eax
mov eax, dword [esi]
push esi
call dword [eax + 8]
cmp edi, ebx
jl 0x75ad8f1f
mov esi, dword [ebp - 0x370]
cmp esi, ebx
je 0x75ad8f1f
mov edi, dword [esi]
lea ecx, [ebp - 0x36c]
call fcn.759c6f3c
push eax
push 0x75a09e64
push esi
call dword [edi]
test eax, eax
jl 0x75ad91a7
cmp dword [ebp - 0x36c], ebx
je 0x75ad91b7
mov al, byte [0x75bcc8cc]
mov byte [ebp - 0x380], al
cmp dword [ebp - 0x378], ebx
je 0x75ad8e49
call fcn.759d82c4
jmp 0x75ad8e51
push 1
call fcn.759d0764
pop ecx
mov eax, dword [ebp - 0x36c]
mov ecx, dword [eax]
push ebx
push dword [ebp - 0x37c]
push eax
call dword [ecx + 0x14]
mov esi, eax
cmp dword [ebp - 0x378], ebx
je 0x75ad8e77
push 1
call fcn.759d07de
jmp 0x75ad8e82
push dword [ebp - 0x380]
call fcn.759d0764
cmp esi, ebx
pop ecx
jl 0x75ad91a7
mov eax, dword [ebp - 0x370]
lea edx, [ebp - 0x384]
push edx
push 0xa0000006
mov dword [ebp - 0x384], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
test eax, eax
jl 0x75ad91a7
mov eax, dword [ebp - 0x384]
cmp eax, ebx
je 0x75ad91a7
push ebx
push ebx
push ebx
push dword [ebp - 0x390]
add eax, 0x10c
push dword [ebp - 0x398]
push dword [ebp - 0x394]
push 1
push eax
call fcn.759b554e
add esp, 0x20
push dword [ebp - 0x384]
mov esi, eax
neg esi
sbb esi, esi
neg esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x36c]
cmp eax, ebx
je 0x75ad8f08
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x370]
cmp eax, ebx
je 0x75ad8f18
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x75ad91c9
cmp dword [ebp - 0x378], ebx
je 0x75ad8f2c
call fcn.759d82c4
push ebx
push 0x100080
push 3
push ebx
push 1
push 0x80000000
push dword [ebp - 0x37c]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x368], eax
cmp eax, 0xffffffff
je 0x75ad8fa4
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 3
je 0x75ad8f64
cmp eax, 2
jne 0x75ad8fa4
cmp dword [0x75bc8ca8], ebx
je 0x75ad8f8f
push ebx
push ebx
mov eax, 0x759b7ff8
push eax
push eax
push eax
push eax
push eax
push dword [ebp - 0x37c]
push 0x759fe368
push ebx
push ebx
push 9
call fcn.759c26bf
add esp, 0x30
push 0xffffffffffffffff
lea ecx, [ebp - 0x368]
call fcn.75acb2de
push 0x6e
call dword [sym.imp.KERNEL32.dll_SetLastError]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x378], ebx
je 0x75ad8fba
push 1
call fcn.759d07de
pop ecx
cmp dword [ebp - 0x368], 0xffffffff
je 0x75ad91a7
push 0x4c
lea eax, [ebp - 0x50]
push ebx
push eax
call sub.msvcrt.dll_memset
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
add esp, 0xc
push ebx
lea eax, [ebp - 0x374]
push eax
push 0x4c
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x368]
mov dword [ebp - 0x380], ebx
call esi
test eax, eax
je 0x75ad919b
cmp dword [ebp - 0x374], 0x4c
jne 0x75ad919b
test byte [ebp - 0x3c], 1
mov edi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
je 0x75ad905a
push ebx
lea eax, [ebp - 0x374]
push eax
push 2
lea eax, [ebp - 0x378]
push eax
push dword [ebp - 0x368]
call esi
test eax, eax
je 0x75ad919b
cmp dword [ebp - 0x374], 2
jne 0x75ad919b
movzx eax, word [ebp - 0x378]
push 1
push ebx
push eax
push dword [ebp - 0x368]
call edi
test byte [ebp - 0x3c], 2
je 0x75ad90af
push ebx
lea eax, [ebp - 0x374]
push eax
push 4
lea eax, [ebp - 0x380]
push eax
push dword [ebp - 0x368]
call esi
test eax, eax
je 0x75ad919b
cmp dword [ebp - 0x374], 4
jne 0x75ad919b
cmp dword [ebp - 0x380], 4
jb 0x75ad90af
sub dword [ebp - 0x380], 4
push 1
push ebx
push dword [ebp - 0x380]
push dword [ebp - 0x368]
call edi
mov eax, dword [ebp - 0x3c]
and eax, 0x80
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x37c], ebx
mov eax, 0x75ad9240
mov ecx, dword [ebp - 0x3c]
test dword [eax], ecx
je 0x75ad911f
push ebx
lea eax, [ebp - 0x374]
push eax
push 2
lea eax, [ebp - 0x378]
push eax
push dword [ebp - 0x368]
call esi
test eax, eax
je 0x75ad919b
cmp dword [ebp - 0x374], 2
jne 0x75ad919b
movzx ecx, word [ebp - 0x378]
xor eax, eax
cmp dword [ebp - 0x388], ebx
push 1
setne al
push ebx
inc eax
imul eax, ecx
push eax
push dword [ebp - 0x368]
call edi
inc dword [ebp - 0x37c]
mov eax, dword [ebp - 0x37c]
lea eax, [eax*4 + 0x75ad9240]
cmp dword [eax], ebx
je 0x75ad9174
jmp 0x75ad90c8
cmp dword [ebp - 0x374], 8
jne 0x75ad919b
cmp dword [ebp - 0x388], 0xa0000006
je 0x75ad91d8
mov eax, dword [ebp - 0x38c]
cmp eax, 8
jbe 0x75ad919b
push 1
push ebx
add eax, 0xfffffff8
push eax
push dword [ebp - 0x368]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
je 0x75ad919b
xor eax, eax
lea edi, [ebp - 0x38c]
stosd dword es:[edi], eax
push ebx
stosd dword es:[edi], eax
lea eax, [ebp - 0x374]
push eax
push 8
lea eax, [ebp - 0x38c]
push eax
push dword [ebp - 0x368]
call esi
test eax, eax
jne 0x75ad9138
push dword [ebp - 0x368]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x36c]
cmp eax, ebx
je 0x75ad91b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x370]
cmp eax, ebx
je 0x75ad91c7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.759b1748
leave
ret
push ebx
lea eax, [ebp - 0x374]
push eax
mov edi, 0x30c
push edi
lea eax, [ebp - 0x35c]
push eax
push dword [ebp - 0x368]
call esi
test eax, eax
je 0x75ad919b
cmp dword [ebp - 0x374], edi
jne 0x75ad919b
push ebx
push ebx
push ebx
push dword [ebp - 0x390]
lea eax, [ebp - 0x258]
push dword [ebp - 0x398]
push dword [ebp - 0x394]
push 1
push eax
call fcn.759b554e
add esp, 0x20
push dword [ebp - 0x368]
mov esi, eax
neg esi
sbb esi, esi
neg esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x75ad8ef8