Function at 0x140279f20
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x28], rcx
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x140279f62
mov rcx, qword [rsp + 0x30]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140279f62
mov rcx, qword [rsp + 0x30]
call fcn.14001a7c0
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x20], rax
cmp rax, 0
je 0x14027a015
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x5eb377929701dfcc
movabs r8, 0xa14c886d68fe2033
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x2a415b2452f5ac7d
movabs r8, 0x6a415b2452f5ac7d
xor rdx, r8
movabs r8, 0x68752a9c8bc567ad
movabs r9, 0x978ad563743a9852
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x44c548a0f62fe421
movabs rdx, 0x44c548a0f62fe421
xor rcx, rdx
cmp rax, rcx
jne 0x14027a015
mov rcx, qword [rsp + 0x20]
call fcn.14001a7c0
mov eax, dword [0x1402b85b8]
or eax, dword [0x1402b85bc]
imul ecx, eax, 0x42681047
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x75ab3821
and ecx, 0x75ab3821
mov edx, 0xa2a0e08e
xor edx, 0x5d5f1f71
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, 0xf9f29380
cmp eax, 0xcd49f6b3
jbe 0x14027a09b
mov eax, dword [0x1402b85c0]
xor eax, 0xfd53a601
add eax, dword [0x1402b85c4]
mov ecx, 0x4526fdaa
xor ecx, 0xf2587187
imul eax, ecx
imul eax, eax, 0x737089b9
and eax, 0xf4ed16ec
cmp eax, 0x5010d2ed
je 0x14027a061
add rsp, 0x38
ret
je 0x14027a104
jns 0x14027a0cc
jmp 0x14027a061
add byte [rax], al
add byte [rax - 0x77], cl
push rsp
and al, 0x50
mov qword [rsp + 0x58], rcx
mov al, byte [rdx]
mov byte [rcx], al
mov rax, rcx
add rax, 8
mov qword [rsp + 0x60], rax
mov rax, rcx
add rax, 0x10
mov qword [rsp + 0x68], rax
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x70], rcx
mov rax, rdx
add rax, 8
mov qword [rsp + 0x78], rax
or byte [rax - 0x77], cl
and al, 0x78
mov rax, rdx
add rax, 0x10
mov qword [rsp + 0x80], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x88], rax
cmp rcx, rax
sete r8b
cmp rcx, 0
sete dl
mov cl, dl
and cl, r8b
xor dl, r8b
or cl, dl
test cl, 1
mov qword [rsp + 0x90], rax
jne 0x14027a1f9
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x118593ed5292e4b5
movabs r8, 0x518593ed5292e4b5
xor rdx, r8
movabs r8, 0xc16957b9c4f9b3ff
movabs r9, 0x3e96a8463b064c00
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
and rdx, r8
or rcx, rdx
movabs rdx, 0xf45959fb71e9e2eb
movabs r8, 0xba6a6048e161d14
xor rdx, r8
xor rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x90], rax
jne 0x14027a1f9
mov rcx, qword [rsp + 0x70]
call fcn.14001a7c0
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x78]
mov r8, qword [rsp + 0x90]
mov r10, qword [r10]
mov qword [r9], r10
mov qword [rdx], r8
mov rdx, rcx
add rdx, 0x20
mov qword [rsp + 0x28], rdx
mov rcx, qword [rcx + 0x20]
mov qword [rsp + 0x30], rcx
mov rdx, rax
add rdx, 0x20
mov qword [rsp + 0x38], rdx
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x40], rax
cmp rcx, rax
sete dl
cmp rcx, 0
sete cl
or cl, dl
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x14027a2ce
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
movabs rdx, 0x34d61a1a95ece6bf
movabs r8, 0x34d61a1a95ece6bf
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x48], rax
jne 0x14027a2ce
mov rcx, qword [rsp + 0x30]
call fcn.14001a7c0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r8, qword [r8 + 0x18]
mov qword [rdx + 0x18], r8
mov qword [rax], rcx
add rsp, 0x98
ret