Function at 0x5a8650
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x70f200]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0xc], eax
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], esi
call fcn.005a8610
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x5a8a57
push edi
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x5a8a57
lea ebx, [esi + 4]
push edi
mov ecx, ebx
mov dword [ebp - 0x14], ebx
call fcn.005dc510
mov ecx, esi
call fcn.005a84c0
test al, al
jne 0x5a86b9
mov ecx, ebx
call fcn.005dc400
jmp 0x5a8a57
lea edi, [esi + 0x34]
mov ecx, edi
call fcn.005dc400
lea ecx, [esi + 4]
xor ebx, ebx
call fcn.005dc190
push eax
lea ecx, [esi + 0x44]
call fcn.005e9660
test al, al
je 0x5a8833
push 1
push ebx
push 0x624804
lea ecx, [esi + 0x44]
call fcn.005e98f0
push eax
mov ecx, edi
call fcn.005dc260
mov ecx, edi
call fcn.005dc3a0
test eax, eax
je 0x5a8718
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x627824
mov ecx, edi
call fcn.005da780
push 1
push 0
push 0x62dfc8
lea ecx, [esi + 0x44]
call fcn.005e98f0
push eax
lea ecx, [esi + 0x28]
call fcn.005dc260
lea ecx, [esi + 0x28]
call fcn.005dc3a0
test eax, eax
je 0x5a8767
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x627824
lea ecx, [esi + 0x28]
call fcn.005dc190
push eax
mov ecx, edi
call fcn.005da780
push 1
push 0
push str.OriginalFileName
lea ecx, [esi + 0x44]
call fcn.005e98f0
push eax
lea ecx, [esi + 0x28]
call fcn.005dc260
lea ecx, [esi + 0x28]
call fcn.005dbeb0
test al, al
je 0x5a87a7
push 1
push 0
push 0x62e004
lea ecx, [esi + 0x44]
call fcn.005e98f0
push eax
lea ecx, [esi + 0x28]
call fcn.005dc260
lea ecx, [esi + 0x28]
call fcn.005dbeb0
test al, al
je 0x5a87cd
push 1
push 0
push 0x62e020
lea ecx, [esi + 0x44]
call fcn.005e98f0
push eax
lea ecx, [esi + 0x28]
call fcn.005dc260
lea ecx, [esi + 0x28]
call fcn.005dc3a0
test eax, eax
je 0x5a8802
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x627824
lea ecx, [esi + 0x28]
call fcn.005dc190
push eax
mov ecx, edi
call fcn.005da780
mov ecx, edi
call fcn.005dc3a0
cmp eax, 1
jle 0x5a8833
push 1
mov ecx, edi
call fcn.005dadc0
push 0
push 1
push 1
push 0
push 0x627824
mov ecx, edi
call fcn.005daa70
xor ebx, ebx
cmp eax, 1
setg bl
mov ecx, dword [ebp - 0xc]
call fcn.005d8c40
cmp eax, 0x1f
jle 0x5a88ce
push ecx
lea ecx, [esi + 0x10]
call fcn.005dc510
inc ebx
cmp ebx, 1
ja 0x5a88b5
mov ecx, edi
call fcn.005dc3a0
test eax, eax
jne 0x5a88b5
mov eax, dword [ebp - 0xc]
mov ecx, edi
push eax
call fcn.005dc510
mov esi, dword [ebp - 0x10]
mov ecx, esi
call fcn.005a82e0
test al, al
je 0x5a8980
inc ebx
lea eax, [esi + 0x28]
cmp ebx, 1
jbe 0x5a8978
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, eax
call fcn.005dc190
push eax
push 0x627824
mov ecx, edi
call fcn.005da780
jmp 0x5a8980
mov eax, dword [ebp - 0xc]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
jmp 0x5a892e
test ecx, ecx
jne 0x5a893b
mov ecx, dword [ebp - 0x14]
lea eax, [esi + 0x10]
push eax
mov dword [ebp - 0xc], eax
call fcn.005dc190
lea edx, [esi + 0x28]
mov ecx, eax
call fcn.005e65a0
add esp, 4
test eax, eax
jne 0x5a893b
inc ebx
cmp ebx, 1
ja 0x5a8912
mov ecx, edi
call fcn.005dc3a0
test eax, eax
jne 0x5a8912
push dword [ebp - 0xc]
mov ecx, edi
call fcn.005dc4e0
jmp 0x5a8869
mov ecx, dword [ebp - 0xc]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.005dc190
push eax
push 0x627824
mov ecx, edi
call fcn.005da780
cmp ebx, 1
jbe 0x5a8869
lea eax, [esi + 0x1c]
mov ecx, edi
push eax
call fcn.005dc3a0
add eax, eax
mov ecx, edi
push eax
call fcn.005dc190
mov ecx, eax
call fcn.005e64d0
pop edi
test eax, eax
pop esi
setne al
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e1b5
mov esp, ebp
pop ebp
ret 8
push eax
mov ecx, edi
call fcn.005dc4e0
mov ecx, esi
call fcn.005a8210
test al, al
je 0x5a89c6
inc ebx
lea eax, [esi + 0x28]
cmp ebx, 1
jle 0x5a89be
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov ecx, eax
call fcn.005dc190
push eax
push 0x627824
mov ecx, edi
call fcn.005da780
jmp 0x5a89c6
push eax
mov ecx, edi
call fcn.005dc4e0
cmp ebx, 2
jg 0x5a8944
push 0x2800
lea ecx, [ebp - 8]
mov dword [ebp - 8], 0
push ecx
push 0
push 0
push 0x400
lea ecx, [esi + 0x28]
call fcn.005db9a0
push eax
lea ecx, [esi + 4]
call fcn.005dc190
mov edx, 0x8003
mov ecx, eax
call fcn.005e6320
test al, al
je 0x5a8a47
lea eax, [ebx + 1]
cmp eax, 1
jle 0x5a8a3c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [esi + 0x28]
call fcn.005dc190
push eax
push 0x627824
mov ecx, edi
call fcn.005da780
jmp 0x5a8a47
lea eax, [esi + 0x28]
mov ecx, edi
push eax
call fcn.005dc4e0
mov ecx, edi
call fcn.005dc3a0
cmp eax, 3
jge 0x5a8944
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041e1b5
mov esp, ebp
pop ebp
ret 8