Function at 0x1803412a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
movaps xmmword [rax - 0x58], xmm6
mov rbx, rcx
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movsxd rdi, edx
movaps xmmword [rsp + 0x60], xmm9
mov eax, edi
cdq
movaps xmmword [rsp + 0x40], xmm11
and edx, 3
movaps xmmword [rsp + 0x30], xmm12
add eax, edx
sar eax, 2
movsxd r12, eax
mov rcx, r12
mov dword [rsp + 0x100], r12d
shl rcx, 2
call fcn.180124500
lea edx, [r12 + rdi]
mov qword [rsp + 0x20], rax
movsxd rcx, edx
mov rsi, rax
shl rcx, 2
call fcn.180124500
movd xmm12, edi
mov r15, rax
cvtdq2ps xmm12, xmm12
movaps xmm0, xmm12
call fcn.180379780
movaps xmm6, xmm0
movss xmm0, dword [0x1805c9fb8]
call fcn.180379780
divss xmm6, xmm0
addss xmm6, dword [0x1805c9d08]
movaps xmm0, xmm6
call fcn.180378f38
movsd xmm9, qword [0x1805cab60]
mov r14, rdi
movsd xmm8, qword [0x1805c9fd8]
movd xmm11, edi
mov dword [rbx], edi
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], rsi
cvttss2si r13d, xmm0
cvtdq2pd xmm11, xmm11
mov dword [rbx + 4], r13d
mov ebx, 1
mov dword [rsp + 0x108], r13d
test r12d, r12d
jle 0x180341482
mov esi, dword [rsp + 0x100]
lea eax, [rdi + rdi]
movd xmm0, eax
xor edi, edi
movaps xmmword [rsp + 0x50], xmm10
xor r12d, r12d
cvtdq2pd xmm0, xmm0
mov rax, r14
mov r13d, ebx
sar rax, 1
movaps xmm7, xmm8
movaps xmm10, xmm8
lea rbp, [r15 + rax*4]
divsd xmm10, xmm0
divsd xmm7, xmm11
nop dword [rax]
movd xmm6, r12d
cvtdq2pd xmm6, xmm6
mulsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.180377d60
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rdi + r15], xmm1
call fcn.18037c0f0
xorps xmm0, xmm9
movd xmm6, r13d
cvtdq2pd xmm6, xmm6
cvtsd2ss xmm0, xmm0
mulsd xmm6, xmm10
movss dword [rdi + r15 + 4], xmm0
movaps xmm0, xmm6
call fcn.180377d60
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rbp], xmm1
call fcn.18037c0f0
xorps xmm1, xmm1
lea rbp, [rbp + 8]
cvtsd2ss xmm1, xmm0
add r12d, 4
lea rdi, [rdi + 8]
add r13d, 2
movss dword [rbp - 4], xmm1
sub rsi, rbx
jne 0x1803413e0
movaps xmm10, xmmword [rsp + 0x50]
mov rsi, qword [rsp + 0x20]
mov edi, dword [rsp + 0xf8]
mov r13d, dword [rsp + 0x108]
mov eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov r12d, eax
test eax, eax
jle 0x18034154c
movsd xmm7, qword [0x1805c9ed0]
lea rdi, [r15 + r14*4]
mov r14d, r12d
mov ebp, 2
divsd xmm8, xmm11
xorps xmm6, xmm6
cvtsi2sd xmm6, ebp
mulsd xmm6, xmm8
movaps xmm0, xmm6
call fcn.180377d60
mulsd xmm0, xmm7
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rdi], xmm1
call fcn.18037c0f0
xorps xmm0, xmm9
lea rdi, [rdi + 8]
mulsd xmm0, xmm7
add ebp, 4
cvtsd2ss xmm0, xmm0
movss dword [rdi - 4], xmm0
sub r14, rbx
jne 0x1803414b1
mov r8d, ebx
lea ecx, [r13 - 2]
shl r8d, cl
lea ecx, [r13 - 1]
shl ebx, cl
dec ebx
xor r10d, r10d
nop
xor edx, edx
xor ecx, ecx
test r8d, r8d
je 0x180341533
mov eax, r8d
nop dword [rax]
test r10d, eax
je 0x180341528
bts edx, ecx
inc ecx
mov eax, r8d
sar eax, cl
test eax, eax
jne 0x180341520
mov eax, edx
mov dword [rsi + 4], edx
not eax
inc r10d
and eax, ebx
dec eax
mov dword [rsi], eax
add rsi, 8
cmp r10d, r12d
jl 0x180341510
movss xmm0, dword [0x1805ca120]
lea r11, [rsp + 0xa8]
mov rax, qword [rsp + 0xf0]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm11, xmmword [r11 - 0x68]
divss xmm0, xmm12
movaps xmm12, xmmword [r11 - 0x78]
movss dword [rax + 0x18], xmm0
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret