Function at 0x1400021a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x118]
sub rsp, 0x210
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
movaps xmmword [rax - 0x98], xmm14
movaps xmmword [rax - 0xa8], xmm15
mov rax, qword [0x140040010]
xor rax, rsp
mov qword [rbp + 0x60], rax
xor eax, eax
mov qword [rbp - 0x78], 0xfc6
xor ebx, ebx
mov dword [rbp - 0x10], eax
mov qword [rbp + 4], rax
lea r8, [rbp - 0x80]
mov rax, qword [0x1400408c0]
xorps xmm0, xmm0
add rax, 0x10cb8d0
mov qword [rsp + 0x38], rbx
mov qword [rbp - 0x70], rax
lea r9d, [rbx + 0x28]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x30], rbx
mov qword [rbp - 0x68], rax
mov rdi, rdx
mov eax, dword [0x1400408c8]
mov rsi, rcx
mov rcx, qword [0x1400408d0]
xorps xmm1, xmm1
mov dword [rsp + 0x28], ebx
mov edx, 0x2209a4
mov dword [rbp - 0x7c], eax
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm1
movaps xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0xc], xmm0
mov dword [rbp - 0x80], 0xcabd5e5
mov qword [rbp - 0x60], 0x50
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movaps xmm0, xmmword [rbp - 0x40]
lea rcx, [rbp + 0x10]
movaps xmm1, xmmword [rbp - 0x30]
mov dl, 0x40
movaps xmmword [rbp + 0x10], xmm0
movaps xmm0, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x30], xmm0
movaps xmm0, xmmword [rbp]
movaps xmmword [rbp + 0x20], xmm1
movaps xmm1, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0x50], xmm0
movaps xmmword [rbp + 0x40], xmm1
xor byte [rcx], dl
lea eax, [rbx + 0x17]
add dl, al
lea rcx, [rcx + 1]
inc ebx
cmp ebx, 0x40
jl 0x1400022c0
cmp byte [0x1400408da], 0
movups xmm0, xmmword [rbp + 0x28]
movsd xmm5, qword [rbp + 0x20]
movsd xmm2, qword [rbp + 0x38]
movss xmm3, dword [rbp + 0x40]
movaps xmm4, xmmword [rbp + 0x10]
movups xmmword [rbp - 0x68], xmm0
movups xmm0, xmmword [rbp - 0x70]
movups xmm1, xmmword [rbp - 0x60]
movsd xmm0, xmm5
movups xmmword [rbp - 0x70], xmm0
movups xmmword [0x1400401b0], xmm0
movsd xmm0, qword [rbp - 0x50]
movss xmm0, xmm3
unpcklpd xmm1, xmm2
movsd qword [rbp - 0x50], xmm0
movsd qword [0x1400401d0], xmm0
movups xmmword [0x1400401a0], xmm4
movups xmmword [rbp - 0x60], xmm1
movups xmmword [0x1400401c0], xmm1
je 0x140002440
movzx eax, word [0x140035858]
lea rdx, [rsp + 0x60]
xorps xmm0, xmm0
mov qword [rbp - 0x70], 0xa
movups xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
mov qword [rbp - 0x68], 0xf
movsd xmm0, qword [str.Location:]
movsd qword [rbp - 0x80], xmm0
mov word [rbp - 0x78], ax
mov byte [rbp - 0x76], 0
movaps xmmword [rsp + 0x60], xmm4
movsd qword [rsp + 0x70], xmm5
call fcn.1400327a0
movzx eax, word [0x140035868]
lea rdx, [rsp + 0x60]
movsd xmm1, qword [0x1400401c8]
lea rcx, [rbp - 0x80]
xorps xmm0, xmm0
mov qword [rbp - 0x70], 0xa
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x68], 0xf
movsd xmm0, qword [str.Rotation:]
movsd qword [rbp - 0x80], xmm0
movups xmm0, xmmword [0x1400401b8]
mov word [rbp - 0x78], ax
mov byte [rbp - 0x76], 0
movaps xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x70], xmm1
call fcn.1400327a0
mov eax, dword [str.Fov:]
lea rdx, [rsp + 0x50]
movss xmm1, dword [0x1400401d0]
lea rcx, [rbp - 0x80]
movsd xmm2, qword [0x140039910]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x80], eax
movzx eax, byte [0x140035870]
cvtps2pd xmm1, xmm1
mov qword [rbp - 0x70], 5
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x7c], al
mov byte [rbp - 0x7b], 0
movaps xmm0, xmm1
unpcklpd xmm0, xmm2
movdqa xmmword [rsp + 0x50], xmm0
call fcn.1400326c0
movsd xmm4, qword [0x1400398f0]
movsd xmm3, qword [0x140039920]
movsd xmm0, qword [0x1400401b8]
movsd xmm1, qword [0x1400401c0]
movsd xmm2, qword [0x1400401c8]
mulsd xmm0, xmm4
mulsd xmm1, xmm4
mulsd xmm2, xmm4
divsd xmm0, xmm3
divsd xmm1, xmm3
divsd xmm2, xmm3
cvtpd2ps xmm6, xmm0
cvtpd2ps xmm7, xmm1
movaps xmm0, xmm6
cvtpd2ps xmm8, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm9, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm6, xmm0
movaps xmm0, xmm7
movss dword [rsp + 0x44], xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm14, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm15, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movsd xmm10, qword [rdi]
movaps xmm12, xmm0
subsd xmm10, qword [0x1400401a0]
movsd xmm11, qword [rdi + 8]
xorps xmm2, xmm2
subsd xmm11, qword [0x1400401a8]
movsd xmm13, qword [rdi + 0x10]
movaps xmm1, xmm14
mulss xmm1, dword [rsp + 0x40]
movaps xmm8, xmm15
subsd xmm13, qword [0x1400401b0]
movss dword [rsp + 0x50], xmm0
movaps xmm0, xmm6
mulss xmm0, dword [rsp + 0x40]
xorps xmm6, xmm6
cvtsi2ss xmm6, dword [0x140040984]
cvtss2sd xmm2, xmm0
mulss xmm6, dword [0x140039890]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
mulsd xmm2, xmm11
xorps xmm1, xmm1
mulsd xmm0, xmm10
cvtss2sd xmm1, xmm9
addsd xmm2, xmm0
mulss xmm8, xmm9
movss xmm0, dword [0x1400401d0]
mulss xmm0, dword [0x14003990c]
mulss xmm12, xmm9
divss xmm0, dword [0x140039998]
movsd xmm9, qword [0x1400398d8]
mulsd xmm1, xmm13
addsd xmm2, xmm1
maxsd xmm9, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movss xmm3, dword [rsp + 0x44]
movaps xmm1, xmm6
divss xmm1, xmm0
xorps xmm4, xmm4
movaps xmm2, xmm14
cvtps2pd xmm5, xmm1
movss xmm1, dword [rsp + 0x50]
movaps xmm0, xmm1
mulss xmm2, xmm8
mulss xmm0, xmm3
mulss xmm1, xmm14
subss xmm2, xmm0
cvtss2sd xmm4, xmm2
mulsd xmm4, xmm10
movaps xmm0, xmm3
movaps xmm2, xmm15
mulss xmm0, xmm8
mov rax, rsi
addss xmm1, xmm0
movaps xmm0, xmm15
xorps xmm0, xmmword [0x14003a010]
mulss xmm0, dword [rsp + 0x40]
mulss xmm15, xmm14
cvtps2pd xmm1, xmm1
cvtss2sd xmm0, xmm0
mulsd xmm1, xmm11
mulsd xmm0, xmm13
addsd xmm4, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [0x140040980]
addsd xmm4, xmm0
mulss xmm1, dword [0x140039890]
cvtps2pd xmm0, xmm6
mulsd xmm4, xmm5
movaps xmm6, xmm3
mulss xmm2, xmm6
mulss xmm6, xmm12
divsd xmm4, xmm9
subss xmm15, xmm6
addsd xmm4, xmm0
movaps xmm0, xmm14
mulss xmm0, xmm12
addss xmm2, xmm0
movsd qword [rsi], xmm4
cvtps2pd xmm4, xmm1
xorps xmm2, xmmword [0x14003a010]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtss2sd xmm1, xmm2
cvtss2sd xmm0, xmm15
mulsd xmm1, xmm10
mulsd xmm0, xmm11
addsd xmm1, xmm0
movss xmm0, dword [rsp + 0x50]
mulss xmm0, dword [rsp + 0x40]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm13
addsd xmm1, xmm0
mulsd xmm1, xmm5
divsd xmm1, xmm9
subsd xmm4, xmm1
movsd qword [rsi + 8], xmm4
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400330e0
lea r11, [rsp + 0x210]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
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 [r11 - 0xa0]
mov rsp, r11
pop rbp
ret