Function at 0x14004b0a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov qword [rbp], rcx
mov eax, 0x10
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
mov rcx, qword [rdx]
lea rdx, [rbp + 0x18]
sub rsp, 0x20
call fcn.14004b56b
add rsp, 0x20
test al, 1
jne 0x14004b0f1
jmp 0x14004b103
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14004b48d
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x18], rax
movabs rcx, 0xc3b93ca10499b922
movabs rdx, 0xc3b93ca10499b922
xor rcx, rdx
cmp rax, rcx
jge 0x14004b14f
mov rcx, qword [rbp - 0x18]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c499
add rsp, 0x20
jmp 0x14004b48d
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14001a310
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rdx]
add rdx, 8
mov qword [rbp - 0x38], rdx
add rax, 8
mov qword [rbp - 0x30], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rbp - 0x20], rax
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x40], rax
cmp rax, rcx
je 0x14004b48d
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rax, rcx
jl 0x14004b1f3
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x48]
movabs rax, 0x270d4b235c8e83a3
movabs r8, 0xd8f2b4dca3717c5c
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14004b48d
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
movzx eax, byte [rax + rcx + 8]
mov qword [rbp - 0x50], rax
sub rsp, 0x20
call fcn.14004b56b
add rsp, 0x20
test al, 1
jne 0x14004b225
jmp 0x14004b237
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14004b48d
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
mov rax, rdx
and rax, 1
shl rax, 1
movabs r8, 0x4e825a49ef26f194
movabs rcx, 0x4e825a49ef26f195
xor r8, rcx
mov rcx, rdx
xor rcx, r8
add rcx, rax
mov qword [rbp - 0x58], rcx
movabs rax, 0x33290e82ad12aba1
movabs r8, 0xccd6f17d52ed545e
xor rax, r8
mov r8, rdx
xor r8, rax
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs rax, 0xda0f2f70fedfb533
movabs r9, 0xda0f2f70fedfb531
xor rax, r9
imul rax, r8
sub rax, 0xffffffffffffffff
sub rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
movabs r8, 0x8982510247ac37ef
movabs r9, 0x767daefdb853c810
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x14004b309
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14004b48d
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 8]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004b34c
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14004b48d
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140042043
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x50]
add rsp, 0x20
mov r9, rax
and r9, 0xf
lea r8, [0x1401ea168]
mov r8b, byte [r8 + r9 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], r8b
movabs rcx, 0x4b1356af423dda22
movabs rdx, 0x4b1356af423dda26
xor rcx, rdx
shr rax, cl
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x68], rax
lea rdx, [rbp + 0x10]
sub rsp, 0x20
call fcn.14004b56b
add rsp, 0x20
test al, 1
jne 0x14004b3c4
jmp 0x14004b3d6
sub rsp, 0x20
call fcn.1400067fe
add rsp, 0x20
jmp 0x14004b48d
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x10]
mov qword [rbp - 0x78], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14004b427
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x70]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.1400137e9
add rsp, 0x20
jmp 0x14004b48d
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140042043
mov r9, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x40]
add rsp, 0x20
lea r8, [0x1401ea168]
mov r8b, byte [r8 + r9 + 8]
mov rcx, qword [rcx]
mov byte [rcx + rdx + 8], r8b
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 1
add rcx, rax
movabs rax, 0x23e5468f3c059ec0
movabs rdx, 0x23e5468f3c059ec0
xor rax, rdx
sub rax, rcx
mov qword [rbp - 0x20], rax
jmp 0x14004b192
mov eax, dword [0x1401dd3d0]
xor eax, 0x23ebd7fb
or eax, dword [0x1401dd3d4]
mov ecx, 0x85e079c
xor ecx, 0x963154d8
and eax, ecx
mov ecx, 0x69cd7d3c
xor ecx, 0x451ce250
and eax, ecx
or eax, 0xc29f400
cmp eax, 0x49a8fd66
ja 0x14004b562
mov ecx, dword [0x1401dd3d8]
imul ecx, dword [0x1401dd3dc]
mov edx, 0x509f3625
xor edx, 0x9fedd58f
mov eax, ecx
and eax, edx
or ecx, 0xcf72e3aa
add eax, ecx
mov ecx, 0x874e0345
xor ecx, 0x78b1fcba
mov edx, eax
xor edx, ecx
and edx, 0xae0302c5
mov r8d, 0x12c5da2a
xor r8d, 0xbcc6d8ef
mov ecx, 0x607f082e
xor ecx, 0x9f80f7d1
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xae0302c5
or eax, 0xae0302c5
imul eax, edx
add eax, ecx
mov ecx, 0xd8e7cd7f
xor ecx, 0xcbb2243f
xor edx, edx
div ecx
mov ecx, 0x12a90fde
xor ecx, 0xe72e0ef1
cmp eax, ecx
ja 0x14004b4c8
mov rax, qword [rbp]
lea rsp, [rbp + 0x20]
pop rbp
ret
add eax, 0xe973568f
pop rbp
invalid