Function at 0x140142a68
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rsp + 0x70], xmm15
mov rax, qword [0x14049e048]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor r15d, r15d
mov r12d, r9d
and dword [rcx + 0xc], r15d
mov rsi, r8
cmp dword [0x1404c0468], r15d
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x28], r15d
je 0x140142af7
xor eax, eax
jmp 0x140143365
mov dword [0x1404c0468], 1
cmp qword [rcx + 0x50], r15
jle 0x14014335b
mov rax, qword [rdx]
cmp dword [rcx + 8], r15d
mov rcx, rdi
movsd xmm6, qword [0x1403681b0]
mov r8, qword [rax + 0x78]
je 0x140142b31
mov edx, 3
call r8
movaps xmm13, xmm6
jmp 0x140142b42
mov edx, 5
call r8
movsd xmm13, qword [0x1403681d8]
mov rax, qword [rbx + 0x40]
movabs rcx, 0x3ff0000000000000
movsd xmm6, qword [rbx + 0x30]
xorps xmm8, xmm8
movsd xmm15, qword [0x140364f30]
movaps xmm9, xmm6
movsd qword [rsp + 0x40], xmm6
mov qword [rsp + 0x20], rax
test rax, rax
je 0x140142d59
movsd xmm14, qword [0x1403e9d10]
mov r15, rcx
movsd xmm12, qword [0x140368168]
lea rdx, [rsp + 0x20]
call fcn.14001b514
mov r14, qword [rax]
movsd xmm10, qword [r14]
ucomisd xmm10, xmm8
jp 0x140142d38
jne 0x140142d38
test r12d, r12d
jne 0x140142d38
movups xmm6, xmmword [rsi]
movsd xmm7, qword [rbx + 0x28]
movaps xmm0, xmm10
movups xmmword [rsp + 0x50], xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm11, xmm0
movaps xmm0, xmm10
mulsd xmm11, qword [r14 + 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mulsd xmm0, qword [r14 + 0x18]
lea rdx, [rsp + 0x48]
mov r10, qword [rdi]
mov rcx, rdi
movdqa xmm1, xmm6
movd r8d, xmm6
psrldq xmm1, 8
movq r9, xmm1
shr r9, 0x20
addsd xmm11, xmm0
call qword [r10 + 0x80]
mov rcx, qword [rdi + 0x10]
lea r8d, [r12 + 2]
lea rdx, [rsp + 0x50]
call qword [sym.imp.GDI32.dll_DPtoLP]
movsd xmm1, qword [rbx + 0x30]
comisd xmm1, xmm8
jbe 0x140142c9e
mov ecx, dword [rsp + 0x54]
test ecx, ecx
jle 0x140142c9e
mov rax, qword [rsp + 0x58]
test eax, eax
jle 0x140142c9e
movsd xmm2, qword [rbx + 0x18]
ucomisd xmm2, xmm8
jp 0x140142c61
jne 0x140142c61
movd xmm0, eax
cvtdq2pd xmm0, xmm0
jmp 0x140142c6d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm2
movsd xmm2, qword [rbx + 0x20]
ucomisd xmm2, xmm8
jp 0x140142c85
jne 0x140142c85
movd xmm7, ecx
cvtdq2pd xmm7, xmm7
jmp 0x140142c91
movd xmm7, ecx
cvtdq2pd xmm7, xmm7
divsd xmm7, xmm2
minsd xmm7, xmm0
mulsd xmm1, xmm13
divsd xmm7, xmm1
movsd xmm6, qword [0x1403650e8]
mulsd xmm7, xmm13
mulsd xmm7, xmm11
andps xmm7, xmm15
comisd xmm6, xmm7
jb 0x140142cd0
cmp dword [r14 + 0x28], 0
jne 0x140142cd0
movsd xmm9, qword [0x140364ff0]
mov qword [rbx + 0x30], r15
jmp 0x140142d38
comisd xmm7, xmm6
jbe 0x140142d02
comisd xmm14, xmm7
jb 0x140142d02
movsd xmm11, qword [0x140364f68]
comisd xmm9, xmm11
jbe 0x140142cf7
movaps xmm9, xmm11
movaps xmm0, xmm11
jmp 0x140142cfb
movaps xmm0, xmm9
movsd qword [rbx + 0x30], xmm0
jmp 0x140142d38
comisd xmm7, xmm14
jbe 0x140142d38
movsd xmm0, qword [0x1403e9d70]
comisd xmm0, xmm7
jb 0x140142d38
comisd xmm9, xmm12
jbe 0x140142d32
movabs rax, 0x4008000000000000
movaps xmm9, xmm12
mov qword [rbx + 0x30], rax
jmp 0x140142d38
movsd qword [rbx + 0x30], xmm9
cmp qword [rsp + 0x20], 0
jne 0x140142b8f
movsd xmm6, qword [rsp + 0x40]
movabs rcx, 0x3ff0000000000000
mov r15d, dword [rsp + 0x28]
cmp qword [rbx + 0x50], 0x14
jl 0x140142d69
test r12d, r12d
jne 0x140142d69
mov qword [rbx + 0x30], rcx
mov rax, qword [rdi]
lea rdx, [rsp + 0x48]
mov r9d, dword [rsi + 0xc]
mov rcx, rdi
mov r8d, dword [rsi]
call qword [rax + 0x80]
mov rcx, qword [rdi + 0x10]
mov r8d, 2
mov rdx, rsi
call qword [sym.imp.GDI32.dll_DPtoLP]
movsd xmm2, qword [rbx + 0x30]
comisd xmm2, xmm8
jbe 0x140142df4
cmp dword [rsi + 4], 0
jle 0x140142df4
cmp dword [rsi + 8], 0
jle 0x140142df4
movsd xmm0, qword [rbx + 0x18]
ucomisd xmm0, xmm8
movd xmm1, dword [rsi + 8]
cvtdq2pd xmm1, xmm1
jp 0x140142dc3
je 0x140142dc7
divsd xmm1, xmm0
movsd xmm3, qword [rbx + 0x20]
ucomisd xmm3, xmm8
movd xmm0, dword [rsi + 4]
cvtdq2pd xmm0, xmm0
jp 0x140142dde
je 0x140142de2
divsd xmm0, xmm3
minsd xmm0, xmm1
mulsd xmm2, xmm13
divsd xmm0, xmm2
movsd qword [rbx + 0x28], xmm0
mov rax, qword [rbx + 0x40]
mov r12d, 1
mulsd xmm13, qword [rbx + 0x28]
mov qword [rsp + 0x40], rax
movsd qword [rbx + 0x30], xmm6
test rax, rax
je 0x140143357
cmp r15d, r12d
je 0x140143357
lea rdx, [rsp + 0x40]
call fcn.14001b514
mov rdi, qword [rax]
movsd xmm0, qword [rdi]
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm9, xmm0
movsd xmm0, qword [rdi]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movsd xmm2, qword [0x1403e9ba8]
movaps xmm1, xmm9
andps xmm1, xmm15
movaps xmm11, xmm0
comisd xmm2, xmm1
jbe 0x140142e61
movaps xmm9, xmm8
movaps xmm1, xmm0
andps xmm1, xmm15
comisd xmm2, xmm1
jbe 0x140142e72
movaps xmm11, xmm8
movaps xmm0, xmm11
movaps xmm5, xmm9
mulsd xmm0, qword [rdi + 0x20]
movaps xmm10, xmm13
mulsd xmm5, qword [rdi + 0x18]
movaps xmm12, xmm13
mulsd xmm10, qword [rdi + 8]
movaps xmm6, xmm9
mulsd xmm12, qword [rdi + 0x10]
movaps xmm1, xmm9
mulsd xmm6, qword [rdi + 0x20]
subsd xmm5, xmm0
movaps xmm0, xmm11
movsd qword [rsp + 0x50], xmm10
mulsd xmm0, qword [rdi + 0x18]
andps xmm1, xmm15
comisd xmm2, xmm1
addsd xmm6, xmm0
movsd qword [rsp + 0x48], xmm12
ja 0x140142f09
movaps xmm0, xmm11
divsd xmm0, xmm9
comisd xmm0, xmm8
ja 0x140142f09
mov eax, dword [rsi + 0xc]
mov r11d, dword [rsi]
mov r14d, dword [rsi + 8]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsi + 4]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x28], r11d
mov rdx, qword [rsp + 0x28]
mov dword [rsp + 0x30], r14d
mov r8, qword [rsp + 0x30]
jmp 0x140142f24
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
mov qword [rsp + 0x28], rdx
mov r11d, dword [rsp + 0x28]
mov qword [rsp + 0x30], r8
mov r14d, dword [rsp + 0x30]
movaps xmm0, xmm5
andps xmm0, xmm15
comisd xmm2, xmm0
ja 0x140142f6a
movaps xmm0, xmm6
divsd xmm0, xmm5
comisd xmm0, xmm8
ja 0x140142f6a
mov eax, dword [rsi + 0xc]
mov r9d, dword [rsi]
mov r10d, dword [rsi + 8]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsi + 4]
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x38], r9d
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0x20], r10d
mov rcx, qword [rsp + 0x20]
jmp 0x140142f85
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x38], rax
mov r9d, dword [rsp + 0x38]
mov qword [rsp + 0x20], rcx
mov r10d, dword [rsp + 0x20]
xorps xmm0, xmm0
shr rdx, 0x20
cvtsi2sd xmm0, r11d
shr r8, 0x20
shr rax, 0x20
shr rcx, 0x20
xorps xmm14, xmm14
xorps xmm7, xmm7
cvtsi2sd xmm14, edx
mulsd xmm0, xmm11
movaps xmm3, xmm6
cvtsi2sd xmm7, r8d
mulsd xmm14, xmm9
movaps xmm4, xmm5
mulsd xmm3, xmm9
movaps xmm2, xmm6
mulsd xmm2, xmm10
xorps xmm10, xmm10
subsd xmm14, xmm0
mulsd xmm4, xmm11
xorps xmm0, xmm0
mulsd xmm7, xmm9
cvtsi2sd xmm0, r14d
cvtsi2sd xmm10, r10d
mulsd xmm0, xmm11
movaps xmm1, xmm3
subsd xmm1, xmm4
mulsd xmm10, xmm6
subsd xmm4, xmm3
subsd xmm7, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm7, xmm1
mulsd xmm0, xmm5
divsd xmm14, xmm1
movaps xmm1, xmm5
comisd xmm14, xmm7
mulsd xmm1, xmm12
xorps xmm12, xmm12
cvtsi2sd xmm12, r9d
mulsd xmm12, xmm6
subsd xmm12, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
subsd xmm12, xmm2
mulsd xmm0, xmm5
addsd xmm12, xmm1
subsd xmm10, xmm0
divsd xmm12, xmm4
subsd xmm10, xmm2
addsd xmm10, xmm1
divsd xmm10, xmm4
jbe 0x140143073
movaps xmm0, xmm14
movaps xmm14, xmm7
movaps xmm7, xmm0
mov r14d, dword [rdi + 0x28]
xor ecx, ecx
addsd xmm14, qword [0x1403e9ee0]
addsd xmm7, qword [0x1403e9ba8]
test r14d, r14d
jle 0x1401430cf
lea rax, [rdi + 0x98]
movsd xmm1, qword [rax - 0x68]
add ecx, r12d
andps xmm1, xmm15
movaps xmm0, xmm1
mulsd xmm1, xmm11
mulsd xmm0, xmm9
mulsd xmm1, xmm13
mulsd xmm0, xmm13
movsd qword [rax + 0x30], xmm1
movsd qword [rax], xmm0
lea rax, [rax + 8]
mov r14d, dword [rdi + 0x28]
cmp ecx, r14d
jl 0x140143096
movsd qword [rdi + 0x60], xmm14
movsd qword [rdi + 0x68], xmm7
test r14d, r14d
jle 0x1401432c7
movsd xmm1, qword [0x140364f68]
movaps xmm0, xmm12
mulsd xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x140364f68]
movaps xmm6, xmm0
movaps xmm0, xmm12
mulsd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x140364f68]
addsd xmm6, xmm0
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
movsd qword [rsp + 0x50], xmm0
movaps xmm0, xmm10
mulsd xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x140364f68]
movaps xmm6, xmm0
movaps xmm0, xmm10
mulsd xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
comisd xmm8, xmm12
addsd xmm6, xmm0
xorps xmm1, xmm1
movaps xmm3, xmm8
movaps xmm2, xmm8
sqrtsd xmm1, xmm6
jbe 0x140143179
movsd xmm3, qword [rsp + 0x50]
addsd xmm3, xmm8
jmp 0x140143184
movsd xmm2, qword [rsp + 0x50]
addsd xmm2, xmm8
comisd xmm8, xmm10
jbe 0x140143191
addsd xmm3, xmm1
jmp 0x140143195
addsd xmm2, xmm1
movaps xmm1, xmm8
mov ecx, r14d
lea rax, [rdi + 0x30]
movsd xmm0, qword [rax]
add rax, 8
andps xmm0, xmm15
mulsd xmm0, xmm13
addsd xmm1, xmm0
sub rcx, r12
jne 0x1401431a0
movaps xmm0, xmm3
movd xmm4, r14d
divsd xmm0, xmm1
cvtdq2pd xmm4, xmm4
mulsd xmm0, xmm4
comisd xmm0, xmmword [0x1403e9e98]
ja 0x140143351
movaps xmm0, xmm2
divsd xmm0, xmm1
mulsd xmm0, xmm4
comisd xmm0, xmmword [0x1403e9e98]
ja 0x140143351
comisd xmm3, xmm8
movaps xmm4, xmm8
jb 0x14014324e
movaps xmm0, xmm4
lea rax, [rdi + 0x30]
xor edx, edx
movsd xmm1, qword [rax]
andps xmm1, xmm15
mulsd xmm1, xmm13
addsd xmm4, xmm1
comisd xmm4, xmm3
ja 0x14014322f
add ecx, r12d
add edx, r12d
add rax, 8
cmp edx, r14d
jl 0x140143209
subsd xmm0, xmm4
call fcn.140120b24
test al, al
jne 0x140143242
comisd xmm3, xmm4
jae 0x140143200
cmp ecx, 0xc350
jg 0x140143351
mov dword [rdi + 0x90], ecx
movaps xmm3, xmm8
xor ecx, ecx
comisd xmm2, xmm8
jb 0x1401432bf
movsxd r8, r14d
dec r8
movaps xmm1, xmm3
mov rdx, r8
test r8, r8
js 0x14014329d
lea rax, [rdi + 0x30]
lea rax, [rax + r8*8]
movsd xmm0, qword [rax]
andps xmm0, xmm15
mulsd xmm0, xmm13
addsd xmm3, xmm0
comisd xmm3, xmm2
ja 0x14014329d
add ecx, r12d
sub rax, 8
sub rdx, r12
jns 0x14014327a
subsd xmm1, xmm3
movaps xmm0, xmm1
call fcn.140120b24
test al, al
jne 0x1401432b3
comisd xmm2, xmm3
jae 0x140143267
cmp ecx, 0xc350
jg 0x140143351
mov dword [rdi + 0x94], ecx
jmp 0x140143329
xorps xmm12, xmmword [0x140368200]
xorps xmm10, xmmword [0x140368200]
movaps xmm0, xmm12
mulsd xmm0, xmm9
mulsd xmm12, xmm11
addsd xmm0, qword [rsp + 0x50]
addsd xmm12, qword [rsp + 0x48]
movsd qword [rdi + 0x70], xmm0
movaps xmm0, xmm10
mulsd xmm0, xmm9
mulsd xmm10, xmm11
movsd qword [rdi + 0x78], xmm12
addsd xmm0, qword [rsp + 0x50]
addsd xmm10, qword [rsp + 0x48]
movsd qword [rdi + 0x80], xmm0
movsd qword [rdi + 0x88], xmm10
subsd xmm7, xmm14
andps xmm7, xmm15
divsd xmm7, xmm13
comisd xmm7, xmmword [0x1403681b0]
cmova r15d, r12d
cmp qword [rsp + 0x40], 0
jne 0x140142e17
jmp 0x140143357
mov r15d, 2
mov dword [rbx + 0xc], r12d
and dword [0x1404c0468], 0
mov eax, r15d
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140088c50
lea r11, [rsp + 0x110]
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]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [rsp + 0x70]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret