Function at 0x1401a7990
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x68], rcx
call fcn.1401a6dca
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rcx, qword [rcx]
call fcn.1401a6df0
test al, 1
jne 0x1401a79c0
jmp 0x1401a7a82
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call fcn.14008f099
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x1401a8009
mov ecx, dword [0x14025bbd0]
mov edx, dword [0x14025bbd4]
mov eax, 0x3a64e973
xor eax, 0xc59b168c
mov r8d, ecx
xor r8d, eax
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
add eax, 0x58eebdff
sub eax, 0xb2f67799
sub eax, 0x58eebdff
xor eax, 0x85e992f9
xor eax, 0xa5d50bef
mov ecx, 0x32dee1fd
xor ecx, 0xf7f42208
cmp eax, ecx
jbe 0x1401a8012
mov eax, dword [0x14025bbd8]
xor eax, dword [0x14025bbdc]
mov ecx, 0x1c050be0
xor ecx, 0xa3f597e1
sub eax, ecx
or eax, 0xf38922e6
mov ecx, 0x2f9e9533
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x64], ecx
mov rcx, qword [rax]
mov edx, 8
call fcn.14000ea9a
mov eax, dword [rsp + 0x64]
cmp eax, 0xa3ff66c8
je 0x1401a8012
jmp 0x1401a7a82
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x88], rcx
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x88]
call fcn.1401a6c30
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x1401a8009
mov eax, dword [0x14025bbe0]
xor eax, 0xe0b2edd6
mov ecx, dword [0x14025bbe4]
and eax, eax
mov edx, 0xe10bd0d5
xor edx, 0x1ef42f2a
xor eax, edx
and ecx, ecx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xe5caf1ca
xor edx, edx
div ecx
and eax, 0xb4d732db
sub eax, 0xba281da
cmp eax, 0xffa2996d
jae 0x1401a801b
mov rcx, qword [rsp + 0x68]
mov edx, dword [0x14025bbe8]
mov r8d, dword [0x14025bbec]
mov r9d, edx
xor r9d, r8d
mov eax, 0x68e9202a
xor eax, 0x9716dfd5
xor r9d, eax
mov eax, r8d
and eax, r9d
shl eax, 1
sub eax, r8d
sub edx, eax
add edx, 0x3eee91c4
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xbfa6a13c
mov r8d, 0xffffffff
xor r8d, 0xbfa6a13c
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xac3eacf2
xor edx, 0x6ee7060b
add eax, edx
mov rcx, qword [rcx + 0x20]
mov qword [rsp + 0x58], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x63], cl
cmp eax, 0x61518b55
je 0x1401a7b02
mov al, byte [rsp + 0x63]
test al, 1
jne 0x1401a7d88
jmp 0x1401a7ba2
mov ecx, dword [0x14025bbf0]
mov eax, 0xf8884ca5
xor eax, 0x85f75aa1
xor ecx, eax
mov r8d, dword [0x14025bbf4]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe717b7d
mov r8d, 0xffffffff
xor r8d, 0xe717b7d
and edx, r8d
mov r8d, 0x19b2d6e9
xor r8d, 0xe64d2916
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, 0xe717b7d
mov edx, 0xa780b276
xor edx, 0x587f4d89
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xc0a1d7f2
xor ecx, 0x1b6750b4
xor eax, ecx
xor eax, 0x23b9730c
mov ecx, 0x631cafca
xor ecx, 0xbf990358
cmp eax, ecx
ja 0x1401a8024
mov rdx, qword [rsp + 0x58]
mov r9d, dword [0x14025bbf8]
mov eax, 0x9d3508fc
xor eax, 0x1352d85b
xor r9d, eax
mov r8d, dword [0x14025bbfc]
mov r10d, r8d
xor r10d, 0xffffffff
mov ecx, r9d
and ecx, r10d
mov eax, r9d
or eax, r10d
xor eax, 0xffffffff
imul eax, ecx
mov ecx, r9d
and ecx, r8d
or r9d, r8d
imul r9d, ecx
add r9d, eax
mov eax, 0x3d3d56f
xor eax, 0xa5ee1e9a
add r9d, eax
mov eax, 0x4e7e3e31
xor eax, 0xb181c1ce
xor r9d, eax
mov eax, 0x8d8017d5
xor eax, 0xda1cb3ae
mov ecx, 0xf9c641f7
xor ecx, 0x639be08
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xb1657943
or r9d, eax
mov eax, 0x2b7422a9
xor eax, 0x9a115bea
or eax, ecx
xor r9d, 0xffffffff
and r9d, eax
mov eax, 0x3985d874
xor eax, 0xc67a278b
mov ecx, r9d
xor ecx, eax
mov eax, 0x745254eb
xor eax, 0xc4f93a53
and eax, ecx
mov r8d, 0x7ac3ca4
xor r8d, 0xb707521c
mov ecx, 0xc5905415
xor ecx, 0x3a6fabea
xor r8d, ecx
and r9d, r8d
mov ecx, 0xffffffff
xor ecx, 0x25f7600f
and ecx, 0xb0ab6eb8
and r8d, 0x25f7600f
or eax, r9d
or ecx, r8d
xor eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rsp + 0x57], cl
cmp eax, 0xa1a5ecc5
ja 0x1401a8024
mov al, byte [rsp + 0x57]
test al, 1
jne 0x1401a7d7e
jmp 0x1401a7d88
mov rcx, qword [rsp + 0x58]
call fcn.14000e9f6
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x1401a7e2b
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
movabs rdx, 0x3ea6c59daf827fb3
movabs r8, 0xc1593a62507d804c
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xacd1364a899dcac
movabs r8, 0xf532ec9b57662353
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xae9fc67e7dace161
movabs rdx, 0xae9fc67e7dace161
xor rcx, rdx
cmp rax, rcx
jne 0x1401a7e2b
mov rcx, qword [rsp + 0x48]
call fcn.14000e9f6
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x78], rcx
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x78]
call fcn.140025c30
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x1401a7f66
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
movabs rcx, 0x73d974a93815e2ad
movabs rdx, 0x33d974a93815e2ad
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1401a7f66
mov eax, dword [0x14025bc00]
mov ecx, dword [0x14025bc04]
mov edx, 0x8d0de946
xor edx, 0x419e1bbf
xor ecx, edx
add eax, ecx
mov ecx, eax
and ecx, 0xd21f57cc
xor eax, 0xd21f57cc
or ecx, eax
mov edx, 0x2bb39559
xor edx, 0x5b5f2853
mov eax, 0x7f8f9eb3
xor eax, 0x8070614c
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x917827bf
xor ecx, 0x980c1bae
or eax, ecx
mov ecx, 0x108eee5a
xor ecx, 0x4091191c
cmp eax, ecx
jbe 0x1401a802d
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x14025bc08]
mov edx, dword [0x14025bc0c]
mov r8d, 0x8e5afa06
xor r8d, 0xc350d0bd
xor edx, r8d
add eax, edx
mov r8d, 0xd34465da
xor edx, edx
div r8d
mov edx, 0xad1a3d42
xor edx, 0xe070851d
xor eax, edx
add eax, 0xbbbd4f84
mov dword [rsp + 0x3c], eax
mov eax, 0x5f0338b6
xor eax, 0xb92965c4
mov dword [rsp + 0x38], eax
call fcn.14000e9f6
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
cmp eax, ecx
je 0x1401a7efa
jmp 0x1401a7f66
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x1401a7fa4
mov rcx, qword [rsp + 0x30]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401a7fa4
mov rcx, qword [rsp + 0x30]
call fcn.14000e9f6
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x1401a8009
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movabs rdx, 0x3ea0d7867be59c3f
movabs rcx, 0x7ea0d7867be59c3f
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401a8009
mov rcx, qword [rsp + 0x28]
call fcn.14000e9f6
nop
add rsp, 0x98
ret
ret 0x6185
invalid
invalid
test rax, 0xffffffffc4e98c4b
invalid