Function at 0x140041dc0
Capabilities:
Acquire debug privileges

Disassembly:
mov r11, rsp
push r12
sub rsp, 0x220
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov rax, qword [0x14025a030]
xor rax, rsp
mov qword [rsp + 0x218], rax
lea rdx, str._WatchmanConsole::Run_
mov qword [rsp + 0x98], rdx
mov ebx, 1
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x50], 0x78
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x54]
lea rcx, [r11 - 0x140]
call fcn.140001d10
nop
xor r12d, r12d
mov edi, r12d
mov dword [rsp + 0x70], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x140041e7c
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
cmovns edi, ebx
mov dword [rsp + 0x70], edi
mov rcx, qword [0x140260538]
mov rax, qword [rcx]
lea rdx, str.SeDebugPrivilege
call qword [rax + 0x38]
test eax, eax
jne 0x140041ecc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x60], eax
lea rax, str.Monitor::Application::ElevatePrivilege_SE_DEBUG_NAME_
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0xc0], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0xc0]
call sub.MSVCR90.dll__CxxThrowException
call fcn.140054710
test eax, eax
jne 0x140041f0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x60], eax
lea rax, str.Monitor::WatchmanMonitor::Initialize
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0xa0], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0xa0]
call sub.MSVCR90.dll__CxxThrowException
nop
mov qword [rsp + 0x60], r12
lea rcx, [rsp + 0x60]
call fcn.1400547a0
test eax, eax
jne 0x140041f62
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x80], eax
lea rax, str.Monitor::WatchmanMonitor::Create
mov qword [rsp + 0x88], rax
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0xd0], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0xd0]
call sub.MSVCR90.dll__CxxThrowException
mov rbx, qword [rsp + 0x60]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
jne 0x140041fb5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x80], eax
lea rax, str.ProcessMonitor::Start
mov qword [rsp + 0x88], rax
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0xb0], xmm0
lea rdx, [0x140252200]
lea rcx, [rsp + 0xb0]
call sub.MSVCR90.dll__CxxThrowException
mov sil, 1
nop dword [rax + rax]
test sil, sil
je 0x14004205d
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void____ptr64]
nop
lea rdx, str.Enter_q_for_exit.
mov rcx, qword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140002150
mov rdx, qword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::endl_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_]
mov rcx, rax
call qword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
lea rdx, [rsp + 0x1f0]
mov rcx, qword [sym.imp.MSVCP90.dll_class_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t___std::wcin]
call qword [sym.imp.MSVCP90.dll_class_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_istream_wchar_t__struct_std::char_traits_wchar_t______ptr64__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______ptr64_]
lea rdx, [0x1401c92fc]
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const____ptr64_]
test al, al
jne 0x140042047
lea rdx, [0x1401c9300]
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const____ptr64__wchar_t_const____ptr64_]
test al, al
jne 0x140042047
mov sil, 1
jmp 0x14004204a
xor sil, sil
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.MSVCP90.dll_public:_void___cdecl_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void____ptr64]
jmp 0x140041fc0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x54], r12d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x18]
nop
test edi, edi
je 0x140042085
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov ebx, dword [rsp + 0x54]
lea rcx, [rsp + 0xe8]
call fcn.140001e50
nop
mov ecx, dword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, ebx
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.140155650
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop r12
ret