Function at 0x62e86260
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x62e86354
cmp dword [ebx + 0xc], 0x1c4f
jne 0x62e86354
mov eax, dword [ebx + 0x4c]
test eax, eax
jne 0x62e86348
cmp dword [esp + 0x48], 0
jl 0x62e8646b
je 0x62e86384
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x62e863e8
mov ebp, dword [ebx]
mov dword [esp + 0x1c], 0
jmp 0x62e86320
mov edi, dword [ebx + 0x34]
test edi, edi
je 0x62e862c6
mov esi, dword [ebx + 0x58]
test esi, esi
je 0x62e8645f
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x62e86364
mov edx, dword [ebx + 0x18]
shl edx, 1
cmp dword [esp + 0x48], edx
jb 0x62e86364
dec eax
je 0x62e86390
mov edx, dword [esp + 0x48]
mov dword [ebx + 0x64], edx
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x60], eax
mov eax, ebx
call fcn.62e86020
inc eax
je 0x62e86354
mov ebp, dword [ebx]
mov dword [ebx], 0
sub dword [esp + 0x48], ebp
add dword [esp + 0x44], ebp
add dword [esp + 0x1c], ebp
add dword [ebx + 8], ebp
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x62e86376
mov ebp, dword [ebx]
test ebp, ebp
je 0x62e862b4
cmp ebp, dword [esp + 0x48]
jbe 0x62e8632e
mov ebp, dword [esp + 0x48]
mov esi, dword [ebx + 4]
mov edi, dword [esp + 0x44]
mov ecx, ebp
rep movsb byte es:[edi], byte [esi]
add dword [ebx + 4], ebp
sub dword [ebx], ebp
sub dword [esp + 0x48], ebp
mov dword [esp + 0x44], edi
jmp 0x62e8630f
cmp eax, 0xfffffffb
je 0x62e8628b
lea esi, [esi]
mov eax, 0xffffffff
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
call fcn.62e86184
inc eax
je 0x62e86354
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x62e8631e
mov eax, dword [esp + 0x1c]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
xor ebp, ebp
mov edi, ebx
jmp 0x62e863a4
add ebp, eax
cmp dword [esp + 0x48], ebp
jbe 0x62e86450
mov esi, dword [esp + 0x48]
sub esi, ebp
mov ebx, dword [esp + 0x44]
add ebx, ebp
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll__read
cmp eax, 0
jg 0x62e86398
mov eax, edi
mov edi, ebx
mov ebx, eax
jne 0x62e8648d
mov dword [eax + 0x34], 1
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], edi
jmp 0x62e8630f
mov dword [ebx + 0x48], 0
mov esi, dword [ebx + 0x44]
mov ebp, dword [ebx]
test esi, esi
jne 0x62e8641c
jmp 0x62e862a9
jl 0x62e86448
cmp ebp, esi
jg 0x62e86448
sub esi, ebp
mov eax, ebp
xor ebp, ebp
mov dword [ebx], ebp
add dword [ebx + 4], eax
add dword [ebx + 8], eax
test esi, esi
je 0x62e862a9
cmp ebp, 0
jne 0x62e86400
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x62e86433
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x62e862a9
mov eax, ebx
call fcn.62e86184
inc eax
je 0x62e86354
mov ebp, dword [ebx]
jmp 0x62e86414
mov eax, esi
sub ebp, esi
xor esi, esi
jmp 0x62e8640c
mov ebx, edi
sub dword [esp + 0x48], ebp
add dword [esp + 0x44], ebp
jmp 0x62e8630f
mov dword [ebx + 0x38], 1
jmp 0x62e86376
mov dword [esp + 8], 0x62e9832c
mov dword [esp + 4], 0xfffffffd
mov dword [esp], ebx
call fcn.62e85c34
mov eax, 0xffffffff
jmp 0x62e86359
call sub.msvcrt.dll__errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebx
call fcn.62e85c34
jmp 0x62e86354