Function at 0x140019790
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push rbx
push rdi
push r14
sub rsp, 0x900
cmp byte [rcx + 0x74], 0
mov r14, rdx
mov rbx, rcx
jne 0x140019b14
mov qword [rax + 8], rbp
lea rcx, [rsp + 0x30]
mov qword [rax + 0x18], r15
call fcn.140010ab0
xor r15d, r15d
mov r8, qword [rax]
mov r9, qword [rax + 8]
lea ebp, [r15 - 1]
mov qword [rax], r15
mov qword [rax + 8], r15
mov rdi, qword [rbx + 8]
mov qword [rbx], r8
mov qword [rbx + 8], r9
test rdi, rdi
je 0x14001981c
mov eax, ebp
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14001981c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [0x1400355d0]
mov eax, ebp
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14001981c
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [0x1400355d0]
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14001985d
mov eax, ebp
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14001985d
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [0x1400355d0]
mov eax, ebp
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14001985d
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [0x1400355d0]
mov rcx, qword [rbx]
mov qword [rsp + 0x928], rsi
test rcx, rcx
jne 0x140019877
mov edi, 0x80004005
jmp 0x140019aa5
xor eax, eax
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayAccessData
mov r8d, 0x22f
mov qword [rsp + 0x4c], rax
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x40], 1
lea r9d, [rax + 1]
mov dword [rsp + 0x48], SafeArrayGetLBound
mov dword [rsp + 0x20], r15d
call fcn.140010c40
mov edi, eax
test eax, eax
js 0x140019aa5
cmp dword [rsp + 0x4c], r15d
mov edi, r15d
movsd xmm0, qword [rsp + 0x4c]
mov eax, dword [rsp + 0x54]
sete dil
movsd qword [rbx + 0x20], xmm0
mov dword [rbx + 0x28], eax
test edi, edi
js 0x140019aa3
cmp dword [rbx + 0x20], r15d
je 0x1400198f3
mov dword [rbx + 0x80], 1
mov edi, r15d
lea rsi, [rbx + 0x30]
nop word [rax + rax]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsi], rax
test rax, rax
je 0x14001986d
inc edi
add rsi, 8
cmp edi, 6
jl 0x140019900
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x60], rax
test rax, rax
jne 0x14001994a
mov edi, 0x80004005
jmp 0x140019aa5
mov esi, r15d
nop dword [rax]
mov rcx, qword [rbx + 0x38]
mov dword [rsp + 0x270], r15d
mov dword [rsp + 0x278], reloc.OLEAUT32.dll_SafeArrayGetDim
test rcx, rcx
jne 0x140019973
mov edi, 0x80004005
jmp 0x1400199be
mov rax, qword [rbx + 0x58]
test rax, rax
jne 0x140019983
mov edi, 0x80004005
jmp 0x1400199be
mov qword [rsp + 0x27c], rcx
lea rdx, [rsp + 0x270]
mov rcx, qword [rbx]
xor r9d, r9d
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayAccessData
mov r8d, 0x22f
mov qword [rsp + 0x284], rax
mov dword [rsp + 0x20], 1
call fcn.140010c40
mov edi, eax
test edi, edi
jns 0x140019a1e
mov rcx, qword [rbx]
mov dword [rsp + 0x4a0], 4
mov dword [rsp + 0x4a8], 4
test rcx, rcx
je 0x140019a03
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayAccessData
lea rdx, [rsp + 0x4a0]
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, 0x22f
call fcn.140010c40
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0xa
jl 0x140019950
jmp 0x140019aa5
mov qword [rsp + 0x28], r15
lea r8, [0x14001a600]
mov r9, rbx
mov dword [rsp + 0x20], r15d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0x68], rax
test rax, rax
jne 0x140019a4c
mov edi, 0x80004005
jmp 0x140019aa5
call fcn.1400078f0
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x140019a9d
mov rcx, qword [rbx]
mov dword [rsp + 0x6d0], 4
mov dword [rsp + 0x6d8], 4
test rcx, rcx
je 0x140019aa1
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayAccessData
lea rdx, [rsp + 0x6d0]
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, 0x22f
call fcn.140010c40
jmp 0x140019aa1
mov byte [rbx + 0x74], 1
test edi, edi
je 0x140019aea
mov rsi, qword [rbx + 8]
mov qword [rbx], r15
mov qword [rbx + 8], r15
test rsi, rsi
je 0x140019aea
mov eax, ebp
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x140019aea
mov rax, qword [rsi]
mov rcx, rsi
mov rax, qword [rax]
call qword [0x1400355d0]
lock xadd dword [rsi + 0xc], ebp
cmp ebp, 1
jne 0x140019aea
mov rdx, qword [rsi]
mov rcx, rsi
mov rax, qword [rdx + 8]
call qword [0x1400355d0]
mov r15, qword [rsp + 0x930]
mov rsi, qword [rsp + 0x928]
mov rbp, qword [rsp + 0x920]
test edi, edi
jns 0x140019b14
mov eax, edi
add rsp, 0x900
pop r14
pop rdi
pop rbx
ret
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x140019b2e
mov eax, 0x80070057
add rsp, 0x900
pop r14
pop rdi
pop rbx
ret
mov rdx, r14
add rsp, 0x900
pop r14
pop rdi
pop rbx
jmp fcn.1400125e0