Function at 0x14005c370
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov rax, rcx
mov qword [rsp + 0x48], rax
mov rcx, qword [rax]
add rax, 8
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x78]
add rax, 8
mov qword [rsp + 0x58], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
cmp rax, rcx
je 0x14005c67b
mov eax, dword [0x1401d7930]
mov r8d, dword [0x1401d7934]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, 0xbebd1b5c
xor eax, 0x7843ff94
mov edx, 0x73e87915
xor edx, 0x8c1786ea
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xc6fee4c8
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xc766c841
xor edx, 0x389937be
xor ecx, edx
and eax, ecx
mov ecx, 0xdb90b81
or ecx, 0xdb90b81
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xf4456ce0
xor ecx, 0xbba931f
xor eax, ecx
imul eax, eax, 0x18af6318
mov ecx, 0x9dd1151c
xor ecx, 0x7eae76e1
cmp eax, ecx
ja 0x14005c6a3
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov eax, dword [0x1401d7938]
mov r8d, 0xd1d9077d
xor r8d, 0xe98a245e
xor eax, r8d
mov r8d, dword [0x1401d793c]
mov r9d, 0x76cf0b22
xor r9d, 0xb3492715
xor r8d, r9d
add eax, r8d
mov r8d, 0x95659422
xor r8d, 0xa5311335
mov r9d, 0x2a57a1a2
xor r9d, 0xd5a85e5d
xor r8d, r9d
xor r9d, r9d
sub r9d, 1
sub r8d, r9d
sub eax, r8d
sub eax, 0xb896c776
xor r8d, r8d
sub r8d, eax
xor eax, eax
sub eax, 0xa821d2cf
add r8d, eax
mov eax, 0x956744ed
xor eax, 0x956744ed
sub eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0xbec9a0c7
je 0x14005c483
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14005c54c
jmp 0x14005c52f
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.140013580
jmp 0x14005c69b
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
mov r8, rcx
add r8, 8
mov r9, rdx
shl r9, 5
add r8, r9
movabs r9, 0x5a3aeaaaacf6761f
movabs r10, 0x5a3aeaaaacf6761f
xor r9, r10
mov qword [r8], r9
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 8
mov qword [rsp + 0x78], 0
mov qword [rax], 0
lea rdx, [rsp + 0x78]
call fcn.140014bff
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
cmp rax, rcx
jl 0x14005c605
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
mov rdx, rax
and rdx, 0xffffffffffffffff
movabs r8, 0x27638f87bcc0be7d
movabs r9, 0xd89c7078433f4182
xor r8, r9
or rax, r8
add rdx, rax
call fcn.140013580
jmp 0x14005c69b
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx]
add rdx, 8
mov r8, rax
shl r8, 5
add rdx, r8
add rdx, 0x18
movabs r8, 0x850d1fd60d5b490f
movabs r9, 0x850d1fd60d5b490f
xor r8, r9
mov qword [rdx], r8
mov rdx, rax
and rdx, 1
movabs r8, 0x2e8151d7c11bd204
movabs r9, 0x2e8151d7c11bd206
xor r8, r9
imul rdx, r8
xor rax, 1
add rax, rdx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
jmp 0x14005c3b3
mov rax, qword [rsp + 0x48]
movabs rcx, 0x6e4026ec534ca9f0
movabs rdx, 0x6e4026ec534ca9f0
xor rcx, rdx
mov qword [rax + 0x10], rcx
add rsp, 0x88
ret
enter 0x6f14, 0xffffffffffffffbe
jmp 0x14005c483