Function at 0x1400dd710
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xc0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rbx, r8
mov r15, rcx
xor esi, esi
test rcx, rcx
je 0x1400ddb30
xor ecx, ecx
call fcn.1400df100
mov edi, eax
mov qword [rbp - 1], rdi
cmp r15, qword [rbp + 0x7f]
jb 0x1400dda69
cmp rdi, 1
jbe 0x1400dda69
lea rax, [r15 + 1]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
xorps xmm0, xmm0
test rdi, rdi
js 0x1400dd78c
cvtsi2sd xmm0, rdi
jmp 0x1400dd7a4
mov rcx, rdi
shr rcx, 1
mov rax, rdi
and eax, 1
or rcx, rax
cvtsi2sd xmm0, rcx
addsd xmm0, xmm0
divsd xmm1, xmm0
movaps xmm0, xmm1
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
cvttsd2si r14, xmm0
mov eax, 1
cmp r14, rax
cmovl r14, rax
mov qword [rbp - 9], r14
mov qword [rbp - 0x29], rbx
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], rsi
mov qword [rbp - 0x59], rdi
mov qword [rbp - 0x31], rsi
mov rax, rsi
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x61], rax
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x51]
call fcn.1400c3200
mov r12, r14
cmp r15, r14
cmovl r12, r15
mov qword [rbp - 0x39], r12
mov rcx, rsi
mov r13, rsi
mov qword [rbp - 0x19], rsi
mov rdx, rsi
mov qword [rbp - 0x11], rsi
mov qword [rbp - 0x59], rsi
mov r14, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x49]
cmp rcx, r15
jge 0x1400dd91a
cmp rdi, r14
je 0x1400dd895
mov ecx, 0x20
call fcn.140108140
test rax, rax
je 0x1400dd853
mov qword [rax], r13
mov qword [rax + 8], r12
mov rcx, qword [rbp - 0x19]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rbx
jmp 0x1400dd856
mov rax, rsi
mov qword [rbp - 0x59], rax
lea r13, [rdi + 8]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x1400dce30]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x1400ddb68
add rdi, 0x10
mov qword [rbp - 0x49], rdi
mov rax, qword [rbp - 0x21]
jmp 0x1400dd8cf
lea rax, [rbp - 0x61]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x31]
lea r8, [rbp - 0x29]
mov rdx, rdi
lea rcx, [rbp - 0x51]
call fcn.1400dcbd0
mov rbx, qword [rbp - 0x29]
mov r14, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x49]
mov r12, qword [rbp - 0x39]
mov rax, qword [rbp - 0x61]
mov qword [rbp - 0x31], r12
mov rcx, r12
mov r12, qword [rbp - 9]
add r12, rcx
cmp r15, r12
cmovl r12, r15
mov qword [rbp - 0x39], r12
inc rax
mov qword [rbp - 0x21], rax
mov r13, rax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x19], rcx
mov rdx, rcx
mov qword [rbp - 0x11], rax
mov qword [rbp - 0x59], rcx
inc rax
cmp rax, qword [rbp - 1]
jb 0x1400dd821
mov r12, r13
mov r13, rcx
jmp 0x1400dd922
mov r12, qword [rbp - 0x11]
mov r13, qword [rbp - 0x59]
cmp rdx, r15
jge 0x1400dd9bc
cmp rdi, r14
je 0x1400dd98e
mov ecx, 0x20
call fcn.140108140
test rax, rax
je 0x1400dd950
mov qword [rax], r12
mov qword [rax + 8], r15
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], rbx
jmp 0x1400dd953
mov rax, rsi
mov qword [rbp + 0x5f], rax
lea rbx, [rdi + 8]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x1400dce30]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rdi], rax
test rax, rax
je 0x1400ddb77
add rdi, 0x10
mov qword [rbp - 0x49], rdi
jmp 0x1400dd9bc
lea rax, [rbp - 0x61]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x5f]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x31]
lea r8, [rbp - 0x29]
mov rdx, rdi
lea rcx, [rbp - 0x51]
call fcn.1400dcbd0
mov r14, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x49]
mov rsi, qword [rbp - 0x51]
mov rbx, rsi
cmp rsi, rdi
je 0x1400dda05
cmp dword [rbx + 8], 0
je 0x1400dd9fc
call sub.MSVCP140.dll__Thrd_id
cmp dword [rbx + 8], eax
je 0x1400ddb5d
movups xmm0, xmmword [rbx]
movaps xmmword [rbp - 1], xmm0
xor edx, edx
lea rcx, [rbp - 1]
call sub.MSVCP140.dll__Thrd_join
test eax, eax
jne 0x1400ddb84
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
add rbx, 0x10
cmp rbx, rdi
jne 0x1400dd9c8
test rsi, rsi
je 0x1400dda62
mov rax, rsi
cmp rsi, rdi
je 0x1400dda21
cmp dword [rax + 8], 0
jne 0x1400dda50
add rax, 0x10
cmp rax, rdi
jne 0x1400dda12
sub r14, rsi
and r14, 0xfffffffffffffff0
mov rax, rsi
cmp r14, 0x1000
jb 0x1400dda57
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400dda57
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
mov rdx, r14
mov rcx, rsi
call fcn.14010810c
mov al, 1
jmp 0x1400ddb32
test r15, r15
jle 0x1400ddb30
mov r14, qword [rbx]
mov r13, qword [r14]
mov r12, qword [r14 + 8]
movsd xmm7, qword [0x1401111e8]
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [r13]
mov rcx, qword [r13 + 8]
mov rbx, qword [r12]
movsxd rdi, esi
movsd xmm4, qword [rdx + rdi*8]
lea rax, [rcx + rdi]
movsd xmm5, qword [rdx + rax*8]
movaps xmm2, xmm4
subsd xmm2, xmm5
lea rax, [rdi + rcx*2]
movsd xmm3, qword [rdx + rax*8]
movaps xmm6, xmm3
addsd xmm6, xmm5
addsd xmm6, xmm4
movaps xmm0, xmm3
subsd xmm0, xmm2
mulsd xmm6, xmm0
movaps xmm1, xmm3
addsd xmm1, xmm2
mulsd xmm6, xmm1
subsd xmm5, xmm3
addsd xmm5, xmm4
mulsd xmm6, xmm5
xorps xmm0, xmm0
ucomisd xmm0, xmm6
ja 0x1400ddaf9
sqrtpd xmm0, xmm6
jmp 0x1400ddb01
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mulsd xmm0, xmm7
movsd qword [rbx + rdi*8], xmm0
mov rax, qword [r12]
movsd xmm0, qword [rax + rdi*8]
ucomisd xmm0, xmm0
jnp 0x1400ddb24
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rcx]
mov qword [rax + rdi*8], rdx
inc rsi
cmp rsi, r15
jl 0x1400dda90
xor al, al
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 5
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov dword [r13], esi
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov dword [rbx], esi
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov ecx, 2
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3