Function at 0x14005b1a0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
cmp r9, 0
cmove r9, rdx
mov rax, r9
sub rax, rdx
cmovl rdx, r9
mov qword [rsp + 0x90], rdx
cmp rdx, 1
jle 0x14005b2de
mov rax, qword [rsp + 0x80]
movabs rcx, 0xd7495f59b5c83a0b
movabs rdx, 0xd7495f59b5c83a0a
xor rcx, rdx
cmp rax, rcx
jge 0x14005b24d
mov rdx, qword [rsp + 0x80]
movabs rcx, 0xb6a97e8b7d8a7b2c
movabs rax, 0x49568174827584d3
xor rcx, rax
mov rax, rdx
and rax, rcx
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
xor eax, eax
mov ecx, eax
call fcn.1400292ad
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x14005b64d
mov rax, qword [rsp + 0x88]
mov al, byte [rax]
mov cl, 0x98
xor cl, 0xa8
cmp al, cl
jne 0x14005b31f
mov rax, qword [rsp + 0x80]
cmp rax, 1
ja 0x14005b2b8
mov rax, qword [rsp + 0x80]
movabs rcx, 0xc12f48875184d408
movabs rdx, 0x3ed0b778ae7b2bf7
xor rcx, rdx
mov rdx, rax
and rdx, rcx
or rax, 0xffffffffffffffff
add rdx, rax
mov ecx, 1
call fcn.1400292ad
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x14005b64d
mov rax, qword [rsp + 0x88]
mov cl, byte [rax + 1]
mov eax, 2
or cl, 0x20
sub cl, 0x78
mov qword [rsp + 0x68], rax
je 0x14005b36b
jmp 0x14005b31f
mov rcx, qword [rsp + 0x90]
movabs rdx, 0x66c2b0ff059830c5
movabs rax, 0x66c2b0ff059830c4
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov qword [rsp + 0x68], rax
jne 0x14005b36b
mov rax, qword [rsp + 0x80]
cmp rax, 0
jle 0x14005b33c
mov rax, qword [rsp + 0x88]
cmp byte [rax], 0x23
sete al
and al, 1
movzx eax, al
mov qword [rsp + 0x68], rax
jmp 0x14005b36b
mov rdx, qword [rsp + 0x80]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
xor eax, eax
mov ecx, eax
call fcn.1400292ad
xor eax, eax
mov qword [rsp + 0x70], rax
jmp 0x14005b64d
mov r8, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x68]
xor eax, eax
mov dl, al
xor eax, eax
cmp rcx, r8
mov r8b, dl
mov byte [rsp + 0x5e], r8b
mov byte [rsp + 0x5f], dl
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], rax
jge 0x14005b64d
mov r8, qword [rsp + 0x88]
mov al, byte [rsp + 0x5e]
mov cl, byte [rsp + 0x5f]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rdx
mov byte [rsp + 0x45], cl
mov byte [rsp + 0x46], al
mov r8b, byte [r8 + rdx]
mov byte [rsp + 0x47], r8b
add r8b, 0xd0
movzx r9d, r8b
mov qword [rsp + 0x48], r9
sub r8b, 0x36
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x5c], cl
mov byte [rsp + 0x5d], al
ja case.0x14005b429.10
mov cl, byte [rsp + 0x46]
mov dl, byte [rsp + 0x45]
mov r8, qword [rsp + 0x38]
mov rax, qword [rsp + 0x48]
lea r9, [0x14005b664]
movsxd rax, dword [r9 + rax*4]
add rax, r9
mov r9b, dl
mov byte [rsp + 0x36], r9b
mov r9b, cl
mov byte [rsp + 0x37], r9b
mov qword [rsp + 0x50], r8
mov byte [rsp + 0x5c], dl
mov byte [rsp + 0x5d], cl
jmp rax
mov cl, byte [rsp + 0x45]
mov al, byte [rsp + 0x47]
mov r8b, 0xa0
xor r8b, 0x70
mov dl, al
and dl, r8b
shl dl, 1
xor al, 0xd0
add al, dl
shl cl, 4
or cl, al
mov al, 1
mov byte [rsp + 0x36], cl
mov byte [rsp + 0x37], al
jmp case.0x14005b429.47
mov cl, byte [rsp + 0x45]
mov dl, byte [rsp + 0x47]
add dl, 0xa9
shl cl, 4
and cl, cl
xor cl, 0xff
mov al, dl
xor al, 0xff
mov r8b, 0x1d
xor r8b, 0xe2
xor dl, r8b
or al, dl
xor cl, 0xff
mov dl, 0x6c
xor dl, 0x93
xor al, dl
or cl, al
mov al, 1
mov byte [rsp + 0x36], cl
mov byte [rsp + 0x37], al
jmp case.0x14005b429.47
mov dl, byte [rsp + 0x45]
mov al, byte [rsp + 0x47]
mov cl, 0xbc
xor cl, 0x8f
sub al, cl
add al, 0xc9
add al, 0x33
mov cl, 0xb9
xor cl, 0xbd
shl dl, cl
mov cl, dl
or cl, al
mov al, 1
mov byte [rsp + 0x36], cl
mov byte [rsp + 0x37], al
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x38]
mov cl, byte [rsp + 0x36]
mov al, byte [rsp + 0x37]
movabs r9, 0x73b65fe6f1239a75
movabs r10, 0x73b65fe6f1239a75
xor r9, r10
sub r9, r8
xor r8d, r8d
sub r8, 1
add r9, r8
xor r8d, r8d
sub r8, r9
cmp r8, rdx
mov r9b, al
mov byte [rsp + 0x5e], r9b
mov r9b, cl
mov byte [rsp + 0x5f], r9b
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x50], rdx
mov byte [rsp + 0x5c], cl
mov byte [rsp + 0x5d], al
jne 0x14005b39d
mov rax, qword [rsp + 0x50]
mov dl, byte [rsp + 0x5c]
mov cl, byte [rsp + 0x5d]
mov byte [rsp + 0x27], dl
mov qword [rsp + 0x28], rax
and cl, 1
xor eax, eax
cmp cl, 0
mov qword [rsp + 0x70], rax
je 0x14005b64d
mov eax, dword [0x140274d60]
mov ecx, 0xd7cc932d
xor ecx, 0x94464fc1
xor eax, ecx
mov edx, dword [0x140274d64]
xor edx, 0x854f6f0c
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x37f6d463
xor r8d, 0xc8092b9c
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3ca371f6
or eax, edx
mov edx, 0x880083b3
xor edx, 0xb4a3f245
mov r8d, 0x7aa35e30
xor r8d, 0x46002fc6
and edx, r8d
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x5cee090d
xor edx, edx
div ecx
mov ecx, 0xd56abd92
xor edx, edx
div ecx
cmp eax, 0xb6d8c1d1
je 0x14005b65a
mov rdx, qword [rsp + 0x78]
mov r8b, byte [rsp + 0x27]
mov eax, dword [0x140274d68]
mov ecx, dword [0x140274d6c]
xor ecx, 0x6563c423
and eax, ecx
add eax, 0x2f9adc8d
mov ecx, 0xca50c71d
xor ecx, 0xed506c73
and eax, ecx
xor eax, 0x190bbbff
mov ecx, 0xe5155834
xor ecx, 0x965c5e49
mov byte [rdx], r8b
cmp eax, ecx
jae 0x14005b5f3
invalid
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x70], rax
jmp 0x14005b64d
mov rax, qword [rsp + 0x70]
add rsp, 0x98
ret
ja 0x14005b63b
invalid