Function at 0x140003a90
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
push rdi
sub rsp, 0x110
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov rax, qword [0x140058010]
xor rax, rsp
mov qword [rsp + 0xc0], rax
xorps xmm0, xmm0
mov dword [rsp + 0x40], 0x50
movaps xmmword [rsp + 0x70], xmm0
mov rsi, rcx
mov rcx, qword [0x140058d90]
xorps xmm1, xmm1
movaps xmmword [rsp + 0x90], xmm0
mov rbx, r8
movaps xmmword [rsp + 0x80], xmm1
mov rdi, rdx
mov dword [rsp + 0x50], 1
mov eax, dword [rcx]
mov dword [rsp + 0x28], eax
mov rax, qword [0x140058cd8]
add rax, 0xe99fea0
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x44], eax
lea rax, [rcx + 0x18]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x28]
movups xmm0, xmmword [rsp + 0x48]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 8]
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
lea rcx, [rsp + 0x70]
mov r8b, 0x40
xor edx, edx
xor byte [rcx], r8b
lea eax, [rdx + 0x17]
add r8b, al
lea rcx, [rcx + 1]
inc edx
cmp edx, 0x40
jl 0x140003b71
movsd xmm0, qword [rsi]
movaps xmm2, xmmword [rsp + 0x70]
movsd xmm1, qword [rsi + 8]
subsd xmm0, xmm2
unpckhpd xmm2, xmm2
subsd xmm1, xmm2
cvtpd2ps xmm9, xmm0
movsd xmm0, qword [rsp + 0x90]
mulsd xmm0, qword [0x1400504c8]
cvtpd2ps xmm8, xmm1
divsd xmm0, qword [0x140050530]
cvtpd2ps xmm6, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movss xmm5, dword [0x1400507f0]
movaps xmm2, xmm0
movss xmm6, dword [0x1400507d0]
xorps xmm2, xmm5
movss xmm4, dword [0x140050674]
movaps xmm3, xmm2
movaps xmm1, xmm7
mulss xmm3, xmm8
mulss xmm1, xmm9
mulss xmm2, xmm9
addss xmm3, xmm1
mulss xmm7, xmm8
movss xmm1, dword [0x140050640]
subss xmm2, xmm7
xorps xmm3, xmm5
movaps xmm0, xmm3
andps xmm0, xmm6
comiss xmm0, xmm1
ja 0x140003c3a
movaps xmm0, xmm2
andps xmm0, xmm6
comiss xmm0, xmm1
jbe 0x140003c81
comiss xmm2, xmm3
movaps xmm0, xmm3
xorps xmm0, xmm5
jbe 0x140003c64
comiss xmm2, xmm0
jbe 0x140003c57
mulss xmm3, xmm1
divss xmm3, xmm2
movaps xmm2, xmm1
jmp 0x140003c81
mulss xmm2, xmm4
divss xmm2, xmm3
movaps xmm3, xmm4
jmp 0x140003c81
comiss xmm2, xmm0
jbe 0x140003c76
mulss xmm2, xmm1
divss xmm2, xmm3
movaps xmm3, xmm1
jmp 0x140003c81
mulss xmm3, xmm4
divss xmm3, xmm2
movaps xmm2, xmm4
divss xmm3, xmm4
mov r10d, 0x54
mov r9d, 0x4d
mov ecx, r10d
lea r8d, [r10 + 0x91]
lea edx, [r9 + 0x91]
divss xmm2, xmm4
mulss xmm3, dword [0x1400505d0]
mulss xmm2, dword [0x1400505d0]
cvttss2si eax, xmm3
sub ecx, eax
add ecx, 0x4b
mov dword [rdi], ecx
mov ecx, r9d
cvttss2si eax, xmm2
sub ecx, eax
add ecx, 0x4b
mov dword [rbx], ecx
mov eax, dword [rdi]
cmp eax, r8d
jle 0x140003cdc
mov dword [rdi], r8d
mov eax, r8d
cmp eax, r10d
jge 0x140003ce4
mov dword [rdi], r10d
mov eax, dword [rbx]
cmp eax, edx
jle 0x140003cee
mov dword [rbx], edx
mov eax, edx
cmp eax, r9d
jge 0x140003cf6
mov dword [rbx], r9d
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140047830
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
ret