Function at 0x180050dab
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x70
vmovaps xmmword [rsp + 0x60], xmm7
vmovaps xmmword [rsp + 0x50], xmm6
mov rax, qword [0x1800acd00]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rax, qword [0x1800aab70]
movabs rdx, 0xa2cb00830182675
mov rax, qword [rax + rdx]
mov rdx, qword [rax + 0x1c08]
mov byte [rdx + 0x90], 1
mov rdi, qword [rax + 0x1c08]
cmp byte [rdi + 0x93], 0
je 0x180050a8f
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.180083460
vmovaps xmm6, xmmword [rsp + 0x50]
vmovaps xmm7, xmmword [rsp + 0x60]
add rsp, 0x70
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov rax, qword [0x1800aace0]
movabs rdx, 0xe2f52a6126e8c04a
mov rbx, qword [rax + rdx]
test cl, 2
jne 0x180050b13
test cl, 1
je 0x180050a6b
vmovss xmm0, dword [rdi + 0x10]
mov eax, dword [rbx + 0x1db0]
vmovaps xmm6, xmm0
test eax, eax
jle 0x180050ae6
mov rdx, qword [rbx + 0x1db8]
dec eax
lea rax, [rax + rax*2]
shl rax, 4
mov eax, dword [rdx + rax]
vmovaps xmm6, xmm0
cmp eax, dword [rdi + 8]
jne 0x180050ae6
vaddss xmm6, xmm0, dword [rdi + 0x118]
vaddss xmm7, xmm0, dword [rdi + 0x18]
mov bpl, 1
test cl, 4
je 0x180050c57
mov r14, qword [rdi + 0x178]
test r14, r14
je 0x180050c57
call fcn.18004dea3
xor ebp, ebp
jmp 0x180050c5a
vbroadcastss xmm0, dword [0x1800883f0]
vinsertps xmm0, xmm0, dword [rdi + 0x104], 0x10
vmovsd xmm1, qword [rdi + 0xd8]
vaddps xmm0, xmm1, xmm0
vmovlhps xmm0, xmm1, xmm0
lea rsi, [rsp + 0x38]
vmovups xmmword [rsi], xmm0
vxorps xmm0, xmm0, xmm0
lea rcx, [rsp + 0x30]
vmovlps qword [rcx], xmm0
vmovss xmm1, dword [0x18008c530]
call fcn.180033564
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1800336bb
test al, al
je 0x180050a6b
mov rsi, qword [rdi + 0x280]
vmovss xmm1, dword [0x1800883f0]
mov ecx, 0x1b
call fcn.180022aee
vmovss xmm0, dword [rsp + 0x44]
lea r8, [rsp + 0x30]
vmovss dword [r8 + 4], xmm0
vmovsd xmm0, qword [rsp + 0x38]
vmovss dword [r8], xmm0
lea rdx, [rsp + 0x28]
vmovsd qword [rdx], xmm0
mov dword [rsp + 0x20], 0x3f800000
mov rcx, rsi
mov r9d, eax
call fcn.18003c3ae
cmp byte [rbx + 0x30ec], 0
je 0x180050a6b
cmp byte [0x1800b90e6], 0
jne 0x180050c46
mov rax, qword [0x1800aace8]
movabs rcx, 0xe2f52a6126e8c2ad
mov cl, byte [rax + rcx]
movabs rdx, 0xe2f52a6126e8c2c1
xor cl, byte [rax + rdx]
mov byte [0x1800b90e3], cl
movabs rcx, 0xe2f52a6126e8c2ae
mov cl, byte [rax + rcx]
movabs rdx, 0xe2f52a6126e8c2c2
xor cl, byte [rax + rdx]
mov byte [0x1800b90e4], cl
movabs rcx, 0xe2f52a6126e8c2af
mov cl, byte [rax + rcx]
movabs rdx, 0xe2f52a6126e8c2c3
xor cl, byte [rax + rdx]
mov byte [0x1800b90e5], cl
mov byte [0x1800b90e6], 1
lea rcx, [0x1800b90e3]
call fcn.180037803
jmp 0x180050a6b
xor r14d, r14d
vmovss xmm0, dword [rdi + 0xdc]
vaddss xmm1, xmm0, dword [0x1800883f0]
lea rsi, [rsp + 0x38]
vmovss dword [rsi], xmm6
vmovss dword [rsi + 4], xmm0
vmovss dword [rsi + 8], xmm7
vmovss dword [rsi + 0xc], xmm1
vxorps xmm0, xmm0, xmm0
lea rcx, [rsp + 0x30]
vmovlps qword [rcx], xmm0
vmovss xmm1, dword [0x18008c530]
call fcn.180033564
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1800336bb
test al, al
je 0x180050d8a
mov rsi, qword [rdi + 0x280]
vmovss xmm1, dword [0x1800883f0]
mov ecx, 0x1b
call fcn.180022aee
lea rdx, [rsp + 0x38]
vmovsd xmm0, qword [rdx + 4]
vshufps xmm0, xmm0, xmm0, 0xe1
lea r8, [rsp + 0x30]
vmovlps qword [r8], xmm0
mov dword [rsp + 0x20], 0x3f800000
mov rcx, rsi
mov r9d, eax
call fcn.18003c3ae
cmp byte [rbx + 0x30ec], 0
je 0x180050d8a
cmp byte [0x1800b9109], 0
jne 0x180050d76
mov rdx, qword [0x1800aace8]
movabs rax, 0xe2f52a6126e8c2f4
add rax, rdx
movabs rcx, 0xe2f52a6126e8c2e0
add rcx, rdx
xor edx, edx
movabs r8, 0xcccccccccccccccd
lea r9, [0x1800b90e7]
mulx r10, r10, r8
shr r10, 2
and r10, 0xfffffffffffffffc
lea r10, [r10 + r10*4]
mov r11, rcx
sub r11, r10
mov r10b, byte [r11 + rdx]
xor r10b, byte [rax + rdx]
mov byte [rdx + r9], r10b
inc rdx
cmp rdx, 0x22
jne 0x180050d43
mov byte [0x1800b9109], 1
lea rdx, [0x1800b90e7]
lea rcx, [rsp + 0x38]
xor r8d, r8d
call fcn.180023482
test bpl, bpl
jne 0x180050a6b
call fcn.18004df28
vmovss xmm0, dword [rdi + 0xdc]
vmovss dword [r14 + 0x1c], xmm0
jmp 0x180050a6b
mov rax, qword [0x1800aad00]
movabs rcx, 0xcfb20766447a6b95
mov rax, qword [rax + rcx]
mov rax, qword [rax + 0x1c08]
cmp byte [rax + 0x93], 0
je 0x180050dd1
ret
xor ecx, ecx
cmp dword [rax + 0x184], 1
adc ecx, 5
jmp 0x180050a13