Function at 0x4738da
Capabilities:
Check if file exists

Disassembly:
push 0x1c
mov eax, 0x4b3ccb
call fcn.004764b0
push dword [ebp + 0xc]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
xor ebx, ebx
test eax, eax
jne 0x4738ff
push dword [ebp + 0xc]
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
push str.CreateObject
push dword [0x4f9db8]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, ebx
jne 0x47391e
or eax, 0xffffffff
jmp 0x473b19
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 0x473969
push str..zip
push eax
call fcn.0047557e
pop ecx
pop ecx
test eax, eax
jne 0x473969
lea eax, [ebp - 0x10]
push eax
push 0x4c7a0c
push 0x4c7a3c
call esi
test eax, eax
je 0x473979
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x473916
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x473916
lea eax, [ebp - 0x10]
push eax
push 0x4c7a0c
push 0x4c7a2c
jmp 0x473950
push 0x10
call fcn.00472ace
pop ecx
cmp eax, ebx
je 0x473990
mov ecx, eax
call fcn.004732bf
mov esi, eax
jmp 0x473992
xor esi, esi
push esi
lea ecx, [ebp - 0x14]
call fcn.00472c88
push dword [ebp + 8]
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.0047411e
test al, al
jne 0x4739bf
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x473956
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x473956
push 0x1c
call fcn.00472ace
pop ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x4739dd
mov ecx, eax
call fcn.0047306d
mov esi, eax
jmp 0x4739df
xor esi, esi
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.00472c88
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 0x473a2d
mov byte [ebp - 4], 1
cmp esi, ebx
je 0x473a17
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], bl
cmp edi, ebx
je 0x473956
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x473956
push 0x78
call fcn.00472ace
pop ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x473a4b
mov ecx, eax
call fcn.004730c5
mov esi, eax
jmp 0x473a4d
xor esi, esi
push esi
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.00472c88
push dword [ebp + 0xc]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.00472e93
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.004731f8
push dword [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.00472af9
pop ecx
mov byte [esi + 0x58], bl
cmp edi, ebx
je 0x473a9e
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 0x473adb
cmp esi, ebx
je 0x473ac1
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x4739ad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4739ad
cmp esi, ebx
je 0x473ae5
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x473af6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x473b06
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x473b17
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
call fcn.00476588
ret