Function at 0x1800196d0
Capabilities:
Create thread
Resume thread

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov qword [rbp - 0x29], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x180106010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rbx, rdx
mov rsi, rcx
lea rcx, [rbp + 0x1f]
call fcn.1800079f0
lea rdx, [rsi + 0x18]
lea rcx, [rbp + 0x1f]
call fcn.180007990
nop
mov rax, qword [rsi]
mov qword [rbp + 0x27], rax
mov rdx, qword [rsi + 8]
mov qword [rbp - 0x49], rdx
cmp rax, rdx
je 0x180019756
mov qword [rbp - 0x49], rdx
nop
cmp rbx, qword [rax]
je 0x180019a84
add rax, 0x18
mov qword [rbp + 0x27], rax
cmp rax, rdx
jne 0x180019740
mov qword [rbp - 0x41], rbx
xor r12d, r12d
mov qword [rbp - 0x39], r12
mov dword [rbp - 0x31], r12d
cmp qword [rsi + 0x10], rdx
je 0x18001978d
lea ecx, [r12 + 0x18]
call fcn.180005d08
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [rax], xmm0
movsd xmm1, qword [rbp - 0x31]
movsd qword [rax + 0x10], xmm1
add qword [rsi + 8], 0x18
jmp 0x180019799
lea r8, [rbp - 0x41]
mov rcx, rsi
call fcn.18001c070
mov rcx, qword [rsi + 0x20]
mov r14, 0xffffffffffffffff
lea r13, [method.RC::RCFeatureStatPost.virtual_8]
test rcx, rcx
je 0x180019810
xor edx, edx
call fcn.180065060
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1800197d2
movzx eax, byte [rcx + 0x10]
test al, al
je 0x1800197d2
mov rcx, qword [rsi + 0x20]
jmp 0x180019807
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x180019810
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180019800
mov r8, qword [rcx]
mov rax, qword [r8 + 8]
cmp rax, r13
jne 0x180019abf
mov edx, 1
call qword [r8]
mov qword [rsi + 0x20], r12
mov rcx, r12
test rcx, rcx
jne 0x180019a84
mov rcx, qword [rsi + 0x60]
test rcx, rcx
je 0x18001981f
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x18001982e
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, 0x18
call fcn.180086a58
mov r15, rax
mov qword [rbp - 0x21], rax
xor eax, eax
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rax
lea rax, vtable.RC::RCRefCounted.0
mov qword [r15], rax
mov dword [r15 + 8], r12d
lea rax, vtable.RC::RCThread.0
mov qword [r15], rax
mov ecx, 0x70
call fcn.180086a58
mov rdi, rax
mov qword [rbp - 0x19], rax
mov ecx, 0x28
call fcn.180086a58
mov qword [rdi + 0x38], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
nop
lea rbx, [rdi + 0x40]
mov qword [rbp - 0x11], rbx
mov qword [rbx], r12
mov byte [rbx + 8], 0
lea rcx, [rbx + 0x10]
call fcn.180005bfc
nop
mov qword [rdi], r12
mov qword [rdi + 8], r12
mov qword [rdi + 0x18], r14
mov qword [rdi + 0x20], r14
mov byte [rdi + 0x10], 0
mov dword [rdi + 0x28], r12d
mov dword [rdi + 0x14], r12d
mov qword [rdi + 0x30], r12
lea rdx, [0x1800cca40]
lea rcx, [rbp - 9]
call fcn.180005ef8
nop
mov r8b, 1
lea rdx, [rbp - 9]
mov rcx, rbx
call fcn.180056f50
nop
lea rcx, [rbp - 9]
call fcn.180005bf4
nop
mov qword [r15 + 0x10], rdi
mov qword [rdi], rsi
mov rax, qword [r15 + 0x10]
lea rcx, [0x180019df0]
mov qword [rax + 8], rcx
mov rbx, qword [rsi + 0x20]
cmp rbx, r15
je 0x18001994c
mov eax, 1
lock xadd dword [r15 + 8], eax
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x180019945
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180019945
mov r8, qword [rcx]
mov rax, qword [r8 + 8]
cmp rax, r13
jne 0x180019ac6
mov edx, 1
call qword [r8]
mov qword [rsi + 0x20], r15
mov rbx, r15
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x180019a84
lea rcx, [rbp + 0x17]
call fcn.1800079f0
add rdx, 0x38
lea rcx, [rbp + 0x17]
call fcn.180007990
nop
mov rax, qword [rbx + 0x10]
cmp qword [rax + 8], 0
je 0x180019a7a
mov eax, 1
lock xadd dword [rbx + 8], eax
mov rcx, qword [rbx + 0x10]
add rcx, 0x14
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 4
mov r9, rbx
lea r8, [0x180064d40]
xor edx, edx
xor ecx, ecx
call fcn.180095c34
mov rcx, qword [rbx + 0x10]
mov qword [rcx + 0x18], rax
mov rax, qword [rbx + 0x10]
cmp qword [rax + 0x18], 0
jne 0x180019a22
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1800199ec
mov r8, qword [rbx]
mov rax, qword [r8 + 8]
mov rcx, rbx
cmp rax, r13
jne 0x180019acd
mov edx, 1
call qword [r8]
mov rbx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, 0xffffffffffffffff
je 0x180019a04
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x18], r14
mov rcx, qword [rbx + 0x20]
cmp rcx, 0xffffffffffffffff
je 0x180019a18
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x20], r14
mov byte [rbx + 0x10], 0
mov dword [rbx + 0x14], r12d
jmp 0x180019a7a
mov byte [rax + 0x10], 1
mov rcx, qword [rbx + 0x10]
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x180019a40
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, qword [rbx + 0x10]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
cmp eax, 0xffffffff
jne 0x180019a7a
lock xadd dword [rbx + 8], r14d
cmp r14d, 1
jne 0x180019a70
mov r8, qword [rbx]
mov rax, qword [r8 + 8]
mov rcx, rbx
cmp rax, r13
jne 0x180019aba
mov edx, r14d
call qword [r8]
mov rcx, qword [rbx + 0x10]
call fcn.180064f00
nop
lea rcx, [rbp + 0x17]
call fcn.1800079c0
nop
lea rcx, [rbp + 0x1f]
call fcn.1800079c0
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.180086280
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call rax
nop
jmp 0x180019a70
call rax
jmp 0x180019800
call rax
jmp 0x180019945
call rax
jmp 0x1800199ec