Function at 0x140117050
Capabilities:
Encode data using xor

Disassembly:
push rsi
mov r9, qword [rcx + 0x1008]
mov rax, qword [rcx + 0x1018]
inc rax
mov qword [rcx + 0x1018], rax
add rax, qword [rcx + 0x1010]
mov r8b, 1
xor edx, edx
nop word cs:[rax + rax]
movzx r8d, r8b
and r8d, 1
add r8, rdx
mov r11, r9
shl r11, 0x15
xor r11, r9
not r11
shl rdx, 5
mov r9, rdx
or r9, 0x400
add r11, qword [rcx + r9 + 0x800]
mov r10, qword [rcx + rdx + 0x800]
mov r9d, r10d
shr r9d, 3
movzx r9d, r9b
add rax, r11
add rax, qword [rcx + r9*8 + 0x800]
mov r9, qword [rcx + rdx + 0x808]
mov qword [rcx + rdx + 0x800], rax
shr eax, 0xb
movzx eax, al
add r10, qword [rcx + rax*8 + 0x800]
mov qword [rcx + rdx], r10
mov rax, r11
shr rax, 5
xor rax, r11
add rax, qword [rcx + rdx + 0xc08]
mov r11d, r9d
shr r11d, 3
movzx r11d, r11b
add r10, rax
add r10, qword [rcx + r11*8 + 0x800]
mov qword [rcx + rdx + 0x808], r10
shr r10d, 0xb
movzx r10d, r10b
add r9, qword [rcx + r10*8 + 0x800]
mov qword [rcx + rdx + 8], r9
mov r11, rax
shl r11, 0xc
xor r11, rax
mov r10, qword [rcx + rdx + 0x810]
add r11, qword [rcx + rdx + 0xc10]
mov eax, r10d
shr eax, 3
movzx eax, al
add r9, r11
add r9, qword [rcx + rax*8 + 0x800]
mov qword [rcx + rdx + 0x810], r9
shr r9d, 0xb
movzx eax, r9b
add r10, qword [rcx + rax*8 + 0x800]
mov qword [rcx + rdx + 0x10], r10
mov r9, r11
shr r9, 0x21
xor r9, r11
add r9, qword [rcx + rdx + 0xc18]
mov rax, qword [rcx + rdx + 0x818]
mov r11d, eax
shr r11d, 3
movzx r11d, r11b
add r10, r9
add r10, qword [rcx + r11*8 + 0x800]
mov qword [rcx + rdx + 0x818], r10
shr r10d, 0xb
movzx r10d, r10b
add rax, qword [rcx + r10*8 + 0x800]
mov qword [rcx + rdx + 0x18], rax
mov rdx, r8
cmp r8, 0x20
setb r8b
jb 0x140117080
mov r8b, 1
xor edx, edx
nop word cs:[rax + rax]
movzx r8d, r8b
and r8d, 1
add r8, rdx
mov r10, r9
shl r10, 0x15
xor r10, r9
not r10
shl rdx, 5
mov r11, rdx
or r11, 0x400
add r10, qword [rcx + rdx + 0x800]
mov r9, qword [rcx + r11 + 0x800]
mov esi, r9d
shr esi, 3
movzx esi, sil
add rax, r10
add rax, qword [rcx + rsi*8 + 0x800]
mov qword [rcx + r11 + 0x800], rax
shr eax, 0xb
movzx eax, al
add r9, qword [rcx + rax*8 + 0x800]
mov qword [rcx + r11], r9
mov r11, r10
shr r11, 5
xor r11, r10
add r11, qword [rcx + rdx + 0x808]
mov rax, qword [rcx + rdx + 0xc08]
mov r10, qword [rcx + rdx + 0xc10]
mov esi, eax
shr esi, 3
movzx esi, sil
add r9, r11
add r9, qword [rcx + rsi*8 + 0x800]
mov qword [rcx + rdx + 0xc08], r9
shr r9d, 0xb
movzx r9d, r9b
add rax, qword [rcx + r9*8 + 0x800]
mov qword [rcx + rdx + 0x408], rax
mov rsi, r11
shl rsi, 0xc
xor rsi, r11
add rsi, qword [rcx + rdx + 0x810]
mov r9d, r10d
shr r9d, 3
movzx r9d, r9b
add rax, rsi
add rax, qword [rcx + r9*8 + 0x800]
mov qword [rcx + rdx + 0xc10], rax
shr eax, 0xb
movzx eax, al
add r10, qword [rcx + rax*8 + 0x800]
mov qword [rcx + rdx + 0x410], r10
mov r9, rsi
shr r9, 0x21
xor r9, rsi
add r9, qword [rcx + rdx + 0x818]
mov rax, qword [rcx + rdx + 0xc18]
mov r11d, eax
shr r11d, 3
movzx r11d, r11b
add r10, r9
add r10, qword [rcx + r11*8 + 0x800]
mov qword [rcx + rdx + 0xc18], r10
shr r10d, 0xb
movzx r10d, r10b
add rax, qword [rcx + r10*8 + 0x800]
mov qword [rcx + rdx + 0x418], rax
mov rdx, r8
cmp r8, 0x20
setb r8b
jb 0x1401171f0
mov qword [rcx + 0x1008], r9
mov qword [rcx + 0x1010], rax
mov qword [rcx + 0x1000], 0x100
pop rsi
ret