Function at 0x1400aac60
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 [0x14024f018]
xor rax, rsp
mov qword [rsp + 0x98], rax
call fcn.1400f3d80
mov r15, rax
lea rbp, [rsi + 0x48]
mov rdi, qword [rsi + 0x38]
cmp rdi, 0xffffffffffffffff
jne 0x1400aad04
mov rcx, rsi
mov dl, 1
call fcn.140097b80
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400aad0c
lea rdx, [0x140232ee0]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov r8d, 0x139
call fcn.14017bef0
mov rcx, rdi
call fcn.14017be20
lea rdx, str.CreateNamedPipe
mov r8d, 0xf
mov rcx, rax
call fcn.1400e7690
mov rcx, rdi
call fcn.14017be30
mov rdi, 0xffffffffffffffff
jmp 0x1400aad0c
mov qword [rsi + 0x38], 0xffffffffffffffff
mov ecx, 0x40
call fcn.140105b78
mov rcx, qword [rsi + 0x20]
mov qword [rax], rcx
lea r14, [0x140214760]
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdi
mov byte [rax + 0x18], 0
mov qword [rax + 0x20], r13
mov qword [rax + 0x28], rbp
lea rcx, [rsi + 0x50]
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], r15
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r8, [0x1400ab160]
xor ecx, ecx
xor edx, edx
mov r9, rax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
je 0x1400ab05e
mov rdi, qword [rsi + 0x38]
cmp rdi, 0xffffffffffffffff
jne 0x1400aadda
mov rcx, rsi
xor edx, edx
call fcn.140097b80
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400aade2
lea rdx, [0x140232ee0]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov r8d, 0x139
call fcn.14017bef0
mov rcx, rdi
call fcn.14017be20
lea rdx, str.CreateNamedPipe
mov r8d, 0xf
mov rcx, rax
call fcn.1400e7690
mov rcx, rdi
call fcn.14017be30
mov rdi, 0xffffffffffffffff
jmp 0x1400aade2
mov qword [rsi + 0x38], 0xffffffffffffffff
mov qword [rsp + 0x40], rbx
mov ecx, 0x40
call fcn.140105b78
mov rcx, qword [rsi + 0x20]
mov qword [rax], rcx
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdi
mov byte [rax + 0x18], 0
mov qword [rax + 0x20], r13
mov qword [rax + 0x28], rbp
lea rcx, [rsi + 0x50]
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, [0x1400ab160]
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 0x1400ab0a2
mov rcx, r13
call fcn.140134e30
xor r14d, r14d
mov r13, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
lea rbx, [rsp + 0x88]
mov r15, 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 0x1400ab046
mov qword [rsp + 0x88], rax
mov rcx, rbp
call r13
test al, al
je 0x1400ab050
lea rcx, [rsi + 0x50]
mov rdx, rbx
call fcn.1400abd40
mov r12, qword [rsp + 0x88]
test r12, r12
je 0x1400aaef7
mov rcx, r12
call fcn.1400ab270
mov rcx, r12
call fcn.140105bb4
cmp byte [rsi + 0x68], 0
jne 0x1400aaf04
cmp qword [rsi + 0x60], 0
je 0x1400aaf1a
xor edi, edi
lea rbp, [rsi + 0x48]
mov rcx, rbp
call r15
test edi, edi
je 0x1400aae71
jmp 0x1400aaf21
mov edi, 5
jmp 0x1400aaf06
xorps xmm6, xmm6
lea rdi, [rsp + 0x60]
movups xmmword [rdi + 0xc], xmm6
xor r14d, r14d
mov qword [rdi + 0x1c], r14
mov r15d, 1
mov dword [rdi], r15d
mov rbp, qword [rsp + 0x48]
mov qword [rdi + 4], rbp
movabs r12, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x50]
mov qword [rbx], r12
mov r13d, 0xaaaaaaaa
mov dword [rbx + 8], r13d
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140097860
mov qword [rdi + 0x1c], r14
movups xmmword [rdi + 0xc], xmm6
mov dword [rdi], r15d
mov qword [rdi + 4], rbp
mov qword [rbx], r12
lea r15, [rsi + 0x48]
mov dword [rbx + 8], r13d
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.140097860
mov rdi, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
mov edx, 0xffffffff
call rdi
mov rbp, qword [rsp + 0x38]
mov rcx, rbp
mov edx, 0xffffffff
call rdi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400ab0e6
mov rdi, qword [rsi + 0x50]
lea r14, [rsi + 0x58]
cmp rdi, r14
jne 0x1400ab0f3
mov rdx, qword [rsi + 0x58]
lea rcx, [rsi + 0x50]
call fcn.1400a0000
mov qword [rsi + 0x50], r14
xorps xmm0, xmm0
movups xmmword [rsi + 0x58], xmm0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test rbp, rbp
je 0x1400ab00d
mov rcx, rbp
call fcn.140099d30
test rbx, rbx
je 0x1400ab01a
mov rcx, rbx
call fcn.140099d30
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140106490
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 edi, 5
jmp 0x1400aaf10
lea rcx, [rsi + 0x48]
call fcn.1400f3df0
jmp 0x1400aaece
lea rdx, [0x140232ee0]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov r8d, 0x148
call fcn.14017bef0
mov rcx, rdi
call fcn.14017be20
lea rdx, [0x1402252c6]
mov r8d, ntohl
mov rcx, rax
call fcn.1400e7690
mov rcx, rdi
call fcn.14017be30
jmp 0x1400aad75
lea rdx, [0x140232ee0]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov r8d, 0x148
call fcn.14017bef0
mov rcx, rdi
call fcn.14017be20
lea rdx, [0x1402252c6]
mov r8d, ntohl
mov rcx, rax
call fcn.1400e7690
mov rcx, rdi
call fcn.14017be30
jmp 0x1400aae50
mov rcx, r15
call fcn.1400f3df0
jmp 0x1400aafce
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rdi + 0x20]
test rbp, rbp
je 0x1400ab111
mov rcx, rbp
call fcn.1400ab270
mov rcx, rbp
call fcn.140105bb4
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400ab13c
mov rax, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400ab11a
mov rdi, rax
cmp rax, r14
lea r15, [rsi + 0x48]
mov rbp, qword [rsp + 0x38]
je 0x1400aafdf
jmp 0x1400ab0f8
mov rax, qword [rdi + 0x10]
cmp qword [rax], rdi
je 0x1400ab125
add rdi, 0x10
mov rcx, qword [rdi]
lea rdi, [rcx + 0x10]
mov rax, qword [rcx + 0x10]
cmp qword [rax], rcx
jne 0x1400ab149
jmp 0x1400ab125