Function at 0x14005fce0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x48], rcx
mov eax, dword [0x140202e30]
sub eax, dword [0x140202e34]
mov ecx, 0xf599b503
xor ecx, 0xda4eca6e
xor edx, edx
div ecx
or eax, 0xa918b43e
mov ecx, 0xa0a5aefe
xor ecx, 0xba39898c
imul eax, ecx
cmp eax, 0xf8bd115
je 0x14006014a
mov eax, dword [0x140202e38]
mov ecx, dword [0x140202e3c]
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3e8d3f05
and ecx, 0xc172c0fa
imul ecx, edx
mov edx, eax
and edx, 0xc172c0fa
or eax, 0xc172c0fa
imul eax, edx
add eax, ecx
imul eax, eax, 0xe3bfbdf1
add eax, 0xc0bf8257
mov dword [rbp + 0x24], eax
mov eax, 0x10
mov qword [rbp - 8], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.14004b700
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x18], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140038bd0
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x24]
mov qword [rbp + 0x28], rdx
mov cl, byte [rcx]
mov dl, 0x92
xor dl, 0x92
cmp cl, dl
sete cl
mov byte [rbp + 0x37], cl
cmp eax, 0x42d9e145
jb 0x14005fd35
mov cl, byte [rbp + 0x37]
xor eax, eax
test cl, 1
mov qword [rbp - 0x10], rax
jne 0x14005fe2c
jmp 0x140060140
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x28]
movabs r9, 0x99d56da3e7dbda9c
movabs r8, 0x99d56da3e7dbda9c
xor r9, r8
mov r8d, 0x243fd8cd
cmp rdx, r9
cmove rdx, r8
mov qword [rbp - 0x20], rdx
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rbp - 0x18], rcx
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp - 0x10], rax
je 0x140060140
mov rax, qword [rbp + 0x48]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
movabs r8, 0x62e609708f05b5eb
add rcx, r8
add rcx, 0xffffffffffffffff
movabs r8, 0x62e609708f05b5eb
sub rcx, r8
and rcx, rdx
add rax, 8
mov qword [rbp - 0x38], rax
xor eax, eax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14005ff15
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
mov rax, qword [rbp - 0x50]
add rsp, 0x20
mov qword [rbp - 0x10], rax
jmp 0x140060140
mov eax, dword [0x140202e40]
mov ecx, dword [0x140202e44]
add eax, 0xa93bbe2b
sub eax, ecx
sub eax, 0xa93bbe2b
mov ecx, 0x42002217
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x7ae36a08
add eax, ecx
sub eax, 0x441f42c
cmp eax, 0x1254cba4
jb 0x140060153
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x38]
mov eax, dword [0x140202e48]
xor eax, 0x8383e3b9
mov r8d, dword [0x140202e4c]
xor r8d, 0xa7498006
or eax, r8d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe6f6918b
mov r9d, 0xffffffff
xor r9d, 0x25155240
or eax, r8d
mov r8d, 0xfbc7f596
xor r8d, 0xded2a7d6
or r8d, r9d
mov r9d, 0xf6d9a3b0
xor r9d, 0x9265c4f
xor eax, r9d
and eax, r8d
sub eax, 0x3db4ece1
mov r8d, 0xcd6f968a
xor r8d, 0x16e06dd0
sub eax, r8d
add eax, 0x3db4ece1
mov r8d, 0x9f15f951
xor r8d, 0x81991b8a
add eax, r8d
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
add rcx, 8
shl rdx, 5
add rcx, rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x60], rcx
movabs rdx, 0x29e13103ed53a7bb
movabs r8, 0x29e13103ed53a7bb
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0x781a0ef5
je 0x14005ff55
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140060134
jmp 0x14006003a
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x38]
cmp rax, qword [rcx]
jne 0x1400600b6
mov r9, qword [rbp - 0x48]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x40]
mov r8, qword [rbp - 0x68]
add r8, 8
shl r9, 5
add r8, r9
add r8, 8
mov r9, qword [r8]
mov qword [rcx], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140062130
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov dl, al
xor eax, eax
test dl, 1
mov rdx, rcx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x14006010c
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.14004c879
mov r8, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x50]
mov cl, 1
cmp byte [r8], 0
mov qword [rbp - 0x80], rdx
mov rdx, rax
mov qword [rbp - 0x78], rdx
mov byte [rbp - 0x69], cl
mov qword [rbp - 0x10], rax
jne 0x140060140
mov rcx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x78]
mov dl, byte [rbp - 0x69]
test dl, 1
mov qword [rbp - 0x30], rcx
mov rcx, rax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x10], rax
jne 0x14005febe
jmp 0x140060140
mov rax, qword [rbp - 0x48]
xor rax, 0xffffffffffffffff
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
lea rsp, [rbp + 0x50]
pop rbp
ret
movsq qword [rdi], qword [rsi]
xor cl, ch
loop 0x14006014c
invalid
and byte [rcx], cl
pushfq
lahf
jmp 0x14005ff55