Function at 0x46361d
Capabilities:
Create process on windows

Disassembly:
push ebp
lea ebp, [esp - 0x2058]
mov eax, 0x2058
call fcn.0055c750
push 0xffffffffffffffff
push 0x571479
mov eax, dword fs:[0]
push eax
sub esp, 0x12c
mov eax, dword [0x601328]
xor eax, ebp
mov dword [ebp + 0x2054], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x2060]
and dword [ebp - 0x20], 0
mov esi, ecx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], eax
test esi, esi
je 0x463ec9
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x46367f
sub eax, edx
sar eax, 1
je 0x463ec9
call fcn.00462c28
cmp byte [eax], 0
jne 0x46372e
lea eax, [ebp - 0xc8]
push eax
call fcn.00409b60
mov eax, esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 9
call fcn.004066c0
push eax
mov ebx, 0x5967ac
push ebx
lea eax, [ebp - 0xc0]
push str.CSystemCommands::RunProgram___filename
push eax
mov byte [ebp - 4], 0xa
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 9
call fcn.00409c40
lea ecx, [ebp + 0x38]
lea eax, [ebp - 0xc8]
call fcn.00407170
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0xb
call fcn.00406a80
lea ecx, [ebp + 0x38]
call fcn.00409c40
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc8]
call fcn.00407660
jmp 0x463877
lea eax, [ebp - 0xc0]
push eax
mov dword [ebp - 4], 0xc
call fcn.004068d0
mov eax, esi
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0xd
call fcn.004066c0
mov edi, eax
mov byte [ebp - 4], 0xe
call fcn.00462c28
lea esi, [ebp - 0x40]
call fcn.00406720
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x18], 8
jb 0x463774
mov esi, dword [eax + 4]
jmp 0x463777
lea esi, [eax + 4]
lea eax, [ebp - 0xc0]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.CSystemCommands::RunProgram___filename
push eax
call fcn.00407390
pop ecx
pop ecx
mov ebx, 0x5967ac
push ebx
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
call fcn.00409c40
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0xd
call fcn.00409c40
lea eax, [ebp - 0x18]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x10
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x463826
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0xc0]
call fcn.00406700
push 0x31
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x40]
call fcn.00409c40
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xd
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xc
call fcn.004067e0
or dword [ebp - 4], 0xffffffff
jmp 0x463877
call fcn.00462c28
cmp byte [eax], 0
jne 0x463917
lea eax, [ebp - 0xc8]
push eax
call fcn.00409b60
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0x14
test eax, eax
jne 0x4638a4
mov eax, 0x59672c
lea ecx, [ebp - 0x40]
call fcn.004066c0
push eax
push ebx
lea eax, [ebp - 0xc0]
push str.CSystemCommands::RunProgram___parameters
push eax
mov byte [ebp - 4], 0x15
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x14
call fcn.00409c40
lea ecx, [ebp + 0x38]
lea eax, [ebp - 0xc8]
call fcn.00407170
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x16
call fcn.00406a80
lea ecx, [ebp + 0x38]
call fcn.00409c40
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc8]
call fcn.00407660
jmp 0x463a65
lea eax, [ebp - 0xc0]
push eax
mov dword [ebp - 4], 0x17
call fcn.004068d0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x18
test eax, eax
jne 0x46393a
mov eax, 0x59672c
lea ecx, [ebp - 0xe4]
call fcn.004066c0
mov edi, eax
mov byte [ebp - 4], 0x19
call fcn.00462c28
lea esi, [ebp - 0x40]
call fcn.00406720
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x18], 8
jb 0x463967
mov esi, dword [eax + 4]
jmp 0x46396a
lea esi, [eax + 4]
lea eax, [ebp - 0xc0]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.CSystemCommands::RunProgram___parameters
push eax
call fcn.00407390
pop ecx
pop ecx
push ebx
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.00411b20
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
call fcn.00409c40
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x18
call fcn.00409c40
lea eax, [ebp - 0x18]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1b
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x463a14
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0xc0]
call fcn.00406700
push 0x32
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1c
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x40]
call fcn.00409c40
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x18
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x17
call fcn.004067e0
or dword [ebp - 4], 0xffffffff
jmp 0x463a65
xor eax, eax
lea edi, [ebp - 0xf4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x44
stosd dword es:[edi], eax
pop esi
push esi
stosd dword es:[edi], eax
lea eax, [ebp - 0x138]
push 0
push eax
call fcn.0054ff70
xor eax, eax
mov dword [ebp - 0x138], esi
mov word [ebp - 0x108], ax
mov esi, 0x5a5004
add esp, 0xc
mov eax, esi
lea ecx, [ebp]
mov dword [ebp - 0x10c], 1
call fcn.004066c0
lea eax, [ebp]
push eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], 0x1f
call fcn.00411970
lea eax, [ebp]
push eax
mov eax, esi
call fcn.00411970
lea eax, [ebp]
push eax
lea esi, [ebp + 0x1c]
call fcn.00406fb0
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 4], 0x20
je 0x463afa
mov eax, esi
push eax
mov eax, 0x59fe40
call fcn.00411970
mov eax, esi
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00411970
mov ecx, dword [ebp + 0x20]
xor eax, eax
cmp dword [ebp + 0x34], 8
mov word [ebp + 0x54], ax
jae 0x463b0c
lea ecx, [ebp + 0x20]
lea edx, [ebp + 0x54]
xor esi, esi
movzx eax, word [ecx]
inc ecx
mov word [edx], ax
inc ecx
inc edx
inc edx
cmp ax, si
jne 0x463b11
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x138]
push eax
push esi
push esi
push 0x20
push esi
push esi
push esi
lea eax, [ebp + 0x54]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0x24], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.00462c28
cmp byte [eax], 0
jne 0x463bc5
lea eax, [ebp - 0xc8]
push eax
call fcn.00409b60
push edi
push ebx
lea eax, [ebp - 0xc0]
push 0x5a5008
push eax
mov byte [ebp - 4], 0x21
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.004155d0
lea ecx, [ebp + 0x38]
lea eax, [ebp - 0xc8]
call fcn.00407170
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x22
call fcn.00406a80
lea ecx, [ebp + 0x38]
call fcn.00409c40
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x20
call fcn.00407660
jmp 0x463cec
lea eax, [ebp - 0xc0]
push eax
mov byte [ebp - 4], 0x23
call fcn.004068d0
mov byte [ebp - 4], 0x24
call fcn.00462c28
lea esi, [ebp - 0x40]
call fcn.00406720
mov byte [ebp - 4], 0x25
cmp dword [eax + 0x18], 8
jb 0x463bf5
mov esi, dword [eax + 4]
jmp 0x463bf8
lea esi, [eax + 4]
lea eax, [ebp - 0xc0]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5a5008
push eax
call fcn.00407390
pop ecx
pop ecx
push ebx
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.004155d0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x24
call fcn.00409c40
lea eax, [ebp - 0x18]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x26
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x463c95
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0xc0]
call fcn.00406700
push 0x56
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x27
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x40]
call fcn.00409c40
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x24
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x23
call fcn.004067e0
mov dword [ebp - 4], 0x20
jmp 0x463cec
cmp dword [ebp - 0x24], 1
sete al
test al, al
je 0x463d05
push 0xffffffffffffffff
push dword [ebp - 0xf4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0xf4]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x463d8d
call fcn.00462c28
cmp byte [eax], 0
jne 0x463da7
lea eax, [ebp - 0xc8]
push eax
call fcn.00409b60
mov byte [ebp - 4], 0x2a
push dword [ebp - 0x20]
lea eax, [ebp - 0xc0]
push ebx
push str.CSystemCommands::RunProgram___exit_code
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.00407390
pop ecx
pop ecx
push eax
call fcn.004155d0
lea ecx, [ebp + 0x38]
lea eax, [ebp - 0xc8]
call fcn.00407170
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 0x2b
call fcn.00406a80
lea ecx, [ebp + 0x38]
call fcn.00409c40
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x20
call fcn.00407660
mov esi, dword [ebp - 0x20]
lea ecx, [ebp + 0x1c]
call fcn.00409c40
lea ecx, [ebp]
call fcn.00409c40
mov eax, esi
jmp 0x463f2a
lea eax, [ebp - 0xc0]
push eax
mov byte [ebp - 4], 0x2c
call fcn.004068d0
mov byte [ebp - 4], 0x2d
call fcn.00462c28
lea esi, [ebp - 0x40]
call fcn.00406720
mov byte [ebp - 4], 0x2e
cmp dword [eax + 0x18], 8
jb 0x463dd7
mov esi, dword [eax + 4]
jmp 0x463dda
lea esi, [eax + 4]
lea eax, [ebp - 0xc0]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.CSystemCommands::RunProgram___exit_code
push eax
call fcn.00407390
pop ecx
pop ecx
push ebx
push eax
call fcn.00407390
pop ecx
pop ecx
push dword [ebp - 0x20]
push eax
call fcn.004155d0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x2d
call fcn.00409c40
lea eax, [ebp - 0x18]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2f
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x463e79
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0xc0]
call fcn.00406700
push 0x5e
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x30
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x40]
call fcn.00409c40
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2d
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x2c
call fcn.004067e0
jmp 0x463d8d
call fcn.00462c28
cmp byte [eax], 0
jne 0x463f4d
lea eax, [ebp - 0xc8]
push eax
call fcn.00409b60
and dword [ebp - 4], 0
lea eax, [ebp - 0xc0]
push str.CSystemCommands::RunProgram_szFileName_is_empty.
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp + 0x38]
lea eax, [ebp - 0xc8]
call fcn.00407170
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 1
call fcn.00406a80
lea ecx, [ebp + 0x38]
call fcn.00409c40
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xc8]
call fcn.00407660
push 2
pop eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x2054]
xor ecx, ebp
call fcn.0054677c
add ebp, 0x2058
leave
ret
lea eax, [ebp - 0xc0]
push eax
mov dword [ebp - 4], 2
call fcn.004068d0
mov byte [ebp - 4], 3
call fcn.00462c28
lea esi, [ebp - 0x40]
call fcn.00406720
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 8
jb 0x463f80
mov esi, dword [eax + 4]
jmp 0x463f83
lea esi, [eax + 4]
lea eax, [ebp - 0xc0]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.CSystemCommands::RunProgram_szFileName_is_empty.
push eax
call fcn.00407390
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00409c40
lea eax, [ebp - 0x18]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x464010
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0xc0]
call fcn.00406700
push 0x2d
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 6
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
lea ecx, [ebp - 0x40]
call fcn.00409c40
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 2
call fcn.004067e0
jmp 0x463f27