Function at 0x1800feaf0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, r9
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov rax, qword [rcx]
call qword [rax + 0x20]
test al, al
jne 0x1800feb2c
mov rcx, r14
call fcn.1800a53c0
mov eax, dword [0x18043b6e4]
test al, 1
jne 0x1800feb4c
or eax, 1
mov dword [0x18043b6e4], eax
lea rcx, [0x18043b6e0]
call fcn.1801587d0
nop
test byte [0x18043b6e0], 4
je 0x1800feb93
cmp rbx, 8
jb 0x1800feb93
mov rbp, rbx
shr rbp, 3
imul rax, rbp, 0xfffffffffffffff8
add rbx, rax
mov qword [rsp + 0x88], rbx
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.180183070
add rsi, 0x100
add rdi, 0x100
sub rbp, 1
jne 0x1800feb71
call fcn.180158260
test al, al
je 0x1800febdc
cmp rbx, 4
jb 0x1800febdc
mov rbp, rbx
shr rbp, 2
imul rax, rbp, 0xfffffffffffffffc
add rbx, rax
mov qword [rsp + 0x88], rbx
nop dword [rax + rax]
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call fcn.180181710
sub rsi, 0xffffffffffffff80
sub rdi, 0xffffffffffffff80
sub rbp, 1
jne 0x1800febc0
test rbx, rbx
je 0x1800fef56
lea rbx, [rdi + 8]
mov qword [rsp + 0x28], rbx
lea rax, [rsi + 8]
mov qword [rsp + 0x20], rax
sub rdi, rsi
nop word [rax + rax]
mov esi, dword [rax - 8]
bswap esi
mov r10d, dword [rax - 4]
bswap r10d
mov r11d, dword [rax]
bswap r11d
mov ebp, dword [rax + 4]
bswap ebp
mov r14d, dword [rax + 8]
bswap r14d
mov r15d, dword [rax + 0xc]
bswap r15d
mov r12d, dword [rax + 0x10]
bswap r12d
mov r13d, dword [rax + 0x14]
bswap r13d
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rcx + 8]
mov r9d, r11d
xor r9d, r10d
add rbx, 0xf8
mov eax, 8
nop
mov r8d, ebp
xor r8d, r11d
mov edx, r10d
ror edx, 0x16
mov ecx, r10d
ror ecx, 0xd
xor edx, ecx
mov ecx, r10d
ror ecx, 2
xor edx, ecx
mov ecx, r8d
and ecx, r9d
xor ecx, r11d
add edx, ecx
sub esi, edx
sub r14d, esi
mov edx, r15d
ror edx, 0x19
mov ecx, r15d
ror ecx, 0xb
xor edx, ecx
mov ecx, r15d
ror ecx, 6
xor edx, ecx
mov ecx, r13d
xor ecx, r12d
and ecx, r15d
xor ecx, r13d
add edx, ecx
add edx, dword [rbx + 4]
sub esi, edx
mov r9d, r14d
xor r9d, ebp
mov edx, r11d
ror edx, 0x16
mov ecx, r11d
ror ecx, 0xd
xor edx, ecx
mov ecx, r11d
ror ecx, 2
xor edx, ecx
mov ecx, r9d
and ecx, r8d
xor ecx, ebp
add edx, ecx
sub r10d, edx
sub r15d, r10d
mov edx, r12d
ror edx, 0x19
mov ecx, r12d
ror ecx, 0xb
xor edx, ecx
mov ecx, r12d
ror ecx, 6
xor edx, ecx
mov ecx, r13d
xor ecx, esi
and ecx, r12d
xor ecx, esi
add edx, ecx
add edx, dword [rbx]
sub r10d, edx
mov r8d, r15d
xor r8d, r14d
mov edx, ebp
ror edx, 0x16
mov ecx, ebp
ror ecx, 0xd
xor edx, ecx
mov ecx, ebp
ror ecx, 2
xor edx, ecx
mov ecx, r8d
and ecx, r9d
xor ecx, r14d
add edx, ecx
sub r11d, edx
sub r12d, r11d
mov edx, r13d
ror edx, 0x19
mov ecx, r13d
ror ecx, 0xb
xor edx, ecx
mov ecx, r13d
ror ecx, 6
xor edx, ecx
mov ecx, r10d
xor ecx, esi
and ecx, r13d
xor ecx, r10d
add edx, ecx
add edx, dword [rbx - 4]
sub r11d, edx
mov r9d, r12d
xor r9d, r15d
mov edx, r14d
ror edx, 0x16
mov ecx, r14d
ror ecx, 0xd
xor edx, ecx
mov ecx, r14d
ror ecx, 2
xor edx, ecx
mov ecx, r9d
and ecx, r8d
xor ecx, r15d
add edx, ecx
sub ebp, edx
sub r13d, ebp
mov edx, esi
ror edx, 0x19
mov ecx, esi
ror ecx, 0xb
xor edx, ecx
mov ecx, esi
ror ecx, 6
xor edx, ecx
mov ecx, r11d
xor ecx, r10d
and ecx, esi
xor ecx, r11d
add edx, ecx
add edx, dword [rbx - 8]
sub ebp, edx
mov r8d, r13d
xor r8d, r12d
mov edx, r15d
ror edx, 0x16
mov ecx, r15d
ror ecx, 0xd
xor edx, ecx
mov ecx, r15d
ror ecx, 2
xor edx, ecx
and r9d, r8d
xor r9d, r12d
add edx, r9d
sub r14d, edx
sub esi, r14d
mov edx, r10d
ror edx, 0x19
mov ecx, r10d
ror ecx, 0xb
xor edx, ecx
mov ecx, r10d
ror ecx, 6
xor edx, ecx
mov ecx, ebp
xor ecx, r11d
and ecx, r10d
xor ecx, ebp
add edx, ecx
add edx, dword [rbx - 0xc]
sub r14d, edx
mov r9d, r13d
xor r9d, esi
mov edx, r12d
ror edx, 0x16
mov ecx, r12d
ror ecx, 0xd
xor edx, ecx
mov ecx, r12d
ror ecx, 2
xor edx, ecx
mov ecx, r9d
and ecx, r8d
xor ecx, r13d
add edx, ecx
sub r15d, edx
sub r10d, r15d
mov edx, r11d
ror edx, 0x19
mov ecx, r11d
ror ecx, 0xb
xor edx, ecx
mov ecx, r11d
ror ecx, 6
xor edx, ecx
mov ecx, r14d
xor ecx, ebp
and ecx, r11d
xor ecx, r14d
add edx, ecx
add edx, dword [rbx - 0x10]
sub r15d, edx
mov r8d, r10d
xor r8d, esi
mov edx, r13d
ror edx, 0x16
mov ecx, r13d
ror ecx, 0xd
xor edx, ecx
mov ecx, r13d
ror ecx, 2
xor edx, ecx
mov ecx, r8d
and ecx, r9d
xor ecx, esi
add edx, ecx
sub r12d, edx
sub r11d, r12d
mov edx, ebp
ror edx, 0x19
mov ecx, ebp
ror ecx, 0xb
xor edx, ecx
mov ecx, ebp
ror ecx, 6
xor edx, ecx
mov ecx, r15d
xor ecx, r14d
and ecx, ebp
xor ecx, r15d
add edx, ecx
add edx, dword [rbx - 0x14]
sub r12d, edx
mov r9d, r11d
xor r9d, r10d
mov edx, esi
ror edx, 0x16
mov ecx, esi
ror ecx, 0xd
xor edx, ecx
mov ecx, esi
ror ecx, 2
xor edx, ecx
and r8d, r9d
xor r8d, r10d
add edx, r8d
sub r13d, edx
sub ebp, r13d
mov edx, r14d
ror edx, 0x19
mov ecx, r14d
ror ecx, 0xb
xor edx, ecx
mov ecx, r14d
ror ecx, 6
xor edx, ecx
mov ecx, r12d
xor ecx, r15d
and ecx, r14d
xor ecx, r12d
add edx, ecx
add edx, dword [rbx - 0x18]
sub r13d, edx
lea rbx, [rbx - 0x20]
sub rax, 1
jne 0x1800fec50
bswap esi
mov rax, qword [rsp + 0x20]
mov dword [rdi + rax - 8], esi
bswap r10d
mov rbx, qword [rsp + 0x28]
mov dword [rbx - 4], r10d
bswap r11d
mov dword [rbx], r11d
bswap ebp
mov dword [rbx + 4], ebp
bswap r14d
mov dword [rbx + 8], r14d
bswap r15d
mov dword [rbx + 0xc], r15d
bswap r12d
mov dword [rbx + 0x10], r12d
bswap r13d
mov dword [rbx + 0x14], r13d
add rax, 0x20
mov qword [rsp + 0x20], rax
add rbx, 0x20
mov qword [rsp + 0x28], rbx
sub qword [rsp + 0x88], 1
jne 0x1800fec00
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret