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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66e63c
mov eax, dword fs:[0]
push eax
mov eax, 0x43f0
call fcn.005c8950
mov eax, dword [0x70a0c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x436c], ecx
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x4368], ecx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x4370], edx
lea ecx, [ebp - 0x4364]
call fcn.0047b710
lea eax, [ebp - 0x4364]
push eax
mov ecx, dword [ebp - 0x4370]
push ecx
mov edx, dword [ebp - 0x4368]
push edx
call fcn.0046a540
mov ecx, eax
call fcn.00470990
movzx eax, al
test eax, eax
jne 0x55a25b
xor eax, eax
jmp 0x55a829
cmp dword [ebp - 0x435c], 0
jg 0x55a26b
xor eax, eax
jmp 0x55a829
cmp dword [ebp - 0x435c], 1
jne 0x55a2d5
lea ecx, [ebp - 0x4158]
push ecx
lea ecx, [ebp - 0x88]
call fcn.00447470
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x88]
call fcn.0044e170
movzx edx, al
test edx, edx
jne 0x55a2ae
lea eax, [ebp - 0x88]
push eax
call fcn.0045d5c0
add esp, 4
mov dword [ebp - 0x437c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.0043cfa0
mov eax, dword [ebp - 0x437c]
jmp 0x55a829
cmp dword [ebp - 0x435c], 2
jne 0x55a2e8
mov eax, 1
jmp 0x55a829
cmp dword [ebp - 0x435c], 3
jne 0x55a343
xor ecx, ecx
mov byte [ebp - 0x4371], cl
lea edx, [ebp - 0x4370]
push edx
lea eax, [ebp - 0x4368]
push eax
mov ecx, dword [ebp - 0x436c]
add ecx, 0x248
push ecx
lea edx, [ebp - 0x4372]
push edx
lea eax, [ebp - 0x43fc]
push eax
call fcn.005304b0
mov ecx, eax
call fcn.00577540
lea ecx, [ebp - 0x43fc]
call fcn.0052f670
mov eax, 1
jmp 0x55a829
cmp dword [ebp - 0x435c], 4
jne 0x55a4be
mov ecx, dword [ebp - 0x3956]
push ecx
mov edx, dword [ebp - 0x4370]
push edx
mov eax, dword [ebp - 0x4368]
push eax
lea ecx, [ebp - 0x45c]
call fcn.00534950
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x436c]
mov edx, dword [ecx + 0x248]
push edx
lea ecx, [ebp - 0x45c]
call fcn.00519ab0
cmp eax, 1
je 0x55a3bb
mov dword [ebp - 0x4380], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x45c]
call fcn.00534ab0
mov eax, dword [ebp - 0x4380]
jmp 0x55a829
push ecx
mov ecx, esp
mov dword [ebp - 0x43f0], esp
push 0x695fdc
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 0x4384], eax
mov eax, dword [ebp - 0x4384]
mov dword [ebp - 0x43ec], eax
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x43f4], esp
push 0x696264
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 0x4388], eax
mov ecx, dword [ebp - 0x4388]
mov dword [ebp - 0x43c8], ecx
mov byte [ebp - 4], 3
push 0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x43cc], esp
push 0x696268
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 0x438c], eax
mov edx, dword [ebp - 0x438c]
mov dword [ebp - 0x43d0], edx
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x43d4], esp
push 0x696288
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov dword [ebp - 0x43d8], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x80c]
call fcn.0051a070
mov dword [ebp - 0x43dc], eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x436c]
mov ecx, dword [eax + 0x248]
push ecx
lea ecx, [ebp - 0x80c]
call fcn.00519ab0
mov dword [ebp - 0x4390], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x80c]
call fcn.0051a1a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x45c]
call fcn.00534ab0
mov eax, dword [ebp - 0x4390]
jmp 0x55a829
cmp dword [ebp - 0x435c], 5
jne 0x55a51e
lea edx, [ebp - 0x4158]
push edx
lea ecx, [ebp - 0x70]
call fcn.00447470
lea ecx, [ebp - 0x70]
call fcn.0044e170
movzx eax, al
test eax, eax
jne 0x55a501
push 1
push 0
push 0
lea ecx, [ebp - 0x70]
call fcn.0043dc00
push eax
push 0x6962a4
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [ebp - 0x4394], 1
lea ecx, [ebp - 0x70]
call fcn.0043cfa0
mov eax, dword [ebp - 0x4394]
jmp 0x55a829
cmp dword [ebp - 0x435c], 6
jne 0x55a57f
mov ecx, dword [ebp - 0x4368]
push ecx
lea ecx, [ebp - 0xbb0]
call fcn.004f83f0
mov dword [ebp - 4], 6
mov edx, dword [ebp - 0x436c]
mov eax, dword [edx + 0x248]
push eax
lea ecx, [ebp - 0xbb0]
call fcn.00519ab0
mov dword [ebp - 0x4398], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbb0]
call fcn.004f8480
mov eax, dword [ebp - 0x4398]
jmp 0x55a829
cmp dword [ebp - 0x435c], 7
jne 0x55a5d9
lea ecx, [ebp - 0xf48]
call fcn.00529410
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x436c]
mov edx, dword [ecx + 0x248]
push edx
lea ecx, [ebp - 0xf48]
call fcn.00519ab0
mov dword [ebp - 0x43bc], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf48]
call fcn.00529460
mov eax, dword [ebp - 0x43bc]
jmp 0x55a829
cmp dword [ebp - 0x174e], 1
jne 0x55a637
lea eax, [ebp - 0x174a]
push eax
lea ecx, [ebp - 0x58]
call fcn.00447470
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x58]
call fcn.0044e170
movzx ecx, al
test ecx, ecx
jne 0x55a613
lea edx, [ebp - 0x58]
push edx
call fcn.0045d5c0
add esp, 4
mov dword [ebp - 0x43b8], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0043cfa0
mov eax, dword [ebp - 0x43b8]
jmp 0x55a829
cmp dword [ebp - 0x174e], 2
je 0x55a64d
cmp dword [ebp - 0x174e], 3
jne 0x55a824
lea eax, [ebp - 0x174a]
push eax
lea ecx, [ebp - 0x28]
call fcn.00447470
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.0044e170
movzx ecx, al
test ecx, ecx
je 0x55a696
mov dword [ebp - 0x43b4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043cfa0
mov eax, dword [ebp - 0x43b4]
jmp 0x55a829
lea ecx, [ebp - 0x40]
call fcn.004474e0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4378]
call fcn.0054e470
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x4370]
push eax
mov ecx, dword [ebp - 0x4368]
push ecx
lea ecx, [ebp - 0x4378]
call fcn.0054ecd0
lea ecx, [ebp - 0x40]
call fcn.0043dc00
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x55a7cf
mov edx, dword [ebp - 0x436c]
mov dword [ebp - 0x43b0], edx
mov dword [ebp - 0x43a0], fcn.00563dc0
mov dword [ebp - 0x439c], 0
mov eax, dword [ebp - 0x43a0]
mov dword [ebp - 0x43c4], eax
mov ecx, dword [ebp - 0x439c]
mov dword [ebp - 0x43c0], ecx
sub esp, 0x28
mov esi, esp
mov dword [ebp - 0x43e0], esp
sub esp, 0x10
mov edx, esp
mov dword [ebp - 0x43e4], esp
push 0x6956be
push 0x6956bb
lea eax, [ebp - 0x43b0]
push eax
lea ecx, [ebp - 0x43c4]
push ecx
push edx
call fcn.00570e40
add esp, 0x14
mov ecx, esi
call fcn.00569170
mov dword [ebp - 0x43ac], eax
mov edx, dword [ebp - 0x43ac]
mov dword [ebp - 0x43e8], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x4370]
push eax
mov ecx, dword [ebp - 0x4368]
push ecx
lea edx, [ebp - 0x28]
push edx
call fcn.00536c00
mov byte [ebp - 4], 0xb
mov ecx, eax
call fcn.00537620
mov dword [ebp - 0x43a8], 1
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4378]
call fcn.0054e490
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x40]
call fcn.0043cfa0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043cfa0
mov eax, dword [ebp - 0x43a8]
jmp 0x55a829
mov eax, dword [ebp - 0x4370]
push eax
mov ecx, dword [ebp - 0x4368]
push ecx
mov ecx, dword [ebp - 0x436c]
call fcn.00563dc0
mov dword [ebp - 0x43a4], 1
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4378]
call fcn.0054e490
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x40]
call fcn.0043cfa0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043cfa0
mov eax, dword [ebp - 0x43a4]
jmp 0x55a829
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c7840
mov esp, ebp
pop ebp
ret 0x10