Function at 0x1400adef0
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
mov rax, qword [0x14010efb0]
xor rax, rsp
mov qword [rbp - 0x29], rax
mov r12d, r8d
mov qword [rbp - 0x31], rdx
mov rdi, rcx
mov qword [rbp - 0x59], rcx
xor r13d, r13d
mov qword [rcx + 0xa0], r13
mov qword [rcx + 0xa8], r13
mov qword [rcx + 0xb0], r13
mov dword [rcx + 0x118], 0x28
mov dword [rcx + 0x11c], 1
mov dword [rcx + 0x120], 1
mov dword [rcx + 0x124], 1
mov word [rcx + 0x128], 0x101
movabs rax, 0x4046800000000000
mov qword [rcx + 0x130], rax
mov dword [rcx + 0x140], 0x64
mov dword [rcx + 0x144], 0x64
mov dword [rcx + 0x14c], 0x352e7ba9
mov dword [rcx + 0x150], 0x3513a3b6
mov dword [rcx + 0x154], 0x34f19787
movss xmm7, dword [0x14012c270]
movaps xmm1, xmm7
movss xmm0, dword [0x1401012c4]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movss xmm6, dword [0x14012c390]
mulss xmm0, xmm6
movss dword [rdi + 0x158], xmm0
movaps xmm1, xmm7
movss xmm0, dword [0x1401012c8]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
mulss xmm0, xmm6
movss dword [rdi + 0x15c], xmm0
movaps xmm1, xmm7
movss xmm0, dword [0x1401012cc]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
mulss xmm0, xmm6
movss dword [rdi + 0x160], xmm0
movss xmm2, dword [0x14012c394]
movaps xmm1, xmm2
divss xmm1, dword [0x140101010]
movss dword [rdi + 0x164], xmm1
movaps xmm0, xmm2
divss xmm0, dword [0x14010100c]
movss dword [rdi + 0x168], xmm0
divss xmm2, dword [0x140101008]
movss dword [rdi + 0x16c], xmm2
xorps xmm0, xmm0
movups xmmword [rdi + 0x2f8], xmm0
mov qword [rdi + 0x308], r13
mov qword [rdi + 0x310], 0xf
mov byte [rdi + 0x2f8], r13b
mov qword [rdi + 0x318], r13
mov dword [rdi + 0x320], r13d
mov dword [rdi + 0x330], 1
mov dword [rdi + 0x334], pe_nt_image_headers64
mov dword [rdi + 0x338], 0x10000
mov word [rdi + 0x33c], r13w
mov byte [rdi + 0x33e], 1
lea rax, str.0.0.6
mov qword [rdi + 0x348], rax
mov byte [rdi + 0x350], r13b
mov qword [rdi + 0x15f8], r13
mov qword [rdi + 0x1c40], r13
mov qword [rdi + 0x1c48], r13
mov qword [rdi + 0x1c50], r13
mov qword [rdi + 0x1c68], r13
mov qword [rdi + 0x1c70], r13
mov qword [rdi + 0x1c78], r13
mov qword [rdi + 0x1c80], r13
mov qword [rdi + 0x1c88], r13
mov qword [rdi + 0x1c90], r13
mov qword [rdi + 0x1cb8], r13
mov qword [rdi + 0x1cc0], r13
mov qword [rdi + 0x1cc8], r13
mov qword [rdi + 0x1cd8], r13
mov qword [rdi + 0x1ce0], r13
mov qword [rdi + 0x1ce8], r13
mov qword [rdi + 0x1cf0], r13
mov qword [rdi + 0x1cf8], r13
mov qword [rdi + 0x1d00], r13
mov qword [rdi + 0x1d08], r13
mov qword [rdi + 0x1d10], r13
mov qword [rdi + 0x1d18], r13
mov qword [rdi + 0x1d20], r13
mov qword [rdi + 0x1d28], r13
mov qword [rdi + 0x1d30], r13
mov qword [rdi + 0x1d38], r13
mov qword [rdi + 0x1d40], r13
mov qword [rdi + 0x1d48], r13
mov qword [rdi + 0x1d50], r13
mov qword [rdi + 0x1d58], r13
mov qword [rdi + 0x1d60], r13
mov dword [rdi + 0x1d80], 1
mov qword [rdi + 0x1da8], r13
mov byte [rdi + 0x2400], 1
movups xmmword [rdi + 0x2408], xmm0
mov qword [rdi + 0x2418], r13
mov qword [rdi + 0x2420], 0xf
mov byte [rdi + 0x2408], r13b
lea rbx, [rdi + 0x2438]
mov qword [rbp - 0x69], rbx
lea rcx, [rbx + 0x10]
call qword [sym.imp.MSVCP140.dll__Cnd_init_in_situ]
nop
lea rcx, [rbx + 0x58]
lea edx, [r13 + 2]
call qword [sym.imp.MSVCP140.dll__Mtx_init_in_situ]
nop
lea rcx, [rbx + 0xa8]
call qword [sym.imp.MSVCP140.dll__Cnd_init_in_situ]
nop
lea rsi, [rbx + 0xf0]
lea edx, [r13 + 2]
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_init_in_situ]
nop
mov qword [rbx + 0x140], rsi
mov byte [rbx + 0x148], r13b
mov rcx, rsi
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400ae25b
lea ecx, [r13 + 5]
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [rsi + 0x4c]
cmp eax, 0x7fffffff
jne 0x1400ae276
dec eax
mov dword [rsi + 0x4c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov byte [rbx + 0x148], 1
mov qword [rbx], r13
mov byte [rbx + 0x150], 0
mov qword [rbx + 8], r13
lea r15, [rdi + 0x2590]
mov qword [rbp - 0x69], r15
lea rax, [0x1400aeae0]
mov qword [rsp + 0x20], rax
lea r9, [0x1400c3fd0]
mov edx, 0x240
mov r8d, 2
mov rcx, r15
call fcn.1400d6eb8
mov word [r15 + 0x488], 0
lea rax, [0x140100f4c]
mov qword [rdi + 0x2a38], rax
mov dword [rdi + 0x2a30], r13d
mov qword [rdi + 0x2a20], r13
mov qword [rdi + 0x2a90], rax
mov dword [rdi + 0x2a88], r13d
mov qword [rdi + 0x2a78], r13
mov qword [rdi + 0x2ad8], rax
mov dword [rdi + 0x2ad0], r13d
mov qword [rdi + 0x2ac0], r13
mov qword [rdi + 0x2b20], rax
mov dword [rdi + 0x2b18], r13d
mov qword [rdi + 0x2b08], r13
mov qword [rdi + 0x2b68], rax
mov dword [rdi + 0x2b60], r13d
mov qword [rdi + 0x2b50], r13
mov qword [rdi + 0x2bb0], rax
mov dword [rdi + 0x2ba8], r13d
mov qword [rdi + 0x2b98], r13
mov qword [rdi + 0x2bf8], rax
mov dword [rdi + 0x2bf0], r13d
mov qword [rdi + 0x2be0], r13
mov qword [rdi + 0x2c48], r13
mov qword [rdi + 0x2c50], r13
mov dword [rdi + 0x2c58], r13d
mov word [rdi + 0x2c5c], 0
mov byte [rdi + 0x2c5e], 0
mov qword [rdi + 0x2ca8], rax
mov dword [rdi + 0x2ca0], r13d
mov qword [rdi + 0x2c90], r13
mov qword [rdi + 0x2cf0], rax
mov dword [rdi + 0x2ce8], r13d
mov qword [rdi + 0x2cd8], r13
mov qword [rdi + 0x2d38], rax
mov dword [rdi + 0x2d30], r13d
mov qword [rdi + 0x2d20], r13
mov qword [rdi + 0x2d80], rax
mov dword [rdi + 0x2d78], r13d
mov qword [rdi + 0x2d68], r13
mov qword [rdi + 0x2dc8], rax
mov dword [rdi + 0x2dc0], r13d
mov qword [rdi + 0x2db0], r13
mov qword [rdi + 0x2e10], 0x10
mov dword [rdi + 0x2e18], 2
mov dword [rdi + 0x2e1c], 1
mov qword [rdi + 0x2e20], r13
lea rsi, [rdi + 0x2e28]
mov qword [rbp - 0x69], rsi
lea rcx, [rsi + 0x10]
call qword [sym.imp.MSVCP140.dll__Cnd_init_in_situ]
nop
lea rcx, [rsi + 0x58]
mov edx, 2
call qword [sym.imp.MSVCP140.dll__Mtx_init_in_situ]
nop
lea rcx, [rsi + 0xa8]
call qword [sym.imp.MSVCP140.dll__Cnd_init_in_situ]
nop
lea r14, [rsi + 0xf0]
mov edx, 2
mov rcx, r14
call qword [sym.imp.MSVCP140.dll__Mtx_init_in_situ]
nop
mov qword [rsi + 0x140], r14
mov byte [rsi + 0x148], 0
mov rcx, r14
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400ae485
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [r14 + 0x4c]
cmp eax, 0x7fffffff
jne 0x1400ae4a2
dec eax
mov dword [r14 + 0x4c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov byte [rsi + 0x148], 1
mov qword [rsi], r13
mov byte [rsi + 0x150], 0
mov qword [rsi + 8], r13
lea r14, [rdi + 0x2f80]
mov word [r14 + 8], 0
mov word [rdi + 0x2f90], 0
mov qword [rdi + 0x2f94], r13
mov qword [rdi + 0x2f9c], r13
mov qword [rdi + 0x2fa4], r13
mov qword [rdi + 0x2fac], r13
mov dword [rdi + 0x43dc], 1
mov byte [rdi + 0x43e0], 0
xor eax, eax
mov qword [rdi + 0x43e4], rax
mov qword [rdi + 0x43ec], r13
mov qword [rdi + 0x43f8], r13
mov qword [rdi + 0x4400], r13
mov qword [rdi + 0x4408], r13
mov byte [rdi + 0x2f91], al
mov dword [rdi + 0x2a70], r13d
mov qword [r15 + 0x480], rdi
mov qword [rbx], r15
mov byte [r15 + 0x488], al
lea ecx, [rax + 0x10]
call fcn.1400d6f28
mov r15, rax
mov qword [rbp - 0x69], rax
mov ecx, 0x10
call fcn.1400d6f28
mov qword [rax], rbx
lea rcx, [0x1400b9c40]
mov qword [rax + 8], rcx
mov qword [rbp - 0x49], rax
lea r13, [r15 + 8]
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x1400bc2b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [r15], rax
test rax, rax
je 0x1400aeac7
mov qword [rbx + 8], r15
mov ecx, 0x3520
call fcn.1400d6f28
mov rbx, rax
mov qword [rbp - 0x49], rax
xor edx, edx
mov r8d, 0x3520
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
lea r9, [rdi + 8]
mov r8d, r12d
mov r15, qword [rbp - 0x31]
mov rdx, r15
mov rcx, rbx
call fcn.140099de0
nop
mov qword [rdi], rax
test r12d, r12d
je 0x1400ae612
lea r8, [r15 + 4]
mov r9, r12
nop word [rax + rax]
movsxd rdx, dword [r8]
mov rcx, qword [rdi]
mov rax, qword [r8 + 0x4d84]
add qword [rcx + rdx*8 + 0x3138], rax
lea r8, [r8 + 0x4de0]
sub r9, 1
jne 0x1400ae5f0
mov qword [r14], rdi
mov qword [rsi], r14
mov byte [r14 + 8], 0
mov ecx, 0x10
call fcn.1400d6f28
mov rbx, rax
mov qword [rbp - 0x49], rax
mov ecx, 0x10
call fcn.1400d6f28
mov qword [rax], rsi
lea rcx, [0x1400b9ab0]
mov qword [rax + 8], rcx
mov qword [rbp - 0x31], rax
lea r14, [rbx + 8]
mov qword [rsp + 0x28], r14
xor r15d, r15d
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [0x1400bc2b0]
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 0x1400aeab8
mov qword [rsi + 8], rbx
lea rcx, [rdi + 0x198]
xor edx, edx
mov r8d, 0x15d
call sub.VCRUNTIME140.dll_memset
mov dword [rdi + 0x148], 0x41400000
movabs rax, 0xffe71e2a1ddb4fc1
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 0xffffffffffffffff
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xb8], xmm0
movabs rax, 0xffa731913f0e563c
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], 0xffffffffffffffff
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xc8], xmm0
movabs rax, 0x401439d42366b
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], r15
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xd8], xmm0
mov rax, qword [rdi + 0xb8]
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x49], r15
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xb8], xmm0
mov rax, qword [rdi + 0xc8]
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x49], r15
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xc8], xmm0
mov rax, qword [rdi + 0xd8]
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x49], r15
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xd8], xmm0
mov rax, qword [rdi + 0xc0]
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x41], rax
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xb8], xmm0
mov rax, qword [rdi + 0xd0]
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x41], rax
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xc8], xmm0
mov rax, qword [rdi + 0xe0]
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x41], rax
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0xd8], xmm0
mov rax, qword [rdi + 0xc0]
mov qword [rdi + 0x170], rax
mov rax, qword [rdi + 0xd0]
mov qword [rdi + 0x178], rax
mov rax, qword [rdi + 0xe0]
mov qword [rdi + 0x180], rax
mov qword [rbp - 0x49], r15
mov qword [rbp - 0x41], r15
movups xmm0, xmmword [rbp - 0x49]
movups xmmword [rdi + 0x188], xmm0
movabs rax, 0x3fbd517b60000000
mov qword [rdi + 0xe8], rax
movabs rax, 0x3fefc13be0000000
mov qword [rdi + 0xf0], rax
movabs rax, 0x3fa7bc5980000000
mov qword [rdi + 0xf8], rax
movabs rax, 0xbfcdecbaa0000000
mov qword [rdi + 0x100], rax
movabs rax, 0x3fb280c880000000
mov qword [rdi + 0x108], rax
movabs rax, 0xbfef06f1c0000000
mov qword [rdi + 0x110], rax
movsd xmm7, qword [rdi + 0xf8]
movaps xmm1, xmm7
mulsd xmm1, xmm7
movsd xmm8, qword [rdi + 0xf0]
movaps xmm0, xmm8
mulsd xmm0, xmm8
movsd xmm9, qword [rdi + 0xe8]
movaps xmm2, xmm9
mulsd xmm2, xmm9
addsd xmm2, xmm0
addsd xmm2, xmm1
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x1400ae885
sqrtpd xmm0, xmm2
jmp 0x1400ae88d
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movsd xmm6, qword [0x140101178]
movaps xmm2, xmm6
divsd xmm2, xmm0
movaps xmm3, xmm2
mulsd xmm3, xmm7
movaps xmm1, xmm2
mulsd xmm1, xmm8
mulsd xmm2, xmm9
movaps xmm0, xmm2
unpcklpd xmm0, xmm1
movups xmmword [rdi + 0xe8], xmm0
movsd qword [rbp - 0x39], xmm3
movsd qword [rdi + 0xf8], xmm3
movsd xmm5, qword [rdi + 0xf8]
movsd xmm8, qword [rdi + 0x110]
movaps xmm1, xmm8
mulsd xmm1, xmm5
movsd xmm4, qword [rdi + 0xf0]
movsd xmm9, qword [rdi + 0x108]
movaps xmm0, xmm9
mulsd xmm0, xmm4
movsd xmm3, qword [rdi + 0xe8]
movaps xmm2, xmm3
mulsd xmm2, qword [0x1401012f0]
addsd xmm2, xmm0
addsd xmm2, xmm1
mulsd xmm5, xmm2
mulsd xmm4, xmm2
mulsd xmm3, xmm2
subsd xmm8, xmm5
subsd xmm9, xmm4
movsd xmm7, qword [rdi + 0x100]
subsd xmm7, xmm3
movaps xmm1, xmm8
mulsd xmm1, xmm8
movaps xmm0, xmm9
mulsd xmm0, xmm9
movaps xmm2, xmm7
mulsd xmm2, xmm7
addsd xmm2, xmm0
addsd xmm2, xmm1
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x1400ae96a
sqrtpd xmm0, xmm2
jmp 0x1400ae972
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm2, xmm6
divsd xmm2, xmm0
movaps xmm3, xmm2
mulsd xmm3, xmm8
movaps xmm1, xmm2
mulsd xmm1, xmm9
mulsd xmm7, xmm2
movaps xmm0, xmm7
unpcklpd xmm0, xmm1
movups xmmword [rdi + 0x100], xmm0
movsd qword [rbp - 0x39], xmm3
movsd qword [rdi + 0x110], xmm3
mov edx, 1
lea rcx, [rbp - 0x49]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__timespec64_get]
imul rcx, qword [rbp - 0x49], 0x3b9aca00
movsxd rax, dword [rbp - 0x41]
dec rax
add rcx, rax
mov qword [rdi + 0x328], rcx
movabs rax, 0x3ff0000000000000
mov qword [rdi + 0x340], rax
mov r8d, dword [rdi + 0x118]
movsd xmm0, qword [0x140101228]
test r8d, r8d
jns 0x1400aea24
mov ecx, 0xffffffff
sub ecx, r8d
mov eax, 0xcccccccd
mul ecx
shr edx, 3
inc edx
mov ecx, edx
lea eax, [rdx + rdx*4]
lea r8d, [r8 + rax*2]
divsd xmm6, xmm0
sub rcx, 1
jne 0x1400aea12
movsd qword [rdi + 0x340], xmm6
cmp r8d, 0xa
jl 0x1400aea52
mov eax, 0xcccccccd
mul r8d
shr edx, 3
mov ecx, edx
imul eax, edx, 0xfffffff6
add r8d, eax
nop dword [rax]
mulsd xmm6, xmm0
sub rcx, 1
jne 0x1400aea40
movsd qword [rdi + 0x340], xmm6
movsxd rcx, r8d
lea rax, [0x1400ff420]
mulsd xmm6, qword [rax + rcx*8]
movsd qword [rdi + 0x340], xmm6
mov byte [rdi + 0x33f], 0
mov dword [rdi + 0x43e4], 1
mov rax, rdi
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.1400d6af0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [r14], r15d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [r13], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3