Function at 0x427d68
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
push 0xf4
mov eax, 0x5a5df1
call fcn.0043caa9
mov edi, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xfc], esi
push esi
xor eax, eax
mov dword [ebp - 4], esi
push 0x5a98a4
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], esi
mov word [ebp - 0x28], ax
call fcn.00402110
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.00441ff5
call fcn.00426659
test al, al
je 0x427dd3
mov byte [edi], al
jne 0x427e36
invalid
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42805e
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
push esi
cmovae eax, dword [ebp + 0xc]
push 0x80
push 4
push esi
push 1
push closesocket
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0xe8], ebx
cmp ebx, 0xffffffff
jne 0x427e2d
push 0x5a98a4
mov ecx, edi
call fcn.00403700
jmp 0x428069
call fcn.00426026
test al, al
je 0x427e4e
invalid
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xec], eax
inc eax
push eax
mov dword [ebp - 0xf8], eax
call fcn.0043c562
mov dword [ebp - 0xf0], eax
pop ecx
test eax, eax
je 0x427e1c
call fcn.004264bb
test al, al
je 0x427e9a
retf 0x7994
call fcn.004265cf
test al, al
je 0x427ec1
push ebp
dec ecx
pop esi
mov bl, 0x66
adc byte [ebx], 0x5a
jae 0x427ee5
or byte [edi], ch
stc
sub eax, dword [esp + ebx]
ret 0x53ba
push dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf0]
push 0
push esi
call fcn.00447ad0
add esp, 0xc
lea eax, [ebp - 0x100]
push 0
push eax
push dword [ebp - 0xec]
push esi
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
call fcn.00426431
test al, al
je 0x427f14
invalid
cmp esi, edi
stosb byte es:[edi], al
mov cl, 0x55
sbb esp, dword [0xab530476]
leave
inc ebx
out dx, eax
and dl, dh
hlt
call fcn.004261c4
test al, al
je 0x427f35
adc eax, 0xa6490df6
inc ebp
insd dword es:[edi], dx
add eax, 0xcea49008
lcall 0x706b, 0x37a13104
xor dword [ebx + 0x50], esp
sahf
sbb al, 0xe8
adc al, 0xe3
invalid
call fcn.0042624e
test al, al
je 0x427f56
push esi
test byte [edx + 0x68b6666e], 0xd0
int 0x26
adc bl, byte [esi + edi*4]
mov ah, 0xda
invalid
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xec]
mov ebx, dword [ebp - 0xf0]
lea ecx, [ebp - 0xe4]
push ebx
call fcn.004429c3
push ebx
call fcn.0043c56b
pop ecx
call fcn.004263ec
test al, al
je 0x427f9c
add cl, bh
push ebp
sub dword [edx + 0xe], esp
out 0xe3, al
test byte [edi], dh
pop esi
adc byte [edi + ecx - 0x72f29e7e], 0x45
test al, 0x50
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xe4]
call fcn.0044220e
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
call fcn.0042a717
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0040c130
call fcn.004263a7
test al, al
je 0x427fe8
movsb byte es:[edi], byte [esi]
mov dl, cl
xchg edi, eax
test eax, 0x25da1736
pop ss
inc esp
loop 0x427fd0
mov bh, 0x93
xchg edi, eax
inc esp
inc edx
xchg byte [eax + ebp*8], ch
xlatb
loope 0x427feb
call fcn.004261c4
test al, al
je 0x42800f
invalid
inc dword [eax + eax*8 - 0x6961e18c]
sahf
xchg esi, eax
ja 0x427f8c
jne 0x428030
ret
jbe 0x428069
notrack call fcn.00426293
call fcn.00426293
test al, al
je 0x428037
scasb al, byte es:[edi]
cmp al, 0xb1
jle 0x428038
lahf
mov bh, dl
adc byte [edi], cl
or dword [esi + 0x1ac2abde], ebx
sbb eax, 0xabdc2fb0
adc ecx, ebx
mov esp, ss
xor byte [edi + 0x63], ah
mov esp, ecx
xchg ebp, eax
aam 0x30
arpl word [bp + di - 0x6a1f], cx
xor esi, esi
cmp dword [ebp - 0x30], esi
idiv byte [ecx]
jne 0x42800c
jbe 0x42804d
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401ff0
push esi
push 1
lea ecx, [ebp - 0x40]
call fcn.004254f0
mov edi, dword [ebp - 0xf4]
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00425979
push esi
push 1
lea ecx, [ebp - 0x28]
call fcn.004254f0
push esi
push 1
lea ecx, [ebp + 0xc]
call fcn.004254f0
mov eax, edi
call fcn.0043ca64
ret