Function at 0x140009a0c
Capabilities:
Encode data using xor

Disassembly:
xor edx, dword [rsi + 0x10]
lea r8, [0x140000000]
xor r15d, dword [rsi + 4]
xor r12d, dword [rsi + 8]
xor r13d, dword [rsi + 0xc]
xor ecx, dword [rsi]
add rsi, 0x14
mov edi, edx
mov r9d, ecx
mov r10d, r15d
mov r11d, r12d
mov ebx, r13d
movzx eax, r15b
movzx ecx, cl
mov r15d, dword [r8 + rax*4 + 0x2e3b0]
mov ecx, dword [r8 + rcx*4 + 0x2e3b0]
movzx eax, r12b
mov r12d, dword [r8 + rax*4 + 0x2e3b0]
movzx eax, r13b
mov r13d, dword [r8 + rax*4 + 0x2e3b0]
movzx eax, dl
mov edx, dword [r8 + rax*4 + 0x2e3b0]
mov eax, r9d
shr rax, 0x10
movzx r8d, al
mov eax, r9d
shr rax, 8
mov dword [rsp + 0x38], edx
movzx edx, al
lea rax, [0x140000000]
mov eax, dword [rax + r8*4 + 0x2ebb0]
lea r8, [0x140000000]
shr r9, 0x18
xor eax, dword [r8 + rdx*4 + 0x2e7b0]
xor eax, dword [r8 + r9*4 + 0x2efb0]
lea r9, [0x140000000]
xor ecx, eax
mov eax, r10d
shr rax, 0x10
movzx r8d, al
mov eax, r10d
shr rax, 8
movzx edx, al
shr r10, 0x18
mov eax, dword [r9 + r8*4 + 0x2ebb0]
xor eax, dword [r9 + rdx*4 + 0x2e7b0]
xor eax, dword [r9 + r10*4 + 0x2efb0]
xor r15d, eax
mov eax, r11d
shr rax, 0x10
movzx r8d, al
mov eax, r11d
shr rax, 8
movzx edx, al
shr r11, 0x18
mov eax, dword [r9 + r8*4 + 0x2ebb0]
xor eax, dword [r9 + rdx*4 + 0x2e7b0]
xor eax, dword [r9 + r11*4 + 0x2efb0]
xor r12d, eax
mov eax, ebx
shr rax, 0x10
movzx r8d, al
mov eax, ebx
shr rax, 8
movzx edx, al
shr rbx, 0x18
mov eax, dword [r9 + r8*4 + 0x2ebb0]
xor eax, dword [r9 + rdx*4 + 0x2e7b0]
xor eax, dword [r9 + rbx*4 + 0x2efb0]
xor r13d, eax
mov eax, edi
shr rax, 0x10
movzx r8d, al
mov eax, edi
shr rax, 8
movzx edx, al
shr rdi, 0x18
mov eax, dword [r9 + r8*4 + 0x2ebb0]
xor eax, dword [r9 + rdx*4 + 0x2e7b0]
xor eax, dword [r9 + rdi*4 + 0x2efb0]
mov edx, dword [rsp + 0x38]
xor edx, eax
mov dword [rsp + 0x38], edx
sub r14, 1
jne 0x1400098c0
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
xor ecx, dword [rsi]
movzx edx, cl
shr ecx, 8
mov r14, qword [rsp + 8]
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
xor ecx, dword [rsi + 4]
xor ecx, r15d
mov r15, qword [rsp]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
xor ecx, dword [rsi + 8]
xor ecx, r12d
mov r12, qword [rsp + 0x48]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
xor ecx, dword [rsi + 0xc]
xor ecx, r13d
mov r13, qword [rsp + 0x10]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
xor ecx, dword [rsi + 0x10]
xor ecx, dword [rsp + 0x38]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
movzx edx, cl
shr ecx, 8
xor ecx, dword [r9 + rdx*4 + 0x2dbb0]
add rsi, 0x14
cmp rbp, 8
jb 0x140009c85
mov r8, rbp
shr r8, 3
imul rax, r8, 0xfffffffffffffff8
add rbp, rax
enter 0xffffffffffff80ae, 0
add byte [rax], al
add byte [rdi], cl
mov dh, 0x16
movzx edx, byte [rsi]
mov eax, ecx
xor rdx, rax
shr ecx, 8
movzx eax, dl
movzx edx, byte [rsi + 1]
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [rsi + 2]
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [rsi + 3]
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [rsi + 4]
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [rsi + 5]
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [rsi + 6]
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
movzx edx, byte [rsi + 7]
add rsi, 8
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
sub r8, 1
jne 0x140009bc0
test rbp, rbp
je 0x140009cb0
nop word [rax + rax]
movzx edx, byte [rsi]
lea rsi, [rsi + 1]
mov eax, ecx
shr ecx, 8
xor rdx, rax
movzx eax, dl
xor ecx, dword [r9 + rax*4 + 0x2dbb0]
sub rbp, 1
jne 0x140009c90
not ecx
mov eax, ecx
add rsp, 0x18
pop rsi
pop rbp
ret