Function at 0x1400cc090
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x50], r8
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rcx
mov eax, dword [0x1401cd880]
mov edx, dword [0x1401cd884]
xor edx, 0xe55e677f
mov ecx, eax
xor ecx, edx
mov r8d, 0xaed599f4
xor r8d, 0x512a660b
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x7fe87778
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xf877a0a9
mov edx, 0x1f3e033c
xor edx, 0xe0c1fcc3
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xcc5ea91f
mov edx, 0xffffffff
xor edx, 0xcc5ea91f
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xa055e8e8
xor ecx, 0x4166ca1e
cmp eax, ecx
je 0x1400cc6f4
mov ecx, dword [0x1401cd888]
xor ecx, 0xbf9fac95
mov r9d, dword [0x1401cd88c]
mov r8d, r9d
xor r8d, 0xbbfce440
xor r9d, 0x44031bbf
mov eax, ecx
and eax, r9d
mov edx, ecx
or edx, r9d
not edx
imul edx, eax
mov eax, ecx
and eax, r8d
or ecx, r8d
imul ecx, eax
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx - 0x75c416b9]
mov ecx, eax
imul rcx, rcx, 0x37574237
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0xecba0e5a
mov dword [rbp + 0x48], eax
mov eax, 0x488f652d
mov dword [rbp + 0x44], eax
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
mov eax, 0x20
mov qword [rbp - 8], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.1400c9d2a
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x38], rax
movabs rdx, 0x82264617ca4d10b3
movabs rax, 0x82264617ca4d10ab
xor rdx, rax
sub rsp, 0x20
call fcn.1400c9d45
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov edx, 0x10
sub rsp, 0x20
call fcn.1400c9d45
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov edx, 0x10
sub rsp, 0x20
call fcn.1400c9d45
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.14000f979
mov rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov r9d, 8
sub rsp, 0x20
call fcn.1400cbb40
mov r9, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
mov ecx, dword [rbp + 0x44]
mov eax, dword [rbp + 0x48]
add rsp, 0x20
mov r10, qword [r8]
mov qword [r9], r10
mov r10, qword [r8 + 8]
mov qword [r9 + 8], r10
mov r8b, byte [r8 + 0x10]
mov byte [rbp + 0x4e], r8b
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x4f], dl
cmp eax, ecx
je 0x1400cc132
mov al, byte [rbp + 0x4f]
test al, 1
jne 0x1400cc334
jmp 0x1400cc67e
mov al, byte [rbp + 0x4e]
mov cl, 0x4e
xor cl, 0x4e
cmp al, cl
jne 0x1400cc4da
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.140080bb0
mov rax, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400cc67e
mov rcx, qword [rbp + 0x60]
mov edx, 0x18
sub rsp, 0x20
call fcn.1400c9d45
mov rax, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400cc67e
mov rax, qword [rbp + 0x50]
mov rax, qword [rax + 8]
mov qword [rbp - 0x20], rax
cmp rax, 0
je 0x1400cc6ea
mov eax, dword [0x1401cd890]
add eax, dword [0x1401cd894]
mov ecx, 0x89b4979e
xor edx, edx
div ecx
xor eax, 0xc227b8a4
xor eax, 0x4e14b246
cmp eax, 0x2333415e
jb 0x1400cc6fd
mov eax, dword [0x1401cd898]
mov ecx, dword [0x1401cd89c]
xor ecx, 0xce26d2fb
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x20]
and eax, 0xb9c158e2
mov ecx, 0xffffffff
xor ecx, 0xd6bf52e3
add eax, ecx
mov ecx, 0x3b0fc227
xor ecx, 0x3b0fc226
add eax, ecx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xc6b90d10
mov r9d, 0x51730490
xor r9d, 0x97ca0980
mov ecx, 0x60c8161f
xor ecx, 0x9f37e9e0
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r9d, 0x1cf1832f
xor r9d, 0xda488e3f
mov r8d, eax
and r8d, r9d
or eax, 0xc6b90d10
imul eax, r8d
add eax, ecx
mov ecx, 0xe798d637
xor ecx, 0xdc9f6383
mov rdx, qword [rdx]
or rdx, rdx
movabs r8, 0x76cdf3dbd30303c1
movabs r9, 0x89320c242cfcfc3e
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
mov r9, 0xffffffffffffffff
movabs r10, 0x4000000000000000
xor r9, r10
and r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 0x21], dl
cmp eax, ecx
jb 0x1400cc6fd
mov rax, qword [rbp - 0x20]
mov cl, byte [rbp - 0x21]
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x1400cc6d9
jmp 0x1400cc6ea
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
mov eax, dword [rcx + 8]
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
movsxd rcx, eax
mov qword [rbp - 0x38], rcx
cmp eax, 0
jge 0x1400cc54e
mov rcx, qword [rbp - 0x38]
movabs rdx, 0x294fd8b0e2ae197f
movabs rax, 0x294fd8b0e2ae197f
xor rdx, rax
movabs r8, 0x7970eb3c80d8b6f
movabs rax, 0x7868f14c37f27490
xor r8, rax
sub rsp, 0x20
call fcn.14000c8ac
add rsp, 0x20
jmp 0x1400cc66d
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x38]
sub rsp, 0x20
call fcn.140024f77
mov rcx, qword [rbp]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x48], rcx
cmp rax, 1
jge 0x1400cc5a8
mov rax, qword [rbp - 0x50]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.1400122ad
add rsp, 0x20
jmp 0x1400cc66d
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x48]
add rax, 8
mov qword [rbp - 0x68], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x60], rax
xor eax, eax
mov qword [rbp - 0x58], rax
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x70], rax
cmp rax, rcx
je 0x1400cc5ff
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x40]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
add rax, 1
mov qword [rbp - 0x58], rax
jmp 0x1400cc5cb
mov rcx, qword [rbp + 8]
movabs rdx, 0xd6dbec4b562aa2e7
movabs rax, 0xd6dbec4b562aa2ff
xor rdx, rax
sub rsp, 0x20
call fcn.1400c9d45
mov r8, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov byte [rcx + 0x10], 1
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14002d527
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
mov rcx, qword [rcx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.14001d6b4
add rsp, 0x20
mov rax, qword [rbp + 0x50]
mov rax, qword [rax + 8]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1400cc6ea
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
movabs rdx, 0xfb9d111602c15a2e
movabs r8, 0xbb9d111602c15a2e
xor rdx, r8
and rcx, rdx
movabs rdx, 0x93ec02f87ca37a49
movabs r8, 0x93ec02f87ca37a49
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x30], rax
jne 0x1400cc6ea
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov rax, qword [rbp + 0x68]
lea rsp, [rbp + 0x70]
pop rbp
ret
movabs eax, dword [0xfffffa35e9e66105]
jg 0x1400cc736
int 0x29
jmp 0x1400cc3c5