Function at 0x14002a9f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x70
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov rax, qword [rcx]
mov r8, rax
not r8
lea rcx, [r8 + rax*2]
mov qword [rsp + 0x68], rcx
mov rdx, rcx
or rdx, r8
mov rax, rcx
and rax, r8
not rax
and rdx, rax
not rdx
test rcx, rcx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x14002aa5b
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
add rcx, 8
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
jmp 0x14002aa65
call fcn.1400067fe
jmp 0x14002ad1e
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
cmp rax, rcx
jl 0x14002ad11
mov rax, qword [rsp + 0x40]
cmp rax, 0
jl 0x14002ab39
mov eax, dword [0x1401dc528]
imul eax, dword [0x1401dc52c]
mov edx, 0x18423ed9
xor edx, 0xe7bdc126
mov ecx, eax
xor ecx, edx
mov edx, 0xb70273e3
xor edx, 0x6f780caf
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xd87a7f4c
and eax, edx
sub eax, ecx
sub eax, 0xa58b404e
imul eax, eax, 0x118cf10a
mov ecx, 0xe9248cbb
xor ecx, 0x91013dc2
cmp eax, ecx
jb 0x14002ad24
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
mov eax, dword [0x1401dc530]
and eax, dword [0x1401dc534]
add eax, 0x57aa3e61
mov r8d, 0x457a3d02
xor r8d, 0x30ad29b5
add eax, r8d
imul eax, eax, 0xa90bb048
cmp rcx, qword [rdx]
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x8ad8969d
jb 0x14002aae2
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14002ab46
jmp 0x14002ab39
mov rcx, rdx
call fcn.1400137e9
jmp 0x14002ad1e
mov eax, dword [0x1401dc538]
mov ecx, dword [0x1401dc53c]
xor ecx, 0xf34ec8d3
add eax, ecx
mov ecx, 0xe4db99f6
xor ecx, 0x2958b147
imul eax, ecx
mov ecx, 0x4f4544b0
xor ecx, 0xe396d876
xor edx, edx
div ecx
mov ecx, 0xa6e5e7ed
xor ecx, 0x21cc0f5a
xor edx, edx
div ecx
cmp eax, 0x34fcf0db
ja 0x14002ad2d
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401dc540]
xor eax, 0x64954e35
xor edx, edx
div dword [0x1401dc544]
mov edx, eax
mov rax, qword [rsp + 0x40]
xor edx, 0xd14d74bb
mov r8d, 0x5425194b
xor r8d, 0x56525dcd
imul edx, r8d
mov r10d, 0xffffffff
xor r10d, 0xdcedb224
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, 0xdcedb224
mov r10d, 0x652d15fc
xor r10d, 0xb9c0a7d8
or edx, r10d
imul edx, r9d
add edx, r8d
mov dword [rsp + 0x2c], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
call fcn.14002a7d0
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x2c]
movabs rdx, 0x7d66ad5187a2cbda
mov r10, rcx
add r10, rdx
add r10, 0xffffffffffffffff
movabs rdx, 0x7d66ad5187a2cbda
sub r10, rdx
mov qword [rsp + 0x30], r10
mov rdx, r10
xor rdx, 0xffffffffffffffff
movabs r8, 0x3b704fb5818c8
and rdx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0x3b704fb5818c8
xor r11, r8
and r10, r11
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs r9, 0xc89d1500e7c5c5f9
movabs rsi, 0xc89ea2041c9ddd31
xor r9, rsi
and r8, r9
mov r9, rcx
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
cmp rdx, 0
setl r8b
movabs rdx, 0x34024c1df66a88e5
movabs r9, 0x34024c1df66a88e5
xor rdx, r9
cmp rcx, rdx
setne cl
mov dl, cl
xor dl, r8b
xor dl, 0xff
or cl, r8b
and cl, dl
mov byte [rsp + 0x3e], cl
cmp eax, 0x61536965
jb 0x14002ab91
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3e]
test cl, 1
mov qword [rsp + 0x50], rax
jne 0x14002ad07
jmp 0x14002aa65
call fcn.1400067fe
jmp 0x14002ad1e
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
add rsp, 0x70
pop rsi
ret
jmp 0x129a4900d
invalid