Function at 0x140069200
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rcx
call fcn.140068a70
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
cmp rdx, 0x10
jge 0x140069246
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov dl, al
and dl, 0xf
mov al, 0x81
xor al, 0x11
or dl, al
call fcn.14003077f
jmp 0x1400694f7
mov eax, dword [0x1401db088]
mov ecx, dword [0x1401db08c]
xor ecx, 0x21cff3e
or eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0xb77b9bec
xor eax, 0xb77b9bec
mov edx, 0xa8566de9
xor edx, 0x4f172702
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0x98d631f7
xor r8d, 0x6729ce08
mov edx, eax
xor edx, r8d
and ecx, edx
mov edx, 0x1d59306e
or edx, 0x1d59306e
mov r8d, 0xf080716b
xor r8d, 0xf7f8e94
xor edx, r8d
xor ecx, 0xffffffff
mov r8d, 0xf786b409
xor r8d, 0x8794bf6
xor edx, r8d
and ecx, edx
mov edx, 0xa1a0b2ff
xor edx, 0x5e5f4d00
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x1d59306e
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xdfc44c6
or edx, 0xdfc44c6
xor edx, 0xffffffff
or eax, edx
mov edx, 0x5d944fcc
xor edx, 0xa26bb033
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdfc44c6
and ecx, edx
mov edx, 0x94f5275f
xor edx, 0x6b0ad8a0
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xd2b167e3
ja 0x1400694fd
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401db090]
xor edx, edx
div dword [0x1401db094]
mov edx, eax
mov eax, edx
or eax, 0xed02f511
xor eax, 0xffffffff
or edx, 0xed02f511
mov r8d, 0x5243869f
xor r8d, 0xadbc7960
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0x95e6becb
xor edx, 0xcf7327af
or eax, edx
mov edx, 0xf180716
xor edx, 0x700994fd
add eax, edx
cmp rcx, 0xffff
seta cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xb3ff323d
je 0x1400694fd
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1400694c9
jmp 0x1400693b2
mov ecx, dword [0x1401db098]
mov edx, dword [0x1401db09c]
xor edx, 0x3ace73d4
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov ecx, 0x788066a
xor edx, edx
div ecx
and eax, 0xf1395d66
imul eax, eax, 0xd7ba1e8a
cmp eax, 0x83f29a6b
je 0x140069506
mov rcx, qword [rsp + 0x30]
mov edx, dword [0x1401db0a0]
mov r9d, dword [0x1401db0a4]
xor r9d, 0x434f0fc6
mov eax, 0xd9f7d1e2
xor eax, 0x26082e1d
mov r10d, r9d
xor r10d, eax
mov r8d, edx
and r8d, r10d
mov eax, edx
or eax, r10d
mov r10d, 0xe92bda67
xor r10d, 0x16d42598
xor eax, r10d
imul eax, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, eax
mov eax, 0x17827409
xor eax, 0x9bc5f434
and edx, eax
mov r8d, 0x17107652
xor r8d, 0x62161c64
mov eax, edx
and eax, r8d
or edx, 0x75066a36
add eax, edx
mov edx, 0x41cd157e
xor edx, 0x9d506865
or eax, edx
mov dword [rsp + 0x28], eax
mov edx, 0xdc
call fcn.14003077f
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x28]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2e], cl
cmp eax, 0x19ea2476
jbe 0x1400693eb
mov al, byte [rsp + 0x2e]
test al, 1
jne 0x1400694b2
jmp 0x1400694f7
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov dx, ax
call fcn.140068e30
jmp 0x1400694f7
mov rcx, qword [rsp + 0x30]
mov dl, 0x19
xor dl, 0xc4
call fcn.14003077f
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x1400694f7
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov edx, eax
call fcn.140069050
nop
add rsp, 0x48
ret
shl byte [rcx + 0x38], cl
insb byte [rdi], dx
jmp 0x140069334
in al, 0x63
pop rsp
jmp 0x1400693eb