Function at 0x423c7a
Capabilities:
Check if file exists

Disassembly:
push 0xc60
mov eax, 0x5a1c39
call fcn.004348d9
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.00445350
push esi
lea eax, [ebp - 0x830]
push ebx
push eax
call fcn.00445350
add esp, 0x18
call fcn.0043aa34
test al, al
je 0x423cf3
sub ebp, edi
push edi
shr edx, cl
sbb bh, al
pop dword [edi - 0x64]
sbb al, 0x1b
out dx, al
inc esi
dec ecx
mov eax, 0x982e2867
jge 0x423c84
adc al, 0x31
retf
push esi
lea eax, [ebp - 0x628]
push ebx
push eax
call fcn.00445350
push esi
lea eax, [ebp - 0xa38]
push ebx
push eax
call fcn.00445350
push esi
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00445350
push esi
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.00445350
add esp, 0x30
call fcn.0043ab03
test al, al
je 0x423d54
xchg esp, eax
adc al, 0x1c
fld xword [edx]
and al, 0x60
xchg edi, eax
shr byte [ebp + 0x5ad47d4], 1
fcomp st(1)
inc ebx
cmp byte [eax], dl
ljmp 0xd61d
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.004240ce
lea eax, [ebp - 0xc40]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00452fd9
lea eax, [ebp - 0x218]
push eax
call fcn.004532f1
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.004454aa
add esp, 0x24
mov dword [ebp - 0xc60], eax
call fcn.0043a965
test al, al
je 0x423dd1
adc al, 7
sub al, al
xor eax, dword [0x7453b1bf]
mov word [edx - 0x5d422cea], ss
pop edi
dec edi
call fcn.0043a629
test al, al
je 0x423df5
or esp, ebx
loop 0x423d6d
sub ch, byte [ebx]
test byte [edx - 0xd], al
popfd
xor al, 0x95
retf 0x4227
call fcn.0043a629
test al, al
je 0x423e19
std
test eax, 0x254af700
pop eax
cwde
push ebp
and ah, byte [ecx + 0x4e11256c]
mov edx, 0xe9f4b468
retf 0xccfc
mov eax, dword [ebp - 0xc60]
test eax, eax
jne 0x423e52
push dword [ebp - 0xc5c]
lea eax, [ebp - 0xc58]
push eax
call fcn.00423706
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc64]
lea eax, [ebp - 0xc58]
push eax
call fcn.00408f80
push 0
push 1
jmp 0x4240b7
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x830]
push eax
call fcn.00452fd9
lea eax, [ebp - 0x830]
push 0x5a612c
push eax
call fcn.00452fa8
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.0043a55a
test al, al
je 0x423ec4
loope 0x423ee4
outsd dx, dword [esi]
scasd eax, dword es:[edi]
mov byte [esi], dh
std
imul esp, eax, 0xffffff94
push edx
adc ah, byte [eax]
xor eax, 0xa3d30bdc
enter 0x430e, 0x68
adc al, 0x2f
or ecx, edi
stosb byte es:[edi], al
lds ebp, cs:[eax + 0x26e8e7b7]
imul eax, dword [ecx], 0
call fcn.0043a9ef
test al, al
je 0x423ee9
rcr bh, 1
ret 0x2afc
push esp
repne stosd dword es:[di], eax
out dx, al
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.00452fd9
lea eax, [ebp - 0x628]
push str.LocalLow
push eax
call fcn.00452fa8
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.00452fd9
lea eax, [ebp - 0xa38]
push str.Roaming
push eax
call fcn.00452fa8
add esp, 0x10
call fcn.0043a66e
test al, al
je 0x423f74
jbe 0x423f3a
jecxz 0x423fb5
and al, 0x5b
pop edi
popfd
cmp dword [eax], ecx
out dx, al
sub cl, byte [edi + 0x36]
mov byte [ebp + 0x55], bh
mov edi, dword [ebp - 0xc60]
call fcn.0043a5e4
test al, al
je 0x423f93
retf
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 0x42402a
test edi, edi
je 0x42402a
test ecx, ecx
je 0x42402a
push dword [ebp - 0xc5c]
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x420]
push 0x5a6164
push eax
call fcn.00407470
add esp, 0x10
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x423ffa
lea eax, [ebp - 0x420]
push eax
call fcn.004235d5
pop ecx
cmp word [ebp - 0x420], 0
jne 0x424008
xor eax, eax
jmp 0x424015
lea eax, [ebp - 0x420]
push eax
call fcn.004532f1
pop ecx
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xc58]
call fcn.00401a60
jmp 0x42409f
call fcn.0043a9aa
test al, al
je 0x424043
not byte [edx + 0x38c1c28c]
fdivr dword [eax + esi + 0x5c199cb8]
or edi, ebp
xor al, ch
mov al, 0x66
add dword [eax], eax
call fcn.0043a6f8
test al, al
je 0x424063
cwde
mov cl, 0x84
cmp eax, 0x7fb98baa
les ebx, [ebx + 0x54f1e9c1]
pop es
mov byte [0x5b29e194], al
xchg esp, eax
xchg esp, eax
pop eax
call fcn.0043a5e4
test al, al
je 0x42408b
mov edi, 0x5febac8f
iretd
push dword [ebp - 0xc5c]
lea eax, [ebp - 0xc58]
push eax
call fcn.00423706
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc64]
lea eax, [ebp - 0xc58]
push eax
call fcn.00408f80
xor eax, eax
push 0
inc eax
push eax
lea ecx, [ebp - 0xc58]
call fcn.004019a0
mov eax, dword [ebp - 0xc64]
call fcn.00434894
ret