Function at 0x412323
Capabilities:
Check if file exists

Disassembly:
push 0xf4
mov eax, 0x59c7e7
call fcn.005693c7
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 0x5a06d8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], esi
mov word [ebp - 0x28], ax
call fcn.00403772
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.00403f5e
call fcn.0042aeec
test al, al
je 0x41238e
cmc
jno 0x4123ee
insb byte es:[edi], dx
fisubr dword [ecx + 0x39]
adc al, bl
mov dh, 0x9a
push cs
test byte [edx], cl
hlt
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 0x412619
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 connect
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0xe8], ebx
cmp ebx, 0xffffffff
jne 0x4123e8
push 0x5a06d8
mov ecx, edi
call fcn.00402ac4
jmp 0x412624
call fcn.0042a8b9
test al, al
je 0x412409
sal byte [eax + ebx - 0x4c], 0x6e
mov ah, 0x6e
push ebx
cwde
jns 0x4123ac
push ss
fdivp st(1)
in al, dx
wait
xchg esp, eax
dec edx
sal byte [ebx + ecx*4 - 0x43], 1
or al, 0xff
invalid
xor esi, esi
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.00569947
mov dword [ebp - 0xf0], eax
pop ecx
test eax, eax
je 0x4123d7
call fcn.0042ad4e
test al, al
je 0x412455
jnp 0x412407
lodsd eax, dword [esi]
xchg ebp, eax
mov cl, 0x41
inc ebx
pop edi
pop esp
popal
dec ecx
push ebp
mov esp, 0xcd937678
mov word [edi], gs
or dl, byte [0xeb292990]
not dl
fsubr st(0)
or byte [edx - 0x3f7bffff], cl
call fcn.0042ae62
test al, al
je 0x41247c
pop esp
test ah, 0x30
mov cl, 0x23
cld
or byte [edx + 0x5f141e6b], bh
pop esi
jl 0x41249c
pop edx
arpl word [edx - 0x2207edea], si
xor dword [ebx + 0x51029f5a], eax
push dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf0]
push 0
push esi
call fcn.0056f390
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.0042acc4
test al, al
je 0x4124cf
cmp eax, dword [ecx + 0x387b7df4]
xchg ebp, eax
int1
pop es
invalid
call fcn.0042aa57
test al, al
je 0x4124f0
mov ecx, 0x167a36d
mov dh, 0xb4
out dx, eax
mov al, byte [0x83957fcc]
inc edx
insd dword es:[edi], dx
imul esi, dword [eax - 0x15a59da1], 0xe81f0bc7
in al, dx
test dword [ecx], eax
add byte [eax + eax*8 + 0x2de71874], al
call fcn.0042aae1
test al, al
je 0x412511
out 0x2d, eax
mov dword [eax], edx
push ds
salc
into
dec ebx
push esp
inc eax
pop ecx
pushal
or byte [eax + esi*4 - 0x74], dl
out dx, al
mov ecx, 0xfb678266
in eax, dx
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.00405a5f
push ebx
call fcn.0056947b
pop ecx
call fcn.0042ac7f
test al, al
je 0x412557
call dword [ebx - 0x18]
sub dh, byte [0xe853ffff]
inc eax
outsd dx, dword [esi]
adc eax, 0x3ee85900
xchg dword [ecx], eax
add byte [eax + eax*8 - 0x181eed8c], al
loope 0x41252e
add byte [edx + 0x4de2b06b], 0xca
mov eax, 0xb6ac6f0
lodsb al, byte [esi]
xchg ebp, eax
jb 0x4124e5
lea eax, [ebp - 0x58]
push eax
inc ebp
test al, 0x50
lea ecx, [ebp - 0xe4]
call fcn.004052aa
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
call fcn.0041a584
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.00404928
call fcn.0042ac3a
test al, al
je 0x4125a3
mov dword [0xef81f1b], eax
salc
aam 0x13
mov dh, 0xfb
dec ebx
mov byte [0xdab9bae5], al
and byte [ecx + 0x6d], ch
add eax, 0x184afe8
add byte [eax + eax*8 - 0x7e4de18c], al
call fcn.0042aa57
test al, al
je 0x4125ca
mov dl, 0x81
inc esp
mov bh, 0x2d
mov ebp, dword [esi + ecx*2]
in al, dx
invalid
jbe 0x412643
adc eax, ebp
push edi
test dword [ecx], eax
add byte [eax + eax*8 + 0x77271f74], al
xor esp, dword [edx + 0x31646bce]
call fcn.0042ab26
test al, al
je 0x4125f2
daa
ja 0x412609
mov byte [0x31646bce], al
mov cl, 0xe8
rcl byte [edi + 0x46]
int1
lodsb al, byte [esi]
xchg edx, eax
mov ah, byte [ebp - 0x2f3e25f0]
stosb byte es:[edi], al
imul ebx
in eax, dx
imul ebx, dword [edi], 0x3349b85c
idiv byte [ecx]
jne 0x4125c7
xor esi, esi
cmp dword [ebp - 0x30], esi
jbe 0x412608
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.004036b6
push esi
push 1
lea ecx, [ebp - 0x40]
call fcn.00403628
mov edi, dword [ebp - 0xf4]
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00402a4c
push esi
push 1
lea ecx, [ebp - 0x28]
call fcn.00403628
push esi
push 1
lea ecx, [ebp + 0xc]
call fcn.00403628
mov eax, edi
call fcn.00569382
ret
add byte [eax + 0x59c815], bh