Function at 0x1400c8520
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15d, dword [rcx + 0x10]
xor r12d, r12d
mov rax, qword [rcx + 0x28]
mov rbx, rcx
mov dword [rcx + 0x68], r12d
mov ebp, r12d
mov qword [rcx + 0x1b8], r12
mov esi, r12d
mov qword [rcx + 0xb8], r12
mov qword [rcx + 0x1c0], r12
mov qword [rcx + 0xc0], r12
mov qword [rcx + 0x1c8], r12
mov qword [rcx + 0xc8], r12
mov qword [rcx + 0x1d0], r12
mov qword [rcx + 0xd0], r12
mov qword [rcx + 0x1d8], r12
mov qword [rcx + 0xd8], r12
mov qword [rcx + 0x1e0], r12
mov qword [rcx + 0xe0], r12
mov qword [rcx + 0x1e8], r12
mov qword [rcx + 0xe8], r12
mov qword [rcx + 0x1f0], r12
mov qword [rcx + 0xf0], r12
mov qword [rcx + 0x1f8], r12
mov qword [rcx + 0xf8], r12
mov qword [rcx + 0x200], r12
mov qword [rcx + 0x100], r12
mov qword [rcx + 0x208], r12
mov qword [rcx + 0x108], r12
mov qword [rcx + 0x210], r12
mov qword [rcx + 0x110], r12
mov qword [rcx + 0x218], r12
mov qword [rcx + 0x118], r12
mov qword [rcx + 0x220], r12
mov qword [rcx + 0x120], r12
mov qword [rcx + 0x228], r12
mov qword [rcx + 0x128], r12
mov qword [rcx + 0x230], r12
mov qword [rcx + 0x130], r12
mov qword [rcx + 0x238], r12
mov qword [rcx + 0x138], r12
mov qword [rcx + 0x240], r12
mov qword [rcx + 0x140], r12
mov qword [rcx + 0x248], r12
mov qword [rcx + 0x148], r12
mov qword [rcx + 0x250], r12
mov qword [rcx + 0x150], r12
mov qword [rcx + 0x258], r12
mov qword [rcx + 0x158], r12
mov qword [rcx + 0x260], r12
mov qword [rcx + 0x160], r12
mov qword [rcx + 0x268], r12
mov qword [rcx + 0x168], r12
mov qword [rcx + 0x270], r12
mov qword [rcx + 0x170], r12
mov qword [rcx + 0x278], r12
mov qword [rcx + 0x178], r12
mov qword [rcx + 0x280], r12
mov qword [rcx + 0x180], r12
mov qword [rcx + 0x288], r12
mov qword [rcx + 0x188], r12
mov qword [rcx + 0x290], r12
mov qword [rcx + 0x190], r12
mov qword [rcx + 0x298], r12
mov qword [rcx + 0x198], r12
mov qword [rcx + 0x2a0], r12
mov qword [rcx + 0x1a0], r12
mov qword [rcx + 0x2a8], r12
mov qword [rcx + 0x1a8], r12
mov qword [rcx + 0x2b0], r12
mov qword [rcx + 0x1b0], r12
mov qword [rcx + 0x78], r12
mov qword [rcx + 0x70], r12
mov qword [rcx + 0x80], rax
mov dword [rcx + 0x88], r12d
test r15d, r15d
je 0x1400c898d
lea rdi, [rcx + 0x2d0]
nop word [rax + rax]
mov rdx, qword [rdi]
test rdx, rdx
je 0x1400c8755
mov rax, qword [rdi - 0x18]
mov rcx, qword [rax]
cmp qword [rdi + 8], rcx
je 0x1400c8785
mov rax, qword [rdi - 0x18]
mov r8, qword [rax + 0x30]
mov rcx, r8
call qword [rVariantCopy + 8]
mov rax, qword [rdi - 0x18]
mov rdx, qword [rax]
mov qword [rdi + 8], rdx
mov r8, qword [rax + 0x30]
mov rcx, r8
call qword [r8]
mov qword [rdi], rax
test rax, rax
je 0x1400c8983
mov rdx, qword [rdi - 0x10]
test rdx, rdx
je 0x1400c879c
mov rax, qword [rdi - 0x18]
mov rcx, qword [rax + 8]
cmp qword [rdi - 8], rcx
je 0x1400c87ce
mov rax, qword [rdi - 0x18]
mov r8, qword [rax + 0x30]
mov rcx, r8
call qword [rVariantCopy + 8]
mov rax, qword [rdi - 0x18]
mov rdx, qword [rax + 8]
mov qword [rdi - 8], rdx
mov r8, qword [rax + 0x30]
mov rcx, r8
call qword [r8]
mov qword [rdi - 0x10], rax
test rax, rax
je 0x1400c8983
xor r9d, r9d
mov qword [rdi + 0x50], r12
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rdi + 0x58], rax
test rax, rax
jne 0x1400c8803
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x1400c895e
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rdi + 0x60], rax
test rax, rax
jne 0x1400c8834
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x1400c895e
inc esi
sub rdi, 0xffffffffffffff80
cmp esi, r15d
jb 0x1400c8740
lea rdi, [rbx + 0x310]
mov r14d, r12d
lea r13, [0x1400c7d60]
cmp qword [rdi - 0x28], rbp
jne 0x1400c890f
lea rax, [rdi - 0x58]
mov qword [rdi - 8], r13
xor r9d, r9d
mov qword [rdi], rax
xor r8d, r8d
mov dword [rdi - 0x10], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rdi - 0x20], rax
test rax, rax
jne 0x1400c889e
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x1400c8968
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rdi - 0x18], rax
test rax, rax
jne 0x1400c88cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x1400c8968
lea rax, [rsp + 0x60]
xor edx, edx
mov qword [rsp + 0x28], rax
lea r9, [rdi - 0x28]
lea r8, [0x1400c7ad0]
mov dword [rsp + 0x20], r12d
xor ecx, ecx
call fcn.14010f89c
mov qword [rdi - 0x28], rax
test rax, rax
jne 0x1400c890f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x1400c8968
inc r14d
sub rdi, 0xffffffffffffff80
cmp r14d, r15d
jb 0x1400c8854
lea rsi, [rbx + 0x2f0]
mov edi, r12d
nop dword [rax]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x1400c8951
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
test ecx, ecx
jne 0x1400c8972
inc edi
sub rsi, 0xffffffffffffff80
cmp edi, r15d
jb 0x1400c8930
jmp 0x1400c8990
mov ebp, 0xc
jmp 0x1400c8a4d
mov ebp, 0xc
jmp 0x1400c89f0
mov ebp, 0xc
mov dword [rbx + 0x320], 1
jmp 0x1400c8990
mov ebp, 2
jmp 0x1400c8a4d
mov edi, r12d
mov rcx, qword [rbx + 0x330]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x1400c89a7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbx + 0x328]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x1400c89be
call qword [sym.imp.KERNEL32.dll_GetLastError]
test edi, edi
je 0x1400c89eb
lea rsi, [rbx + 0x2f8]
nop dword [rax]
mov rcx, qword [rsi]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rsi, [rsi + 0x80]
sub rdi, 1
jne 0x1400c89d0
test r15d, r15d
je 0x1400c8a46
lea rdi, [rbx + 0x330]
mov rsi, r15
nop word [rax + rax]
mov rcx, qword [rdi - 8]
test rcx, rcx
je 0x1400c8a1b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400c8a1b
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c8a1f
mov qword [rdi - 8], r12
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400c8a39
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400c8a39
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c8a3c
mov qword [rdi], r12
sub rdi, 0xffffffffffffff80
sub rsi, 1
jne 0x1400c8a00
test ebp, ebp
jne 0x1400c8a4d
mov ebp, dword [rbx + 0x68]
mov rbx, qword [rsp + 0x68]
mov eax, ebp
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret