Function at 0x140095d20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov r10, qword [rcx + 0x20]
mov ebp, r8d
mov r14, rdx
mov rsi, rcx
mov ebx, 0x31
mov r11d, 8
mov r9d, dword [r10 + 4]
mov eax, ebx
movzx r8d, byte [r10 + 8]
cmp r11d, r9d
mov edx, r9d
cmovb edx, r11d
sub r11d, edx
mov ecx, r11d
shr eax, cl
mov ecx, edx
shl r8b, cl
mov ecx, r11d
or r8b, al
shl eax, cl
sub ebx, eax
mov byte [r10 + 8], r8b
sub r9d, edx
mov dword [r10 + 4], r9d
jne 0x140095da1
mov ecx, dword [r10]
mov rax, qword [r10 + 0x10]
mov byte [rcx + rax], r8b
inc dword [r10]
mov dword [r10 + 4], 8
test r11d, r11d
jne 0x140095d52
mov r9, qword [rsi + 0x20]
lea ebx, [r11 + 0x41]
mov r10d, 8
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [r9 + 4]
mov eax, ebx
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub ebx, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x140095e0f
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x140095dc0
mov r9, qword [rsi + 0x20]
mov edi, 0x59
mov ebx, edi
mov r10d, 8
nop word [rax + rax]
mov r8d, dword [r9 + 4]
mov eax, ebx
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub ebx, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x140095e7f
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x140095e30
mov r9, qword [rsi + 0x20]
lea ebx, [r10 + 0x26]
mov r10d, 8
mov r8d, dword [r9 + 4]
mov eax, ebx
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub ebx, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x140095ee1
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x140095e92
mov r9, qword [rsi + 0x20]
lea ebx, [r10 + 0x53]
mov r10d, 8
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [r9 + 4]
mov eax, ebx
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub ebx, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x140095f4f
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x140095f00
mov r9, qword [rsi + 0x20]
mov r10d, 8
nop
mov r8d, dword [r9 + 4]
mov eax, edi
movzx r11d, byte [r9 + 8]
cmp r10d, r8d
mov edx, r8d
cmovb edx, r10d
sub r10d, edx
mov ecx, r10d
shr eax, cl
mov ecx, edx
shl r11b, cl
mov ecx, r10d
or r11b, al
shl eax, cl
sub edi, eax
mov byte [r9 + 8], r11b
sub r8d, edx
mov dword [r9 + 4], r8d
jne 0x140095faf
mov ecx, dword [r9]
mov rax, qword [r9 + 0x10]
mov byte [rcx + rax], r11b
inc dword [r9]
mov dword [r9 + 4], 8
test r10d, r10d
jne 0x140095f60
movzx r10d, byte [r14]
lea r11, [0x14010f950]
xor r8d, r8d
mov ebx, 0xffffffff
xor r9d, r9d
lea edi, [r8 + 1]
nop
movzx edx, byte [r9 + r14]
cmp r8d, 4
jne 0x14009600e
test dl, dl
je 0x140096009
movzx r8d, r10b
nop dword [rax]
nop word [rax + rax]
mov ecx, ebx
mov eax, ebx
shr rcx, 0x18
xor rcx, r8
shl eax, 8
mov ebx, dword [r11 + rcx*4]
xor ebx, eax
add dl, 0xff
jne 0x140095ff0
xor r8d, r8d
jmp 0x14009603a
mov ecx, ebx
shr rcx, 0x18
movzx eax, dl
xor rcx, rax
mov eax, ebx
shl eax, 8
mov ebx, dword [r11 + rcx*4]
xor ebx, eax
movzx eax, dl
inc r8d
cmp r10b, dl
movzx r10d, r10b
cmovne r8d, edi
cmovne r10d, eax
inc r9d
cmp r9d, ebp
jb 0x140095fd0
not ebx
mov rcx, rsi
mov edx, ebx
call fcn.140096920
mov r8d, ebp
mov rdx, r14
mov rcx, rsi
call fcn.140095040
mov rbp, qword [rsp + 0x38]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret