Function at 0x1401ad050
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x40], rcx
mov eax, 0x10
mov qword [rbp - 0x38], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1401b2220
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x10], rax
add rax, 0x50
mov qword [rbp - 0x18], rax
movabs rax, 0xa8abe9592dcbabd4
movabs rdx, 0xa8abe9592dcbabd4
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
lea rcx, [rbp + 0x38]
mov edx, 0x20
sub rsp, 0x20
call fcn.14009b610
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, qword [rbp + 0x38]
mov qword [rbp - 8], rcx
mov rcx, qword [rbp + 0x40]
mov qword [rbp], rcx
cmp byte [rax + 0x50], 0
jne 0x1401ad803
mov eax, dword [0x1401fe9d8]
mov ecx, 0x8b89e0df
xor ecx, 0xcf704fea
xor eax, ecx
xor edx, edx
div dword [0x1401fe9dc]
mov r8d, 0xffffffff
xor r8d, 0xeee45f7f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xfb499b8d
xor r8d, 0x15adc4f2
mov edx, eax
and edx, r8d
or eax, 0xeee45f7f
imul eax, edx
add eax, ecx
and eax, 0x8d55334a
mov ecx, 0x55057d26
xor ecx, 0xdc1af2e6
xor edx, edx
div ecx
mov ecx, 0xe5a5ded5
xor ecx, 0xae2e37d4
cmp eax, ecx
je 0x1401ad847
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401fe9e0]
or eax, dword [0x1401fe9e4]
mov r8d, 0x7aef1dbf
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp]
xor edx, 0x203bfd2e
mov r8d, edx
and r8d, 0x2421e425
shl r8d, 1
add edx, 0x2421e425
sub edx, r8d
mov dword [rbp - 0x54], edx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0x28]
sub rsp, 0x20
call fcn.1401ad86b
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x54]
mov qword [rbp - 0x50], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x60718098
jae 0x1401ad847
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1401ad20d
jmp 0x1401ad803
mov eax, dword [0x1401fe9e8]
imul eax, dword [0x1401fe9ec]
mov r8d, 0xffffffff
xor r8d, 0x7ec3f6eb
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x7ec3f6eb
or eax, 0x7ec3f6eb
imul eax, edx
add eax, ecx
mov ecx, 0x2bc76963
xor ecx, 0xa6524837
xor edx, edx
div ecx
mov ecx, 0x523f4753
xor edx, edx
div ecx
cmp eax, 0x9e36e9f0
je 0x1401ad850
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x1401fe9f0]
mov r9d, dword [0x1401fe9f4]
mov r8d, 0xc9519224
xor r8d, 0x36ae6ddb
mov edx, eax
xor edx, r8d
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
add eax, 0x9210e106
mov r9d, 0xffffffff
xor r9d, 0x1594e94b
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x1594e94b
or eax, 0x1594e94b
imul eax, r8d
add eax, edx
mov r9d, 0xffffffff
xor r9d, 0xa88b333c
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x782edf1b
xor r9d, 0xd0a5ec27
mov r8d, eax
and r8d, r9d
or eax, 0xa88b333c
imul eax, r8d
add eax, edx
xor edx, edx
sub rdx, 0xffffffff80000000
sub rcx, rdx
movabs rdx, 0xffffffff00000000
cmp rcx, rdx
setb cl
mov byte [rbp - 0x55], cl
cmp eax, 0x4cb922c3
je 0x1401ad26c
mov al, byte [rbp - 0x55]
test al, 1
jne 0x1401ad364
jmp 0x1401ad3a8
mov rcx, qword [rbp - 0x50]
movabs rdx, 0xf76568c415bcb9c4
movabs rax, 0x89a973b95bcb9c4
xor rdx, rax
movabs r8, 0xfe2fff1827d8a770
movabs rax, 0xfe2fff185827588f
xor r8, rax
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x1401ad803
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp]
mov rdx, qword [rbp - 8]
mov r8, qword [rbp - 0x50]
mov dword [rbp + 0x4c], r8d
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1401ad916
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x60], rcx
cmp byte [rax], 0
jne 0x1401ad803
mov rcx, qword [rbp - 0x60]
lea rdx, [rbp + 0x4c]
sub rsp, 0x20
call fcn.1400a7f04
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp - 0x64], ecx
cmp byte [rax], 0
jne 0x1401ad803
mov eax, dword [rbp - 0x64]
cmp eax, 0
jne 0x1401ad530
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [0x140208b38]
mov qword [rcx], rdx
mov rdx, qword [0x140208b40]
mov qword [rcx + 8], rdx
cmp rax, 0
je 0x1401ad83d
mov eax, dword [0x1401fe9f8]
mov ecx, dword [0x1401fe9fc]
xor ecx, 0xebaa1ebb
imul eax, ecx
mov ecx, 0x4eee828f
xor ecx, 0x4ea4132
xor edx, edx
div ecx
imul eax, eax, 0x41527e2d
mov ecx, 0x69fcbcbb
xor ecx, 0x27cd4821
sub eax, ecx
cmp eax, 0xefc142
jb 0x1401ad859
mov eax, dword [0x1401fea00]
mov ecx, dword [0x1401fea04]
mov edx, 0x49fe85c5
xor edx, 0x498aa49d
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0xb54fde9d
xor ecx, 0x4ab02162
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x5d6dc23b
mov edx, 0xffffffff
xor edx, 0x9b7d68df
or eax, ecx
mov ecx, 0x1c8dbd9b
xor ecx, 0x87f0d544
or ecx, edx
mov edx, 0x36206125
xor edx, 0xc9df9eda
xor eax, edx
and eax, ecx
mov ecx, 0xe1a9e835
xor ecx, 0xcaedd7b1
add eax, ecx
mov ecx, 0xa2855092
xor ecx, 0x86fb3771
xor edx, edx
div ecx
mov rdx, qword [rbp]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x65], cl
cmp eax, 0x3611958b
je 0x1401ad859
mov al, byte [rbp - 0x65]
test al, 1
jne 0x1401ad82c
jmp 0x1401ad83d
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp]
mov rdx, qword [rbp - 8]
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rax
lea rdx, [rbp + 0x18]
sub rsp, 0x20
call fcn.1401ad948
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 0x78], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x70], rcx
cmp byte [rax], 0
jne 0x1401ad6bf
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x78]
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rax
lea rdx, [rbp + 8]
sub rsp, 0x20
call fcn.1401adad0
mov rax, qword [rbp - 0x18]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401ad6bf
mov rax, qword [rbp - 0x70]
cmp rax, 0
je 0x1401ad5f1
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
movabs rcx, 0xcc3cbcae58a79e1
movabs rdx, 0x4cc3cbcae58a79e1
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1401ad5f1
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp]
cmp rax, 0
je 0x1401ad83d
mov rax, qword [rbp]
mov rcx, qword [rax]
movabs rdx, 0x3d6337c85555516d
movabs rax, 0xc29cc837aaaaae92
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs rdx, 0xf9c1187c38c09da
movabs r8, 0x4f9c1187c38c09da
xor rdx, r8
movabs r8, 0x21067dbf11767386
movabs r9, 0xdef98240ee898c79
xor r8, r9
xor rdx, r8
or rax, rdx
movabs rdx, 0x1c599d0d49480bd5
movabs r8, 0xe3a662f2b6b7f42a
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x7e0c94a4489e6f82
movabs r8, 0x3e0c94a4489e6f82
xor rdx, r8
movabs r8, 0xa6de396411dfcd12
movabs r9, 0x5921c69bee2032ed
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
je 0x1401ad82c
jmp 0x1401ad83d
mov rax, qword [rbp - 0x70]
cmp rax, 0
je 0x1401ad803
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
movabs rdx, 0x374a4e6193471998
movabs rax, 0x774a4e6193471998
xor rdx, rax
movabs rax, 0xb673903868e328e2
movabs r8, 0x498c6fc7971cd71d
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401ad803
mov eax, dword [0x1401fea08]
mov ecx, dword [0x1401fea0c]
mov edx, 0xc095e3e9
xor edx, 0xcec0ffc6
sub eax, edx
sub eax, ecx
mov ecx, 0x2f2cca93
xor ecx, 0x2179d6bc
add eax, ecx
mov ecx, 0x1eef3489
xor ecx, 0xef00e422
imul eax, ecx
add eax, 0xc9ffffb7
add eax, 0x59806f6d
mov ecx, 0xaa47460d
xor ecx, 0xe4e3cd22
cmp eax, ecx
jbe 0x1401ad862
mov rcx, qword [rbp - 0x70]
mov eax, dword [0x1401fea10]
mov edx, dword [0x1401fea14]
mov r8d, 0x3be62203
xor r8d, 0x101d2581
xor edx, r8d
or eax, edx
mov edx, eax
and edx, 0xf43d43b0
shl edx, 1
mov r8d, 0x568494fc
xor r8d, 0xa2b9d74c
add eax, r8d
sub eax, edx
mov edx, 0x772429ab
xor edx, 0xbb0ef14f
sub eax, edx
add eax, 0xe1e571c6
mov edx, 0x17f8241e
xor edx, 0xdbd2fcfa
add eax, edx
add eax, 0x7c5d9f5c
add eax, 0x7825694f
mov edx, 0xebda70ec
xor edx, 0x9787efb0
sub eax, edx
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.14000f935
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, 0x9f8f57ed
jae 0x1401ad76b
jmp 0x1401ad803
mov rax, qword [rbp]
cmp rax, 0
je 0x1401ad83d
mov rcx, qword [rbp]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401ad83d
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp - 0x40]
lea rsp, [rbp + 0x50]
pop rbp
ret
inc dword [rdi + 0x31e947c9]
stc
invalid
invalid
invalid
cld
jno 0x1401ad850
add bh, bh
invalid