Function at 0x1400d7070
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r14
push r15
sub rsp, 0xe0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov esi, r9d
mov r14d, r8d
mov rdi, rdx
mov rbx, rcx
movzx eax, byte [rcx + 0x58]
test al, al
je 0x1400d70cb
lea rdx, str.IPC_engine_already_started
lea rcx, [rsp + 0x38]
call fcn.1400e9890
lea rdx, [0x1402d5fb8]
lea rcx, [rsp + 0x38]
call fcn.14012ccc0
nop
call fcn.1400d6d80
mov byte [rbx + 0x59], 0
xor r15d, r15d
mov dword [rbx + 0x5c], r15d
lea eax, [r14 + 0x10]
mov dword [rbx + 0x60], eax
mov dword [rbx + 0xa8], esi
lea r8d, [r15 + 9]
lea rdx, str..pipe_
lea rcx, [rbx + 0x68]
call fcn.140007090
cmp word [rdi], r15w
jne 0x1400d7107
mov r8d, r15d
jmp 0x1400d711a
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rdi + r8*2], r15w
jne 0x1400d7110
mov rdx, rdi
lea rcx, [rbx + 0x68]
call fcn.140009880
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x40], rax
mov rax, qword [rbx + 0x40]
test rax, rax
jne 0x1400d7170
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Could_not_create_thread_event.___s
lea rcx, [rsp + 0x48]
call fcn.1400e9a10
lea rdx, [0x1402d6040]
lea rcx, [rsp + 0x48]
call fcn.14012ccc0
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x38], rax
mov rax, qword [rbx + 0x38]
test rax, rax
jne 0x1400d71ba
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Could_not_create_thread_event.___s
lea rcx, [rsp + 0x60]
call fcn.1400e9a10
lea rdx, [0x1402d6040]
lea rcx, [rsp + 0x60]
call fcn.14012ccc0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x48], rax
mov rax, qword [rbx + 0x38]
test rax, rax
jne 0x1400d7202
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Could_not_create_new_client_event.___s
lea rcx, [rsp + 0x78]
call fcn.1400e9a10
lea rdx, [0x1402d6040]
lea rcx, [rsp + 0x78]
call fcn.14012ccc0
lea rcx, [rbx + 0xb0]
call fcn.1400e9c40
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rbx
lea r8, [0x1400d7600]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x30], rax
mov rax, qword [rbx + 0x30]
test rax, rax
jne 0x1400d726a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Could_not_create_accept_thread.___s
lea rcx, [rsp + 0x90]
call fcn.1400e9a10
lea rdx, [0x1402d6040]
lea rcx, [rsp + 0x90]
call fcn.14012ccc0
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rbx
lea r8, [0x1400d7640]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x28], rax
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x1400d72c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Could_not_create_work_thread.___s
lea rcx, [rsp + 0xa8]
call fcn.1400e9a10
lea rdx, [0x1402d6040]
lea rcx, [rsp + 0xa8]
call fcn.14012ccc0
or edx, 0xffffffff
mov rcx, qword [rbx + 0x38]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x1400d7309
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.Could_not_start_thread.___s
lea rcx, [rsp + 0xc0]
call fcn.1400e9a10
lea rdx, [0x1402d6040]
lea rcx, [rsp + 0xc0]
call fcn.14012ccc0
mov edx, 1
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
xor edx, edx
mov rcx, qword [rbx + 0x28]
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
nop
mov byte [rbx + 0x58], 1
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret