Function at 0x14016a6c0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rcx
mov eax, dword [0x1401fcd88]
xor edx, edx
div dword [0x1401fcd8c]
mov r8d, 0xffffffff
xor r8d, 0xd90df8f6
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd90df8f6
or eax, 0xd90df8f6
imul eax, edx
add eax, ecx
add eax, 0xc8b17a12
sub eax, 0xdf1c7e8a
sub eax, 0xc8b17a12
mov ecx, 0x999327b8
xor ecx, 0x92adee49
imul eax, ecx
mov ecx, 0x6fb48773
xor ecx, 0xb42dc988
cmp eax, ecx
ja 0x14016aa43
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1401fcd90]
xor edx, edx
div dword [0x1401fcd94]
mov r8d, eax
mov rax, qword [rsp + 0x70]
sub r8d, 0xdfc90997
xor r8d, 0x3d93f1ff
mov edx, r8d
and edx, 0x7692ff96
or r8d, 0x7692ff96
add edx, r8d
mov dword [rsp + 0x5c], edx
mov edx, 0x25a34bde
xor edx, 0xf619fd98
mov dword [rsp + 0x58], edx
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rsp + 0x50], rdx
mov qword [rcx + 8], 0
mov rdx, qword [rax]
call fcn.14001fbb0
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x5c]
add r8, 8
mov qword [rsp + 0x60], r8
mov rdx, qword [rdx]
mov qword [rsp + 0x68], rdx
cmp eax, ecx
je 0x14016a746
mov rcx, qword [rsp + 0x68]
xor eax, eax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
jmp 0x14016a7f9
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
cmp rax, rcx
jge 0x14016a8c8
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x50]
mov r9, qword [rcx]
mov r9, qword [r9 + rdx*8 + 8]
mov r8, qword [r8]
mov qword [r8 + rdx*8 + 8], r9
mov rcx, qword [rcx]
mov rcx, qword [rcx + rdx*8 + 8]
mov qword [rsp + 0x20], rcx
cmp rcx, 0
mov qword [rsp + 0x28], rax
je 0x14016a86d
mov rcx, qword [rsp + 0x20]
call fcn.14013fb70
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, 0xffffffffffffffff
xor rdx, 1
movabs r8, 0x57130aa6ee3b234b
movabs r9, 0x57130aa6ee3b234b
xor r8, r9
movabs r9, 0xf8c40f5dfb65401e
movabs r10, 0xf8c40f5dfb65401f
xor r9, r10
sub r8, r9
sub rdx, r8
sub rax, rdx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
jmp 0x14016a7f9
mov eax, dword [0x1401fcd98]
mov ecx, dword [0x1401fcd9c]
xor ecx, 0x36cb268d
or eax, ecx
mov edx, 0xf3899b2f
xor edx, 0x326c551d
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0x6a3efc6b
xor edx, 0xabdb3259
add eax, edx
sub eax, ecx
mov ecx, 0x394e11da
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xf8782302
xor r8d, 0x7819dbe6
mov eax, 0xb79b9bd2
xor eax, 0x4864642d
xor r8d, eax
mov edx, 0x9bb59f01
xor edx, 0x82f49694
mov eax, 0x52012b29
xor eax, 0xadfed4d6
xor edx, eax
mov r9d, 0x3a4ec2f3
xor r9d, 0x230fcb66
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x19410995
mov r10d, edx
and r10d, 0x8061f8e4
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x19410995
and ecx, edx
or eax, ecx
cmp eax, 0xda39c648
ja 0x14016aa4c
mov ecx, dword [0x1401fcda0]
mov edx, dword [0x1401fcda4]
mov eax, ecx
xor eax, 0xffffffff
and eax, edx
xor edx, 0xffffffff
and ecx, edx
sub ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa35079de
mov r8d, 0xffffffff
xor r8d, 0xa35079de
and edx, r8d
or eax, edx
mov edx, 0x70876a74
xor edx, 0x8f78958b
xor eax, edx
or ecx, 0xa35079de
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x75432681
xor ecx, 0x8abcd97e
xor eax, ecx
mov ecx, 0x54fc7428
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xd2c8ab67
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd2c8ab67
or eax, 0xd2c8ab67
imul eax, edx
add eax, ecx
cmp eax, 0x72e24328
jbe 0x14016aa4c
mov rax, qword [rsp + 0x80]
add rsp, 0x88
ret
jno 0x14016aa9a
mov cl, byte [rax]
jmp 0x14016a746
jb 0x14016aa6d
invalid
invalid
or byte [rax], al
add byte [rax], al
sub rsp, 0x20
call fcn.140013970
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov edx, dword [rcx]
mov dword [rax], edx
mov rax, qword [rcx + 8]
mov qword [rbp + 0x40], rax
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.14001c672
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov r8, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x58]
mov qword [rax + 8], r8
mov qword [rax + 0x10], rdx
mov dl, byte [rcx + 0x28]
mov byte [rax + 0x28], dl
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0x20], rax
mov rax, qword [rcx + 0x20]
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x30]
lea rdx, [rbp + 0x20]
sub rsp, 0x20
call fcn.14001c672
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x38], rax
mov rcx, qword [rcx + 0x30]
sub rsp, 0x20
call fcn.1400d5b32
mov rdx, qword [rbp - 0x30]
add rsp, 0x20
mov qword [rbp - 0x28], rax
mov cl, 1
xor eax, eax
cmp byte [rdx + 0x50], 0
mov byte [rbp - 0x19], cl
mov qword [rbp - 0x18], rax
jne 0x14016ac0a
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax + 0x38]
mov qword [rbp], rcx
mov rax, qword [rax + 0x40]
mov qword [rbp + 8], rax
lea rcx, [rbp + 0x10]
mov rdx, rbp
sub rsp, 0x20
call fcn.14016a6c0
mov rdx, qword [rbp - 0x58]
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x68], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x19], cl
mov qword [rbp - 0x18], rax
jne 0x14016ac0a
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x70]
mov r9, qword [rbp - 0x38]
mov r10, qword [rbp - 0x40]
mov qword [rbp - 0x10], r10
mov qword [rbp - 8], r9
mov qword [r8], rcx
mov qword [r8 + 8], rax
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call fcn.140168170
mov rdx, qword [rbp - 0x50]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x58]
mov qword [rdx + 0x30], rcx
mov cl, byte [rax]
xor eax, eax
cmp cl, 0
cmove rax, rdx
mov byte [rbp - 0x19], cl
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
mov dl, byte [rbp - 0x19]
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x80], r8
mov byte [rbp - 0x71], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1400d5120
mov rax, qword [rbp - 0x58]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14016ac46
mov rax, qword [rbp - 0x58]
mov cl, byte [rbp - 0x71]
mov byte [rax], cl
mov rax, qword [rbp - 0x80]
lea rsp, [rbp + 0x60]
pop rbp
ret