Function at 0x1801f7be0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
push r15
movzx eax, byte [rdx + 2]
mov r15, rcx
movzx ebp, byte [rdx + 3]
mov rsi, r8
movzx edi, byte [rdx + 7]
mov r13d, 2
movzx r14d, byte [rdx + 0xb]
shl ebp, 8
lea r12, [r15 + 0x10d0]
or ebp, eax
shl edi, 8
movzx eax, byte [rdx + 1]
shl r14d, 8
shl ebp, 8
or ebp, eax
movzx eax, byte [rdx]
shl ebp, 8
or ebp, eax
movzx eax, byte [rdx + 6]
xor ebp, dword [rcx + 0x10b0]
or edi, eax
movzx eax, byte [rdx + 5]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 4]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0xa]
xor edi, dword [rcx + 0x10b4]
or r14d, eax
movzx eax, byte [rdx + 9]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 8]
shl r14d, 8
or r14d, eax
movzx eax, byte [rdx + 0xf]
xor r14d, dword [rcx + 0x10b8]
movzx ecx, byte [rdx + 0xe]
shl eax, 8
or eax, ecx
movzx ecx, byte [rdx + 0xd]
shl eax, 8
or eax, ecx
movzx ecx, byte [rdx + 0xc]
shl eax, 8
or eax, ecx
xor eax, dword [r15 + 0x10bc]
nop dword [rax + rax]
mov r10d, dword [r12]
mov ecx, edi
shr ecx, 0x10
movzx edx, cl
mov ecx, edi
shr ecx, 8
movzx ecx, cl
mov r11d, dword [r12 + 8]
mov r9d, dword [r15 + rdx*4 + 0xcb0]
rol eax, 1
xor r9d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, edi
shr rcx, 0x18
mov edx, ebp
shr rdx, 0x18
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, dil
mov r8d, dword [r15 + rdx*4 + 0xcb0]
rol edi, 1
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, ebp
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, ebp
shr ecx, 8
movzx edx, cl
movzx ecx, bpl
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 + 4]
add r8d, r9d
add ecx, r8d
add r10d, r8d
add ecx, r9d
xor r10d, r14d
xor eax, ecx
ror r10d, 1
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, r10d
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, eax
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, al
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, r10d
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, r10d
shr ecx, 8
movzx edx, cl
movzx ecx, r10b
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 + 0xc]
add r8d, r9d
add ecx, r8d
add r11d, r8d
add ecx, r9d
xor r11d, ebp
xor edi, ecx
ror r11d, 1
mov ecx, edi
shr ecx, 0x10
movzx edx, cl
mov ecx, edi
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, edi
shr rcx, 0x18
mov ebx, dword [r12 + 0x10]
rol eax, 1
mov edx, r11d
xor r9d, dword [r15 + rcx*4 + 0xb0]
shr rdx, 0x18
movzx ecx, dil
rol edi, 1
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, r11d
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, r11d
shr ecx, 8
movzx edx, cl
movzx ecx, r11b
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 + 0x14]
add r8d, r9d
add ecx, r8d
add ebx, r8d
add ecx, r9d
xor ebx, r10d
mov r10d, dword [r12 + 0x18]
xor eax, ecx
ror ebx, 1
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, ebx
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, eax
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, al
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, ebx
shr ecx, 8
movzx edx, cl
movzx ecx, bl
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 + 0x1c]
add r8d, r9d
add ecx, r8d
add r10d, r8d
add ecx, r9d
xor r10d, r11d
xor edi, ecx
ror r10d, 1
mov ecx, edi
shr ecx, 0x10
movzx edx, cl
mov ecx, edi
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, r10d
xor r9d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, edi
shr rcx, 0x18
shr rdx, 0x18
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, dil
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, r10d
shr ecx, 0x10
movzx ecx, cl
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, r10d
shr ecx, 8
movzx edx, cl
mov r11d, dword [r12 + 0x20]
movzx ecx, r10b
rol eax, 1
xor r8d, dword [r15 + rdx*4 + 0x4b0]
rol edi, 1
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 + 0x24]
add r8d, r9d
add ecx, r8d
add r11d, r8d
add ecx, r9d
xor r11d, ebx
xor eax, ecx
mov ebx, dword [r12 + 0x28]
ror r11d, 1
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, r11d
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, eax
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, al
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, r11d
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, r11d
shr ecx, 8
movzx edx, cl
movzx ecx, r11b
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 + 0x2c]
add r8d, r9d
add ecx, r8d
add ebx, r8d
add ecx, r9d
xor ebx, r10d
xor edi, ecx
ror ebx, 1
mov ecx, edi
shr ecx, 0x10
movzx edx, cl
mov ecx, edi
shr ecx, 8
movzx ecx, cl
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, ebx
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, edi
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, dil
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, ebx
shr ecx, 8
movzx edx, cl
movzx ecx, bl
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
add r8d, r9d
mov ecx, dword [r12 + 0x34]
mov r14d, dword [r12 + 0x30]
add ecx, r8d
mov ebp, dword [r12 + 0x38]
lea r12, [r12 + 0x40]
add ecx, r9d
rol eax, 1
xor eax, ecx
rol edi, 1
add r14d, r8d
mov ecx, eax
shr ecx, 0x10
xor r14d, r11d
movzx edx, cl
mov ecx, eax
shr ecx, 8
movzx ecx, cl
ror r14d, 1
mov r9d, dword [r15 + rdx*4 + 0xcb0]
mov edx, r14d
xor r9d, dword [r15 + rcx*4 + 0x8b0]
shr rdx, 0x18
mov ecx, eax
shr rcx, 0x18
mov r8d, dword [r15 + rdx*4 + 0xcb0]
xor r9d, dword [r15 + rcx*4 + 0xb0]
movzx ecx, al
xor r9d, dword [r15 + rcx*4 + 0x4b0]
mov ecx, r14d
shr ecx, 0x10
movzx ecx, cl
xor r8d, dword [r15 + rcx*4 + 0x8b0]
mov ecx, r14d
shr ecx, 8
movzx edx, cl
movzx ecx, r14b
xor r8d, dword [r15 + rdx*4 + 0x4b0]
xor r8d, dword [r15 + rcx*4 + 0xb0]
mov ecx, dword [r12 - 4]
add r8d, r9d
add ebp, r8d
add ecx, r8d
xor ebp, ebx
add ecx, r9d
ror ebp, 1
xor edi, ecx
sub r13, 1
jne 0x1801f7cb0
mov ecx, dword [r15 + 0x10c0]
mov edx, dword [r15 + 0x10c4]
xor ecx, r14d
mov r8d, dword [r15 + 0x10c8]
xor edx, eax
mov r9d, dword [r15 + 0x10cc]
xor r8d, ebp
mov rbx, qword [rsp + 0x28]
xor r9d, edi
mov rbp, qword [rsp + 0x30]
mov eax, ecx
mov rdi, qword [rsp + 0x40]
shr eax, 0x18
mov byte [rsi + 3], al
mov eax, ecx
shr eax, 0x10
mov byte [rsi + 2], al
mov eax, ecx
shr eax, 8
mov byte [rsi + 1], al
mov eax, edx
shr eax, 0x18
mov byte [rsi + 7], al
mov eax, edx
shr eax, 0x10
mov byte [rsi + 6], al
mov eax, edx
shr eax, 8
mov byte [rsi + 5], al
mov eax, r8d
shr eax, 0x18
mov byte [rsi + 0xb], al
mov eax, r8d
shr eax, 0x10
mov byte [rsi + 0xa], al
mov eax, r8d
shr eax, 8
mov byte [rsi + 9], al
mov eax, r9d
shr eax, 0x18
mov byte [rsi + 0xf], al
mov eax, r9d
shr eax, 0x10
mov byte [rsi + 0xe], al
mov eax, r9d
shr eax, 8
mov byte [rsi + 0xd], al
mov byte [rsi], cl
mov byte [rsi + 4], dl
mov byte [rsi + 8], r8b
mov byte [rsi + 0xc], r9b
mov rsi, qword [rsp + 0x38]
pop r15
pop r14
pop r13
pop r12
ret