Function at 0x4595ae
Capabilities:
Check if file exists

Disassembly:
push 0xc60
mov eax, 0x5e2504
call fcn.0046dcba
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.00480620
push esi
lea eax, [ebp - 0x830]
push ebx
push eax
call fcn.00480620
add esp, 0x18
call fcn.00452551
test al, al
je 0x459627
or eax, 0x59d2b0c6
add eax, 0x8088a2b6
aam 0xd7
push ebp
dec ecx
retf 0x730
push esi
lea eax, [ebp - 0x628]
push ebx
push eax
call fcn.00480620
push esi
lea eax, [ebp - 0xa38]
push ebx
push eax
call fcn.00480620
push esi
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.00480620
push esi
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.00480620
add esp, 0x30
call fcn.00452620
test al, al
je 0x459688
push ebx
pushfd
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.0045a15d
lea eax, [ebp - 0xc40]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0048edc3
lea eax, [ebp - 0x218]
push eax
call fcn.0048ed77
lea eax, [ebp - 0x218]
push 0x5c
push eax
call fcn.00480c59
add esp, 0x24
mov dword [ebp - 0xc60], eax
call fcn.00452482
test al, al
je 0x459705
sub dl, byte [ecx - 0x26]
pop ax
les edx, [ecx]
adc bh, cl
ljmp 0x934c
call fcn.00452146
test al, al
je 0x459729
mov ebx, ebp
test byte [ebp + 0x78968], dh
dec esi
inc esp
xor al, 0xbd
mov al, byte [0x15e33c61]
or esi, dword [esi + 0x2ecd9702]
adc byte [edx + 0x18e8bb6e], dh
mov bh, bh
inc dword [eax + eax*8 - 0x1191e48c]
call fcn.00452146
test al, al
je 0x45974d
outsb dx, byte [esi]
out dx, al
out dx, eax
dec esp
add ah, byte [eax + ebx + 0x4c1b71a8]
mov al, 0x70
sub dword [edx], eax
adc eax, 0x7064ccc3
pop ecx
inc ebx
popal
fdiv qword [eax - 0x6d]
cwde
mov eax, dword [ebp - 0xc60]
test eax, eax
jne 0x459786
push dword [ebp - 0xc5c]
lea eax, [ebp - 0xc58]
push eax
call fcn.0045903a
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc64]
lea eax, [ebp - 0xc58]
push eax
call fcn.00452e8f
push 0
push 1
jmp 0x4599eb
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x830]
push eax
call fcn.0048edc3
lea eax, [ebp - 0x830]
push str.Local
push eax
call fcn.0048ed92
add esp, 0x10
lea eax, [ebp - 0x830]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
adc byte [ebp - 0x82f7b], cl
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.00452077
test al, al
je 0x4597f8
cmp dword [edi + 0x52e22cf1], edi
cmp eax, edi
mov bh, 0x55
dec ebx
loop 0x4597b1
and cl, byte [edx - 0x7a]
retf 0x140c
call fcn.0045250c
test al, al
je 0x45981d
jae 0x459837
sub esi, esi
popfd
pop ds
mov edx, 0x7e949b40
test eax, 0xa551b50a
mov dh, 0xc4
inc esp
loope 0x459836
xor al, 0xee
into
rol dword [esi - 0x7e], cl
dec edi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call fcn.0048edc3
lea eax, [ebp - 0x628]
push str.LocalLow
enter 0x5ecb, 0
push eax
call fcn.0048ed92
add esp, 0x10
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
arpl word [esi], bx
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.0048edc3
lea eax, [ebp - 0xa38]
push str.Roaming
push eax
call fcn.0048ed92
add esp, 0x10
call fcn.0045218b
test al, al
je 0x4598a8
mov dword [eax + 0x54123dac], esi
aaa
mov byte [0x473b53d], al
aam 0x3c
inc ebp
add byte [ebx], bl
mov edi, dword [ebp - 0xc60]
call fcn.00452101
test al, al
je 0x4598c7
scasd eax, dword es:[edi]
call 0x62dcb943
dec esp
inc ecx
add eax, 0x34524b0f
add dh, dl
push 0x27
jb 0x45984e
dec edi
jmp 0xc8cb26a3
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 0x45995e
test edi, edi
je 0x45995e
test ecx, ecx
je 0x45995e
push dword [ebp - 0xc5c]
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x420]
push 0x5e89dc
push eax
call fcn.00407df0
add esp, 0x10
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x45992e
lea eax, [ebp - 0x420]
push eax
call fcn.00458c36
pop ecx
cmp word [ebp - 0x420], 0
jne 0x45993c
xor eax, eax
jmp 0x459949
shr bl, 0xd
lea eax, [ebp - 0x420]
push eax
call fcn.0048ed77
pop ecx
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0xc58]
call fcn.00402ac0
jmp 0x4599d3
call fcn.004524c7
test al, al
je 0x459977
adc bh, al
add ch, byte [ebx + ecx*4 - 0x632f83f4]
pop edx
or ah, byte [edi]
sub eax, 0xe85ec948
cdq
mov bh, bh
inc dword [eax + eax*8 + 0x50ad1774]
call fcn.00452215
test al, al
je 0x459997
lodsd eax, dword [esi]
push eax
or byte [0x4c8c2655], al
and dword [eax], esi
push ebp
je 0x459939
aas
push es
fcom qword [eax + 0x68]
nop
invalid
call fcn.00452101
test al, al
je 0x4599bf
push esi
jne 0x459a22
inc edi
mov edi, 0x44f3c2e4
clc
std
pop cx
jns 0x459981
push ds
inc eax
ficomp word [esi]
xor ah, byte [eax + 0x7e]
movsb byte es:[edi], byte [esi]
inc ebx
in al, 0xd6
sbb ebx, dword [esp + eax*2 - 0x5b4a003c]
invalid
push dword [ebp - 0xc5c]
lea eax, [ebp - 0xc58]
push eax
call fcn.0045903a
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc64]
lea eax, [ebp - 0xc58]
push eax
call fcn.00452e8f
xor eax, eax
push 0
inc eax
push eax
lea ecx, [ebp - 0xc58]
call fcn.0041ece0
mov eax, dword [ebp - 0xc64]
call fcn.0046dc64
ret
cmp ah, byte [esi + 0x6583fffa]
cld
add al, ch
lea eax, [esi - 0x3f7b0001]
je 0x459a52
xchg edi, eax
xor byte [esi - 0x587e7fb6], dl
movsd dword es:[edi], dword [esi]
invalid
lea eax, [ebp - 0x70]
push eax
call fcn.00456a37
pop ecx
test eax, eax
jne 0x459a76
mov esi, 0x5e6bac
push esi
call fcn.0048ed77
pop ecx
push eax
push esi
lea ecx, [ebp - 0x70]
call fcn.00405c20
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x58]
call fcn.00404030
mov esi, 0x5e8408
mov byte [ebp - 4], 1
push esi
call fcn.0048ed77
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.00405c20
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x2c0]
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2c4], eax
call fcn.0045236e
test al, al
je 0x459adb
xchg ebx, esp
and al, 0xd7
pop ebx
add eax, 0x54578b74
mov edx, dword [edi + 0x54]
invalid
call fcn.00452101
test al, al
je 0x459afc
adc byte [eax + 0x62bb3cf4], bh
cdq
sbb dword [eax], 0xef29195f
popal
cmp eax, 0x2b0d8c93
sub dh, cl
inc esp
mov ebx, 0x868ae84f
invalid
call fcn.0045218b
test al, al
je 0x459b1d
pop ebp
aad 0x9f
salc
scasb al, byte es:[edi]
jg 0x459acb
sti
or eax, 0xe8ceb008
sub ch, bh
and dword [ecx + esi*2], 0x44bd985
sbb ecx, dword [ebx + ecx*4]
mov ebp, 0xfffffd3c
mov edi, dword [ebp - 0x2c4]
cmp edi, 0xffffffff
je 0x459c58
add byte [ebx - 0x2c763], cl
invalid
mov ebx, dword [ebp - 0x2c8]
call fcn.00452329
test al, al
je 0x459b53
loope 0x459b2b
mov edx, 0xc5c3637b
pop ss
jne 0x459af7
sub al, byte [eax]
ljmp 0x8b2e
test byte [ebp - 0x2c0], 0x10
je 0x459c22
cmp word [ebp - 0x294], 0x2e
je 0x459c22
xor eax, eax
mov dword [ebp - 0x14], 7
xor esi, esi
mov word [ebp - 0x28], ax
mov dword [ebp - 0x18], esi
cmp word [ebp - 0x294], ax
je 0x459b96
lea eax, [ebp - 0x294]
push eax
call fcn.0048ed77
pop ecx
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x28]
call fcn.00402ac0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 2
push eax
mov ecx, ebx
call fcn.0040cd00
push esi
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.0041ece0
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.00404030
cmp word [ebp - 0x294], 0
mov byte [ebp - 4], 3
jne 0x459be2
mov eax, esi
jmp 0x459bef
lea eax, [ebp - 0x294]
push eax
call fcn.0048ed77
pop ecx
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405c20
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
push ebx
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.00459a02
pop ecx
pop ecx
push esi
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0041ece0
lea eax, [ebp - 0x2c0]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x459b32
call fcn.00452596
test al, al
je 0x459c51
daa
dec ebp
sbb al, 0x41
xor byte [edx + 0x49], ah
cld
cmpsd dword [esi], dword es:[edi]
sub dword [ebp - 0x62aab915], edi
test dword [edi - 1], edx
adc eax, sym.imp.KERNEL32.dll_FindClose
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
push 1
lea ecx, [ebp - 0x58]
call fcn.0041ece0
push 0
push 1
lea ecx, [ebp - 0x70]
call fcn.0041ece0
call fcn.0046dc64
ret