Function at 0x40cb20
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1a8
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1a4], eax
push esi
xorps xmm0, xmm0
lea eax, [esp + 0x90]
movdqa xmmword [esp + 0x8c], xmm0
push edi
push eax
movq qword [esp + 0xa4], xmm0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], vtable.RSMonitor.0
mov dword [esp + 0x9c], 0
call fcn.00410406
add esp, 4
mov dword [esp + 0x9c], vtable.RSMonitor.0
lea eax, [esp + 0x9c]
mov dword [esp + 0xa0], 0
push eax
call fcn.00410406
add esp, 4
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [esp + 0xa4], eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push 0
xorps xmm0, xmm0
lea ecx, [esp + 0x54]
push 0xffffffffffffffff
push eax
movdqa xmmword [esp + 0x5c], xmm0
movq qword [esp + 0x6c], xmm0
call fcn.0040e865
push 0
xorps xmm0, xmm0
lea ecx, [esp + 0xd4]
push 0xffffffffffffffff
push str.___ipc
movdqa xmmword [esp + 0xdc], xmm0
movq qword [esp + 0xec], xmm0
call fcn.0040e865
push 0
xorps xmm0, xmm0
lea ecx, [esp + 0xb4]
push 0xffffffffffffffff
push str.___proc
movdqa xmmword [esp + 0xbc], xmm0
movq qword [esp + 0xcc], xmm0
call fcn.0040e865
push 0
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x58]
call fcn.0040f4fa
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x40cf88
push 0
push 0xffffffffffffffff
push str.___broker
lea ecx, [esp + 0x3c]
call fcn.0040e865
push 0
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x58]
call fcn.0040f4fa
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x40cc9e
push ecx
call esi
mov eax, dword [esp + 0x44]
add esp, 4
push eax
call edi
mov ecx, dword [esp + 0x3c]
xor eax, eax
add esp, 4
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x40ccbc
push ecx
call esi
mov eax, dword [esp + 0x3c]
add esp, 4
push eax
call edi
mov ecx, dword [esp + 0x14]
add esp, 4
xor esi, esi
cmp ecx, 0xffffffff
je 0x40cdab
mov eax, dword [esp + 0x14]
add ecx, 0xa
sub eax, ecx
xorps xmm0, xmm0
push eax
movdqa xmmword [esp + 0x74], xmm0
lea eax, [esp + 0xf4]
push ecx
movq qword [esp + 0x88], xmm0
lea ecx, [esp + 0x58]
push eax
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
call fcn.0040f97f
push eax
lea ecx, [esp + 0x74]
call fcn.0040eb18
lea ecx, [esp + 0xf0]
call fcn.004037a0
lea ecx, [esp + 0x70]
call fcn.0040f679
cmp dword [esp + 0x74], esi
je 0x40cda2
push 0xc
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
test esi, esi
je 0x40cd7d
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi], vtable.BrokerPolicyCheckerImpl.0
mov dword [esi + 4], 0
mov byte [esi + 8], 0
jmp 0x40cd7f
xor esi, esi
lea ecx, [esp + 0x70]
call fcn.0040f679
push eax
mov ecx, esi
call fcn.0040ca10
test al, al
jne 0x40cda2
test esi, esi
je 0x40cda0
push ecx
mov ecx, esi
call fcn.0040d090
xor esi, esi
lea ecx, [esp + 0x70]
call fcn.004037a0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x50]
add eax, 7
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0xb4]
push eax
call fcn.0040f4fa
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
je 0x40cf82
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x50]
sub eax, edx
xorps xmm0, xmm0
push eax
movdqa xmmword [esp + 0x34], xmm0
lea eax, [esp + 0x1c]
push edx
movq qword [esp + 0x48], xmm0
push eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call fcn.0040f97f
push eax
lea ecx, [esp + 0x34]
call fcn.0040eb18
lea ecx, [esp + 0x18]
call fcn.004037a0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x50]
push 0xffffffffffffffff
add eax, 8
xorps xmm0, xmm0
push eax
lea eax, [esp + 0xf8]
movdqa xmmword [esp + 0xf8], xmm0
push eax
movq qword [esp + 0x10c], xmm0
call fcn.0040f97f
xorps xmm0, xmm0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x114]
movdqa xmmword [esp + 0x114], xmm0
movq qword [esp + 0x124], xmm0
call fcn.004039b0
xorps xmm0, xmm0
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x134]
movdqa xmmword [esp + 0x134], xmm0
movq qword [esp + 0x144], xmm0
call fcn.004039b0
push 0x54
lea eax, [esp + 0x154]
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
lea ecx, [esp + 0x130]
call fcn.0040f6b2
push esi
lea ecx, [esp + 0x94]
push ecx
push eax
lea ecx, [esp + 0x11c]
call fcn.0040f6b2
push eax
lea ecx, [esp + 0x160]
call fcn.0040d2b0
lea ecx, [esp + 0x150]
call fcn.004070c0
lea ecx, [esp + 0x150]
mov dword [esp + method.CSendMailConnectionHandler.virtual_0], vtable.CSendMailConnectionHandler.0
call fcn.0040d750
mov eax, dword [esp + 0x194]
lea ecx, [esp + 0x194]
push eax
push dword [eax]
lea eax, [esp + 0x18]
push eax
call fcn.00402720
push dword [esp + 0x194]
call edi
add esp, 4
lea ecx, [esp + 0x150]
call fcn.00407400
lea ecx, [esp + 0x130]
call fcn.004037a0
lea ecx, [esp + 0x110]
call fcn.004037a0
lea ecx, [esp + 0xf0]
call fcn.004037a0
lea ecx, [esp + 0x30]
call fcn.004037a0
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete___void__]
mov ecx, dword [esp + 0xc0]
xor eax, eax
mov dword [esp + 0xc0], eax
test ecx, ecx
je 0x40cfa9
push ecx
call esi
mov eax, dword [esp + 0xc4]
add esp, 4
push eax
call edi
mov ecx, dword [esp + 0xbc]
xor eax, eax
add esp, 4
mov dword [esp + 0xb8], eax
test ecx, ecx
je 0x40cfd0
push ecx
call esi
mov eax, dword [esp + 0xbc]
add esp, 4
push eax
call edi
mov ecx, dword [esp + 0xe4]
xor eax, eax
add esp, 4
mov dword [esp + 0xe0], eax
test ecx, ecx
je 0x40cff7
push ecx
call esi
mov eax, dword [esp + 0xe4]
add esp, 4
push eax
call edi
mov ecx, dword [esp + 0xdc]
xor eax, eax
add esp, 4
mov dword [esp + 0xd8], eax
test ecx, ecx
je 0x40d01e
push ecx
call esi
mov eax, dword [esp + 0xdc]
add esp, 4
push eax
call edi
mov ecx, dword [esp + 0x64]
xor eax, eax
add esp, 4
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x40d03c
push ecx
call esi
mov eax, dword [esp + 0x64]
add esp, 4
push eax
call edi
mov ecx, dword [esp + 0x5c]
xor eax, eax
add esp, 4
mov dword [esp + 0x58], eax
test ecx, ecx
je 0x40d05a
push ecx
call esi
mov eax, dword [esp + 0x5c]
add esp, 4
push eax
call edi
add esp, 4
lea ecx, [esp + 0x9c]
call fcn.00410296
lea ecx, [esp + 0x94]
call fcn.00410296
mov ecx, dword [esp + 0x1ac]
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.00410663
mov esp, ebp
pop ebp
ret 0x10