Function at 0x40217d
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x10c
mov dword [ebp - 0xc4], sym.___gxx_personality_sj0
mov dword [ebp - 0xc0], 0x487d12
lea eax, [ebp - 0xbc]
lea ebx, [ebp - 0x18]
mov dword [eax], ebx
mov edx, 0x4028bb
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0xdc]
mov dword [esp], eax
call dbg._Unwind_SjLj_Register
lea eax, [ebp - 0x4c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x50]
mov dword [esp], eax
mov dword [ebp - 0xd8], 0xffffffff
call sym.getArgvArr_int__char_
mov eax, dword [ebp - 0x50]
test eax, eax
jg 0x40221c
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Error:_48915
mov dword [esp + 4], 0x491014
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
mov dword [ebp - 0xe0], 0
jmp 0x4028aa
lea eax, [ebp - 0x29]
mov ecx, eax
call fcn.00449e60
lea eax, [ebp - 0x54]
lea edx, [ebp - 0x29]
mov dword [esp + 4], edx
mov dword [esp], str.config.bin
mov dword [ebp - 0xd8], 1
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_char_const__std::allocator_char__const_
sub esp, 8
lea eax, [ebp - 0x29]
mov ecx, eax
call sym.std::allocator_char_::allocator__
mov eax, dword [ebp - 0x50]
cmp eax, 1
jle 0x402281
mov eax, dword [ebp - 0x4c]
add eax, 4
mov edx, dword [eax]
lea eax, [ebp - 0x54]
mov dword [esp], edx
mov dword [ebp - 0xd8], 2
mov ecx, eax
call fcn.00456240
sub esp, 4
jmp 0x40229f
lea eax, [ebp - 0x54]
mov dword [esp], str.config.bin
mov dword [ebp - 0xd8], 2
mov ecx, eax
call fcn.00456240
sub esp, 4
mov dword [esp + 4], 0
lea eax, [ebp - 0x54]
mov dword [esp], eax
mov dword [ebp - 0xd8], 2
call sym.fileExists_std::string_const__int_
xor eax, 1
test al, al
je 0x4022eb
mov dword [esp + 4], 5
mov dword [esp], str.calc.exe
mov eax, dword [sym.imp.KERNEL32.dll_WinExec]
call eax
sub esp, 8
mov dword [ebp - 0xe0], 0
jmp 0x4028a0
lea eax, [ebp - 0x58]
mov dword [ebp - 0xd8], 2
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea eax, [ebp - 0x28]
lea edx, [ebp - 0x54]
mov dword [esp], edx
mov dword [ebp - 0xd8], 3
mov ecx, eax
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::string_const_
sub esp, 4
lea eax, [ebp - 0x58]
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [ebp - 0xd8], 4
call sym.readFile_std::string__std::string_
test eax, eax
setne byte [ebp - 0xe0]
lea eax, [ebp - 0x28]
mov ecx, eax
call fcn.004561a0
cmp byte [ebp - 0xe0], 0
je 0x402396
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Error:_37814
mov dword [esp + 4], 0x491058
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0xd8], 3
call eax
sub esp, 0x10
mov dword [ebp - 0xe0], 0
jmp 0x402896
mov dword [esp + 4], 0x491006
lea eax, [ebp - 0x58]
mov dword [esp], eax
mov dword [ebp - 0xd8], 3
call method.bool_std::operator_char__std::char_traits_char___std.allocator_char____std::basic_string_char__std::char_traits_char___std::allocator_char____const__char_const_
test al, al
je 0x4023ef
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Error:_24768
mov dword [esp + 4], 0x491074
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
mov dword [ebp - 0xe0], 0
jmp 0x402896
lea eax, [ebp - 0x1f]
mov ecx, eax
call fcn.00449e60
lea eax, [ebp - 0x24]
lea edx, [ebp - 0x1f]
mov dword [esp + 4], edx
mov dword [esp], 0x491081
mov dword [ebp - 0xd8], 5
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_char_const__std::allocator_char__const_
sub esp, 8
lea eax, [ebp - 0x64]
lea edx, [ebp - 0x24]
mov dword [esp + 8], edx
lea edx, [ebp - 0x58]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [ebp - 0xd8], 6
call sym.split_std::string_const__std::string_const_
lea eax, [ebp - 0x24]
mov ecx, eax
call fcn.004561a0
lea eax, [ebp - 0x1f]
mov ecx, eax
call sym.std::allocator_char_::allocator__
lea eax, [ebp - 0x64]
mov ecx, eax
call method.std::vector_std::string__std::allocator_std::string___.size___const
cmp eax, 2
jne 0x4024a3
lea eax, [ebp - 0x64]
mov dword [esp], 0
mov ecx, eax
call method.std::vector_std::string__std::allocator_std::string___.operator___unsigned_int_
sub esp, 4
mov ecx, eax
call method.std::string.length___const
cmp eax, 0x20
jne 0x4024a3
lea eax, [ebp - 0x64]
mov dword [esp], 1
mov ecx, eax
call method.std::vector_std::string__std::allocator_std::string___.operator___unsigned_int_
sub esp, 4
mov ecx, eax
call method.std::string.size___const
test eax, eax
jne 0x4024aa
mov eax, 1
jmp 0x4024af
mov eax, 0
test al, al
je 0x4024f5
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Error:_68722
mov dword [esp + 4], 0x491074
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [ebp - 0xd8], 7
call eax
sub esp, 0x10
mov dword [ebp - 0xe0], 0
jmp 0x40288c
mov dword [esp + 8], 0x30
mov dword [esp + 4], 0
lea eax, [ebp - 0x9c]
mov dword [esp], eax
call sym._memset
mov dword [ebp - 0x9c], 0x30
mov dword [ebp - 0x94], sym.__Z7WndProcP6HWND__jjl_16
mov eax, dword [ebp + 8]
mov dword [ebp - 0x88], eax
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_LoadCursorA]
mov dword [ebp - 0xd8], 7
call eax
sub esp, 8
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], 6
mov dword [ebp - 0x74], str.WindowClass
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_LoadIconA]
call eax
sub esp, 8
mov dword [ebp - 0x84], eax
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_LoadIconA]
call eax
sub esp, 8
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x9c]
mov dword [esp], eax
mov eax, dword [sym.imp.USER32.dll_RegisterClassExA]
call eax
sub esp, 4
test ax, ax
sete al
test al, al
je 0x4025f4
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], str.Error_
mov dword [esp + 4], str.Window_Registration_Failed_
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
mov dword [ebp - 0xe0], 0
jmp 0x40288c
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x1e0
mov dword [esp + 0x18], 0x280
mov dword [esp + 0x14], 0x80000000
mov dword [esp + 0x10], 0x80000000
mov dword [esp + 0xc], 0x80000000
mov dword [esp + 8], 0x4910bf
mov dword [esp + 4], str.WindowClass
mov dword [esp], 0x80800a8
mov eax, dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [ebp - 0xd8], 7
call eax
sub esp, 0x30
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x4026a7
mov dword [esp + 0xc], 0x30
mov dword [esp + 8], str.Error_
mov dword [esp + 4], str.Window_Creation_Failed_
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
mov dword [ebp - 0xe0], 0
jmp 0x40288c
lea eax, [ebp - 0x1e]
mov ecx, eax
call fcn.00449e60
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x1e]
mov dword [esp + 4], edx
mov dword [esp], str.HostShield.exe
mov dword [ebp - 0xd8], 8
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_char_const__std::allocator_char__const_
sub esp, 8
lea eax, [ebp - 0x1e]
mov ecx, eax
call sym.std::allocator_char_::allocator__
mov dword [esp + 4], 0
lea eax, [ebp - 0x68]
mov dword [esp], eax
mov dword [ebp - 0xd8], 9
call sym.fileExists_std::string_const__int_
test al, al
je 0x40282e
lea eax, [ebp - 0x1d]
mov ecx, eax
call fcn.00449e60
lea eax, [ebp - 0x6c]
lea edx, [ebp - 0x1d]
mov dword [esp + 4], edx
mov dword [esp], 0x491006
mov dword [ebp - 0xd8], 0xa
mov ecx, eax
call sym.std::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_char_const__std::allocator_char__const_
sub esp, 8
lea eax, [ebp - 0x1d]
mov ecx, eax
call sym.std::allocator_char_::allocator__
lea eax, [ebp - 0x64]
mov dword [esp], 0
mov ecx, eax
call method.std::vector_std::string__std::allocator_std::string___.operator___unsigned_int_
sub esp, 4
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0x6c]
lea edx, [ebp - 0x68]
mov dword [esp], edx
mov dword [ebp - 0xd8], 0xb
mov ecx, eax
call method.std::string.append_std::string_const_
sub esp, 4
mov dword [esp], 0x4910ed
mov ecx, eax
call method.std::string.append_char_const_
sub esp, 4
mov esi, dword [ebp - 0xe0]
mov dword [esp], esi
mov ecx, eax
call method.std::string.append_std::string_const_
sub esp, 4
lea eax, [ebp - 0x6c]
mov ecx, eax
call method.std::string.c_str___const
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WinExec]
call eax
sub esp, 8
lea eax, [ebp - 0x6c]
mov dword [esp], str.mstsc.exe__v:
mov ecx, eax
call fcn.00456240
sub esp, 4
lea eax, [ebp - 0x64]
mov dword [esp], 1
mov ecx, eax
call method.std::vector_std::string__std::allocator_std::string___.operator___unsigned_int_
sub esp, 4
mov edx, eax
lea eax, [ebp - 0x6c]
mov dword [esp], edx
mov ecx, eax
call method.std::string.append_std::string_const_
sub esp, 4
mov dword [esp], 0x3e8
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
lea eax, [ebp - 0x6c]
mov ecx, eax
call method.std::string.c_str___const
mov dword [esp + 4], 5
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WinExec]
call eax
sub esp, 8
lea eax, [ebp - 0x6c]
mov ecx, eax
call fcn.004561a0
jmp 0x402878
lea eax, [ebp - 0x68]
mov dword [esp], 0x4910fd
mov dword [ebp - 0xd8], 9
mov ecx, eax
call method.std::string.append_char_const_
sub esp, 4
mov ecx, eax
call method.std::string.c_str___const
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Error:_37860
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_MessageBoxA]
call eax
sub esp, 0x10
mov dword [ebp - 0xe0], 0
lea eax, [ebp - 0x68]
mov ecx, eax
call fcn.004561a0
lea eax, [ebp - 0x64]
mov ecx, eax
call method.std::vector_std::string__std::allocator_std::string___.vector__
lea eax, [ebp - 0x58]
mov ecx, eax
call fcn.004561a0
lea eax, [ebp - 0x54]
mov ecx, eax
call fcn.004561a0
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe0], eax
jmp 0x402a46
lea eax, [ebp - 0xdc]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp - 0xe0]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0x10