Function at 0x1400b5940
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
lea rsi, [rcx + 0xa8]
mov rdi, rdx
mov rdx, r8
mov r13, rcx
mov rcx, rsi
shr rdx, 2
mov rbx, r8
mov qword [rsp + 0x20], rsi
call fcn.1400bfba0
xor r9d, r9d
test rbx, rbx
je 0x1400b59b5
nop word [rax + rax]
mov rax, qword [rsi]
mov rcx, r9
inc r9
shr rcx, 2
lea rdx, [rax + rcx*4]
movzx ecx, byte [r9 + rdi - 1]
mov eax, dword [rdx]
shl eax, 8
add ecx, eax
mov dword [rdx], ecx
cmp r9, rbx
jne 0x1400b5990
xor ebx, ebx
lea rdi, [0x140000000]
cmp qword [r13 + 0xb0], rbx
je 0x1400b5a94
nop dword [rax + rax]
mov rax, qword [rsi]
lea r11, [rax + rbx*4]
inc rbx
mov eax, dword [r11]
shr eax, 0x18
movzx ecx, al
movzx edx, byte [rcx + rdi + 0x316bc0]
mov eax, edx
mov r9d, dword [rdi + rdx*4 + 0x3285d0]
shl eax, 0x18
xor r9d, dword [r11]
and r9d, 0xffffff
or r9d, eax
mov eax, r9d
shr eax, 0x10
movzx ecx, al
movzx edx, byte [rcx + rdi + 0x316bc0]
mov eax, edx
mov r10d, dword [rdi + rdx*4 + 0x3285d0]
shl eax, 0x10
rol r10d, 8
xor r10d, r9d
and r10d, 0xff00ffff
or r10d, eax
mov eax, r10d
shr eax, 8
movzx ecx, al
movzx edx, byte [rcx + rdi + 0x316bc0]
mov eax, edx
mov r8d, dword [rdi + rdx*4 + 0x3285d0]
shl eax, 8
rol r8d, 0x10
xor r8d, r10d
and r8d, 0xffff00ff
or r8d, eax
movzx eax, r8b
movzx edx, byte [rax + rdi + 0x316bc0]
mov ecx, dword [rdi + rdx*4 + 0x3285d0]
ror ecx, 8
xor ecx, r8d
and ecx, 0xffffff00
or ecx, edx
mov dword [r11], ecx
cmp rbx, qword [r13 + 0xb0]
jne 0x1400b59d0
mov rcx, rsi
call fcn.1400b5330
xor r15d, r15d
xor ecx, ecx
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x80], r15d
mov r12, qword [r13 + 0xb0]
xor r10d, r10d
xor r11d, r11d
xor ebx, ebx
xor r9d, r9d
xor eax, eax
mov r14d, r15d
mov edi, r15d
mov esi, r15d
mov ebp, r15d
test r12, r12
je 0x1400b5beb
mov rdx, qword [rsp + 0x20]
mov r13, rcx
mov r15, qword [rdx]
nop word [rax + rax]
mov r8d, dword [r15 + rax*4]
mov ecx, r8d
shr ecx, 0x18
movzx edx, cl
mov ecx, r8d
shr r8d, 8
xor rdx, r13
shr ecx, 0x10
lea r13, [0x140000000]
movzx r14d, byte [rdx + r13 + 0x316bc0]
movzx edx, cl
mov ecx, edi
xor rdx, rcx
mov ecx, esi
movzx edi, byte [rdx + r13 + 0x316bc0]
movzx edx, r8b
xor rdx, rcx
mov ecx, ebp
movzx esi, byte [rdx + r13 + 0x316bc0]
movzx edx, byte [r15 + rax*4]
xor rdx, rcx
lea rcx, [0x140000000]
movzx ebp, byte [rdx + r13 + 0x316bc0]
mov edx, dword [rcx + r14*4 + 0x3285d0]
mov r13d, r14d
test rax, rax
je 0x1400b5b6b
mov ecx, eax
rol edx, cl
xor r10d, edx
lea r8, [rax + 8]
lea rdx, [0x140000000]
mov edx, dword [rdx + rdi*4 + 0x3285d0]
test r8, r8
je 0x1400b5b8a
mov ecx, r8d
rol edx, cl
xor r11d, edx
lea r8, [rax + 0x10]
lea rdx, [0x140000000]
mov edx, dword [rdx + rsi*4 + 0x3285d0]
test r8, r8
je 0x1400b5ba9
mov ecx, r8d
rol edx, cl
xor ebx, edx
lea r8, [rax + 0x18]
lea rdx, [0x140000000]
mov edx, dword [rdx + rbp*4 + 0x3285d0]
test r8, r8
je 0x1400b5bc7
mov ecx, r8d
rol edx, cl
inc rax
xor r9d, edx
cmp rax, r12
jb 0x1400b5af0
mov r15d, dword [rsp + 0x80]
mov r13, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
mov rax, qword [r13 + 8]
and r10d, 0xffffff
shl r14d, 0x18
or r10d, r14d
and r11d, 0xff00ffff
shl edi, 0x10
mov dword [rax + rcx*4], r10d
mov rax, qword [r13 + 0x28]
or r11d, edi
mov dword [rax + rcx*4], r11d
mov rax, qword [r13 + 0x48]
and ebx, 0xffff00ff
shl esi, 8
and r9d, 0xffffff00
inc r15d
or ebx, esi
or r9d, ebp
inc rcx
mov dword [rax + rcx*4 - 4], ebx
mov rax, qword [r13 + 0x68]
mov qword [rsp + 0x88], rcx
mov dword [rax + rcx*4 - 4], r9d
mov dword [rsp + 0x80], r15d
cmp r15d, 0x100
jne 0x1400b5ab1
mov rax, qword [r13]
xor r8d, r8d
xor edx, edx
mov rcx, r13
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp qword [rax + 0x30]