Function at 0x140064920
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x158
mov qword [rsp + 0xb8], r9
mov byte [rsp + 0x9f], r8b
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], 0
xor eax, eax
mov ecx, eax
mov edx, 0x10
mov r8d, 8
call fcn.140020645
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xb8]
mov qword [rcx + 8], rax
mov qword [rsp + 0x148], 0
lea rax, [rsp + 0x148]
add rax, 8
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x150], 0
mov rax, rdx
add rax, 8
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x128]
add rax, 8
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x108]
add rax, 8
mov qword [rsp + 0xd8], rax
mov rcx, qword [rdx]
xor eax, eax
cmp rcx, 0
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], r9
jl 0x140064f42
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
cmp rax, rcx
mov qword [rsp + 0x90], rax
jge 0x140064c16
mov rax, qword [rsp + 0x80]
cmp rax, 0xffffffffffffffff
setg cl
mov byte [rsp + 0x6f], cl
mov qword [rsp + 0x70], rax
mov al, byte [rsp + 0x6f]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x60], rcx
test al, 1
jne 0x140064ab7
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x88]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.1400292ad
jmp 0x140064f42
mov eax, dword [0x140275180]
mov ecx, dword [0x140275184]
xor ecx, 0xcebaf711
or eax, ecx
mov ecx, 0x46fb38f
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x32027716
sub eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x9ec3ca8c
xor ecx, 0x1bde27c8
mov edx, 0xfd07ea2
xor edx, 0xf02f815d
xor ecx, edx
mov edx, 0xa9b66707
xor edx, 0x2cab8a43
mov r8d, 0xbe864314
xor r8d, 0x4179bceb
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x3efcf5b1
xor edx, 0xc1030a4e
xor ecx, edx
or eax, ecx
cmp eax, 0xfecd1d04
ja 0x140064fac
mov r8b, byte [rsp + 0x9f]
mov rcx, qword [rsp + 0xc8]
mov eax, dword [0x140275188]
mov edx, dword [0x14027518c]
xor edx, 0x7002ad06
xor eax, edx
imul eax, eax, 0xfc696314
mov edx, 0xc224f15c
xor edx, 0xa996ad75
and eax, edx
mov r9d, 0xff6e9221
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rcx]
cmp byte [rcx + rdx + 8], r8b
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xa4b9eb80
je 0x140064b35
mov rax, qword [rsp + 0x60]
mov cl, byte [rsp + 0x5f]
test cl, 1
mov qword [rsp + 0x90], rax
jne 0x140064c16
jmp 0x140064bb5
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
movabs rdx, 0x27ea709acef9a237
movabs r8, 0x27ea709acef9a236
xor rdx, r8
movabs r8, 0x835a03a7c3258b9f
movabs r9, 0x7ca5fc583cda7460
xor r8, r9
xor rdx, r8
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rcx, rdx
cmp rcx, rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x90], rax
jne 0x140064a7c
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x90]
cmp rcx, 0
sete r8b
mov byte [rsp + 0x47], r8b
cmp rcx, 0
cmove rdx, rax
mov qword [rsp + 0x48], rdx
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rsp + 0x50], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
and al, dl
xor al, 0xff
xor cl, 0xff
xor dl, 0xff
or cl, dl
xor edx, edx
xor dl, 1
xor al, dl
mov dl, 1
xor dl, 0
xor cl, dl
or al, cl
test al, 1
jne 0x140064c90
jmp 0x140064c9a
call fcn.14000f24b
jmp 0x140064f42
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x80]
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax]
mov qword [rsp + 0x118], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0x118]
call fcn.140035e00
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rcx]
mov qword [rsp + 0x108], rdx
mov qword [rax], rcx
lea rcx, [rsp + 0x148]
lea rdx, [rsp + 0x108]
call fcn.14002b970
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x148]
call fcn.140020530
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x100], rax
lea rdx, [rsp + 0xf8]
call fcn.1400363f2
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140064f42
mov rdx, qword [rsp + 0x78]
movabs rcx, 0xe3ce486f58fa2673
mov rax, rdx
sub rax, rcx
movabs rcx, 0xd6d5470296b87ee1
movabs r8, 0x292ab8fd6947811e
xor rcx, r8
add rax, rcx
movabs rcx, 0xe3ce486f58fa2673
add rax, rcx
mov qword [rsp + 0x38], rax
mov rcx, rax
and rcx, rcx
xor rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rcx, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs r9, 0x2f30e55d097615c5
movabs r10, 0xd0cf1aa2f689ea3a
xor r9, r10
xor rdx, r9
or r8, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x3a9f930f2c8fe43c
movabs r9, 0xc5606cf0d3701bc3
xor r8, r9
xor rdx, r8
or rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0x66d75927ab948aad
movabs r8, 0x9928a6d8546b7552
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x140064e63
jmp 0x140064e6d
call fcn.14000f24b
jmp 0x140064f42
mov rdx, qword [rsp + 0x48]
movabs rcx, 0x5d98f776afb54a17
movabs rax, 0x5d98f776afb54a16
xor rcx, rax
movabs rax, 0xd5235714a915c635
movabs r8, 0x2adca8eb56ea39ca
xor rax, r8
xor rcx, rax
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rcx, 0xffffffffffffffff
shl rcx, 1
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
movabs rcx, 0xf1bc3d1d088746c4
movabs rdx, 0xf1bc3d1d088746c4
xor rcx, rdx
cmp rax, rcx
jge 0x140064f0c
call fcn.14000f24b
jmp 0x140064f42
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0xb0]
mov rdx, qword [rdx]
cmp rcx, rdx
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
jle 0x140064a26
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
cmp rax, 0
je 0x140064f9c
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140064f9c
mov rcx, qword [rsp + 0x28]
call fcn.14001d1d6
mov rax, qword [rsp + 0xa0]
add rsp, 0x158
ret
mov dword [rcx - 0x46], edi
jmp 0x140064b35