Function at 0x1800aeeb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x10], edx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
movsxd rbp, r8d
xor r11d, r11d
mov ebx, r9d
mov qword [rsp], rbp
mov rsi, rcx
mov edx, r11d
lea rax, [rbp*8]
add rax, rbp
lea r14, [rax + rax]
movzx r13d, byte [r14 + rcx + 0x4e8]
movzx r15d, r13b
shr r15b, 5
and r9d, 0x80000001
jge 0x1800aef16
dec r9d
or r9d, 0xfffffffe
inc r9d
movzx r10d, r15b
movzx edi, r9b
test r15b, r15b
je 0x1800aef45
movzx r8d, byte [r14 + rcx + 0x4e8]
nop dword [rax]
movzx ecx, dl
movzx eax, r8b
shr al, cl
inc edx
and al, 1
xor dil, al
cmp edx, r10d
jl 0x1800aef30
mov eax, ebx
mov r8d, r11d
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
movzx ebx, al
test r15b, r15b
je 0x1800aef8b
movzx ebp, byte [r14 + rsi + 0x4e9]
nop dword [rax]
nop word [rax + rax]
movzx ecx, r8b
movzx edx, bpl
shr dl, cl
inc r8d
and dl, 1
xor bl, dl
cmp r8d, r10d
jl 0x1800aef70
mov rbp, qword [rsp]
movsxd rax, dword [rsp + 0x48]
and r13b, 0x1f
add r13b, 0x10
shl r15b, 4
add r13b, r15b
mov r8d, 1
add r13b, r13b
lea rax, [rax + rax*8]
add r13b, dil
mov byte [rsi + rax*2 + 0x4e8], r13b
lea rcx, [rax + rax]
movzx eax, byte [r14 + rsi + 0x4e9]
mov r13, rcx
and al, 0x1f
add al, 0x10
add al, r15b
add al, al
add al, bl
mov byte [rsi + rcx + 0x4e9], al
movzx ecx, word [r14 + rsi + 0x4d8]
mov word [rsi + r13 + 0x4d8], cx
movsx eax, word [r14 + rsi + 0x4dc]
imul eax, r9d
cdq
sub eax, edx
sar eax, 1
mov edx, eax
add dx, cx
mov word [rsi + r13 + 0x4d8], dx
test byte [r14 + rsi + 0x4dc], r8b
je 0x1800af02a
test r9d, r9d
je 0x1800af02a
test byte [r14 + rsi + 0x4e8], r8b
jne 0x1800af02a
movzx eax, r8w
jmp 0x1800af02d
mov eax, r11d
add dx, ax
movsxd rax, dword [rsp + 0x48]
add rax, 0x45
mov word [rsi + r13 + 0x4d8], dx
lea rax, [rax + rax*8]
lea r15, [rsi + rax*2]
lea rax, [rbp*8]
add rax, rbp
movzx ecx, word [rsi + rax*2 + 0x4da]
mov word [r15], cx
movsx eax, word [r14 + rsi + 0x4de]
imul eax, r12d
cdq
sub eax, edx
sar eax, 1
add ax, cx
mov word [r15], ax
test byte [r14 + rsi + 0x4de], r8b
je 0x1800af099
test r12d, r12d
je 0x1800af099
test byte [r14 + rsi + 0x4e9], r8b
jne 0x1800af099
movzx ebp, r8w
jmp 0x1800af09c
mov ebp, r11d
add bp, ax
mov ecx, r11d
mov word [r15], bp
movsx eax, word [r14 + rsi + 0x4dc]
cdq
sub eax, edx
sar eax, 1
mov word [rsi + r13 + 0x4dc], ax
movzx edx, byte [r14 + rsi + 0x4e8]
and edx, r8d
test r9d, r9d
sete cl
cmp edx, ecx
je 0x1800af0e3
test byte [r14 + rsi + 0x4dc], r8b
je 0x1800af0e3
movzx ecx, r8w
jmp 0x1800af0e6
mov ecx, r11d
add ax, cx
mov ecx, r11d
mov word [rsi + r13 + 0x4dc], ax
movsx eax, word [r14 + rsi + 0x4de]
cdq
sub eax, edx
sar eax, 1
mov word [rsi + r13 + 0x4de], ax
movzx edx, byte [r14 + rsi + 0x4e9]
and edx, r8d
test r12d, r12d
sete cl
cmp edx, ecx
je 0x1800af12c
test byte [r14 + rsi + 0x4de], r8b
jne 0x1800af130
movzx r8d, r11w
add r8w, ax
xor bl, bl
mov word [rsi + r13 + 0x4de], r8w
mov edx, r11d
lea r8d, [r10 + 1]
test r8d, r8d
je 0x1800af174
movzx r9d, byte [rsi + r13 + 0x4e8]
nop dword [rax]
nop dword [rax + rax]
movzx ecx, dl
movzx eax, r9b
shr al, cl
inc edx
and al, 1
xor bl, al
cmp edx, r8d
jl 0x1800af160
xor r10b, r10b
mov edx, r11d
test r8d, r8d
je 0x1800af1a5
movzx r9d, byte [rsi + r13 + 0x4e9]
nop dword [rax + rax]
movzx ecx, dl
movzx eax, r9b
shr al, cl
inc edx
and al, 1
xor r10b, al
cmp edx, r8d
jl 0x1800af190
movsx r9d, word [rsi + r13 + 0x4dc]
movzx edi, word [rsi + r13 + 0x4d8]
mov eax, r9d
cdq
movzx r8d, bl
sub eax, edx
sar eax, 1
movsx edx, ax
imul r8d, edx
add r8w, di
mov word [rsi + r13 + 0x4e0], r8w
and r9d, 0x80000001
jge 0x1800af1ea
dec r9d
or r9d, 0xfffffffe
inc r9d
add r9w, ax
movzx r8d, r10b
test bl, bl
mov eax, r11d
cmove ax, r9w
movsx r9d, word [rsi + r13 + 0x4de]
add ax, di
mov word [rsi + r13 + 0x4e2], ax
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
movsx edx, ax
imul r8d, edx
add r8w, bp
mov word [rsi + r13 + 0x4e4], r8w
and r9d, 0x80000001
jge 0x1800af240
dec r9d
or r9d, 0xfffffffe
inc r9d
movsxd r12, dword [rsp + 0x60]
add r9w, ax
test r10b, r10b
mov eax, r11d
cmove ax, r9w
add ax, bp
mov word [rsi + r13 + 0x4e6], ax
cmp r12d, 0xffffffff
je 0x1800af38f
lea r9, [r12 + 2]
mov rcx, r12
shl r9, 4
lea rbp, [r12 + 1]
shl rcx, 4
add r9, rsi
add rcx, rsi
shl rbp, 4
add rbp, rsi
mov word [r9 + 0xd8], di
mov word [rcx + 0xd8], di
movzx r14d, word [r15]
mov word [rbp + 0xdc], r14w
mov word [rcx + 0xdc], r14w
movsx eax, word [rsi + r13 + 0x4dc]
test al, 1
je 0x1800af2c3
test bl, bl
mov ebx, r11d
je 0x1800af2c8
mov ebx, 0xffffffff
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
add r8w, di
add r8w, bx
mov word [r9 + 0xda], r8w
mov word [rcx + 0xda], r8w
movsx eax, word [rsi + r13 + 0x4de]
test al, 1
je 0x1800af2fa
test r10b, r10b
je 0x1800af300
mov r11d, 0xffffffff
cdq
inc r8w
sub eax, edx
mov word [rbp + 0xd8], r8w
sar eax, 1
lea edx, [r14 + rax]
add dx, r11w
mov word [rcx + 0xde], dx
lea rcx, [r12 + 3]
add rcx, rcx
mov word [rbp + 0xde], dx
inc dx
mov word [rsi + rcx*8 + 0xd8], r8w
movzx eax, word [rsi + r13 + 0x4dc]
dec ax
add ax, word [rsi + r13 + 0x4d8]
mov word [rsi + rcx*8 + 0xda], ax
mov word [rbp + 0xda], ax
mov word [rsi + rcx*8 + 0xdc], dx
mov word [r9 + 0xdc], dx
movzx eax, word [r15]
dec ax
add ax, word [rsi + r13 + 0x4de]
mov word [rsi + rcx*8 + 0xde], ax
mov word [r9 + 0xde], ax
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
ret