Function at 0x1800af52c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xbb0]
sub rsp, 0xcb0
movsxd rsi, dword [rcx + 0x494]
lea rdx, [rsp + 0x40]
mov rbx, rcx
shl rsi, 5
add rsi, qword [rcx + 0x70]
lea rcx, [rbp + 0xbe0]
call fcn.1800aa408
test byte [rbx], 2
mov r8d, dword [rbx + 0x40]
jne 0x1800af760
movzx r10d, word [rsi + 4]
xor edi, edi
lea eax, [r10 + 0x7b]
mov dword [rbp + 0xbe0], eax
cmp qword [rbx + 0x30], rdi
je 0x1800af67b
mov r15b, byte [rbp + 0xba4]
mov r12d, 0xc65
test r15b, r15b
je 0x1800af5df
mov r8d, edi
lea r9, [rsp + 0x40]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, r12d
jl 0x1800af5b2
mov r15b, byte [rbp + 0xba4]
mov byte [rsp + 0x38], 0xff
lea rax, [rsp + 0x40]
mov byte [rsp + 0x30], 0x2e
lea r14, [rsi + 6]
movzx r8d, word [r14]
mov r9d, 0x7a
mov qword [rsp + 0x28], rax
mov edx, r10d
mov rcx, rbx
mov dword [rsp + 0x20], 0x1b
call fcn.1800af49c
test r15b, r15b
je 0x1800af642
lea r8, [rsp + 0x40]
mov eax, 0x51eb851f
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, dil
inc edi
sub al, cl
add al, 0x33
xor byte [r8], al
inc r8
cmp edi, r12d
jl 0x1800af61e
movzx r8d, word [r14]
lea rax, [rsp + 0x40]
mov edx, dword [rbp + 0xbe0]
mov r9d, 0x7a
mov byte [rsp + 0x38], 0xff
mov rcx, rbx
mov byte [rsp + 0x30], 0x58
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1b
call fcn.1800af49c
jmp 0x1800af7ce
mov r12b, byte [rbp + 0xba4]
test r12b, r12b
je 0x1800af6c0
mov r8d, edi
lea r9, [rsp + 0x40]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 0xc65
jl 0x1800af68f
mov r12b, byte [rbp + 0xba4]
lea rax, [rsp + 0x40]
or r15d, 0xffffffff
mov dword [rsp + 0x38], r15d
lea r14, [rsi + 6]
movzx r8d, word [r14]
mov r9d, 0x7a
mov byte [rsp + 0x30], 0x2e
mov edx, r10d
mov qword [rsp + 0x28], rax
mov rcx, rbx
mov dword [rsp + 0x20], 0x1b
call fcn.1800af430
test r12b, r12b
je 0x1800af72a
lea r8, [rsp + 0x40]
mov eax, 0x51eb851f
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, dil
inc edi
sub al, cl
add al, 0x33
xor byte [r8], al
inc r8
cmp edi, 0xc65
jl 0x1800af703
movzx r8d, word [r14]
lea rax, [rsp + 0x40]
mov edx, dword [rbp + 0xbe0]
mov r9d, 0x7a
mov dword [rsp + 0x38], r15d
mov rcx, rbx
mov byte [rsp + 0x30], 0x58
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1b
call fcn.1800af430
jmp 0x1800af7ce
movzx eax, word [rsi + 4]
lea r14, [rsi + 6]
movzx edx, word [r14]
mov r9, qword [rbx + 0x30]
imul edx, r8d
add edx, eax
lea eax, [rdx + r8]
movsxd r8, edx
movsxd rcx, eax
test r9, r9
je 0x1800af7a8
mov byte [rcx + r9 + 1], 0xff
mov rax, qword [rbx + 0x30]
mov byte [rcx + rax], 0xff
mov rax, qword [rbx + 0x30]
mov byte [r8 + rax + 1], 0xff
mov rax, qword [rbx + 0x30]
mov byte [r8 + rax], 0xff
jmp 0x1800af7ce
mov rax, qword [rbx + 0x38]
or r15d, 0xffffffff
mov dword [rax + rcx*4 + 4], r15d
mov rax, qword [rbx + 0x38]
mov dword [rax + rcx*4], r15d
mov rax, qword [rbx + 0x38]
mov dword [rax + r8*4 + 4], r15d
mov rax, qword [rbx + 0x38]
mov dword [rax + r8*4], r15d
movzx eax, word [rsi + 4]
lea r11, [rsp + 0xcb0]
mov rsi, qword [r11 + 0x40]
movd xmm2, eax
movzx eax, word [r14]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
addss xmm2, dword [0x180005fdc]
cvtdq2ps xmm1, xmm1
mulss xmm2, dword [rbx + 0x48]
addss xmm1, dword [0x180005fdc]
movss dword [rbx + 0x50], xmm2
mulss xmm1, dword [rbx + 0x4c]
movss dword [rbx + 0x54], xmm1
mov rbx, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret