Function at 0x4caa08
Capabilities:
Check if file exists
Create process on windows
Create process suspended

Disassembly:
push 0x1e4
mov eax, 0x5ea7b1
call fcn.00592017
mov ebx, ecx
lea ecx, [ebp - 0x130]
call fcn.004c0e61
xor edi, edi
lea eax, [ebp - 0x130]
mov dword [ebp - 4], edi
cmp dword [ebp - 0x11c], 8
cmovae eax, dword [ebp - 0x130]
push eax
push 0x13dc
push str.LaunchExitPopupEx
push str.__s__d___LaunchExitPopupEx_start__szExePath___s
call fcn.0040a649
add esp, 0x10
cmp dword [ebp - 0x120], edi
je 0x4cad07
mov esi, 0x629104
push esi
call fcn.005b93d0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x130]
call fcn.0040b220
cmp dword [ebp - 0x11c], 8
lea eax, [ebp - 0x130]
cmovae eax, dword [ebp - 0x130]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4cad07
cmp dword [ebp - 0x11c], 8
lea eax, [ebp - 0x130]
cmovae eax, dword [ebp - 0x130]
push eax
call fcn.004302c4
pop ecx
test eax, eax
je 0x4cad07
push 0x44
pop esi
push esi
lea eax, [ebp - 0x1f0]
push edi
push eax
call fcn.005a88e0
add esp, 0xc
mov dword [ebp - 0x1f0], esi
xor eax, eax
mov dword [ebp - 0x1e8], str.Default
inc eax
mov dword [ebp - 0x1c4], eax
push edi
mov word [ebp - 0x1c0], ax
call fcn.005b9a0a
pop ecx
push 0x82
mov edi, eax
mov esi, edx
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.005a88e0
add esp, 0xc
lea eax, [ebp - 0x98]
push 0xa
push 0x40
push eax
push esi
push edi
call fcn.005b9854
add esp, 0x14
test eax, eax
je 0x4cab4b
push eax
push 0x13ed
push str.LaunchExitPopupEx
push str.__s__d___LaunchExitPopup__i64tot_s_error_re___d
call fcn.0040a649
add esp, 0x10
jmp 0x4cad07
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x190]
call fcn.0040b0d5
push 0x80
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 1
push 0
push eax
call fcn.005a88e0
add esp, 0xc
lea eax, [ebp - 0x118]
push 0xa
push eax
push ebx
call fcn.005b98cc
add esp, 0xc
lea ecx, [ebp - 0x160]
push str._efrom:
call fcn.0040b0d5
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 2
push eax
call fcn.005b93d0
pop ecx
push eax
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x160]
call fcn.0040b220
mov esi, str.__hepex:
push esi
call fcn.005b93d0
pop ecx
push eax
push esi
lea ecx, [ebp - 0x160]
call fcn.0040b566
lea eax, [ebp - 0x98]
push eax
call fcn.005b93d0
pop ecx
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x160]
call fcn.0040b220
push 0x629244
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x178]
call fcn.0041154b
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x160]
cmp dword [ebp - 0x14c], 8
push dword [ebp - 0x150]
cmovae ecx, dword [ebp - 0x160]
push ecx
mov ecx, eax
call fcn.0040b220
xor ebx, ebx
lea ecx, [ebp - 0x148]
mov byte [ebp - 0x194], bl
push dword [ebp - 0x194]
mov dword [ebp - 0x138], ebx
push eax
mov dword [ebp - 0x134], ebx
call fcn.0040b62f
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 5
call fcn.0040b67b
cmp dword [ebp - 0x134], 8
lea eax, [ebp - 0x148]
cmovae eax, dword [ebp - 0x148]
push eax
push 0x13f9
push str.LaunchExitPopupEx
push str.__s__d___LaunchExitPopupEx_start__strCmdLine___s
call fcn.0040a649
add esp, 0x10
lea edi, [ebp - 0x1a4]
xor eax, eax
lea ecx, [ebp - 0x1a4]
cmp dword [ebp - 0x134], 8
stosd dword es:[edi], eax
push ecx
lea ecx, [ebp - 0x1f0]
push ecx
stosd dword es:[edi], eax
push ebx
push ebx
push ebx
stosd dword es:[edi], eax
push ebx
push ebx
push ebx
stosd dword es:[edi], eax
lea eax, [ebp - 0x148]
cmovae eax, dword [ebp - 0x148]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
push dword [ebp - 0x1a0]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x1a4]
call esi
lea ecx, [ebp - 0x148]
call fcn.0040b67b
lea ecx, [ebp - 0x160]
call fcn.0040b67b
lea ecx, [ebp - 0x190]
call fcn.0040b67b
lea ecx, [ebp - 0x130]
call fcn.0040b67b
call fcn.00591fc1
ret