Function at 0x14012cf20
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x14041b598]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov r15d, edx
mov dword [rsp + 0x30], r15d
cmp edx, 0x800
jb 0x14012cf6f
xor al, al
jmp 0x14012d3b5
cmp dword [0x140423ad0], r15d
je 0x14012d3b3
call fcn.14001fdb0
mov qword [rbp - 0x78], rax
mov rdi, r15
lea r13, [0x1403ce0b0]
mov r13, qword [r13 + r15*8]
xor esi, esi
mov rbx, qword [0x140423ac0]
test rbx, rbx
je 0x14012cfb4
cmp qword [rbx], r13
jae 0x14012cff9
test rbx, rbx
je 0x14012cfb4
mov rcx, rbx
call fcn.14005b280
mov ecx, 0x18
call fcn.14029ccfc
mov rbx, rax
mov qword [rsp + 0x40], rax
lea rax, [r13 - 1]
and rax, 0xffffffffffe00000
add rax, 0x200000
mov qword [rbx], rax
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], rsi
mov edx, 0x40
mov rcx, rax
call fcn.1402c7ecc
mov qword [rbx + 0x10], rax
mov qword [0x140423ac0], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x60], xmm1
test r15d, r15d
je 0x14012d063
nop dword [rax]
xor edx, edx
mov r8d, 0xe0
lea rcx, [rbp - 0x50]
call fcn.1402bbee0
mov dword [rbp + 0x88], 0x80000008
mov r8d, 0x20
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.140004110
lea rcx, [rbp - 0x50]
call fcn.140004330
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
sub rdi, 1
jne 0x14012d010
mov rbx, qword [0x140423ac0]
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm1
lea r8, [rbp - 0x70]
mov rdx, r13
mov rcx, qword [rbx + 0x10]
call fcn.140139f68
mov rax, qword [0x140423ac0]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], r13
mov rdx, r13
shr rdx, 6
mov dword [rsp + 0x78], edx
lea eax, [rdx - 1]
mov r12d, 1
test edx, eax
jne 0x14012d0b5
mov qword [rsp + 0x7c], r12
bsr eax, edx
mov dword [rbp - 0x7c], eax
jmp 0x14012d0f1
bsr ecx, edx
add ecx, 0x20
mov dword [rbp - 0x7c], ecx
mov r9, r12
shl r9, cl
mov r8d, edx
xor edx, edx
mov rax, r9
div r8
mov ecx, r8d
imul rcx, rax
sub r9, rcx
lea rcx, [r9 + r9]
cmp rcx, r8
jae 0x14012d0e8
mov dword [rbp - 0x80], r12d
jmp 0x14012d0ed
inc eax
mov dword [rbp - 0x80], esi
mov dword [rsp + 0x7c], eax
lea r14, [r13 + 0xff]
shr r14, 6
mov rcx, r14
shl rcx, 4
mov r9, qword [0x140423ae0]
mov rdx, r9
mov r8, qword [0x140423ad8]
sub rdx, r8
sar rdx, 2
cmp rcx, rdx
jae 0x14012d12d
lea rax, [r8 + rcx*4]
mov qword [0x140423ae0], rax
jmp 0x14012d171
jbe 0x14012d171
mov rax, qword [0x140423ae8]
sub rax, r8
sar rax, 2
cmp rcx, rax
jbe 0x14012d153
mov rdx, rcx
lea rcx, [0x140423ad8]
call fcn.14012d9a0
jmp 0x14012d171
sub rcx, rdx
lea rbx, [r9 + rcx*4]
mov r8, rbx
sub r8, r9
xor edx, edx
mov rcx, r9
call fcn.1402bbee0
mov qword [0x140423ae0], rbx
call fcn.14029b688
cmp eax, 1
cmovb eax, r12d
mov ebx, eax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rsi
test eax, eax
je 0x14012d1ad
movabs rax, 0xfffffffffffffff
cmp rbx, rax
ja 0x14012d3eb
mov edx, ebx
lea rcx, [rbp - 0x70]
call fcn.1401257d0
mov rdi, qword [rbp - 0x68]
test rbx, rbx
je 0x14012d281
xor r15d, r15d
lea r8, [0x140423ac0]
xor edx, edx
mov rax, r15
div rbx
mov rcx, rax
lea rax, [r15 + r14]
mov r15, rax
xor edx, edx
div rbx
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x4c], eax
mov qword [rsp + 0x50], r14
lea rax, [rsp + 0x60]
mov qword [rsp + 0x58], rax
cmp rdi, qword [rbp - 0x60]
je 0x14012d25b
mov ecx, 0x20
call fcn.14029ccfc
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rax + 0x10], xmm1
mov qword [rsp + 0x40], rax
lea rcx, [rdi + 8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x14012da70]
xor edx, edx
xor ecx, ecx
call fcn.1402c6b94
mov qword [rdi], rax
test rax, rax
je 0x14012d3f7
mov rdi, qword [rbp - 0x68]
add rdi, 0x10
mov qword [rbp - 0x68], rdi
jmp 0x14012d270
lea r8, [rsp + 0x40]
mov rdx, rdi
lea rcx, [rbp - 0x70]
call fcn.14012d7b0
mov rdi, qword [rbp - 0x68]
inc rsi
cmp rsi, rbx
jb 0x14012d1bd
mov r15d, dword [rsp + 0x30]
mov rbx, qword [rbp - 0x70]
cmp rbx, rdi
je 0x14012d2db
nop word [rax + rax]
cmp dword [rbx + 8], 0
je 0x14012d41f
call fcn.14029b6a0
cmp dword [rbx + 8], eax
je 0x14012d414
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x40], xmm0
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.14029b6a8
test eax, eax
jne 0x14012d409
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
add rbx, 0x10
cmp rbx, rdi
jne 0x14012d290
mov rdi, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x70]
test rbx, rbx
je 0x14012d33b
mov rax, rbx
cmp rbx, rdi
je 0x14012d303
nop dword [rax + rax]
cmp dword [rax + 8], 0
jne 0x14012d3e5
add rax, 0x10
cmp rax, rdi
jne 0x14012d2f0
mov rdx, qword [rbp - 0x60]
sub rdx, rbx
and rdx, 0xfffffffffffffff0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14012d333
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14012d3f1
mov rcx, rbx
call fcn.14029ccf4
mov qword [0x140423ac8], r13
mov dword [0x140423ad0], r15d
call fcn.14029b2c0
mov rbx, rax
call fcn.14029b2a4
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, rcx, 0x3b9aca00
add rdx, rax
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub rdx, qword [rbp - 0x78]
mov qword [rsp + 0x20], rdx
mov r9d, r15d
lea r8, [0x1403d90f8]
lea rdx, [0x1403e3970]
mov ecx, 6
call fcn.140015790
mov al, 1
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.14029ccd0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
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 fcn.1402c0c54
nop
call fcn.14000b240
nop
call fcn.1402c09b4
nop
mov dword [rdi + 8], 0
mov ecx, 6
call fcn.14029af2c
nop
mov ecx, 2
call fcn.14029af2c
int3
mov ecx, 5
call fcn.14029af2c
int3
mov ecx, r12d
call fcn.14029af2c
int3