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

Disassembly:
push 0xf4
mov eax, 0x5a4557
call fcn.0043b389
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 0x5a7890
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], esi
mov word [ebp - 0x28], ax
call fcn.00402100
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004407ea
call fcn.00425ff1
test al, al
je 0x4277fb
invalid
jmp 0x4277d5
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 0x427a86
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 0x427855
push 0x5a7890
mov ecx, edi
call fcn.00403660
jmp 0x427a91
call fcn.004259be
test al, al
je 0x427876
dec esi
pop ebp
xor dh, byte [edi]
add dword [eax - 0x44], esi
add eax, 0x91cda8af
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.0043ae66
mov dword [ebp - 0xf0], eax
pop ecx
test eax, eax
je 0x427844
invalid
call fcn.00425e53
test al, al
je 0x4278c2
mov edx, 0x15237af6
mov edx, 0xc2688d
push 0x18
sub ah, dl
cld
out dx, eax
or bl, byte [eax - 0x7b]
int1
sbb ebp, dword [ecx - 0x31a7af20]
invalid
call fcn.00425f67
test al, al
je 0x4278e9
sub byte [edx], ah
cld
push ss
rcl dword [ebx], cl
sti
jb 0x427889
mov esi, 0x3c5bc6c2
ljmp 0xd872
push dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf0]
push 0
push esi
call fcn.004463a0
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.00425dc9
test al, al
je 0x42793c
sal byte [edi + edx - 0x43], 0x23
add dword [edi + 1], 0x29
or eax, 0x5f92a0a
mov ebp, 0x1478323
sub dword [0x5f92a0a], ecx
rcl dword [ecx + 0x2d]
inc eax
adc bl, ah
pop ebp
add byte [esi + ebp*8 + 0x1be8704c], ah
loop 0x42793f
call fcn.00425b5c
test al, al
je 0x42795d
invalid
inc dword [eax + eax*8 + 0x34451874]
insd dword es:[edi], dx
inc ebp
xor al, 0x6d
in eax, 0x89
not byte [ecx - 0xa]
cwde
xchg edx, eax
push edx
dec eax
ljmp 0x5ac4
call fcn.00425be6
test al, al
je 0x42797e
shr dword [ecx + 0x209df0a0], 0xba
jecxz 0x427922
jnp 0x4279d1
pushal
popal
pop esi
or al, 0x10
aaa
jnp 0x427970
sub eax, 0x45deb455
mov edi, edi
mov ch, 0x18
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.004411b8
push ebx
call fcn.0043ae6f
pop ecx
call fcn.00425d84
test al, al
je 0x4279c4
outsb dx, byte gs:[esi]
adc dword [edx - 0x71f549ba], ecx
cdq
stosb byte es:[edi], al
push edi
in eax, 0xc5
or ah, bl
cmp byte [ecx + edx*4], cl
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xe4]
call fcn.00440a03
add dword [eax], eax
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
call fcn.0043240c
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.0040c090
call fcn.00425d3f
test al, al
je 0x427a10
push ecx
cmp al, 0x62
mov ch, 0x41
test al, 0xce
xor dh, byte [eax + 0x722fd903]
xor byte [edi], bl
mov al, 3
fldcw word [edi]
jb 0x427a3a
pop ds
mov eax, dword [0x4a817847]
call fcn.00425b5c
test al, al
je 0x427a37
jl 0x427a8d
mov ebx, 0x6ac1e9ae
mov esp, 0xdd9c7c31
hlt
call fcn.00425c2b
test al, al
je 0x427a5f
invalid
adc dl, byte [ebx - 0xf]
cmp bh, dl
salc
xor dword [ebp - 0x4a], ecx
or eax, 0xefe9dd0c
inc ecx
mov dword [edx], esi
loop 0x427a04
stosb byte es:[edi], al
push ecx
pop edx
pushal
xchg esp, eax
jne 0x427ac1
inc esp
inc ecx
imul edx, dword [esi + eax*4 + 0x7539f633], 0x6a0f76d0
call dword [esi - 0x73]
inc ebp
rcl byte [eax - 0x73], 0x4d
fsubr st(0)
imul esp, dword [ebp + 0x6a56fffd], 1
xor esi, esi
cmp dword [ebp - 0x30], esi
jbe 0x427a75
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.00401fe0
push esi
push 1
lea ecx, [ebp - 0x40]
call fcn.0042548f
mov edi, dword [ebp - 0xf4]
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.004264e3
push edx
ljmp 0x8d01
push esi
push 1
lea ecx, [ebp - 0x28]
call fcn.0042548f
push esi
push 1
lea ecx, [ebp + 0xc]
call fcn.0042548f
mov eax, edi
call fcn.0043b344
ret
add byte [ebx], dh
fild dword [ebx + 0x53]