Function at 0x429907
Capabilities:
Check if file exists

Disassembly:
push 0xc60
mov eax, 0x5a3b1b
call fcn.0043a209
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.00446360
push esi
lea eax, [ebp - 0x830]
push ebx
push eax
call fcn.00446360
add esp, 0x18
call fcn.0043d74d
test al, al
je 0x429980
dec eax
adc dword [eax + 0xe], ecx
wait
outsb dx, byte [esi]
loope 0x4299b2
loopne 0x42999c
cmp dh, dh
mov edi, dword [ebx]
pop es
cdq
hlt
push esi
lea eax, [ebp - 0x628]
push ebx
push eax
call fcn.00446360
push esi
lea eax, [ebp - 0xa38]
push ebx
push eax
call fcn.00446360
push esi
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00446360
push esi
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.00446360
add esp, 0x30
call fcn.0043d81c
test al, al
je 0x4299e1
dec edx
mov dh, 0x94
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 fcn.00429d5b
lea eax, [ebp - 0xc40]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00454a23
lea eax, [ebp - 0x218]
push eax
call fcn.004549d7
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.004469ab
add esp, 0x24
mov dword [ebp - 0xc60], eax
call fcn.0043d67e
test al, al
je 0x429a5e
sbb dl, ch
or al, 0x79
mov edx, ecx
imul ecx, dword [edi - 0x71], 0x37f2ba65
inc edi
rcr dword [ebx - 0x20175a69], 1
cmp byte [ecx], al
add byte [eax + eax*8 + 0x67e1b74], al
call fcn.0043d342
test al, al
je 0x429a82
jle 0x429a6f
popfd
sbb ah, byte [edx + 0x5c]
daa
sub eax, 0xf9327f81
imul edx, dword [ecx]
cmp dword [edi + 0x32], 0x11af0ff9
and al, 0x3e
adc ch, al
in al, 0xfd
cmp ebx, 0x35
das
sahf
sub al, 0xbb
cmp byte [ecx], al
add byte [eax + eax*8 + 0x6ca01b74], al
call fcn.0043d342
test al, al
je 0x429aa6
mov ebx, 0x84000138
sal byte [ebx + ebx - 0x60], 0x6c
mov al, byte [0x4bbc4e6c]
fmul dword [esi + 0x4b]
dec esi
mov esp, 0x4b4ed84b
out dx, eax
or edi, edx
dec esp
sub al, 0xd5
loope 0x429a83
rcl eax, cl
arpl word [eax + 0x2a3dc56e], ax
dec esi
sub ch, dh
mov eax, dword [ebp - 0xc60]
test eax, eax
jne 0x429adf
push dword [ebp - 0xc5c]
lea eax, [ebp - 0xc58]
push eax
call fcn.00429393
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc64]
lea eax, [ebp - 0xc58]
push eax
call fcn.00425c2a
push 0
push 1
jmp 0x429d44
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x830]
push eax
call fcn.00454a23
lea eax, [ebp - 0x830]
push str.Local
push eax
call fcn.004549f2
add esp, 0x10
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
call dword [eax - 1]
adc eax, 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.0043d273
test al, al
je 0x429b51
nop
ror edx, cl
aas
aad 0xf0
adc cl, byte [esi + 0x5f]
test dword [ebx + esi*4 + 0x2a], ecx
jg 0x429b10
call 0x9706adad
add al, ch
inc edx
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
dec ebx
push 0x5063747c
call fcn.0043d708
test al, al
je 0x429b76
xchg edi, eax
leave
scasd eax, dword es:[edi]
ljmp 0xf0b1
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.00454a23
lea eax, [ebp - 0x628]
push str.LocalLow
push eax
call fcn.004549f2
scasb al, byte es:[edi]
add al, byte [eax]
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.00454a23
lea eax, [ebp - 0xa38]
push str.Roaming
push eax
call fcn.004549f2
add esp, 0x10
call fcn.0043d387
test al, al
je 0x429c01
jne 0x429b97
and dword [edx - 0x474d16f0], ebx
or esi, ecx
cdq
pop ecx
not cl
cmp byte [ecx - 0x71], ah
mov edi, dword [ebp - 0xc60]
call fcn.0043d2fd
test al, al
je 0x429c20
mov ah, 0x3b
ficom dword fs:[edx - 0x59a00e25]
sbb eax, 0xd08e700b
pop esp
add eax, esp
mov bl, byte [ebp - 0x52]
xchg edx, eax
jmp 0xf60b21b1
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 0x429cb7
test edi, edi
je 0x429cb7
test ecx, ecx
je 0x429cb7
push dword [ebp - 0xc5c]
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x420]
push 0x5aa624
push eax
call fcn.00408fc0
add esp, 0x10
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x429c87
lea eax, [ebp - 0x420]
push eax
call fcn.00429262
pop ecx
cmp word [ebp - 0x420], 0
jne 0x429c95
xor eax, eax
jmp 0x429ca2
lea eax, [ebp - 0x420]
push eax
call fcn.004549d7
pop ecx
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xc58]
call fcn.004020c0
jmp 0x429d2c
call fcn.0043d6c3
test al, al
je 0x429cd0
in eax, dx
mov eax, dword ss:[0x13638ba7]
xor al, 0xf5
movsd dword es:[edi], dword [esi]
sbb edx, dword [0xde40e993]
call fcn.0043d411
test al, al
je 0x429cf0
push 0x3c8fc605
lodsb al, byte [esi]
adc al, 0xd1
adc ebx, dword [edx]
add eax, 0xd9eb0306
and ebp, dword [edx - 0x45]
xor dword [0x8e8a2bb], 0x36
add dword [eax], eax
call fcn.0043d2fd
test al, al
je 0x429d18
or dword [edx - 0x3ab22b54], 0x1e
mov cl, 0x5e
jmp 0x429d1c
push dword [ebp - 0xc5c]
lea eax, [ebp - 0xc58]
push eax
call fcn.00429393
pop ecx
pop ecx
invalid
mov ecx, dword [ebp - 0xc64]
lea eax, [ebp - 0xc58]
push eax
call fcn.00425c2a
xor eax, eax
push 0
inc eax
push eax
lea ecx, [ebp - 0xc58]
call fcn.004253f2
mov eax, dword [ebp - 0xc64]
call fcn.0043a1c4
ret