Function at 0x14004ee70
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov ebx, edx
mov rdi, rcx
xor r12d, r12d
mov r15d, dword [rcx + 0x30]
inc r15d
call sub.MSVCP140.dll__Thrd_hardware_concurrency
mov esi, r15d
test ebx, ebx
jle 0x14004eea7
cmp ebx, r15d
cmovl esi, ebx
jmp 0x14004eeb4
cmp eax, r15d
cmovl esi, eax
cmp esi, 1
jle 0x14004eeb4
dec esi
mov ecx, 0x148
call fcn.1400fcfc0
mov qword [rsp + 0x90], rax
test rax, rax
je 0x14004eed5
mov rcx, rax
call fcn.140051dd0
jmp 0x14004eed8
mov rax, r12
mov rbx, qword [rdi + 0xe0]
mov qword [rdi + 0xe0], rax
test rbx, rbx
je 0x14004ef00
mov rcx, rbx
call fcn.140051fb0
mov edx, 0x148
mov rcx, rbx
call fcn.1400fcffc
mov ebx, r12d
mov r14d, r12d
lea r13, [rdi + 0xe8]
test esi, esi
jle 0x14004efe9
lea ecx, [rsi - 1]
mov r12d, esi
nop dword [rax + rax]
mov eax, r15d
sub eax, ebx
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, r12d
vdivss xmm1, xmm1, xmm0
vxorps xmm3, xmm3, xmm3
vroundss xmm3, xmm3, xmm1, 2
vcvttss2si eax, xmm3
cmp r14d, ecx
mov ebp, r15d
je 0x14004ef53
lea ebp, [rax + rbx]
mov ecx, 0x298
call fcn.1400fcfc0
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14004ef79
movsxd r8, ebp
movsxd rdx, ebx
mov rcx, rax
call fcn.140051e80
nop
mov qword [rsp + 0x90], rax
mov rdx, qword [rdi + 0xf0]
cmp rdx, qword [rdi + 0xf8]
je 0x14004efa0
xor ebx, ebx
mov qword [rdx], rax
add qword [rdi + 0xf0], 8
jmp 0x14004efb8
lea r8, [rsp + 0x90]
mov rcx, r13
call fcn.14004ba30
mov rbx, qword [rsp + 0x90]
test rbx, rbx
je 0x14004efd2
mov rcx, rbx
call fcn.140052050
mov edx, 0x298
mov rcx, rbx
call fcn.1400fcffc
mov ebx, ebp
inc r14d
dec r12d
cmp r14d, esi
lea ecx, [rsi - 1]
jl 0x14004ef20
xor r12d, r12d
mov ecx, Ordinal_17
call fcn.1400fcfc0
mov rbx, rax
mov qword [rsp + 0x90], rax
test rax, rax
je 0x14004f059
mov ecx, 8
call fcn.1400fcfc0
test rax, rax
je 0x14004f017
mov qword [rax], rdi
jmp 0x14004f01a
mov rax, r12
mov qword [rsp + 0xa0], rax
lea rsi, [rbx + 8]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x14004bf80]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbx], rax
test rax, rax
je 0x14004f1ee
lea r13, [rdi + 0xe8]
jmp 0x14004f05c
mov rbx, r12
mov rcx, qword [rdi + 0x100]
mov qword [rdi + 0x100], rbx
test rcx, rcx
je 0x14004f083
cmp dword [rcx + 8], 0
jne 0x14004f1d9
mov edx, Ordinal_17
call fcn.1400fcffc
mov rsi, r12
mov rcx, qword [r13 + 8]
mov rdx, qword [r13]
mov rax, rcx
sub rax, rdx
sar rax, 3
test rax, rax
je 0x14004f1c1
mov r9, qword [rdx + rsi*8]
mov r8, r12
sub rcx, rdx
sar rcx, 3
lea rax, [rsi + 1]
cmp rax, rcx
jae 0x14004f0bd
mov r8, qword [rdx + rsi*8 + 8]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r8
mov ecx, Ordinal_17
call fcn.1400fcfc0
mov rbx, rax
mov qword [rsp + 0xa0], rax
test rax, rax
je 0x14004f147
mov ecx, 0x18
call fcn.1400fcfc0
test rax, rax
je 0x14004f10c
vmovups xmm0, xmmword [rsp + 0x30]
vmovups xmmword [rax], xmm0
vmovsd xmm1, qword [rsp + 0x40]
vmovsd qword [rax + 0x10], xmm1
jmp 0x14004f10f
mov rax, r12
mov qword [rsp + 0x90], rax
lea r14, [rbx + 8]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x14004bfe0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbx], rax
test rax, rax
je 0x14004f1e0
jmp 0x14004f14a
mov rbx, r12
mov qword [rsp + 0x90], rbx
mov rdx, qword [rdi + 0x110]
cmp rdx, qword [rdi + 0x118]
je 0x14004f172
mov rcx, r12
mov qword [rdx], rbx
add qword [rdi + 0x110], 8
jmp 0x14004f18e
lea r8, [rsp + 0x90]
lea rcx, [rdi + 0x108]
call fcn.14004bc90
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14004f1a3
cmp dword [rcx + 8], 0
jne 0x14004f1d9
mov edx, Ordinal_17
call fcn.1400fcffc
inc rsi
mov rcx, qword [r13 + 8]
mov rdx, qword [r13]
mov rax, rcx
sub rax, rdx
sar rax, 3
cmp rsi, rax
jb 0x14004f0a1
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
nop
mov dword [r14], r12d
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov dword [rsi], r12d
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3