Function at 0x1401acef0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xc0
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rcx
mov eax, 0x10
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.1401af52d
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp + 8], rax
add rax, 0x60
mov qword [rbp], rax
sub rsp, 0x20
call fcn.1401a9fe0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 8]
mov dword [rbp + 0x14], ecx
mov al, byte [rax + 0x60]
mov cl, 0x44
xor cl, 0x44
cmp al, cl
jne 0x1401ad3b0
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.1401ac420
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp]
mov dword [rbp - 0x14], ecx
mov al, byte [rax]
mov cl, 0x3e
xor cl, 0x3e
cmp al, cl
jne 0x1401ad3b0
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp + 0x14]
cdqe
movsxd r8, ecx
mov rcx, r8
add rcx, rax
mov qword [rbp - 0x20], rcx
mov rdx, rcx
xor rdx, rax
movabs r9, 0x928cc3edb502ea5d
movabs r10, 0x6d733c124afd15a2
xor r9, r10
xor rdx, r9
mov r9, rax
and r9, rdx
movabs rdx, 0x235e4f3385c37c6f
movabs r10, 0x235e4f3385c37c6d
xor rdx, r10
imul rdx, r9
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov r9, rcx
xor r9, 0xffffffffffffffff
mov rdx, r8
and rdx, r9
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, rcx
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
movabs rcx, 0x947674842978f37a
movabs rdx, 0x947674842978f37a
xor rcx, rdx
cmp rax, rcx
jge 0x1401ad03d
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x1401ad3b0
mov rax, qword [rbp - 0x20]
movabs rcx, 0x43a3855b13e7877a
movabs rdx, 0xbc5c7aa493e7877a
xor rcx, rdx
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1401ad080
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x1401ad3b0
mov ecx, 0xc
sub rsp, 0x20
call fcn.140062790
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x1401ad39a
mov ecx, dword [0x1401e0630]
mov edx, dword [0x1401e0634]
mov eax, ecx
and eax, eax
mov r8d, 0xbc3bd0d2
xor r8d, 0x43c42f2d
xor eax, r8d
and eax, edx
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0xfcdf0d7d
sub eax, 0xadc38289
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1589fc3f
mov ecx, 0xffffffff
xor ecx, 0x1708ce02
or eax, edx
or ecx, 0x1708ce02
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x802ad141
jae 0x1401ad5b0
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov eax, dword [0x1401e0638]
mov r8d, dword [0x1401e063c]
mov r9d, 0x8d7d5ac8
xor r9d, 0xb663a284
xor r8d, r9d
imul eax, r8d
imul eax, eax, 0x9d867ec6
mov r8d, 0x8694deed
xor r8d, 0x96a65847
xor eax, r8d
mov r8d, 0x911ce6e0
xor r8d, 0x6ee3191f
mov r9d, eax
xor r9d, r8d
and r9d, 0xc6e3715d
mov r10d, 0xaa08375e
xor r10d, 0x6ceb4603
mov r8d, 0xe3557fed
xor r8d, 0x1caa8012
xor r10d, r8d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xc6e3715d
mov r10d, 0x26edad3c
xor r10d, 0xe00edc61
or eax, r10d
imul eax, r9d
add eax, r8d
cmp rcx, rdx
setl cl
mov byte [rbp - 0x29], cl
cmp eax, 0x413abf4f
jbe 0x1401ad11b
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1401ad1e5
jmp 0x1401ad1e0
jmp 0x1401ad5aa
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001bcc0
add rsp, 0x20
mov qword [rbp - 0x48], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov ecx, 0x2d4
sub rsp, 0x20
call fcn.140062c50
mov rdx, qword [rbp]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x1401ad369
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.1400133d1
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov word [rbp + 0x3e], 0x2cc
lea rcx, [rbp + 0x3e]
sub rsp, 0x20
call fcn.1400629b3
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp]
mov qword [rbp - 0x50], rcx
mov dl, byte [rax]
mov r8b, 0x6e
xor r8b, 0x6e
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x1401ad369
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x50]
mov rdx, qword [rax]
mov qword [rbp + 0x28], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x30], rax
lea rdx, [rbp + 0x28]
sub rsp, 0x20
call fcn.14001d024
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x58]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rax
lea rcx, [rbp + 0x18]
sub rsp, 0x20
call fcn.140070540
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov r8, qword [rbp + 0x18]
mov qword [rdx + 0x10], r8
mov r8, qword [rbp + 0x20]
mov qword [rdx + 0x18], r8
mov dl, byte [rcx]
mov r8b, 0xd6
xor r8b, 0xd6
mov cl, 1
cmp dl, r8b
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x1401ad369
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp - 8]
mov rcx, qword [0x1401eb108]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x1401eb110]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140027d11
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
mov rax, qword [rbp]
mov dl, byte [rbp - 0x39]
mov rcx, qword [rbp - 0x38]
mov byte [rbp - 0x59], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401a0b63
mov rax, qword [rbp]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xfb
xor cl, 0xfb
cmp al, cl
je 0x1401ad39f
jmp 0x1401ad3b0
mov al, byte [rbp - 0x59]
mov rcx, qword [rbp]
mov byte [rcx], al
cmp al, 0
je 0x1401ad5aa
mov eax, dword [0x1401e0640]
mov edx, dword [0x1401e0644]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xf0775061
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf0775061
or eax, 0xf0775061
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x90a3f248
xor ecx, 0xffffffff
mov edx, 0x44fc2019
xor edx, 0xd45fd251
or eax, edx
and eax, ecx
mov ecx, 0xb0676ebd
xor ecx, 0x1a7896cd
xor eax, ecx
mov ecx, 0xe6064a1f
xor ecx, 0x94343c80
cmp eax, ecx
je 0x1401ad5b9
mov eax, dword [0x1401e0648]
xor eax, 0x91be1274
mov ecx, dword [0x1401e064c]
xor ecx, 0x9ffb585f
and eax, ecx
add eax, 0xebd9aeae
or eax, 0x7e09af28
and eax, 0xdf295934
mov dword [rbp - 0x6c], eax
sub rsp, 0x20
call fcn.1401a3b4b
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x6c]
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
mov cx, word [rcx + 0x12]
mov dx, 0x5a89
xor dx, 0x5a88
cmp cx, dx
setg cl
mov byte [rbp - 0x5a], cl
cmp eax, 0x2c34baf5
jb 0x1401ad5b9
mov al, byte [rbp - 0x5a]
test al, 1
jne 0x1401ad4a7
jmp 0x1401ad5aa
mov rax, qword [rbp - 0x68]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x1401ad5aa
mov eax, dword [0x1401e0650]
xor eax, 0x66292a4d
mov edx, dword [0x1401e0654]
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xbf894244
xor r8d, 0x4076bdbb
mov ecx, edx
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul ecx, eax, 0x28e3fdc8
mov edx, 0xe9022001
xor edx, 0xa7d0905c
mov eax, ecx
and eax, edx
or ecx, 0x4ed2b05d
add eax, ecx
and eax, 0x3e84bbf2
cmp eax, 0xe577fe
jbe 0x1401ad5c2
mov eax, dword [0x1401e0658]
xor eax, 0xcc32d26f
imul eax, dword [0x1401e065c]
mov ecx, 0xaac08abf
xor ecx, 0x17691749
sub eax, ecx
imul eax, eax, 0x59382ba6
mov ecx, 0x6f3fc88a
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp]
mov dword [rbp - 0x74], ecx
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401a3b5d
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14008f410
mov rcx, qword [rbp]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x6d], cl
cmp eax, 0x965c9f15
ja 0x1401ad5c2
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x1401ad59d
jmp 0x1401ad5aa
sub rsp, 0x20
call fcn.1401a3bc0
add rsp, 0x20
lea rsp, [rbp + 0x40]
pop rbp
ret
std
invalid
movsd dword [rdi], dword [rsi]
add al, 0xb1
cdq
jmp 0x1401ad431
shl cl, cl
outsd dx, dword [rsi]
fldl2t
push rax
invalid