Function at 0x84ad10
Capabilities:
Create thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
xor ebp, ebp
movzx r12d, byte [rcx + 0x5b]
sub r12d, 1
mov byte [rcx + 0x58], 1
mov r13, rcx
test r12d, r12d
jle 0x84b00b
nop dword [rax + rax]
movzx eax, byte [r13 + 0x5a]
lea eax, [rbp + rax + 1]
cdq
idiv r12d
movsxd rdx, edx
lea rbx, [rdx + rdx*2]
lea rsi, [rdx + rdx*2 + 3]
shl rbx, 5
shl rsi, 5
add rbx, r13
add rsi, r13
mov edx, dword [rbx + 0x68]
test edx, edx
je 0x84ae10
mov r14, qword [rsi]
test r14, r14
je 0x84ae10
cmp qword [r14 + 0x10], 0
je 0x84adf0
mov r15, qword [r14]
nop dword [rax + rax]
mov r8d, 1
mov edx, 0xffffffff
mov rcx, r15
call qword [0x00868728]
mov edi, eax
cmp eax, 0xc0
je 0x84ad90
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x84adf0
mov rcx, r14
call fcn.0082d7e0
mov dword [rsi + 8], 0
mov eax, 1
mov qword [rsi], 0
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [r14 + 0x20]
mov rcx, r14
call fcn.0082d7e0
mov dword [rsi + 8], 0
mov qword [rsi], 0
mov eax, edi
test edi, edi
jne 0x84add5
cmp qword [rbx + 0x60], 0
je 0x84ae23
add ebp, 1
cmp ebp, r12d
jne 0x84ad40
cmp r12d, ebp
je 0x84af5c
lea rax, [r13 + 0x60]
mov rdi, rsi
mov rcx, qword [rsi + 0x28]
movabs rdx, 0xaaaaaaaaaaaaaaab
sub rdi, rax
movdqu xmm0, xmmword [r13 + 0x38]
mov rax, rdi
sar rax, 5
imul rax, rdx
mov byte [r13 + 0x5a], al
mov rax, qword [r13 + 0x48]
movups xmmword [rsi + 0x20], xmm0
mov qword [rsi + 0x30], rax
mov qword [r13 + 0x38], 0
mov qword [r13 + 0x48], 0
test rcx, rcx
je 0x84afe0
mov qword [r13 + 0x40], rcx
call qword [0x00869398]
mov dword [r13 + 0x54], eax
mov eax, dword [0x00869360]
mov qword [rsi], 0
test eax, eax
jne 0x84af38
mov ecx, 0x28
call qword [0x00869380]
mov rbx, rax
test rbx, rbx
je 0x84b001
cmp byte [0x00869364], 0
je 0x84af88
mov rax, qword [0x008694f0]
test rax, rax
je 0x84aee0
mov ecx, 0xc8
call rax
test eax, eax
jne 0x84af88
lea rax, [0x0084b020]
mov qword [rbx + 0x18], rsi
mov r9, rbx
xor edx, edx
mov qword [rbx + 0x10], rax
lea rax, [rbx + 8]
lea r8, [0x007fa400]
xor ecx, ecx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
call qword [sym.imp.msvcrt.dll__beginthreadex]
mov qword [rbx], rax
test rax, rax
je 0x84af88
cmp qword [rbx + 0x10], 0
je 0x84afaf
mov qword [rsi], rbx
xor eax, eax
jmp 0x84add5
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x84af4a
call qword [0x008693e0]
mov ecx, 0x28
call fcn.007dc4f0
mov rbx, rax
jmp 0x84aeaf
movsxd r12, r12d
lea rdx, [r13 + 0x38]
lea rcx, [r12 + r12*2 + 3]
shl rcx, 5
add rcx, r13
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.0084b040
mov qword [rbx], 0
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rdx, [rsi + 0x20]
mov rcx, rsi
mov dword [rbx + 8], eax
call fcn.0084b040
mov dword [rsi + 8], 1
cdqe
mov qword [rbx + 0x20], rax
jmp 0x84af27
cmp qword [r13 + 0x40], 0
je 0x84ae8c
movsxd rcx, dword [r13 + 0x54]
call fcn.007dc490
mov qword [r13 + 0x40], rax
test rax, rax
jne 0x84ae8c
mov eax, 7
jmp 0x84add5
xor esi, esi
jmp 0x84ae23