Function at 0x1800f94d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rax, qword [rdx]
lea r12, str.e6lM
mov r13, rcx
xor esi, esi
mov r14d, dword [rax]
mov ebx, dword [rax + 4]
mov r15d, dword [rax + 8]
mov ebp, dword [rax + 0xc]
bswap r14d
bswap ebx
bswap r15d
bswap ebp
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + r12 - 1]
mov edx, r15d
xor r14d, eax
xor edx, r14d
mov ecx, edx
mov eax, edx
ror ecx, 0x18
ror eax, 8
xor ecx, eax
xor edx, ecx
xor ebx, edx
xor ebp, edx
mov r8d, ebp
mov r9d, ebp
xor r8d, ebx
shr r9d, 0x1e
mov ecx, r8d
ror ebx, 0x1f
ror ecx, 0x18
mov eax, r8d
ror eax, 8
xor ecx, eax
lea eax, [rbp*4]
or r9d, eax
xor r8d, ecx
mov eax, r9d
mov ecx, r9d
xor r15d, r8d
mov edx, r15d
shl r15d, 5
shr edx, 0x1b
or edx, r15d
or eax, edx
mov r11d, edx
not eax
xor ebx, eax
and r11d, ebx
xor r11d, r8d
xor r11d, r14d
xor ecx, r11d
mov eax, r11d
xor ecx, edx
ror r11d, 2
xor ecx, ebx
or eax, ecx
mov r10d, ecx
not eax
xor ebx, eax
movzx eax, byte [rsi + r12]
and r10d, ebx
ror ebx, 1
xor r10d, r9d
mov r9d, ecx
shr ecx, 5
xor r10d, eax
shl r9d, 0x1b
or r9d, ecx
mov edx, r9d
xor edx, r10d
mov ecx, edx
mov eax, edx
ror ecx, 0x18
ror eax, 8
xor ecx, eax
xor edx, ecx
xor r11d, edx
xor ebx, edx
mov r8d, r11d
xor r8d, ebx
mov ecx, r8d
mov eax, r8d
ror ecx, 0x18
ror eax, 8
xor ecx, eax
xor r8d, ecx
xor r9d, r8d
mov edx, r9d
shl r9d, 5
shr edx, 0x1b
or edx, r9d
mov r9d, r11d
lea eax, [r11*4]
shr r9d, 0x1e
or r9d, eax
ror ebx, 0x1f
mov eax, r9d
mov ecx, r9d
or eax, edx
mov r11d, edx
not eax
xor ebx, eax
and r11d, ebx
xor r11d, r8d
xor r11d, r10d
xor ecx, r11d
mov eax, r11d
xor ecx, edx
ror r11d, 2
xor ecx, ebx
or eax, ecx
mov r10d, ecx
not eax
xor ebx, eax
movzx eax, byte [rsi + r12 + 1]
and r10d, ebx
ror ebx, 1
xor r10d, r9d
mov r9d, ecx
xor r10d, eax
shr ecx, 5
shl r9d, 0x1b
or r9d, ecx
mov edx, r9d
xor edx, r10d
mov ecx, edx
mov eax, edx
ror eax, 8
ror ecx, 0x18
xor ecx, eax
xor edx, ecx
xor r11d, edx
xor ebx, edx
mov r8d, r11d
xor r8d, ebx
ror ebx, 0x1f
mov ecx, r8d
mov eax, r8d
ror eax, 8
ror ecx, 0x18
xor ecx, eax
lea eax, [r11*4]
xor r8d, ecx
xor r9d, r8d
mov edx, r9d
shl r9d, 5
shr edx, 0x1b
or edx, r9d
mov r9d, r11d
shr r9d, 0x1e
mov r11d, edx
or r9d, eax
mov eax, r9d
mov ecx, r9d
or eax, edx
not eax
xor ebx, eax
and r11d, ebx
xor r11d, r8d
xor r11d, r10d
xor ecx, r11d
mov eax, r11d
xor ecx, edx
xor ecx, ebx
or eax, ecx
mov edi, ecx
mov r10d, ecx
not eax
xor ebx, eax
shl r10d, 0x1b
and edi, ebx
xor edi, r9d
shr ecx, 5
movzx eax, byte [rsi + r12 + 2]
or r10d, ecx
xor edi, eax
ror r11d, 2
ror ebx, 1
mov edx, r10d
xor edx, edi
add rsi, 4
mov ecx, edx
mov eax, edx
ror eax, 8
ror ecx, 0x18
xor ecx, eax
xor edx, ecx
xor r11d, edx
xor ebx, edx
mov r9d, r11d
xor r9d, ebx
ror ebx, 0x1f
mov ecx, r9d
mov eax, r9d
ror eax, 8
ror ecx, 0x18
xor ecx, eax
lea eax, [r11*4]
xor r9d, ecx
xor r10d, r9d
mov r8d, r10d
shl r10d, 5
shr r8d, 0x1b
or r8d, r10d
mov r10d, r11d
shr r10d, 0x1e
mov r11d, r8d
or r10d, eax
mov eax, r10d
mov ecx, r10d
or eax, r8d
not eax
xor ebx, eax
and r11d, ebx
mov edx, ebx
xor r11d, r9d
xor r11d, edi
xor ecx, r11d
mov eax, r11d
xor ecx, r8d
mov ebp, r11d
xor ecx, ebx
shl ebp, 0x1e
or eax, ecx
shr r11d, 2
mov r14d, ecx
mov r15d, ecx
shl r15d, 0x1b
not eax
xor edx, eax
shr ecx, 5
and r14d, edx
mov ebx, edx
shl ebx, 0x1f
xor r14d, r10d
shr edx, 1
or r15d, ecx
or ebx, edx
or ebp, r11d
cmp rsi, 0x10
jne 0x1800f9520
lea edx, [rsi - 0xc]
xor r14d, 0xd4
lea rcx, [r13 + 0x20]
call fcn.1800dfff0
mov rax, qword [r13 + 0x20]
mov r8d, r15d
xor r8d, r14d
mov edx, 4
mov ecx, r8d
ror ecx, 0x18
mov dword [rax], r14d
mov rax, qword [r13 + 0x20]
mov dword [rax + 4], ebx
mov rax, qword [r13 + 0x20]
mov dword [rax + 8], r15d
mov rax, qword [r13 + 0x20]
mov dword [rax + 0xc], ebp
mov eax, r8d
ror eax, 8
xor ecx, eax
xor r8d, ecx
xor ebp, r8d
xor ebx, r8d
mov esi, ebp
xor esi, ebx
mov ecx, esi
mov eax, esi
ror ecx, 0x18
ror eax, 8
xor ecx, eax
xor esi, ecx
lea rcx, [r13 + 8]
call fcn.1800dfff0
mov rax, qword [r13 + 8]
mov ecx, esi
xor ecx, r14d
xor esi, r15d
mov dword [rax], ecx
mov rax, qword [r13 + 8]
mov dword [rax + 4], ebx
mov rax, qword [r13 + 8]
mov rbx, qword [rsp + 0x50]
mov dword [rax + 8], esi
mov rax, qword [r13 + 8]
mov rsi, qword [rsp + 0x60]
mov dword [rax + 0xc], ebp
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret