Function at 0x1401958f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
mov rax, rdx
mov rdx, qword [rdx + 0x10]
movzx r9d, byte [rdx + 0x19]
test r9b, r9b
je 0x140195927
mov r8, qword [rax + 8]
cmp byte [r8 + 0x19], 0
je 0x14019593f
mov r8, qword [rax]
movzx r9d, byte [0x1405d0cdb]
add r9b, byte [r8 + 0x19]
cmove rdx, r8
jmp 0x1401959eb
mov r10, rdx
nop word [rax + rax]
mov r8, r10
mov r10, qword [r10]
cmp byte [r10 + 0x19], 0
je 0x140195930
jmp 0x14019596c
mov r10, rax
nop word cs:[rax + rax]
mov r11, r10
mov r10, r8
cmp r11, qword [r8 + 0x10]
jne 0x140195969
mov r8, qword [r10 + 8]
cmp byte [r8 + 0x19], 0
je 0x140195950
jmp 0x14019596c
mov r8, r10
mov r10, qword [rax]
movzx r11d, byte [r10 + 0x19]
or r9b, r11b
movzx ebx, byte [0x14056d0c8]
add bl, 0x7f
test r11b, r11b
cmove rdx, r10
cmp r9b, bl
jne 0x1401959eb
mov rdx, qword [r8 + 0x10]
cmp r8, rax
je 0x1401959eb
mov qword [r10 + 8], r8
mov r9, qword [rax]
mov qword [r8], r9
mov r9, r8
cmp r8, qword [rax + 0x10]
je 0x1401959ca
mov r9, qword [r8 + 8]
cmp byte [rdx + 0x19], 0
jne 0x1401959b7
mov qword [rdx + 8], r9
mov qword [r9], rdx
mov r10, qword [rax + 0x10]
mov qword [r8 + 0x10], r10
mov r10, qword [rax + 0x10]
mov qword [r10 + 8], r8
mov r10, qword [rcx]
cmp qword [r10 + 8], rax
je 0x140195ab6
mov r11, qword [rax + 8]
lea r10, [r11 + 0x10]
cmp qword [r11], rax
cmove r10, r11
jmp 0x140195aba
mov r9, qword [rax + 8]
cmp byte [rdx + 0x19], 0
jne 0x1401959f9
mov qword [rdx + 8], r9
mov r8, qword [rcx]
cmp qword [r8 + 8], rax
je 0x140195a1a
lea r8, [r9 + 0x10]
cmp qword [r9], rax
cmove r8, r9
cmp byte [0x1405d0cd9], 0
cmovne r8, r9
jmp 0x140195a1e
add r8, 8
mov qword [r8], rdx
mov r8, qword [rcx]
cmp qword [r8], rax
jne 0x140195a77
movzx r11d, byte [0x1405d0cda]
add r11b, byte [rdx + 0x19]
movzx ebx, byte [0x14056d0c8]
add bl, 0x7f
mov r10, r9
cmp r11b, bl
jne 0x140195a74
mov r11, rdx
nop word [rax + rax]
mov r10, r11
mov r11, qword [r11]
cmp byte [r11 + 0x19], 0
sete sil
movzx edi, byte [0x1405d0a08]
mov ebx, edi
xor bl, sil
test dil, sil
jne 0x140195a50
test bl, bl
jne 0x140195a50
mov qword [r8], r10
mov r8, qword [rcx]
cmp qword [r8 + 0x10], rax
jne 0x140195aab
cmp byte [rdx + 0x19], 0
mov r10, r9
jne 0x140195aa7
mov r11, rdx
nop dword [rax]
mov r10, r11
mov r11, qword [r11 + 0x10]
movzx ebx, byte [0x14056d0c8]
add bl, 0x7f
cmp byte [r11 + 0x19], bl
je 0x140195a90
mov qword [r8 + 0x10], r10
cmp byte [rax + 0x18], 1
je 0x140195af9
jmp 0x140195e2b
add r10, 8
mov qword [r10], r8
mov r10, qword [rax + 8]
mov qword [r8 + 8], r10
movzx r10d, byte [r8 + 0x18]
movzx r11d, byte [rax + 0x18]
mov byte [r8 + 0x18], r11b
mov byte [rax + 0x18], r10b
cmp byte [rax + 0x18], 1
je 0x140195af9
jmp 0x140195e2b
mov byte [r9 + 0x18], 0
mov r9, qword [rdx + 8]
mov r8, qword [rcx]
cmp rdx, qword [r8 + 8]
je 0x140195e1b
mov r8, rdx
cmp byte [rdx + 0x18], 1
jne 0x140195e18
mov rdx, r9
mov r9, qword [r9]
cmp r8, r9
je 0x140195b40
cmp byte [r9 + 0x18], 0
je 0x140195b60
cmp byte [r9 + 0x19], 0
jne 0x140195af5
jmp 0x140195c06
mov r9, qword [rdx + 0x10]
cmp byte [r9 + 0x18], 0
je 0x140195ba5
cmp byte [r9 + 0x19], 0
jne 0x140195af5
jmp 0x140195c45
mov byte [r9 + 0x18], 1
mov byte [rdx + 0x18], 0
mov r9, qword [rdx]
mov r10, qword [r9 + 0x10]
mov qword [rdx], r10
mov r10, qword [r9 + 0x10]
cmp byte [r10 + 0x19], 0
jne 0x140195b82
mov qword [r10 + 8], rdx
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov r10, qword [rcx]
cmp qword [r10 + 8], rdx
je 0x140195be9
mov r11, qword [rdx + 8]
lea r10, [r11 + 0x10]
cmp qword [r11 + 0x10], rdx
cmovne r10, r11
jmp 0x140195bed
mov byte [r9 + 0x18], 1
mov byte [rdx + 0x18], 0
mov r9, qword [rdx + 0x10]
mov r10, qword [r9]
mov qword [rdx + 0x10], r10
mov r10, qword [r9]
cmp byte [r10 + 0x19], 0
jne 0x140195bc7
mov qword [r10 + 8], rdx
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov r10, qword [rcx]
cmp qword [r10 + 8], rdx
je 0x140195c28
mov r11, qword [rdx + 8]
lea r10, [r11 + 0x10]
cmp qword [r11], rdx
cmove r10, r11
jmp 0x140195c2c
add r10, 8
mov qword [r10], r9
mov qword [r9 + 0x10], rdx
mov qword [rdx + 8], r9
mov r9, qword [rdx]
cmp byte [r9 + 0x19], 0
jne 0x140195af5
mov r10, qword [r9 + 0x10]
cmp byte [r10 + 0x18], 1
jne 0x140195cba
mov r11, qword [r9]
cmp byte [r11 + 0x18], 1
je 0x140195af0
jmp 0x140195cba
add r10, 8
mov qword [r10], r9
mov qword [r9], rdx
mov qword [rdx + 8], r9
mov r9, qword [rdx + 0x10]
cmp byte [r9 + 0x19], 0
jne 0x140195af5
mov r10, qword [r9]
cmp byte [r10 + 0x18], 1
jne 0x140195c5e
mov r11, qword [r9 + 0x10]
cmp byte [r11 + 0x18], 1
je 0x140195af0
mov r11, qword [r9 + 0x10]
cmp byte [r11 + 0x18], 1
jne 0x140195d99
mov byte [r10 + 0x18], 1
mov byte [r9 + 0x18], 0
mov r10, qword [r9]
mov r11, qword [r10 + 0x10]
mov qword [r9], r11
mov r11, qword [r10 + 0x10]
cmp byte [r11 + 0x19], 0
jne 0x140195c90
mov qword [r11 + 8], r9
mov r11, qword [r9 + 8]
mov qword [r10 + 8], r11
mov r11, qword [rcx]
cmp qword [r11 + 8], r9
je 0x140195d86
mov rsi, qword [r9 + 8]
lea r11, [rsi + 0x10]
cmp qword [rsi + 0x10], r9
cmovne r11, rsi
jmp 0x140195d8a
mov r11, qword [r9]
cmp byte [r11 + 0x18], 1
jne 0x140195d1a
mov byte [r10 + 0x18], 1
mov byte [r9 + 0x18], 0
mov r10, qword [r9 + 0x10]
mov r11, qword [r10]
mov qword [r9 + 0x10], r11
mov r11, qword [r10]
cmp byte [r11 + 0x19], 0
jne 0x140195ce7
mov qword [r11 + 8], r9
mov r11, qword [r9 + 8]
mov qword [r10 + 8], r11
mov r11, qword [rcx]
cmp qword [r11 + 8], r9
je 0x140195d09
mov rsi, qword [r9 + 8]
lea r11, [rsi + 0x10]
cmp qword [rsi], r9
cmove r11, rsi
jmp 0x140195d0d
add r11, 8
mov qword [r11], r10
mov qword [r10], r9
mov qword [r9 + 8], r10
mov r9, qword [rdx]
movzx r10d, byte [rdx + 0x18]
mov byte [r9 + 0x18], r10b
mov byte [rdx + 0x18], 1
mov r9, qword [r9]
mov byte [r9 + 0x18], 1
mov r9, qword [rdx]
mov r10, qword [r9 + 0x10]
mov qword [rdx], r10
mov r10, qword [r9 + 0x10]
movzx r11d, byte [0x14056d0c8]
add r11b, 0x7f
cmp byte [r10 + 0x19], r11b
jne 0x140195d53
mov qword [r10 + 8], rdx
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov r10, qword [rcx]
cmp qword [r10 + 8], rdx
je 0x140195d76
mov r11, qword [rdx + 8]
lea r10, [r11 + 0x10]
cmp qword [r11 + 0x10], rdx
cmovne r10, r11
jmp 0x140195d7a
add r10, 8
mov qword [r10], r9
mov qword [r9 + 0x10], rdx
jmp 0x140195e14
add r11, 8
mov qword [r11], r10
mov qword [r10 + 0x10], r9
mov qword [r9 + 8], r10
mov r9, qword [rdx + 0x10]
movzx r10d, byte [rdx + 0x18]
mov byte [r9 + 0x18], r10b
mov byte [rdx + 0x18], 1
mov r9, qword [r9 + 0x10]
mov byte [r9 + 0x18], 1
mov r9, qword [rdx + 0x10]
mov r10, qword [r9]
mov qword [rdx + 0x10], r10
mov r10, qword [r9]
cmp byte [r10 + 0x19], 0
jne 0x140195dc8
mov qword [r10 + 8], rdx
mov r10, qword [rdx + 8]
mov qword [r9 + 8], r10
mov r10, qword [rcx]
cmp qword [r10 + 8], rdx
je 0x140195e0a
mov r10, qword [rdx + 8]
mov r11, qword [r10]
cmp r11, rdx
sete bl
movzx esi, byte [0x1405d0cd8]
xor bl, sil
lea rdi, [r10 + 0x10]
test bl, bl
cmovne rdi, r10
cmp r11, rdx
cmovne r10, rdi
test sil, sil
cmove r10, rdi
jmp 0x140195e0e
add r10, 8
mov qword [r10], r9
mov qword [r9], rdx
mov qword [rdx + 8], r9
mov rdx, r8
movzx r8d, byte [0x14056d0c8]
add r8b, 0x80
mov byte [rdx + 0x18], r8b
mov rdx, qword [0x1405d08a0]
movabs r8, 0xf33b6a3b0aea8a96
sub rdx, r8
add rdx, qword [rcx + 8]
add rdx, r8
je 0x140195e4f
dec rdx
mov qword [rcx + 8], rdx
pop rbx
pop rdi
pop rsi
ret