Function at 0x140007920
Capabilities:
Connect pipe
Create thread

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x90
mov qword [rax - 0x50], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov rax, qword [0x14003a970]
xor rax, rsp
mov qword [rsp + 0x80], rax
xor esi, esi
movabs rbp, 0xfffffffffffffff
nop dword [rax]
mov ecx, 0x30
call fcn.14000c79c
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14000799a
xor ecx, ecx
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov rcx, rax
call fcn.140009ab0
mov rdi, rax
jmp 0x14000799d
mov rdi, rsi
mov qword [rsp + 0x70], rdi
mov eax, dword [0x14003db70]
mov dword [rsp + 0x68], eax
inc eax
mov dword [0x14003db70], eax
lea rcx, [0x14003db48]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [rsp + 0x68]
mov r8, qword [0x14003db80]
mov rax, qword [0x14003db88]
cmp rcx, rax
jae 0x140007a78
lea rcx, [rsp + 0x68]
cmp r8, rcx
ja 0x140007a78
lea rbx, [rsp + 0x68]
sub rbx, r8
mov rdx, qword [0x14003db90]
cmp rax, rdx
jne 0x140007a64
mov rcx, rdx
sub rcx, rax
sar rcx, 4
cmp rcx, 1
jae 0x140007a64
sub rax, r8
sar rax, 4
mov rcx, rbp
sub rcx, rax
cmp rcx, 1
jb 0x140007b88
lea r9, [rax + 1]
sub rdx, r8
sar rdx, 4
mov rcx, rdx
shr rcx, 1
mov rax, rbp
sub rax, rcx
cmp rax, rdx
jae 0x140007a47
mov rdx, rsi
jmp 0x140007a4a
add rdx, rcx
cmp rdx, r9
cmovb rdx, r9
call fcn.1400093f0
mov rax, qword [0x14003db88]
mov r8, qword [0x14003db80]
and rbx, 0xfffffffffffffff0
test rax, rax
je 0x140007af6
movups xmm0, xmmword [rbx + r8]
jmp 0x140007aec
mov rdx, qword [0x14003db90]
cmp rax, rdx
jne 0x140007ae2
mov rcx, rdx
sub rcx, rax
sar rcx, 4
cmp rcx, 1
jae 0x140007ae2
sub rax, r8
sar rax, 4
mov rcx, rbp
sub rcx, rax
cmp rcx, 1
jb 0x140007b95
lea r9, [rax + 1]
sub rdx, r8
sar rdx, 4
mov rcx, rdx
shr rcx, 1
mov rax, rbp
sub rax, rcx
cmp rax, rdx
jae 0x140007acc
mov rdx, rsi
jmp 0x140007acf
add rdx, rcx
cmp rdx, r9
cmovb rdx, r9
call fcn.1400093f0
mov rax, qword [0x14003db88]
test rax, rax
je 0x140007af6
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rax], xmm0
mov rax, qword [0x14003db88]
add rax, 0x10
mov qword [0x14003db88], rax
lea rcx, [0x14003db48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor edx, edx
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
test eax, eax
jne 0x140007b2d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
cmp eax, 0x217
jne 0x140007b2f
mov ecx, esi
movzx eax, byte [0x14003db40]
test al, al
jne 0x140007bee
test ecx, ecx
jne 0x140007bdb
mov ecx, 0x10
call fcn.14000c79c
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x140007d10]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x140007ba2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140007960
lea rcx, str.vector_T__too_long
call fcn.14000bddc
int3
lea rcx, str.vector_T__too_long
call fcn.14000bddc
int3
lea rax, str.CreateThread_failed
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x50]
call fcn.14000bf50
lea rax, vtable.std::runtime_error.0
mov qword [rsp + 0x50], rax
lea rdx, [0x140037f90]
lea rcx, [rsp + 0x50]
call fcn.140010478
int3
mov rcx, qword [rdi + 0x28]
test rcx, rcx
je 0x140007bee
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rdi + 0x28], rsi
lea rcx, [rsp + 0x68]
call fcn.140008060
mov byte [0x14003db40], 0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.14000bee0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret