Function at 0x1400821e0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x58], rcx
mov ecx, 0x40
mov edx, 8
call fcn.140029060
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov rdx, qword [0x14028cf58]
mov qword [rax], rdx
lea rdx, [0x140285058]
mov qword [rax + 0x10], rdx
mov rdx, qword [rcx]
lea rcx, [rsp + 0x88]
call fcn.140037460
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rdx]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x78], rdx
movabs rdx, 0xe152460e01255f8c
movabs r8, 0xe152460e01255f8c
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x80], rax
jle 0x140082524
mov rcx, qword [rsp + 0x70]
movabs rdx, 0x56dd9ed20ce07686
movabs rax, 0x56dd9ed20ce07687
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rsp + 0x48], rax
movabs rdx, 0x15b727611a529a63
movabs r8, 0xea48d89ee5ad659c
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400822e7
call fcn.14000f24b
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
jmp 0x140082524
mov eax, dword [0x140275d40]
add eax, dword [0x140275d44]
or eax, 0x7df9c0bc
add eax, 0x56fb1891
mov ecx, 0x32d6d7d4
xor edx, edx
div ecx
cmp eax, 0xd66f70cc
jae 0x140082572
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x140275d48]
mov r9d, dword [0x140275d4c]
mov edx, 0xfe839d58
xor edx, 0x17c62a7
mov r10d, r9d
xor r10d, edx
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0xf37b9665
xor r8d, 0xacc274b1
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
or eax, 0x5fb9e2d4
and eax, edx
mov edx, 0x340a12c3
xor edx, 0x4b73bd1b
imul eax, edx
mov edx, 0x6d5ea9bf
xor edx, 0xc29a9219
or eax, edx
cmp rcx, 0
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0xbfe52002
jbe 0x140082311
mov al, byte [rsp + 0x47]
test al, 1
jne 0x1400823b3
jmp 0x1400823dd
mov rcx, qword [rsp + 0x48]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
jmp 0x140082524
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
add rcx, 8
add rcx, rdx
mov qword [rsp + 0x28], rcx
add rax, 8
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov r8, rcx
and r8, 1
shl r8, 1
mov rax, rcx
xor rax, 1
add rax, r8
cmp rcx, rdx
mov qword [rsp + 0x38], rax
jne 0x140082408
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
movabs rcx, 0x46b9405e2ba2f018
movabs rax, 0x28a7b8d2d3411b16
xor rcx, rax
mov rax, r9
sub rax, rcx
add rax, r8
movabs rcx, 0x6e1ef88cf8e3eb0e
add rax, rcx
mov rcx, rax
and rcx, r8
movabs rdx, 0x35843d3e3d7d85f8
movabs r10, 0x35843d3e3d7d85fa
xor rdx, r10
imul rdx, rcx
mov rcx, rax
add rcx, r8
sub rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
mov r8, r9
xor r8, 0xffffffffffffffff
or rdx, r8
and r9, r9
xor r9, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x4167db58cf224d6d
movabs r10, 0xbe9824a730ddb292
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x80], rax
jge 0x140082524
call fcn.14000f24b
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x80]
mov qword [rcx + 0x18], rdx
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140285058]
lea r8, [0x140285061]
lea r9, [0x14028506f]
mov qword [rsp + 0x20], 0x58d1463
call fcn.140028fa8
nop
add rsp, 0x98
ret
add al, 0x38
shr byte [rdx], cl
jmp 0x140082311