Function at 0x14005ce30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0x90], rcx
call fcn.14004e8b3
mov qword [rsp + 0xa0], rax
call fcn.14004e8b3
mov rcx, qword [rsp + 0x98]
call fcn.140064006
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rsp + 0xb0], rax
jne 0x14005d22e
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0xa8]
movabs r8, 0x58bdbf9bd146247a
movabs r9, 0x58bdbf9be52104f3
xor r8, r9
cmp rdx, 0
cmove rdx, r8
mov qword [rsp + 0x78], rdx
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x80], rcx
movabs rdx, 0xa79ff0c612f65df4
movabs rax, 0xa79ff0c612f65df4
xor rdx, rax
mov rax, 0xffffffffffffffff
cmp rcx, rdx
mov qword [rsp + 0xb0], rax
je 0x14005d22e
mov rax, qword [rsp + 0x90]
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov rdx, rcx
and rdx, 0xffffffffffffffff
shl rdx, 1
movabs r9, 0xfc1733387aa2adb4
movabs r10, 0x3e8ccc7855d524b
xor r9, r10
xor rcx, r9
add rcx, rdx
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
add rax, 8
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x58], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005cfe2
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
movabs rax, 0xb253094bdbcc5147
movabs r8, 0x4dacf6b42433aeb8
xor rax, r8
add rdx, rax
call fcn.140013507
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xb0], rax
jmp 0x14005d22e
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
cmp rax, 0
je 0x14005d1d8
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x88]
cmp rax, qword [rcx]
jne 0x14005d13c
mov eax, dword [0x140252bf0]
xor edx, edx
div dword [0x140252bf4]
mov ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x7546d3ef
xor edx, 0x5e874266
mov r8d, 0x80d4484d
xor r8d, 0xab15d9c4
or edx, r8d
xor edx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0x2d367902
xor r8d, 0xd2c986fd
xor edx, r8d
and eax, edx
mov edx, 0xc2428741
xor edx, 0x3dbd78be
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x2bc19189
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0xb68afe01
imul eax, eax, 0xbafc0df1
cmp eax, 0x1c8f117d
jbe 0x14005d23e
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x140252bf8]
or eax, dword [0x140252bfc]
mov r9d, 0x5ff25228
xor r9d, 0x35b492aa
sub eax, r9d
imul eax, eax, 0x1b706db8
mov r9d, 0x235b0b08
xor r9d, 0xa13fc1a6
or eax, r9d
add rcx, 8
imul r8, r8, 0x18
add rcx, r8
add rcx, 8
cmp qword [rcx], rdx
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x8e96875e
jb 0x14005d0aa
mov rcx, qword [rsp + 0x50]
mov dl, byte [rsp + 0x37]
xor eax, eax
test dl, 1
mov rdx, rcx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rcx
mov byte [rsp + 0x36], al
jne 0x14005d1a7
jmp 0x14005d13c
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
movabs rax, 0xfbf98070c80bb46
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xfbf98070c80bb46
add rdx, rax
call fcn.14004fa4c
mov rcx, qword [rsp + 0xa0]
mov rdx, rax
mov rax, qword [rsp + 0x48]
mov r8b, byte [rcx]
mov r9b, 0xe5
xor r9b, 0xe5
mov cl, 1
cmp r8b, r9b
mov qword [rsp + 0x20], rdx
mov rdx, rax
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0x36], cl
mov qword [rsp + 0xb0], rax
jne 0x14005d22e
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x28]
mov dl, byte [rsp + 0x36]
test dl, 1
mov qword [rsp + 0x68], rcx
mov rcx, rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xb0], rax
jne 0x14005cf6d
jmp 0x14005d22e
mov rcx, qword [rsp + 0x50]
mov rax, rcx
and rax, rax
xor rax, 0xffffffffffffffff
and rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
and rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0xd84b80094980f78f
movabs r9, 0x27b47ff6b67f0870
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov cl, 0xed
test byte [rcx + rbp*8], ch
invalid