Function at 0x140091dd8
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov rbx, rdx
mov edx, dword [rcx + 0x10b0]
sub edx, 2
je 0x140092074
dec edx
je 0x140091f5f
dec edx
jne 0x14009213f
xor edi, edi
lea rsi, [rcx + 0xb8]
lea r11, [0x140000000]
movzx eax, byte [rbx + 0xc]
movzx r8d, dil
inc edi
movzx r10d, byte [r8 + r11 + 0x171800]
movzx r9d, byte [r8 + r11 + 0x171700]
xor rax, r10
movzx ecx, byte [rax + r11 + 0x171800]
movzx eax, byte [rbx + 8]
xor rcx, rax
movzx eax, byte [rbx + 4]
movzx edx, byte [rcx + r11 + 0x171700]
xor rdx, rax
movzx eax, byte [rbx]
movzx ecx, byte [rdx + r11 + 0x171700]
xor rcx, rax
mov eax, dword [r11 + rcx*4 + 0x171900]
mov dword [rsi - 8], eax
mov eax, dword [rbx + 0xc]
shr eax, 8
movzx ecx, al
mov eax, dword [rbx + 8]
shr eax, 8
xor rcx, r9
movzx edx, byte [rcx + r11 + 0x171800]
movzx eax, al
xor rdx, rax
mov eax, dword [rbx + 4]
movzx ecx, byte [rdx + r11 + 0x171800]
shr eax, 8
movzx eax, al
xor rcx, rax
mov eax, dword [rbx]
movzx edx, byte [rcx + r11 + 0x171700]
shr eax, 8
movzx eax, al
xor rdx, rax
mov eax, dword [r11 + rdx*4 + 0x171d00]
mov dword [rsi - 4], eax
movzx eax, byte [rbx + 0xe]
xor rax, r9
movzx ecx, byte [rax + r11 + 0x171700]
movzx eax, byte [rbx + 0xa]
xor rcx, rax
movzx eax, byte [rbx + 6]
movzx edx, byte [rcx + r11 + 0x171700]
xor rdx, rax
movzx eax, byte [rbx + 2]
movzx ecx, byte [rdx + r11 + 0x171800]
xor rcx, rax
mov eax, dword [r11 + rcx*4 + 0x172100]
mov dword [rsi], eax
movzx eax, byte [rbx + 0xf]
lea rsi, [rsi + 0x10]
xor rax, r10
movzx ecx, byte [rax + r11 + 0x171700]
movzx eax, byte [rbx + 0xb]
xor rcx, rax
movzx eax, byte [rbx + 7]
movzx edx, byte [rcx + r11 + 0x171800]
xor rdx, rax
movzx eax, byte [rbx + 3]
movzx ecx, byte [rdx + r11 + 0x171800]
xor rcx, rax
mov eax, dword [r11 + rcx*4 + 0x172500]
mov dword [rsi - 0xc], eax
cmp edi, 0x100
jb 0x140091e19
jmp 0x14009213f
xor edi, edi
lea r10, [rcx + 0xb8]
lea r11, [0x140000000]
movzx eax, byte [rbx + 8]
movzx r9d, dil
inc edi
movzx r8d, byte [r9 + r11 + 0x171800]
xor rax, r8
movzx ecx, byte [rax + r11 + 0x171700]
movzx eax, byte [rbx + 4]
xor rcx, rax
movzx eax, byte [rbx]
movzx edx, byte [rcx + r11 + 0x171700]
xor rdx, rax
mov eax, dword [r11 + rdx*4 + 0x171900]
mov dword [r10 - 8], eax
mov eax, dword [rbx + 8]
shr eax, 8
movzx ecx, al
mov eax, dword [rbx + 4]
shr eax, 8
xor rcx, r8
movzx r8d, byte [r9 + r11 + 0x171700]
movzx edx, byte [rcx + r11 + 0x171800]
movzx eax, al
xor rdx, rax
mov eax, dword [rbx]
movzx ecx, byte [rdx + r11 + 0x171700]
shr eax, 8
movzx eax, al
xor rcx, rax
mov eax, dword [r11 + rcx*4 + 0x171d00]
mov dword [r10 - 4], eax
movzx eax, byte [rbx + 0xa]
xor rax, r8
movzx ecx, byte [rax + r11 + 0x171700]
movzx eax, byte [rbx + 6]
xor rcx, rax
movzx eax, byte [rbx + 2]
movzx edx, byte [rcx + r11 + 0x171800]
xor rdx, rax
mov eax, dword [r11 + rdx*4 + 0x172100]
mov dword [r10], eax
movzx eax, byte [rbx + 0xb]
lea r10, [r10 + 0x10]
xor rax, r8
movzx ecx, byte [rax + r11 + 0x171800]
movzx eax, byte [rbx + 7]
xor rcx, rax
movzx eax, byte [rbx + 3]
movzx edx, byte [rcx + r11 + 0x171800]
xor rdx, rax
mov eax, dword [r11 + rdx*4 + 0x172500]
mov dword [r10 - 0xc], eax
cmp edi, 0x100
jb 0x140091f6f
jmp 0x14009213f
xor edi, edi
lea r10, [rcx + 0xb8]
lea r11, [0x140000000]
movzx eax, byte [rbx + 4]
movzx edx, dil
inc edi
movzx r9d, byte [rdx + r11 + 0x171700]
movzx r8d, byte [rdx + r11 + 0x171800]
xor rax, r9
movzx ecx, byte [rax + r11 + 0x171700]
movzx eax, byte [rbx]
xor rcx, rax
mov eax, dword [r11 + rcx*4 + 0x171900]
mov dword [r10 - 8], eax
mov eax, dword [rbx + 4]
shr eax, 8
movzx ecx, al
mov eax, dword [rbx]
shr eax, 8
xor rcx, r8
movzx edx, byte [rcx + r11 + 0x171700]
movzx eax, al
xor rdx, rax
mov eax, dword [r11 + rdx*4 + 0x171d00]
mov dword [r10 - 4], eax
movzx eax, byte [rbx + 6]
xor rax, r9
movzx ecx, byte [rax + r11 + 0x171800]
movzx eax, byte [rbx + 2]
xor rcx, rax
mov eax, dword [r11 + rcx*4 + 0x172100]
mov dword [r10], eax
movzx eax, byte [rbx + 7]
lea r10, [r10 + 0x10]
xor rax, r8
movzx ecx, byte [rax + r11 + 0x171800]
movzx eax, byte [rbx + 3]
xor rcx, rax
mov eax, dword [r11 + rcx*4 + 0x172500]
mov dword [r10 - 0xc], eax
cmp edi, 0x100
jb 0x140092084
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret