Function at 0x140008c70
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x5d0]
sub rsp, 0x6d0
mov edi, 0x80004005
lea rcx, [rsp + 0x30]
call fcn.140003630
nop
xor esi, esi
mov ebx, esi
cmp qword [rsp + 0x30], rbx
je 0x140008e79
mov ecx, 0xd0
call fcn.14001fa10
mov qword [rbp + 0x5e0], rax
test rax, rax
je 0x140008cd1
mov rcx, rax
call fcn.1400080d0
mov rbx, rax
jmp 0x140008cd4
mov rbx, rsi
test rbx, rbx
je 0x140008e79
mov rcx, rbx
call fcn.140004be0
test eax, eax
js 0x140008e3d
lfence
xor edx, edx
mov r8d, 0x22f
lea rcx, [rbp + 0x3a0]
call fcn.140021bb0
mov dword [rbp + 0x3a0], SafeArrayGetLBound
mov dword [rbp + 0x3a8], 4
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov r8d, 0x22f
lea rdx, [rbp + 0x3a0]
mov rcx, qword [rbx + 0x28]
call fcn.140003b40
test eax, eax
js 0x140008d53
mov eax, dword [rbp + 0x3ac]
mov dword [rbx + 0xb0], eax
test al, 1
je 0x140008d68
jmp 0x140008d5d
mov dword [rbx + 0xb0], 1
lfence
mov rcx, rbx
call fcn.1400049c0
mov eax, edi
cmp qword [rbx + 0x28], 0
je 0x140008e3d
mov ecx, 0x3000
call fcn.140026b90
mov qword [rbx + 0x20], rax
test rax, rax
jne 0x140008d8f
mov eax, edi
jmp 0x140008e3d
lfence
xor eax, eax
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x5c], eax
xor edx, edx
mov r8d, 0x1fb
lea rcx, [rsp + 0x74]
call fcn.140021bb0
mov dword [rsp + 0x40], 7
mov dword [rsp + 0x48], 0x40
mov dword [rsp + 0x4c], 1
mov rax, qword [rbx + 8]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0x3000
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 0x38]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], 0x1000
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov r8d, 0x22f
lea rdx, [rsp + 0x40]
mov rcx, qword [rbx + 0x28]
call fcn.140003b40
test eax, eax
js 0x140008e3d
mov rax, qword [rsp + 0x74]
test rax, rax
jne 0x140008e26
mov eax, edi
jmp 0x140008e3d
mov rcx, qword [rbp - 0x7c]
test rcx, rcx
jne 0x140008e33
mov eax, edi
jmp 0x140008e3d
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x40], rcx
mov eax, esi
mov edi, eax
test eax, eax
js 0x140008e79
lfence
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x140009060]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 0xb8], rax
lea rcx, [rsp + 0x30]
call fcn.1400037a0
jmp 0x140008fef
lea rcx, [rsp + 0x30]
call fcn.1400037a0
test edi, edi
jns 0x140008fef
test rbx, rbx
je 0x140008fef
mov dword [rbx], 1
cmp qword [rbx + 8], 0
je 0x140008eae
lfence
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp qword [rbx + 0xb8], 0
je 0x140008ecf
lfence
mov rcx, qword [rbx + 0xb8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0xb8], rsi
cmp qword [rbx + 0x28], 0
je 0x140008f89
lfence
xor eax, eax
mov qword [rbp + 0x174], rax
mov dword [rbp + 0x18c], eax
xor edx, edx
mov r8d, 0x1fb
lea rcx, [rbp + 0x1a4]
call fcn.140021bb0
mov dword [rbp + 0x170], 7
mov dword [rbp + 0x17c], esi
mov rax, qword [rbx + 8]
mov qword [rbp + 0x180], rax
mov dword [rbp + 0x188], 0x3000
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x190], rax
mov rax, qword [rbx + 0x38]
mov qword [rbp + 0x198], rax
mov dword [rbp + 0x1a0], 0x1000
mov dword [rsp + 0x28], reloc.OLEAUT32.dll_SafeArrayAccessData
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov r8d, 0x22f
lea rdx, [rbp + 0x170]
mov rcx, qword [rbx + 0x28]
call fcn.140003b40
mov qword [rbx + 0x18], rsi
mov qword [rbx + 0x40], rsi
cmp qword [rbx + 0x20], 0
je 0x140008f89
lfence
mov rcx, qword [rbx + 0x20]
call fcn.140026b80
mov qword [rbx + 0x20], rsi
cmp qword [rbx + 0x10], 0
je 0x140008fa1
lfence
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 8], 0
je 0x140008fb9
lfence
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], rsi
cmp qword [rbx + 0x38], 0
je 0x140008fd1
lfence
mov rcx, qword [rbx + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x38], rsi
lfence
mov rcx, rbx
call fcn.140008700
lfence
mov edx, 0xd0
mov rcx, rbx
call fcn.14001fa4c
mov rbx, rsi
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x140009033
mov esi, 0xffffffff
mov eax, esi
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140009033
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax]
call qword [0x140037608]
lock xadd dword [rdi + 0xc], esi
cmp esi, 1
jne 0x140009033
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [0x140037608]
mov rax, rbx
lea r11, [rsp + 0x6d0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret