Function at 0x14003d1f0
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rsp + 0x70], xmm13
mov rax, qword [0x1400dc040]
xor rax, rsp
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x69], rdx
mov qword [rbp - 0x61], rcx
xor edi, edi
cmp byte [0x14014ee4d], dil
jne 0x14003d5cd
cmp byte [0x14014f0cd], dil
je 0x14003d269
mov byte [0x14014f0cd], dil
mov r11, qword [0x14014eec8]
movss xmm3, dword [r11 + 0xf8]
movss xmm1, dword [r11 + 0x394c]
movss xmm10, dword [rbp - 0x61]
movaps xmm0, xmm10
subss xmm0, xmm1
comiss xmm3, xmm0
jb 0x14003da5e
movss xmm4, dword [r11 + 0xfc]
movss xmm2, dword [r11 + 0x3950]
movss xmm11, dword [rbp - 0x5d]
movaps xmm0, xmm11
subss xmm0, xmm2
comiss xmm4, xmm0
jb 0x14003da5e
movss xmm9, dword [rbp - 0x69]
addss xmm1, xmm9
comiss xmm1, xmm3
jbe 0x14003da5e
movss xmm8, dword [rbp - 0x65]
addss xmm2, xmm8
comiss xmm2, xmm4
jbe 0x14003da5e
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140058fe0
movss xmm12, dword [0x14014f0bc]
movss xmm13, dword [0x14014f0b8]
movss xmm5, dword [0x14014dafc]
movss xmm4, dword [0x14014daf8]
test al, al
je 0x14003d44e
cmp byte [0x14014f0ce], dil
jne 0x14003d3b8
movss xmm2, dword [r11 + 0xf8]
movss xmm3, dword [r11 + 0xfc]
subss xmm2, xmm10
movaps xmm0, xmm9
subss xmm0, xmm10
divss xmm2, xmm0
subss xmm3, xmm11
movaps xmm0, xmm8
subss xmm0, xmm11
divss xmm3, xmm0
movaps xmm1, xmm4
subss xmm1, xmm13
movaps xmm0, xmm5
subss xmm0, xmm12
mulss xmm2, xmm1
mulss xmm3, xmm0
addss xmm2, xmm13
addss xmm3, xmm12
movss dword [0x14014f0e8], xmm2
movss dword [0x14014f0ec], xmm3
mov rax, qword [0x14014db58]
cmp rax, qword [0x14014db60]
je 0x14003d3ac
mov qword [0x14014db60], rax
mov byte [0x14014f0ce], 1
jmp 0x14003d45b
movsd xmm0, qword [r11 + 0xf8]
movaps xmm3, xmm0
subss xmm3, xmm10
subss xmm9, xmm10
divss xmm3, xmm9
movaps xmm2, xmm0
shufps xmm2, xmm2, 0x55
subss xmm2, xmm11
subss xmm8, xmm11
divss xmm2, xmm8
subss xmm4, xmm13
subss xmm5, xmm12
mulss xmm3, xmm4
mulss xmm2, xmm5
addss xmm3, xmm13
addss xmm2, xmm12
movss dword [0x14014ee38], xmm3
movss dword [0x14014ee3c], xmm2
movss xmm0, dword [0x14014f0e8]
movss dword [rbp - 0x79], xmm0
movss xmm1, dword [0x14014f0ec]
movss dword [rbp - 0x75], xmm1
movss dword [rbp - 0x71], xmm3
movss dword [rbp - 0x6d], xmm2
lea rcx, [rbp - 0x79]
call fcn.14003b410
mov byte [0x14014f0ce], dil
jmp 0x14003da5e
cmp byte [0x14014f0ce], dil
je 0x14003da5e
movss xmm6, dword [r11 + 0xf8]
movss xmm7, dword [r11 + 0xfc]
subss xmm9, xmm10
subss xmm6, xmm10
divss xmm6, xmm9
subss xmm8, xmm11
subss xmm7, xmm11
divss xmm7, xmm8
subss xmm4, xmm13
subss xmm5, xmm12
mulss xmm6, xmm4
mulss xmm7, xmm5
addss xmm6, xmm13
addss xmm7, xmm12
mov rax, qword [r11 + 0x4b18]
lea r8, str.Foreground
mov edx, 1
mov rcx, qword [rax]
call fcn.14004ece0
mov rbx, rax
mov r9b, 1
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x61]
mov rcx, rax
call fcn.14006ce10
movss xmm3, dword [0x14014daf8]
movss xmm0, dword [0x14014f0b8]
subss xmm3, xmm0
movss xmm5, dword [0x14014dafc]
movss xmm2, dword [0x14014f0bc]
subss xmm5, xmm2
subss xmm6, xmm0
divss xmm6, xmm3
subss xmm7, xmm2
divss xmm7, xmm5
mulss xmm6, xmm9
addss xmm6, xmm10
mulss xmm7, xmm8
addss xmm7, xmm11
movss xmm1, dword [0x14014f0e8]
subss xmm1, xmm0
divss xmm1, xmm3
movss xmm4, dword [0x14014f0ec]
subss xmm4, xmm2
divss xmm4, xmm5
mulss xmm1, xmm9
addss xmm1, xmm10
mulss xmm4, xmm8
addss xmm4, xmm11
movss xmm3, dword [0x1400ca110]
movss xmm2, dword [0x1400ca2d0]
unpcklps xmm6, xmm7
movq rdx, xmm6
unpcklps xmm1, xmm4
movq rcx, xmm1
call fcn.1400409c0
mov eax, dword [rbx + 0x98]
sub eax, 1
mov dword [rbx + 0x98], eax
jne 0x14003d5aa
mov rax, qword [rbx + 0x38]
add rax, 0x1c
movups xmm0, xmmword [rax]
movups xmmword [rbx + 0x60], xmm0
mov rcx, rbx
call fcn.14006cc30
jmp 0x14003da5e
dec eax
cdqe
shl rax, 4
add rax, qword [rbx + 0xa0]
movups xmm0, xmmword [rax]
movups xmmword [rbx + 0x60], xmm0
mov rcx, rbx
call fcn.14006cc30
jmp 0x14003da5e
mov esi, 8
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
lea r14, [0x14014f398]
mov eax, dword [rsi + rbx]
cmp dword [0x14014f394], eax
jle 0x14003d6b9
lea rcx, [0x14014f394]
call fcn.14009ab60
cmp dword [0x14014f394], 0xffffffff
jne 0x14003d6b9
xorps xmm0, xmm0
movups xmmword [0x14014f3a8], xmm0
movdqu xmmword [0x14014f398], xmm0
mov qword [0x14014f3a8], rdi
lea rax, [0x14014ee4d]
mov qword [0x14014f3b8], rax
mov ecx, 8
call fcn.14009aa40
mov qword [rax], r14
mov qword [rbp - 0x59], rax
lea rcx, [rbp - 0x71]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
mov r9, rax
lea r8, [0x1400447d0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x79], rax
test rax, rax
je 0x14003d7ed
cmp dword [rbp - 0x71], 0
je 0x14003d7e1
movaps xmm0, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x59], xmm0
lea rcx, [rbp - 0x59]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14003d7e1
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x79], xmm0
lea rcx, [0x14009f8a0]
call fcn.14009aed0
nop
lea rcx, [0x14014f394]
call fcn.14009aaf4
mov eax, dword [rsi + rbx]
cmp dword [0x14014f420], eax
jle 0x14003d6f1
lea rcx, [0x14014f420]
call fcn.14009ab60
cmp dword [0x14014f420], 0xffffffff
jne 0x14003d6f1
lea rcx, [0x14014f408]
call fcn.1400013d0
lea rcx, [0x14014f420]
call fcn.14009aaf4
mov eax, dword [rsi + rbx]
cmp dword [0x14014f410], eax
jle 0x14003d729
lea rcx, [0x14014f410]
call fcn.14009ab60
cmp dword [0x14014f410], 0xffffffff
jne 0x14003d729
lea rcx, [0x14009f830]
call fcn.14009aed0
lea rcx, [0x14014f410]
call fcn.14009aaf4
mov rbx, qword [0x14014db58]
mov rax, qword [0x14014db60]
cmp byte [0x14014f0cd], 0
jne 0x14003d756
cmp rbx, rax
je 0x14003d74f
mov rax, rbx
mov qword [0x14014db60], rbx
mov byte [0x14014f0cd], 1
movzx ecx, byte [0x14014f3b0]
cmp byte [0x14014f3b1], 0
je 0x14003d784
test cl, cl
je 0x14003da5e
cmp rbx, rax
je 0x14003d77d
mov rax, rbx
mov qword [0x14014db60], rbx
mov byte [0x14014f3b1], 0
test cl, cl
je 0x14003da5e
cmp rbx, rax
je 0x14003d81d
movss xmm0, dword [rbx + 0xc]
subss xmm0, dword [rbx + 4]
cvtps2pd xmm0, xmm0
movsd xmm1, qword [0x1400ca1e8]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movss xmm0, dword [rbx + 8]
subss xmm0, dword [rbx]
cvtps2pd xmm0, xmm0
movsd xmm1, qword [0x1400ca1e8]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x14003d7fc
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x14003d804
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp - 0x71], edi
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
comisd xmm1, xmmword [0x1400ca1b8]
ja 0x14003da5e
lea rcx, [rbp - 0x59]
call fcn.1400013d0
mov rdx, qword [rbp - 0x59]
mov rax, rdx
sub rax, qword [0x14014f408]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, qword [0x1400ca2c0]
comisd xmm0, xmmword [0x1400ca1c0]
jb 0x14003da5e
mov qword [0x14014f408], rdx
mov rcx, r14
call fcn.140039cc0
test al, al
je 0x14003da5e
mov r8, qword [0x14014db60]
mov rax, r8
mov rcx, qword [0x14014db58]
sub rax, rcx
sar rax, 4
cmp rax, 1
jbe 0x14003d89b
lea rdx, [rcx + 0x10]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
sub qword [0x14014db60], 0x10
mov rax, qword [0x14014f0f0]
mov rdx, qword [0x14014f0f8]
cmp rax, rdx
je 0x14003d8b8
mov rdx, rax
mov qword [0x14014f0f8], rax
mov rdi, qword [0x14014f3a0]
mov rbx, qword [0x14014f398]
movss xmm11, dword [rbp - 0x65]
movss xmm12, dword [rbp - 0x69]
movss xmm7, dword [rbp - 0x5d]
movss xmm8, dword [rbp - 0x61]
cmp rbx, rdi
je 0x14003d9b6
movaps xmm9, xmm12
subss xmm9, xmm8
movaps xmm10, xmm11
subss xmm10, xmm7
movss xmm6, dword [0x1400ca33c]
movss xmm2, dword [rbx]
divss xmm2, xmm6
movss xmm3, dword [rbx + 4]
divss xmm3, xmm6
subss xmm2, dword [0x14014f0b8]
movss xmm1, dword [0x14014daf8]
subss xmm1, dword [0x14014f0b8]
divss xmm2, xmm1
mulss xmm2, xmm9
addss xmm2, xmm8
movss dword [rbp - 0x59], xmm2
subss xmm3, dword [0x14014f0bc]
movss xmm1, dword [0x14014dafc]
subss xmm1, dword [0x14014f0bc]
divss xmm3, xmm1
mulss xmm3, xmm10
addss xmm3, xmm7
movss dword [rbp - 0x55], xmm3
cmp rdx, qword [0x14014f100]
je 0x14003d992
movaps xmm0, xmm2
unpcklps xmm0, xmm3
movsd qword [rbp - 0x59], xmm0
movsd qword [rdx], xmm0
mov rdx, qword [0x14014f0f8]
add rdx, 8
mov qword [0x14014f0f8], rdx
jmp 0x14003d9a2
lea r8, [rbp - 0x59]
call fcn.140043370
mov rdx, qword [0x14014f0f8]
add rbx, 8
cmp rbx, rdi
jne 0x14003d900
mov rax, qword [0x14014f0f0]
subss xmm12, xmm8
movss xmm1, dword [rax]
subss xmm1, xmm8
divss xmm1, xmm12
subss xmm11, xmm7
movss xmm0, dword [rax + 4]
subss xmm0, xmm7
divss xmm0, xmm11
movss xmm3, dword [0x14014daf8]
movss xmm5, dword [0x14014f0b8]
subss xmm3, xmm5
movss xmm2, dword [0x14014dafc]
movss xmm4, dword [0x14014f0bc]
subss xmm2, xmm4
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm1, xmm5
movss dword [rbp - 0x79], xmm1
addss xmm0, xmm4
movss dword [rbp - 0x75], xmm0
movss xmm1, dword [rax + 8]
subss xmm1, xmm8
divss xmm1, xmm12
movss xmm0, dword [rax + 0xc]
subss xmm0, xmm7
divss xmm0, xmm11
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm1, xmm5
movss dword [rbp - 0x71], xmm1
addss xmm0, xmm4
movss dword [rbp - 0x6d], xmm0
lea rcx, [rbp - 0x79]
call fcn.14003b410
mov rcx, qword [rbp - 0x49]
xor rcx, rsp
call fcn.14009aa20
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret