Function at 0x20193a70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rdx
mov rdi, qword [rcx]
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
mov qword [rsp + 0x60], rdi
je 0x20193b86
mov eax, dword [0x205b3da0]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
mov ebp, 0x32eb031b
mov eax, dword [0x20552880]
add eax, ebp
cmp ecx, eax
nop word [rax + rax]
movzx ecx, byte [rdi + 0x19]
lea rbx, [rsp + 0x50]
mov rdx, rbx
mov r8d, 0x62db8a35
mov r9d, 0x2865e51a
call fcn.20194350
mov eax, dword [0x20552880]
add eax, ebp
lea rcx, [fcn.20193a70]
lea edx, [rcx + rcx]
add edx, 0x3c80
mov r8d, edx
not r8d
and edx, r8d
add ecx, ecx
add ecx, 0x3c81
and r8d, 0xfffffffe
xor r8d, ecx
or r8d, edx
not r8d
cmp r8d, eax
jne 0x20193ac0
test byte [rsp + 0x50], 1
je 0x20193d30
lea r8, [rdi + 0x30]
mov rdx, qword [rdi + 0x30]
mov r14, qword [rdi + 0x40]
cmp qword [rdi + 0x48], 0x10
setae cl
lea rax, [rsp + 0x4f]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 0xf1ef3f80
mov dword [rsp + 0x38], 0xb4ff1c01
mov r9, rsi
call fcn.20194380
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
cmp byte [rsp + 0x4f], 0
je 0x20193cd1
mov rsi, qword [rsi + 0x10]
jmp 0x20193cd5
lea rax, [fcn.20193a70]
lea r12d, [rax + rax]
add r12d, 0x3320
not r12d
mov eax, r12d
and eax, 0xfffffffe
neg r12d
or r12d, eax
lea r13, [rsi + 0x10]
lea r15, [rsp + 0x50]
mov edi, 0x32eb036b
nop word cs:[rax + rax]
cmp r12d, 0xffffffff
jne 0x20193c0e
mov rbp, qword [0x205b3da8]
mov r14, r13
add rbp, qword [rsi + 0x20]
cmp qword [rsi + 0x28], 0x10
jb 0x20193bdf
mov r14, qword [rsi + 0x10]
mov r9d, dword [0x20552880]
lea r8d, [r9 - 0x71b0b347]
add r9d, 0x9648289e
lea rcx, [rsp + 0x58]
mov rdx, r15
call fcn.201943d0
mov eax, dword [rsp + 0x58]
imul eax, dword [rsp + 0x50]
test al, 1
je 0x20193c22
mov eax, dword [0x205b3da4]
mov ecx, dword [0x20552880]
add ecx, edi
cmp eax, ecx
jge 0x20193bc0
jmp 0x20193bc6
lea r15, [rsp + 0x58]
lea r12, [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
jmp 0x20193c9d
mov rax, qword [rsp + 0x50]
mov r13, qword [rax]
cmp rbp, r13
mov r8, r13
cmovb r8, rbp
mov dword [rsp + 0x28], 0xdea15cde
mov dword [rsp + 0x20], 0x5119e686
mov rdx, r14
mov r9d, 0xdfe86535
call fcn.2008e3f0
xor ecx, ecx
cmp r13, rbp
setb cl
xor edx, edx
test eax, eax
sets dl
cmovne ecx, edx
lea rax, [rbx + 0x10]
test cl, cl
cmove rdi, rbx
cmove rax, rbx
mov rbx, qword [rax]
cmp byte [rbx + 0x19], 0
jne 0x20193a99
mov dword [rsp + 0x20], 0xf49930b
mov rcx, rbx
mov rdx, r15
mov r8, r12
mov r9d, 0x60e372c4
call fcn.20194370
mov rcx, qword [rsp + 0x58]
cmp qword [rbx + 0x48], 0x10
jb 0x20193c40
mov rcx, qword [rcx]
jmp 0x20193c40
add rsi, 0x10
cmp r14, rbx
mov r8, rbx
cmovb r8, r14
mov dword [rsp + 0x28], 0xdea15cde
mov dword [rsp + 0x20], 0x5119e686
mov rcx, rsi
mov r9d, 0xdfe86535
call fcn.2008e3f0
mov ecx, 0x32eb031a
add ecx, dword [0x20552880]
cmp eax, ecx
setg r8b
cmp rbx, r14
setae dl
test eax, eax
sete cl
mov dword [rsp + 0x20], 0x2ab42015
mov r9d, 0xec16082f
call fcn.201943b0
test al, 1
jne 0x20193d5b
mov eax, dword [0x205b3da4]
mov ecx, 0x32eb0330
add ecx, dword [0x20552880]
cmp eax, ecx
jge 0x20193d4b
mov al, 1
test al, al
jne 0x20193d56
mov al, 1
nop dword [rax]
test al, al
je 0x20193d50
jmp 0x20193d45
mov rdi, qword [rsp + 0x60]
mov rax, rdi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret