Function at 0x4028cf
Capabilities:
Create process on windows

Disassembly:
push 0x1f0
mov eax, 0x408816
call fcn.00407f5f
mov edi, ecx
mov ebx, dword [ebp + 8]
lea eax, [edi + 0x8c]
mov esi, dword [ebp + 0x10]
lea ecx, [ebp - 0x48]
push eax
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const__]
and dword [ebp - 4], 0
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public:_int___thiscall_Cmm::CStringT_wchar_t_::IsEmpty_void_const]
test eax, eax
jne 0x402d08
mov ecx, dword [edi + 0x18c]
test ecx, ecx
je 0x402d08
push ebx
call fcn.004057ce
push 0xffffffffffffffff
push 0x40a958
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public:_unsigned_int___thiscall_Cmm::CStringT_wchar_t_::find_last_of_wchar_t_const___unsigned_int_const]
push eax
lea eax, [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CRangeT_wchar_t_const_____thiscall_Cmm::CStringT_wchar_t_::Left_unsigned_int_]
lea ecx, [ebp - 0x10c]
push dword [eax + 4]
push dword [eax]
call fcn.00403dc8
push 0x40a958
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x10c]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push 0x40a9dc
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 2
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
push 0x40aa08
lea ecx, [ebp - 0xf0]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 5
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::c_str_void_const]
push eax
lea ecx, [ebp - 0x64]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_char_::constructor_wchar_t_const__]
mov ecx, eax
mov byte [ebp - 4], 6
call dword [sym.imp.Cmmlib.dll_public:_char_const____thiscall_Cmm::CStringT_char_::c_str_void_const]
push eax
lea ecx, [ebp - 0x28]
call fcn.00403a8c
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 7
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__void_const]
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
push 0
push dword [ebp - 0x18]
cmovae ecx, dword [ebp - 0x28]
push ecx
push eax
call dword [sym.imp.Cmmlib.dll_cmm_fs_write]
add esp, 0x10
lea ecx, [ebp - 0x28]
call fcn.00403a69
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_char_::destructor_void_]
lea eax, [ebp - 0x80]
mov edx, 0x40aa04
push eax
lea ecx, [ebp - 0x64]
call fcn.00403ce7
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xd4]
mov dword [esp], 0x40aa04
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xa
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea eax, [ebx + 0x1c]
mov edx, 0x40aa04
push eax
lea ecx, [ebp - 0x2c]
call fcn.00403ce7
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xb8]
mov dword [esp], 0x40aa04
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
push 0x40a9d8
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0xb8]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push 0x40aa04
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 0xe
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xf
push ecx
lea ecx, [ebp - 0x17c]
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__]
push 0x40aa04
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x10
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push 0x40a9d8
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0x11
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push esi
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 0x12
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__]
push 0x40a9d8
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x13
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push ebx
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x14
push ecx
mov ecx, eax
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__]
lea ecx, [ebp - 0x64]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x128]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x144]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x160]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x17c]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x198]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x1c
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
xorps xmm0, xmm0
mov dword [ebp - 0x1fc], 0x3c
xor esi, esi
movlpd qword [ebp - 0x1d8], xmm0
lea ecx, [ebp - 0xd4]
movlpd qword [ebp - 0x1d0], xmm0
movlpd qword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x1f8], 0x40
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x1f0], esi
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__void_const]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x1ec], eax
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__void_const]
mov dword [ebp - 0x1e8], eax
lea eax, [ebp - 0x1fc]
push eax
mov dword [ebp - 0x1e4], esi
mov dword [ebp - 0x1e0], 5
mov dword [ebp - 0x1dc], esi
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov eax, dword [ebp - 0x1c4]
lea esi, [edi + 0x58]
test eax, eax
je 0x402c58
mov ecx, esi
mov dword [ebp - 0x1b8], esi
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CCritical::Lock_void_]
push ebx
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [edi + 0xd4]
call fcn.00403e10
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1c4]
mov dword [ecx + 0x2c], eax
mov ecx, esi
mov byte [ebp - 4], 0x1e
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CCritical::Unlock_void_]
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x1c4]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea ecx, [ebp - 0x80]
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::c_str_void_const]
mov ecx, eax
call fcn.00401568
mov ecx, esi
mov dword [ebp - 0x1bc], esi
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CCritical::Lock_void_]
push ebx
lea eax, [ebp - 0x1b8]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [edi + 0xd4]
call fcn.0040383f
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [edi + 0xd4]
je 0x402cb7
push eax
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [edi + 0xd4]
call fcn.00403d46
mov ecx, esi
mov byte [ebp - 4], 0x20
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CCritical::Unlock_void_]
lea ecx, [ebp - 0x9c]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0xb8]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0xd4]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0xf0]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x80]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x10c]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
xor eax, eax
call fcn.00407f1a
ret 0xc