Function at 0x1400a75d0
Capabilities:
Create thread

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movaps xmmword [rsp + 0xa0], xmm6
mov r13, rdx
mov rsi, rcx
mov rax, qword [0x14021b038]
xor rax, rsp
mov qword [rsp + 0x98], rax
call fcn.1400f3b10
mov r15, rax
lea rax, [rsi + 0x50]
mov qword [rsp + 0x30], rax
lea rdi, [rsi + 0x48]
mov rbx, qword [rsi + 0x38]
cmp rbx, 0xffffffffffffffff
jne 0x1400a767d
mov rcx, rsi
mov dl, 1
call fcn.1400954a0
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400a7685
lea rdx, [0x140201a60]
lea rbx, [rsp + 0x60]
mov rcx, rbx
mov r8d, 0x139
call fcn.14017dc60
mov rcx, rbx
call fcn.14017db90
lea rdx, str.CreateNamedPipe
mov r8d, 0xf
mov rcx, rax
call fcn.1400dd7e0
mov rcx, rbx
call fcn.14017dba0
mov rbx, 0xffffffffffffffff
jmp 0x1400a7685
mov qword [rsi + 0x38], 0xffffffffffffffff
mov ecx, 0x40
call fcn.1401109bc
mov rcx, qword [rsi + 0x20]
mov qword [rax], rcx
lea r14, [0x1401e56b0]
mov qword [rax + 8], r14
mov qword [rax + 0x10], rbx
mov byte [rax + 0x18], 0
mov qword [rax + 0x20], r13
mov qword [rax + 0x28], rdi
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], r15
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r8, [0x1400a7ad0]
xor ecx, ecx
xor edx, edx
mov r9, rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbp, rax
test rax, rax
je 0x1400a79d6
mov rbx, qword [rsi + 0x38]
cmp rbx, 0xffffffffffffffff
jne 0x1400a7754
mov rcx, rsi
xor edx, edx
call fcn.1400954a0
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400a775c
lea rdx, [0x140201a60]
lea rbx, [rsp + 0x60]
mov rcx, rbx
mov r8d, 0x139
call fcn.14017dc60
mov rcx, rbx
call fcn.14017db90
lea rdx, str.CreateNamedPipe
mov r8d, 0xf
mov rcx, rax
call fcn.1400dd7e0
mov rcx, rbx
call fcn.14017dba0
mov rbx, 0xffffffffffffffff
jmp 0x1400a775c
mov qword [rsi + 0x38], 0xffffffffffffffff
mov qword [rsp + 0x40], rbp
mov ecx, 0x40
call fcn.1401109bc
mov rcx, qword [rsi + 0x20]
mov qword [rax], rcx
mov qword [rax + 8], r14
mov qword [rax + 0x10], rbx
mov byte [rax + 0x18], 0
mov qword [rax + 0x20], r13
mov qword [rax + 0x28], rdi
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x30], rcx
mov qword [rsp + 0x48], r15
mov qword [rax + 0x38], r15
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r8, [0x1400a7ad0]
xor ecx, ecx
xor edx, edx
mov r9, rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400a7a1a
mov rcx, r13
call fcn.140019a90
xor r14d, r14d
mov rbp, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
lea r15, [rsp + 0x88]
mov r13, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x94], 0
mov rcx, qword [rsi + 0x20]
mov dword [rsp + 0x20], 0xffffffff
lea rdx, [rsp + 0x94]
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x1400a79bf
mov qword [rsp + 0x88], rax
mov rcx, rdi
call rbp
test al, al
je 0x1400a79c9
mov rcx, qword [rsp + 0x30]
mov rdx, r15
call fcn.1400a86b0
mov r12, qword [rsp + 0x88]
test r12, r12
je 0x1400a7872
mov rcx, r12
call fcn.1400a7be0
mov rcx, r12
call fcn.1401109f8
cmp byte [rsi + 0x68], 0
jne 0x1400a787f
cmp qword [rsi + 0x60], 0
je 0x1400a7891
xor ebx, ebx
mov rcx, rdi
call r13
test ebx, ebx
je 0x1400a77ec
jmp 0x1400a7898
mov ebx, 5
jmp 0x1400a7881
xorps xmm6, xmm6
lea rbx, [rsp + 0x60]
movups xmmword [rbx + 0xc], xmm6
xor eax, eax
mov qword [rbx + 0x1c], rax
mov r15d, 1
mov dword [rbx], r15d
mov r14, qword [rsp + 0x48]
mov qword [rbx + 4], r14
movabs r12, 0xaaaaaaaaaaaaaaaa
lea rbp, [rsp + 0x50]
mov qword [rbp], r12
mov r13d, 0xaaaaaaaa
mov dword [rbp + 8], r13d
mov rcx, rsi
mov rdx, rbx
mov r8, rbp
call fcn.140095180
xor eax, eax
mov qword [rbx + 0x1c], rax
movups xmmword [rbx + 0xc], xmm6
mov dword [rbx], r15d
mov qword [rbx + 4], r14
mov qword [rbp], r12
mov dword [rbp + 8], r13d
mov rcx, rsi
mov rdx, rbx
mov r8, rbp
call fcn.140095180
mov r14, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rbp, qword [rsp + 0x40]
mov rcx, rbp
mov edx, 0xffffffff
call r14
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
mov edx, 0xffffffff
call r14
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400a7a5e
mov r15, qword [rsi + 0x50]
lea r12, [rsi + 0x58]
cmp r15, r12
jne 0x1400a7a6b
mov rdx, qword [rsi + 0x58]
mov rcx, qword [rsp + 0x30]
call fcn.14009d3c0
mov qword [rsi + 0x50], r12
xorps xmm0, xmm0
movups xmmword [rsi + 0x58], xmm0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test rbx, rbx
je 0x1400a7986
mov rcx, rbx
call fcn.140097b40
test rbp, rbp
je 0x1400a7993
mov rcx, rbp
call fcn.140097b40
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140111870
movaps xmm6, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 5
jmp 0x1400a7887
mov rcx, rdi
call fcn.1400f3b70
jmp 0x1400a7848
lea rdx, [0x140201a60]
lea rbx, [rsp + 0x60]
mov rcx, rbx
mov r8d, 0x148
call fcn.14017dc60
mov rcx, rbx
call fcn.14017db90
lea rdx, [0x1401f5f36]
mov r8d, ntohl
mov rcx, rax
call fcn.1400dd7e0
mov rcx, rbx
call fcn.14017dba0
jmp 0x1400a76ef
lea rdx, [0x140201a60]
lea rbx, [rsp + 0x60]
mov rcx, rbx
mov r8d, 0x148
call fcn.14017dc60
mov rcx, rbx
call fcn.14017db90
lea rdx, [0x1401f5f36]
mov r8d, ntohl
mov rcx, rax
call fcn.1400dd7e0
mov rcx, rbx
call fcn.14017dba0
jmp 0x1400a77cb
mov rcx, rdi
call fcn.1400f3b70
jmp 0x1400a7946
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov r14, qword [r15 + 0x20]
test r14, r14
je 0x1400a7a8e
mov rcx, r14
call fcn.1400a7be0
mov rcx, r14
call fcn.1401109f8
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400a7ab0
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400a7a97
mov r15, rax
cmp rax, r12
je 0x1400a7957
jmp 0x1400a7a75
mov rax, qword [r15 + 0x10]
cmp qword [rax], r15
je 0x1400a7aa2
add r15, 0x10
mov rcx, qword [r15]
lea r15, [rcx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rax], rcx
jne 0x1400a7abd
jmp 0x1400a7aa2