Function at 0x1401ad2e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x48], rcx
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x57], al
je 0x1401ad5aa
mov eax, dword [0x1401fd3c8]
xor eax, 0xa8976c2d
xor edx, edx
div dword [0x1401fd3cc]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x3ad92349
xor edx, 0xcd3f3e07
and ecx, edx
mov edx, 0x7b30c54
xor edx, 0xf055111a
mov r8d, 0xd4454ed5
xor r8d, 0x2bbab12a
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0xb2fa2788
xor edx, edx
div ecx
xor eax, 0x5c86d20b
cmp eax, 0xcae51472
ja 0x1401ad5b8
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401fd3d0]
xor eax, 0x51354bd1
or eax, dword [0x1401fd3d4]
or eax, 0x6d85508e
and eax, 0x64e5c895
mov edx, 0xcb477c39
xor edx, 0x8112970c
sub eax, edx
mov rdx, rcx
add rdx, 0xfffffffffffffff0
mov qword [rsp + 0x30], rdx
mov rcx, qword [rcx - 0x10]
mov qword [rsp + 0x38], rcx
cmp rcx, 0x10
setb cl
mov byte [rsp + 0x47], cl
cmp eax, 0xfb4d9ff9
ja 0x1401ad5b8
mov cl, byte [rsp + 0x47]
mov al, 1
test cl, 1
mov byte [rsp + 0x57], al
jne 0x1401ad5aa
jmp 0x1401ad3c6
mov rdx, qword [rsp + 0x38]
mov rcx, rdx
and rcx, 0xfffffffffffffff0
shl rcx, 1
mov rax, rdx
xor rax, 0xfffffffffffffff0
add rax, rcx
mov qword [rsp + 0x28], rax
mov rcx, rax
and rcx, rcx
xor rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r9, 0xdaac9cb0bef90305
movabs r8, 0x2553634f4106fcfa
xor r9, r8
mov r8, rdx
xor r8, r9
or rcx, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or r8, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r9, 0xce8446cea4e66dcc
movabs r10, 0x317bb9315b199233
xor r9, r10
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1401ad46d
jmp 0x1401ad597
mov ecx, dword [0x1401fd3d8]
xor ecx, 0x5afc86d6
xor ecx, dword [0x1401fd3dc]
mov eax, 0x40b97eda
xor eax, 0xdb8995ae
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x69716841
xor edx, 0x8e7cdd5d
mov r8d, 0x58ed397e
xor r8d, 0xa712c681
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xe70db51c
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0x37726a07
xor edx, 0xd07fdf1b
or ecx, edx
mov edx, 0xe4f4d222
xor edx, 0x1b0b2ddd
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
and edx, 0x75a3df63
mov r8d, 0xffffffff
xor r8d, 0x75a3df63
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x75a3df63
or eax, 0x75a3df63
imul eax, edx
add eax, ecx
mov ecx, 0xdff1e6d2
xor ecx, 0x249ad01
cmp eax, ecx
jb 0x1401ad5c1
mov eax, dword [0x1401fd3e0]
mov ecx, dword [0x1401fd3e4]
xor ecx, 0x23064b29
xor edx, edx
div ecx
mov ecx, 0xbdf0d27c
xor ecx, 0x88d5881d
xor edx, edx
div ecx
imul ecx, eax, 0xed0f387
mov edx, 0x7f7ffdc8
xor edx, 0x28c0f99a
mov eax, ecx
and eax, edx
mov edx, 0x4cff4279
xor edx, 0x1b40462b
xor ecx, edx
or eax, ecx
mov dword [rsp + 0x24], eax
call fcn.1400091c0
mov eax, dword [rsp + 0x24]
cmp eax, 0xdf25c6c1
ja 0x1401ad52b
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x1401ad5aa
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
xor eax, eax
mov byte [rsp + 0x57], al
mov al, byte [rsp + 0x57]
and al, 1
movzx eax, al
add rsp, 0x58
ret
scasb al, byte [rdi]
adc al, 0x2e
ret 0x95e9
sbb eax, 0xe94ac451
invalid