Function at 0x415167
Capabilities:
Check if file exists

Disassembly:
push 0xc60
mov eax, 0x59cb1d
call fcn.005693c7
mov eax, dword [ebp + 8]
mov esi, 0x208
mov dword [ebp - 0xc64], eax
xor ebx, ebx
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0xc5c], eax
lea eax, [ebp - 0xc40]
push ebx
push eax
mov dword [ebp - 0xc6c], ebx
call fcn.0056f390
push esi
lea eax, [ebp - 0x830]
push ebx
push eax
call fcn.0056f390
add esp, 0x18
call fcn.0042aea7
test al, al
je 0x4151e0
xchg edx, eax
cmpsd dword [esi], dword es:[edi]
pop ecx
pop eax
salc
daa
out 0x2f, al
rol byte [edx + 0x60d88e37], cl
sub al, 0xc2
jle 0x415171
xchg edx, eax
imul ebx, dword [esi + ebp*4], 0xffffffc6
cmp al, 0xfe
xor ebx, ebx
mov esi, 0x208
push esi
lea eax, [ebp - 0x628]
push ebx
push eax
call fcn.0056f390
push esi
lea eax, [ebp - 0xa38]
push ebx
push eax
call fcn.0056f390
push esi
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0056f390
push esi
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.0056f390
add esp, 0x30
call fcn.0042af76
test al, al
je 0x415241
jnp 0x41526b
sbb eax, 0x15cba28b
xchg ebx, eax
jnp 0x41524d
cmp eax, 0xcfdf3e7
movsb byte es:[edi], byte [esi]
leave
arpl word ds:[ebx + 0x4a], dx
sahf
and al, 0xd9
enter 0x3dd3, 0x33
invalid
xor eax, eax
mov dword [ebp - 0xc44], 7
mov dword [ebp - 0xc48], ebx
mov word [ebp - 0xc58], ax
push ebx
push 0x1a
lea eax, [ebp - 0xc40]
mov dword [ebp - 4], ebx
push eax
push ebx
call int.004155bb
add byte [eax], al
lea eax, [ebp - 0xc40]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00578f87
lea eax, [ebp - 0x218]
push eax
call fcn.00578706
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.00571252
add esp, 0x24
mov dword [ebp - 0xc60], eax
call fcn.0042add8
test al, al
je 0x4152be
test eax, ebp
std
invalid
std
invalid
fisttp word [edx - 0x30]
pop ecx
push esp
jg 0x415318
jmp 0x4152eb
call fcn.0042aa9c
test al, al
je 0x4152e2
test eax, 0x99b9193c
dec edi
add dword [esi], 0x6b
and al, 0xc9
jae 0x4152af
ja 0x415275
jecxz 0x415342
sbb dword [edi], edx
lodsd eax, dword [esi]
hlt
call fcn.0042aa9c
test al, al
je 0x415306
mov byte [esp + ebp + 0x44], al
bound eax, qword [ecx + 0x29]
xor al, 0xd5
push es
inc ecx
xchg ebp, eax
add bl, byte [eax + 3]
sbb byte [eax - 0x10], bh
dec edi
mov eax, dword [0xee28ce7e]
mov al, byte [0x858b53e7]
mov al, byte [0x85fffff3]
sal byte [ebp + 0x2f], 0xff
mov ch, 0xa4
invalid
mov eax, dword [ebp - 0xc60]
test eax, eax
jne 0x41533f
push dword [ebp - 0xc5c]
lea eax, [ebp - 0xc58]
push eax
call fcn.00414183
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc64]
lea eax, [ebp - 0xc58]
push eax
test al, 0xf3
invalid
call fcn.00402a4c
push 0
push 1
jmp 0x4155a4
xor ecx, ecx
mov word [eax], cx
mov dword [eax], ecx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x830]
push eax
call fcn.00578f87
lea eax, [ebp - 0x830]
push 0x5a3704
push eax
call fcn.00578f16
add esp, 0x10
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor edx, edx
xor ecx, ecx
inc edx
test eax, eax
cmovne ecx, edx
mov dword [ebp - 0xc68], ecx
call fcn.0042a9cd
test al, al
je 0x4153b1
inc ebp
retf 0x8d89
pop ecx
dec ebx
out 0x70, eax
push 0x69
ja 0x415331
and al, 0x2e
inc esi
mov eax, dword [0xba20540f]
pop ss
retf
call fcn.0042ae62
test al, al
je 0x4153d6
mov word [ebx - 0x4bdc8be1], cs
sub byte [ebx], bl
xor dword [esi], ebp
jae 0x4153c9
je 0x415380
fiadd word [eax - 0x40]
adc dword [eax], edx
popal
sbb al, 0x14
jle 0x415433
mov eax, 0x858d15ce
call 0x514153da
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.00578f87
lea eax, [ebp - 0x628]
push 0x5a3714
push eax
call fcn.00578f16
add esp, 0x10
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push 1
xor edi, edi
test eax, eax
pop eax
cmovne edi, eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0xa38]
mov dword [ebp - 0xc60], edi
push eax
call fcn.00578f87
lea eax, [ebp - 0xa38]
push 0x5a3728
push eax
call fcn.00578f16
add esp, 0x10
call fcn.0042aae1
test al, al
je 0x415461
insb byte es:[edi], dx
sar cl, cl
std
or byte [esp + esi + 0x77], 0x15
sar edx, 1
jno 0x415459
fidivr word [ecx]
pop eax
fmul qword [ebx - 0xc5f43]
invalid
call fcn.0042aa57
test al, al
je 0x415480
push 0x73
cmp byte [ebx - 0x13f670af], bh
fimul dword [esi + edi*2 + 0x15e2f5a2]
mov eax, dword [0x2dc3f01f]
wait
mov eax, dword [0xf5c8858d]
invalid
lea eax, [ebp - 0xa38]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor ecx, ecx
test eax, eax
push 1
pop eax
cmovne ecx, eax
cmp dword [ebp - 0xc68], 0
je 0x415517
test edi, edi
je 0x415517
test ecx, ecx
je 0x415517
push dword [ebp - 0xc5c]
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x420]
push 0x5a373c
push eax
call fcn.00408d5e
add esp, 0x10
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4154e7
lea eax, [ebp - 0x420]
push eax
call int.00413d60
pop ecx
cmp word [ebp - 0x420], 0
jne 0x4154f5
xor eax, eax
jmp 0x415502
lea eax, [ebp - 0x420]
push eax
call fcn.00578706
pop ecx
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xc58]
call fcn.00403772
jmp 0x41558c
call fcn.0042ae1d
test al, al
je 0x415530
xor ebx, dword [ebx - 0x69]
mov ch, 0x94
retf
call fcn.0042ab6b
test al, al
je 0x415550
add byte [eax + eax*8 - 0x7f87e88c], al
js 0x4154bb
and dword [ebp + 0x590456cb], ebp
inc esp
in al, 0xec
cmp al, 0x70
push eax
js 0x415561
mov al, 0xc0
salc
sub al, byte [ecx - 0x5a]
call fcn.0042aa57
test al, al
je 0x415578
pop es
enter 0xffffffffffffb4b3, 7
lodsd eax, dword [esi]
xor dh, byte [edx]
loop 0x415534
sub dword [eax], ebx
mov byte [0xacd8e30b], al
mov eax, dword [0xc7df996]
hlt
push dword [ebp - 0xc5c]
lea eax, [ebp - 0xc58]
push eax
call fcn.00414183
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc64]
lea eax, [ebp - 0xc58]
push eax
call fcn.00402a4c
xor eax, eax
push 0
inc eax
push eax
lea ecx, [ebp - 0xc58]
call fcn.00403628
mov eax, dword [ebp - 0xc64]
call fcn.00569382
ret