Function at 0x1400161d0
Capabilities:
Create thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1b8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x120], xmm6
mov qword [rbp + 0x118], 0xfffffffffffffffe
mov r15, rdx
mov rsi, rcx
call fcn.140057650
mov r14, rax
xorps xmm0, xmm0
movaps xmmword [rbp + 0xf0], xmm0
lea rdi, [rbp - 0x48]
lea rax, [rsi + 0x50]
mov qword [rbp + 0x110], rax
lea rax, [rsi + 0x28]
mov qword [rbp + 0x108], rax
lea rbx, [rbp - 0x48]
xor r13d, r13d
jmp 0x140016243
inc r13
cmp r13, 2
jae 0x140016412
mov r12, qword [rsi + 0x20]
cmp r12, 0xffffffffffffffff
je 0x140016270
mov qword [rsi + 0x20], 0xffffffffffffffff
jmp 0x140016310
test r13, r13
sete dl
mov rcx, rsi
call fcn.140057d20
mov r12, rax
cmp rax, 0xffffffffffffffff
jne 0x140016310
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 4
lea rcx, [rbp - 0x50]
lea rdx, str.void___cdecl_crashpad::ExceptionHandlerServer::Run_Delegate__
lea r8, str.third_party_crashpad_crashpad_util_win_exception_handler_server.cc
mov r9d, 0x13c
call fcn.1400069d0
mov r8d, 0x2a
mov rcx, rdi
lea rdx, str.Check_failed:_pipe___INVALID_HANDLE_VALUE
call fcn.1400048b0
mov r8d, 2
mov rcx, rax
lea rdx, [0x1400c6437]
call fcn.1400048b0
mov r8d, 0xf
mov rcx, rax
lea rdx, str.CreateNamedPipe
call fcn.1400048b0
lea rcx, [rbp - 0x50]
call fcn.140006a90
mov r12, 0xffffffffffffffff
nop dword [rax + rax]
mov ecx, 0x30
call fcn.140096664
mov rcx, qword [rsi + 0x18]
mov qword [rax], rcx
mov qword [rax + 8], r12
mov qword [rax + 0x10], r15
mov rcx, qword [rbp + 0x108]
mov qword [rax + 0x18], rcx
mov rcx, qword [rbp + 0x110]
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], r14
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor ecx, ecx
xor edx, edx
lea r8, [0x140016800]
mov r9, rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov r12, rax
mov rcx, qword [rbp + r13*8 + 0xf0]
test rcx, rcx
je 0x140016386
cmp rcx, r12
je 0x14001668e
call fcn.14004b660
mov qword [rbp + r13*8 + 0xf0], r12
test r12, r12
jne 0x140016240
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 4
lea rcx, [rbp - 0x50]
lea rdx, str.void___cdecl_crashpad::ExceptionHandlerServer::Run_Delegate__
lea r8, str.third_party_crashpad_crashpad_util_win_exception_handler_server.cc
mov r9d, 0x14b
call fcn.1400069d0
mov r8d, 0x2a
mov rcx, rbx
lea rdx, str.Check_failed:_thread_handles_i_.is_valid__
call fcn.1400048b0
mov r8d, 2
mov rcx, rax
lea rdx, [0x1400c6437]
call fcn.1400048b0
mov r8d, 0xc
mov rcx, rax
lea rdx, [0x1400c7a71]
call fcn.1400048b0
lea rcx, [rbp - 0x50]
call fcn.140006a90
jmp 0x140016240
mov rax, qword [r15]
mov rcx, r15
call qword [rax]
lea r13, [rsi + 0x58]
nop
mov qword [rbp - 0x50], 0
mov qword [rbp + 0xe0], 0
mov dword [rbp + 0x104], 0
mov rcx, qword [rsi + 0x18]
mov dword [rsp + 0x20], 0xffffffff
lea rdx, [rbp + 0x104]
lea r8, [rbp + 0xe0]
lea r9, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov r15, qword [rbp + 0xe0]
test r15, r15
je 0x140016549
mov rcx, qword [rbp + 0x108]
call sub.KERNEL32.dll_EnterCriticalSection
mov rcx, qword [r13]
test rcx, rcx
je 0x140016510
mov r12, r13
mov rax, rcx
xor edx, edx
cmp qword [rax + 0x20], r15
setb dl
cmovae r12, rax
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x140016490
cmp r12, r13
je 0x140016510
cmp qword [r12 + 0x20], r15
ja 0x140016510
mov rdx, qword [r12 + 8]
mov r8, r12
test rdx, rdx
je 0x1400164d0
nop
mov rax, rdx
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1400164c0
jmp 0x1400164dc
mov rax, qword [r8 + 0x10]
cmp r8, qword [rax]
mov r8, rax
jne 0x1400164d0
mov rdx, qword [rbp + 0x110]
cmp qword [rdx], r12
jne 0x1400164f2
mov rdx, qword [rbp + 0x110]
mov qword [rdx], rax
dec qword [rsi + 0x60]
mov rdx, r12
call fcn.140017740
mov edx, 0x28
mov rcx, r12
call fcn.14009665c
nop dword [rax + rax]
mov rcx, r15
call fcn.140016980
mov edx, 0x88
mov rcx, r15
call fcn.14009665c
mov bl, byte [rsi + 0x68]
mov rdi, qword [rsi + 0x60]
mov rcx, qword [rbp + 0x108]
call sub.KERNEL32.dll_LeaveCriticalSection
test bl, bl
jne 0x140016420
test rdi, rdi
jne 0x140016420
lea rbx, [rbp - 0x44]
xor edi, edi
xorps xmm6, xmm6
lea r15, [rbp - 0x50]
lea r12, [rbp + 0xe0]
cmp rdi, 2
jae 0x14001659d
nop word cs:[rax + rax]
movups xmmword [rbx], xmm6
mov qword [rbx + 0x10], 0
mov dword [rbp - 0x50], 1
mov qword [rbp - 0x4c], r14
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.140057810
inc rdi
cmp rdi, 2
jb 0x140016570
mov rbx, qword [rbp + 0xf0]
mov rdi, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
mov edx, 0xffffffff
call rdi
mov r15, qword [rbp + 0xf8]
mov rcx, r15
mov edx, 0xffffffff
call rdi
mov rcx, qword [rbp + 0x108]
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, qword [rbp + 0x110]
mov r14, qword [rax]
cmp r14, r13
jne 0x140016648
mov rdx, qword [rsi + 0x58]
mov rcx, qword [rbp + 0x110]
call fcn.1400176f0
mov qword [rsi + 0x50], r13
xorps xmm0, xmm0
movups xmmword [rsi + 0x58], xmm0
mov rcx, qword [rbp + 0x108]
call sub.KERNEL32.dll_LeaveCriticalSection
test r15, r15
je 0x140016615
mov rcx, r15
call fcn.14004b660
test rbx, rbx
je 0x140016622
mov rcx, rbx
call fcn.14004b660
movaps xmm6, xmmword [rbp + 0x120]
add rsp, 0x1b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r14, rax
cmp rax, r13
je 0x1400165e1
mov r12, qword [r14 + 0x20]
test r12, r12
je 0x140016666
mov rcx, r12
call fcn.140016980
mov edx, 0x88
mov rcx, r12
call fcn.14009665c
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x140016680
nop
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140016670
jmp 0x140016640
mov rax, qword [r14 + 0x10]
cmp r14, qword [rax]
mov r14, rax
jne 0x140016680
jmp 0x140016640
call fcn.1400ac838
int3