Function at 0x1800bc884
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
mov r10d, dword [rdx]
lea rdi, [0x1800fc640]
rol r10d, 4
mov rbx, rcx
mov eax, r10d
mov r14, r8
xor eax, dword [rdx + 4]
mov esi, 8
and eax, 0xf0f0f0f0
xor r10d, eax
xor eax, dword [rdx + 4]
rol eax, 0x14
mov ecx, r10d
xor ecx, eax
and ecx, 0xfff0000f
xor r10d, ecx
xor ecx, eax
mov eax, r10d
rol ecx, 0xe
xor eax, ecx
and eax, 0x33333333
xor ecx, eax
xor eax, r10d
rol eax, 0x16
mov r10d, eax
xor r10d, ecx
and r10d, 0x3fc03fc
xor ecx, r10d
xor r10d, eax
rol r10d, 9
mov r11d, r10d
xor r11d, ecx
and r11d, 0xaaaaaaaa
xor r10d, r11d
xor r11d, ecx
rol r11d, 1
test r9d, r9d
je 0x1800bca5d
lea rbp, [rbx + 0xc]
mov ebx, 0xfc
mov r8d, dword [rbp - 0xc]
mov r9d, r10d
xor r9d, dword [rbp - 8]
ror r9d, 4
mov eax, r10d
xor r8, rax
mov rcx, r8
mov rax, r8
shr rax, 0x10
and rax, rbx
shr rcx, 0x18
and rcx, rbx
mov edx, dword [rcx + rdi + 0x600]
xor edx, dword [rax + rdi + 0x400]
mov rax, r8
shr rax, 8
and r8, rbx
and rax, rbx
xor edx, dword [rax + rdi + 0x200]
mov eax, r9d
shr rax, 0x18
and rax, rbx
xor edx, dword [rax + rdi + 0x700]
mov eax, r9d
shr rax, 0x10
and rax, rbx
xor edx, dword [rax + rdi + 0x500]
mov eax, r9d
shr rax, 8
and r9, rbx
and rax, rbx
xor edx, dword [rax + rdi + 0x300]
xor edx, dword [r8 + rdi]
xor edx, dword [r9 + rdi + 0x100]
mov r8d, dword [rbp - 4]
xor r11d, edx
mov r9d, r11d
mov ecx, r11d
xor r9d, dword [rbp]
xor r8, rcx
ror r9d, 4
lea rbp, [rbp + 0x10]
mov rcx, r8
mov rax, r8
shr rax, 0x10
and rax, rbx
shr rcx, 0x18
and rcx, rbx
mov edx, dword [rcx + rdi + 0x600]
xor edx, dword [rax + rdi + 0x400]
mov rax, r8
shr rax, 8
and r8, rbx
and rax, rbx
xor edx, dword [rax + rdi + 0x200]
mov eax, r9d
shr rax, 0x18
and rax, rbx
xor edx, dword [rax + rdi + 0x700]
mov eax, r9d
shr rax, 0x10
and rax, rbx
xor edx, dword [rax + rdi + 0x500]
mov eax, r9d
shr rax, 8
and r9, rbx
and rax, rbx
xor edx, dword [rax + rdi + 0x300]
xor edx, dword [r8 + rdi]
xor edx, dword [r9 + rdi + 0x100]
xor r10d, edx
sub rsi, 1
jne 0x1800bc92a
jmp 0x1800bcb94
lea rbp, [rbx + 0x78]
mov ebx, 0xfc
mov r8d, dword [rbp]
mov r9d, r10d
xor r9d, dword [rbp + 4]
lea rbp, [rbp - 0x10]
ror r9d, 4
mov eax, r10d
xor r8, rax
mov rcx, r8
mov rax, r8
shr rax, 0x10
and rax, rbx
shr rcx, 0x18
and rcx, rbx
mov edx, dword [rcx + rdi + 0x600]
xor edx, dword [rax + rdi + 0x400]
mov rax, r8
shr rax, 8
and r8, rbx
and rax, rbx
xor edx, dword [rax + rdi + 0x200]
mov eax, r9d
shr rax, 0x18
and rax, rbx
xor edx, dword [rax + rdi + 0x700]
mov eax, r9d
shr rax, 0x10
and rax, rbx
xor edx, dword [rax + rdi + 0x500]
mov eax, r9d
shr rax, 8
and r9, rbx
and rax, rbx
xor edx, dword [rax + rdi + 0x300]
xor edx, dword [r8 + rdi]
xor edx, dword [r9 + rdi + 0x100]
mov r8d, dword [rbp + 8]
xor r11d, edx
mov r9d, r11d
mov ecx, r11d
xor r9d, dword [rbp + 0xc]
xor r8, rcx
ror r9d, 4
mov rcx, r8
shr rcx, 0x18
mov rax, r8
shr rax, 0x10
and rcx, rbx
and rax, rbx
mov edx, dword [rcx + rdi + 0x600]
xor edx, dword [rax + rdi + 0x400]
mov rax, r8
shr rax, 8
and r8, rbx
and rax, rbx
xor edx, dword [rax + rdi + 0x200]
mov eax, r9d
shr rax, 0x18
and rax, rbx
xor edx, dword [rax + rdi + 0x700]
mov eax, r9d
shr rax, 0x10
and rax, rbx
xor edx, dword [rax + rdi + 0x500]
mov eax, r9d
shr rax, 8
and r9, rbx
and rax, rbx
xor edx, dword [rax + rdi + 0x300]
xor edx, dword [r8 + rdi]
xor edx, dword [r9 + rdi + 0x100]
xor r10d, edx
sub rsi, 1
jne 0x1800bca66
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
ror r10d, 1
mov eax, r10d
xor eax, r11d
and eax, 0xaaaaaaaa
xor r10d, eax
xor eax, r11d
ror eax, 9
mov r8d, r10d
xor r8d, eax
and r8d, 0x3fc03fc
xor r10d, r8d
xor r8d, eax
ror r8d, 0x16
mov eax, r10d
xor eax, r8d
and eax, 0x33333333
xor r8d, eax
xor eax, r10d
ror eax, 0xe
mov edx, eax
xor edx, r8d
and edx, 0xfff0000f
xor r8d, edx
xor edx, eax
ror edx, 0x14
mov ecx, edx
xor ecx, r8d
and ecx, 0xf0f0f0f0
mov eax, ecx
xor eax, r8d
ror eax, 4
xor ecx, edx
mov dword [r14], eax
mov dword [r14 + 4], ecx
pop r14
ret