Function at 0x58f1d0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d35c2
mov eax, dword fs:[0]
push eax
sub esp, 0x518
mov eax, dword [0x70c0f0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4a8], ecx
call fcn.00447430
mov ecx, eax
call fcn.004a74e9
mov dword [ebp - 0x49c], eax
mov eax, dword [ebp - 0x49c]
push eax
call fcn.0049b80e
add esp, 4
push str.Riched20.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x4a4], eax
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x4a0], eax
cmp dword [ebp - 0x4a0], 0
jge 0x58f25f
jmp 0x58f4c1
xor ecx, ecx
mov word [ebp - 0x218], cx
push 0x206
push 0
lea edx, [ebp - 0x216]
push edx
call fcn.004e1330
add esp, 0xc
xor eax, eax
mov word [ebp - 0x420], ax
push 0x206
push 0
lea ecx, [ebp - 0x41e]
push ecx
call fcn.004e1330
add esp, 0xc
push 0x6aed48
lea ecx, [ebp - 0x498]
call fcn.00446660
mov dword [ebp - 4], 0
call fcn.00447430
mov ecx, eax
call fcn.004d6324
push eax
lea ecx, [ebp - 0x480]
call fcn.00446660
mov byte [ebp - 4], 1
call fcn.00447430
mov ecx, eax
call fcn.004d6330
push eax
lea ecx, [ebp - 0x450]
call fcn.00446660
mov byte [ebp - 4], 2
push 0x6aed30
push 0x6aed20
lea ecx, [ebp - 0x480]
call fcn.004465b0
push eax
push 0x6aedac
lea edx, [ebp - 0x218]
push edx
call fcn.0045c670
add esp, 0x14
lea ecx, [ebp - 0x498]
call fcn.004465b0
push eax
lea ecx, [ebp - 0x450]
call fcn.004465b0
push eax
push str._s_s.zip
lea eax, [ebp - 0x420]
push eax
call fcn.0045c670
add esp, 0x10
push 0x6aed84
lea ecx, [ebp - 0x450]
push ecx
lea edx, [ebp - 0x468]
push edx
call fcn.0046fd50
add esp, 0xc
mov byte [ebp - 4], 3
push 0x6aed80
lea ecx, [ebp - 0x438]
call fcn.00446660
mov byte [ebp - 4], 4
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x438]
call fcn.0044c090
push 0x6aedd0
lea ecx, [ebp - 0x438]
call fcn.004465f0
push 0x6aedc8
lea ecx, [ebp - 0x438]
call fcn.004465f0
push 0x6aedc4
lea ecx, [ebp - 0x438]
call fcn.004465f0
lea ecx, [ebp - 0x420]
push ecx
lea ecx, [ebp - 0x438]
call fcn.004465f0
push 0x6aedbc
lea ecx, [ebp - 0x438]
call fcn.004465f0
push 0x6aed7c
lea ecx, [ebp - 0x438]
call fcn.004465f0
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x438]
call fcn.004465f0
push 0x6aed74
lea ecx, [ebp - 0x438]
call fcn.004465f0
lea ecx, [ebp - 0x524]
call fcn.0058f150
mov byte [ebp - 4], 5
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x58f446
push 0
push 0
lea ecx, [ebp - 0x438]
call fcn.004465b0
push eax
lea ecx, [ebp - 0x524]
call fcn.0058e6d0
call fcn.0049bc2d
call dword [sym.imp.ole32.dll_OleUninitialize]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x4a4]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x524]
call fcn.0058f110
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x438]
call fcn.00446610
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x468]
call fcn.00446610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x450]
call fcn.00446610
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x480]
call fcn.00446610
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x498]
call fcn.00446610
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00495c0c
mov esp, ebp
pop ebp
ret