Function at 0x140016e00
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov rax, qword [0x1400a3020]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov dword [rbp - 0x39], r8d
mov r12d, edx
mov r14, rcx
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
xor r13d, r13d
mov qword [rbp + 0xf], r13
mov dword [rbp - 9], r13d
xor ecx, ecx
call fcn.1400011d0
mov rsi, rax
lea rbx, [r14 + 0x28]
mov rdi, qword [0x1400a3b60]
mov r15, qword [0x1400a3b68]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
xor r8d, r8d
xor edx, edx
mov rcx, qword [str.DmpMon_FilterPort]
call qword [sym.imp.FLTLIB.DLL_FilterConnectCommunicationPort]
test eax, eax
jne 0x140016eaf
cmp qword [rbx], 0xffffffffffffffff
je 0x14001723d
mov rcx, r14
call r15
mov rcx, qword [r14]
mov qword [r14], rax
test rcx, rcx
je 0x140016eab
mov rax, qword [rcx]
lea edx, [r13 + 1]
call qword [rax + VariantCopy]
mov qword [r14 + 8], rdi
cmp qword [rbx], 0xffffffffffffffff
je 0x14001723d
mov rcx, qword [r14 + 0x30]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, qword [r14 + 0x38]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov dword [r14 + 0x50], r12d
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
mov r9, r14
lea r8, [0x140016bb0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x11], rax
test rax, rax
je 0x140017219
lea r8, [rbp - 0x11]
xor edx, edx
lea rcx, [rbp - 1]
call fcn.140001df0
mov edx, 0xffffffff
mov rcx, qword [r14 + 0x38]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x140016f34
mov r8d, eax
lea rdx, str.CDmpMon::MonitorAndDump__:_WaitForSingleObject_m_hReadyEvent__wait_fail__d
mov rcx, rsi
call fcn.1400220c0
mov edi, r13d
mov rbx, qword [rbp + 7]
cmp dword [r14 + 0x40], r13d
jle 0x140016fa9
lea rax, [rbp - 9]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
mov r9, r14
mov r8, qword [r14 + 8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x11], rax
test rax, rax
je 0x140016f92
cmp rbx, qword [rbp + 0xf]
je 0x140016f7c
mov qword [rbx], rax
add rbx, 8
mov qword [rbp + 7], rbx
jmp 0x140016fa1
lea r8, [rbp - 0x11]
mov rdx, rbx
lea rcx, [rbp - 1]
call fcn.140001df0
mov rbx, qword [rbp + 7]
jmp 0x140016fa1
lea rdx, str.CDmpMon::MonitorAndDump__:_CreateThread_EventProcessingThread__failed
mov rcx, rsi
call fcn.140022090
inc edi
cmp edi, dword [r14 + 0x40]
jl 0x140016f41
mov r13, qword [rbp - 1]
cmp r13, rbx
je 0x140017261
mov r15, rbx
sub r15, r13
sar r15, 3
xor r12d, r12d
mov dword [rsp + 0x20], r12d
mov r9d, dword [rbp - 0x39]
lea r8d, [r12 + 1]
mov rdx, r13
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
mov edi, eax
cmp eax, 0x102
jne 0x140017038
lea rdx, str.CDmpMon::MonitorAndDump__:_Timeout___signaling_FinishEvent__waiting_for_threads_to_quit
mov rcx, rsi
call fcn.140022090
mov rcx, qword [r14 + 0x30]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [rsp + 0x20], r12d
mov r9d, 0xffffffff
lea r8d, [r12 + 1]
mov rdx, r13
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
mov edi, eax
lea rcx, [r15 - 1]
cmp rdi, rcx
jb 0x140017038
mov r8d, edi
lea rdx, str.CDmpMon::MonitorAndDump__:_finish_threads_wait_failed__d
mov rcx, rsi
call fcn.140022090
mov r8d, edi
lea rdx, str.CDmpMon::MonitorAndDump__:_All_threads_finished__status__d
mov rcx, rsi
call fcn.140022090
mov rdi, r13
nop dword [rax]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rdi, 8
cmp rdi, rbx
jne 0x140017050
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400a66fc], eax
jle 0x1400170a6
lea rcx, [0x1400a66fc]
call fcn.140047980
cmp dword [0x1400a66fc], 0xffffffff
jne 0x1400170a6
mov byte [0x1400a66f8], r12b
lea rcx, [0x1400a66fc]
call fcn.140047920
cmp byte [0x1400a66f8], r12b
je 0x1400171aa
xor ecx, ecx
call fcn.1400011d0
mov qword [rbp - 0x11], rax
lea rsi, [r14 + 0x68]
mov qword [rbp - 0x39], rsi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rbx, qword [r14 + 0x90]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x1400171a1
mov rsi, qword [rbp - 0x11]
lea r13, str.CDmpMon::SuspendCreatedProcs__:_failed_to_suspend_pid__d
nop
mov r12d, dword [rbx + 0x1c]
mov r8d, r12d
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rdi, rax
test rax, rax
jne 0x140017111
xor r15d, r15d
jmp 0x140017129
mov rcx, rdi
call qword [sym.imp.ntdll.dll_NtSuspendProcess]
test eax, eax
setns r15b
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, str.CDmpMon::SuspendCreatedProcs__:_suspended_pid__d
test r15b, r15b
cmove rdx, r13
mov r8d, r12d
mov rcx, rsi
call fcn.140022090
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x14001716e
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x140017169
cmp rbx, qword [rax + 0x10]
jne 0x140017169
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140017156
mov rbx, rax
jmp 0x14001718f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x14001718f
nop word [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x140017180
cmp byte [rbx + 0x19], 0
je 0x1400170f0
lea rsi, [r14 + 0x68]
mov r13, qword [rbp - 1]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, r14
call fcn.140015300
nop
test r13, r13
je 0x1400171ec
mov rdx, qword [rbp + 0xf]
sub rdx, r13
and rdx, 0xfffffffffffffff8
mov rax, r13
cmp rdx, 0x1000
jb 0x1400171e4
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017213
mov rcx, r13
call fcn.1400477f0
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400477d0
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14004e14c
nop
xor r8d, r8d
lea rdx, str.CDmpMon::MonitorAndDump__:_CreateThread_ApcPumpThread__failed
lea rcx, [rbp - 0x31]
call fcn.1400011b0
lea rdx, [0x1400a14a0]
lea rcx, [rbp - 0x31]
call fcn.140049b34
int3
mov r8b, 1
lea rdx, str.CDmpMon::Init__:_Cannot_connect_to_filter_communication_port
lea rcx, [rbp - 0x31]
call fcn.1400011b0
lea rdx, [0x1400a14a0]
lea rcx, [rbp - 0x31]
call fcn.140049b34
int3
xor r8d, r8d
lea rdx, str.CDmpMon::MonitorAndDump___:_no_event_processing_threads_created
lea rcx, [rbp - 0x31]
call fcn.1400011b0
lea rdx, [0x1400a14a0]
lea rcx, [rbp - 0x31]
call fcn.140049b34
int3