Function at 0x472fc3
Capabilities:
Check if file exists

Disassembly:
push 0x1c
mov eax, 0x4b32f8
call fcn.00475a5f
push dword [ebp + 0xc]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor ebx, ebx
test eax, eax
jne 0x472fe8
push dword [ebp + 0xc]
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
push str.CreateObject
push dword [0x4f8c98]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, ebx
jne 0x473007
or eax, 0xffffffff
jmp 0x473202
mov dword [ebp - 0x10], ebx
push dword [ebp + 8]
mov dword [ebp - 4], ebx
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
cmp eax, ebx
je 0x473052
push str..zip
push eax
call fcn.00474b7e
pop ecx
pop ecx
test eax, eax
jne 0x473052
lea eax, [ebp - 0x10]
push eax
push 0x4c768c
push 0x4c76bc
call esi
test eax, eax
je 0x473062
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x472fff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x472fff
lea eax, [ebp - 0x10]
push eax
push 0x4c768c
push 0x4c76ac
jmp 0x473039
push 0x10
call fcn.00472126
pop ecx
cmp eax, ebx
je 0x473079
mov ecx, eax
call fcn.00472914
mov esi, eax
jmp 0x47307b
xor esi, esi
push esi
lea ecx, [ebp - 0x14]
call fcn.004722f4
push dword [ebp + 8]
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.00473807
test al, al
jne 0x4730a8
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x47303f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x47303f
push 0x1c
call fcn.00472126
pop ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x4730c6
mov ecx, eax
call fcn.004726c5
mov esi, eax
jmp 0x4730c8
xor esi, esi
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.004722f4
mov edi, dword [ebp - 0x14]
mov byte [esi + 0xc], bl
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push esi
push ebx
push edi
push eax
mov byte [ebp - 4], 3
call dword [ecx + 0xc]
test eax, eax
je 0x473116
mov byte [ebp - 4], 1
cmp esi, ebx
je 0x473100
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], bl
cmp edi, ebx
je 0x47303f
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x47303f
push 0x78
call fcn.00472126
pop ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x473134
mov ecx, eax
call fcn.00472769
mov esi, eax
jmp 0x473136
xor esi, esi
push esi
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.004722f4
push dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.004724eb
mov edi, dword [ebp + 0x10]
push edi
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x10]
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.0047284d
push dword [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.00472151
pop ecx
mov byte [esi + 0x58], bl
cmp edi, ebx
je 0x473187
push dword [ebp + 0xc]
mov eax, dword [edi]
push dword [ebp + 8]
push edi
call dword [eax]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push esi
push ebx
push 0xffffffffffffffff
push ebx
push eax
call dword [ecx + 0x1c]
mov byte [ebp - 4], 3
cmp eax, ebx
je 0x4731c4
cmp esi, ebx
je 0x4731aa
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x473096
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x473096
cmp esi, ebx
je 0x4731ce
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x4731df
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x4731ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x473200
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
call fcn.00475b37
ret