Function at 0x14007ad5a
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rdx
mov qword [rbp + 8], rcx
mov eax, 0x10
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.140071710
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x10], rax
sub rsp, 0x20
call fcn.14003afc7
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x10]
mov byte [rbp + 0x1f], cl
cmp byte [rax], 0
jne 0x14007ad30
mov al, byte [rbp + 0x1f]
cmp al, 0xc0
jne 0x14007a761
mov eax, dword [0x1401f4eb8]
xor eax, 0x8469eed2
sub eax, dword [0x1401f4ebc]
mov r8d, 0x8418ba4a
xor r8d, 0xdd5f60a9
mov ecx, 0xda8d6dd5
xor ecx, 0x2572922a
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x70da19b8
xor r8d, 0x299dc35b
mov edx, eax
and edx, r8d
or eax, 0x5947dae3
imul eax, edx
add eax, ecx
imul eax, eax, 0xa5edae0d
mov ecx, eax
and ecx, 0x86d4a641
shl ecx, 1
add eax, 0x86d4a641
sub eax, ecx
cmp eax, 0x70dd14ef
jb 0x14007ad36
mov eax, dword [0x1401f4ec0]
mov ecx, dword [0x1401f4ec4]
xor ecx, 0xd74e4408
imul eax, ecx
or eax, 0xaf3b3526
mov ecx, 0x11a4c170
xor ecx, 0xf7aeea70
add eax, ecx
add eax, 0xc9d6ac74
sub eax, 0xe60a2b00
mov ecx, 0xed1b47b3
xor edx, edx
div ecx
mov dword [rbp - 0xc], eax
xor eax, eax
mov ecx, eax
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140012e10
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x40]
sub rsp, 0x20
call fcn.140022f30
mov eax, dword [rbp - 0xc]
add rsp, 0x20
cmp eax, 0x60336d58
jae 0x14007a6d6
jmp 0x14007ad30
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.140074590
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x14007ad30
mov rax, qword [rbp - 0x18]
movabs rcx, 0x94a216d31e1e5f9e
movabs rdx, 0x94a216d31e1e5f9e
xor rcx, rdx
cmp rax, rcx
jge 0x14007a930
lea rcx, [0x1402066b8]
sub rsp, 0x20
call fcn.140074dba
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x14007ad30
mov ecx, dword [0x1401f4ec8]
mov eax, dword [0x1401f4ecc]
mov edx, 0x5c9cc4b6
xor edx, 0x355ff539
add ecx, edx
sub ecx, eax
sub ecx, 0x69c3318f
mov eax, 0xccae372
xor eax, 0x4762c53c
xor ecx, eax
mov eax, ecx
or eax, 0x88557607
mov edx, 0x76c437a1
xor edx, 0x893bc85e
xor eax, edx
mov edx, 0x608b3e86
xor edx, 0x9f74c179
xor ecx, edx
mov edx, 0xdb7c998e
xor edx, 0x5329ef89
mov r8d, 0x11fa7f8c
xor r8d, 0xee058073
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x6bca894c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x6bca894c
or eax, 0x6bca894c
imul eax, edx
add eax, ecx
cmp eax, 0xd7dbe972
je 0x14007ad3f
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x1401f4ed0]
mov r8d, dword [0x1401f4ed4]
xor r8d, 0xffffffff
mov edx, eax
xor edx, r8d
and edx, eax
mov r8d, 0x86cd6bf7
xor r8d, 0xddc00002
mov eax, edx
and eax, r8d
xor edx, 0x5b0d6bf5
or eax, edx
mov r8d, 0xb4b6d1a6
xor r8d, 0x45094d9a
xor edx, edx
div r8d
mov r8d, 0xd38ad886
xor edx, edx
div r8d
mov dword [rbp - 0x24], eax
mov eax, 0x59b33cdd
xor eax, 0x34671d0a
mov dword [rbp - 0x28], eax
movabs rax, 0x968924e502f11db5
movabs rdx, 0x6976db1ae5458d4f
xor rax, rdx
lea rdx, [0x140206605]
lea r8, [0x14020666f]
lea r9, [0x1402065f5]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140016090
mov ecx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x24]
add rsp, 0x30
cmp eax, ecx
je 0x14007a87c
jmp 0x14007ad30
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp + 0x30]
sub rsp, 0x20
call fcn.1400238f3
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rax
lea rdx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140022f30
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov r9, rax
add r9, 0xffffffffffffffff
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rcx, 0x9a2e863383b2cade
movabs r8, 0xa9ac8716bcd9ef73
xor rcx, r8
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x338201253f6b25ad
xor r10, rdx
and r9, r10
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0x5998f0f142635505
movabs r11, 0x6a1af1d47d0870a8
xor r8, r11
and rdx, r8
mov r8, rax
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0
setne al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x14007aa15
mov rax, qword [rbp - 8]
add rax, 8
mov qword [rbp - 0x38], rax
xor eax, eax
mov qword [rbp - 0x30], rax
jmp 0x14007aaf3
mov eax, dword [0x1401f4ed8]
mov ecx, dword [0x1401f4edc]
sub eax, 0x6d4cdcc8
add eax, ecx
add eax, 0x6d4cdcc8
mov ecx, 0xc3217efd
xor edx, edx
div ecx
mov ecx, 0x470ef792
xor edx, edx
div ecx
mov ecx, 0x5bc09841
xor edx, edx
div ecx
mov ecx, 0x603d64cd
xor ecx, 0xa0a9f9
cmp eax, ecx
jae 0x14007ad48
mov edx, dword [0x1401f4ee0]
xor edx, 0x66eb374d
mov r8d, dword [0x1401f4ee4]
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, edx
and ecx, r9d
mov eax, edx
or eax, r9d
mov r9d, 0xe6511584
xor r9d, 0x19aeea7b
xor eax, r9d
imul eax, ecx
mov ecx, edx
and ecx, r8d
or edx, r8d
imul edx, ecx
add edx, eax
mov ecx, edx
xor ecx, 0x3b1da6
mov eax, 0xffffffff
xor eax, 0x3b1da6
and edx, eax
mov eax, 0xa2c977bc
xor eax, 0xa2c977be
imul eax, edx
sub eax, ecx
mov ecx, 0x74652aa1
xor edx, edx
div ecx
xor eax, 0x3ead94f
mov dword [rbp - 0x3c], eax
sub rsp, 0x20
call fcn.1400091c0
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
cmp eax, 0xce0c4e10
je 0x14007aa5b
jmp 0x14007ad30
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x48], rax
cmp rax, rcx
jge 0x14007ad1e
mov rdx, qword [rbp]
mov rcx, qword [rbp + 8]
mov qword [rdx], 0
sub rsp, 0x20
call fcn.14007a5bf
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x14007ac1b
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 8]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14007ab92
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140016582
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jmp 0x14007ac1b
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x38]
mov rcx, qword [rcx]
add rcx, 8
shl rdx, 3
add rcx, rdx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400e1750
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x14007ac1b
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.1400e1741
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x5a
xor dl, 0x5a
cmp cl, dl
sete dl
and dl, 1
movzx edx, dl
mov r8d, edx
mov rdx, rax
and rdx, r8
shl rdx, 1
xor rax, r8
add rax, rdx
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
mov al, byte [rbp - 0x51]
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x70], rcx
mov byte [rbp - 0x61], al
mov eax, dword [0x1401f4ee8]
mov edx, dword [0x1401f4eec]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0xfaec7e20
xor edx, edx
div ecx
mov ecx, 0x349249b0
xor ecx, 0x1e78ef70
or eax, ecx
mov ecx, 0x5fd4d7d7
xor ecx, 0x6a4976de
xor edx, edx
div ecx
mov ecx, 0xe650a04e
xor ecx, 0xf240749f
cmp eax, ecx
ja 0x14007ad51
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp]
mov r8d, dword [0x1401f4ef0]
add r8d, dword [0x1401f4ef4]
xor r8d, 0x86895fc1
mov r9d, 0x93390c96
xor r9d, 0x813f14b9
mov edx, r8d
and edx, r9d
mov r9d, 0xf94bccd2
xor r9d, 0xeb4dd4fd
or r8d, r9d
add edx, r8d
mov r8d, 0x6ce3c2a2
xor r8d, 0x4091a663
imul edx, r8d
mov dword [rbp - 0x78], edx
mov byte [rcx], 0
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400e15d0
mov rcx, qword [rbp + 0x10]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0xb95b6512
ja 0x14007ad51
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14007ad0d
jmp 0x14007ad1e
mov al, byte [rbp - 0x61]
mov rcx, qword [rbp + 0x10]
mov byte [rcx], al
cmp al, 0
je 0x14007ad23
jmp 0x14007ad30
mov rax, qword [rbp - 0x70]
mov qword [rbp - 0x30], rax
jmp 0x14007aaf3
lea rsp, [rbp + 0x50]
pop rbp
ret
xchg dword [rsi + riz*8 + 0x47], edi
jmp 0x14007a6d6
invalid
cmp ebp, dword [rax - 0x2f516b4]
invalid
popfq
in eax, dx
enter 0xffffffffffffe977, 0x1e
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
call fcn.140071710
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14007a5f0