Function at 0x1400cc7a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rcx
mov eax, dword [0x1401f8a78]
xor eax, 0xb28b0fef
mov r8d, dword [0x1401f8a7c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x75e46f3a
xor r9d, 0x8a1b90c5
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0xc79a880b
sub eax, 0x80e67734
add eax, 0xf7333048
mov ecx, 0xb49067f2
xor ecx, 0xda9cde00
sub eax, ecx
sub eax, 0xf7333048
cmp eax, 0xe54d461d
ja 0x1400ccb0f
mov eax, dword [0x1401f8a80]
mov ecx, dword [0x1401f8a84]
xor eax, ecx
add eax, 0x5c4bcebd
imul rax, rax, 0x1f805e77
shr rax, 0x3b
add eax, 0x63331ba7
mov dword [rbp - 0x2c], eax
mov eax, 0x10
mov qword [rbp - 0x58], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 0x58]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
sub rsp, 0x20
call fcn.1400cd4ec
mov rcx, qword [rbp - 0x48]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x38], rdx
add rdx, 0x50
mov qword [rbp - 0x40], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400cc764
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x2c]
mov qword [rbp - 0x28], rdx
cmp byte [rcx + 0x50], 0
sete cl
mov byte [rbp - 0x19], cl
cmp eax, 0xd8653289
je 0x1400cc825
mov al, byte [rbp - 0x19]
test al, 1
jne 0x1400cc8e8
jmp 0x1400ccb06
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400cd500
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x60], rcx
mov al, byte [rax]
mov cl, 0x96
xor cl, 0x96
cmp al, cl
jne 0x1400ccb06
mov eax, dword [0x1401f8a88]
mov ecx, dword [0x1401f8a8c]
mov edx, 0xf46ce64e
xor edx, 0x5fc3f47c
xor ecx, edx
mov edx, 0x15ae81fb
xor edx, 0xea517e04
xor ecx, edx
mov r8d, eax
xor r8d, ecx
and r8d, eax
add r8d, 0xcf382d08
mov eax, 0xf46963
xor eax, 0x2988b95a
sub r8d, eax
sub r8d, 0xcf382d08
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x7cec386
mov r9d, 0xffffffff
xor r9d, 0x7cec386
and r8d, r9d
mov ecx, 0xb2f93855
xor ecx, 0x7fd963d7
mov edx, 0x395a5c0f
xor edx, 0xc6a5a3f0
xor ecx, edx
mov edx, 0xe01cd6a1
xor edx, 0xe7d21527
and ecx, edx
mov edx, 0x5ddc4458
xor edx, 0x90fc1fda
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x89970cb0
xor ecx, 0xdd03948e
add eax, ecx
add eax, 0xecdd4039
sub eax, 0x5494983e
cmp eax, 0x6df4c26c
jb 0x1400ccb18
mov rcx, qword [rbp - 0x60]
mov r9d, dword [0x1401f8a90]
or r9d, dword [0x1401f8a94]
sub r9d, 0x6050ad28
mov eax, 0x84a3bc0e
xor eax, 0x7b5c43f1
mov edx, r9d
xor edx, eax
mov eax, 0x3909f63a
xor eax, 0x4405837c
and eax, edx
mov r8d, 0xffffffff
xor r8d, 0x7d0c7546
and r9d, r8d
mov edx, 0x5930a5fe
xor edx, 0x180df775
mov r10d, 0x1df26882
xor r10d, 0xe20d977d
xor edx, r10d
mov r10d, 0x4ca10e50
xor r10d, 0x31ad7b16
and edx, r10d
and r8d, 0x413d528b
or eax, r9d
or edx, r8d
xor eax, edx
xor edx, edx
sub edx, 0x5eb1581a
add eax, edx
movabs rdx, 0xa680f1dbac35e56a
movabs r8, 0xa680f1dbac35e56a
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x61], cl
cmp eax, 0x97742de5
je 0x1400cc9e6
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1400ccaa9
jmp 0x1400ccaed
mov rcx, qword [rbp - 0x60]
movabs rdx, 0x18337206c8bc582
movabs rax, 0x18337206c8bc582
xor rdx, rax
movabs r8, 0x112281a633972595
movabs rax, 0x6edd7e59cc68da6a
xor r8, rax
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x1400ccb06
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.14009b9b0
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret
push rdx
jmp 0x1400ccb7a
invalid
push 0x20ec8348
call fcn.1400cd4ec
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0x88], rax
add rax, 0x50
mov qword [rbp + 0x78], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
movabs rax, 0x671e8a66c83a5386
movabs rcx, 0x671e8a66c83a5386
xor rax, rcx
mov qword [rbp + 0xb0], rax
lea rax, [rbp + 0xb0]
add rax, 8
mov qword [rbp + 0x80], rax
mov qword [rbp + 0xb8], 0
lea rcx, [rbp + 0xb0]
mov edx, 0x104
sub rsp, 0x20
call fcn.14009b610
mov rax, qword [rbp + 0x88]
add rsp, 0x20
cmp byte [rax + 0x50], 0
jne 0x1400cd408
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xc8], rax
sub rsp, 0x20
call fcn.1400cd4ec
add rsp, 0x20
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.1400cc764
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x58], rcx
cmp byte [rax], 0
jne 0x1400cd408
mov rdx, qword [rbp + 0x58]
movabs rcx, 0xf4f9635d9cef107
movabs rax, 0xf4f9635d9cef107
xor rcx, rax
mov r8d, 0x450ca9d4
xor r8d, 0x450ca8d0
sub rsp, 0x20
call fcn.1400a76ac
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x78]
mov dword [rbp + 0x54], ecx
cmp byte [rax], 0
jne 0x1400cd408
mov eax, dword [rbp + 0x54]
cmp eax, 0
sete cl
mov byte [rbp + 0x2f], cl
mov eax, eax
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0xa0]
add rax, 8
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x90]
add rax, 8
mov qword [rbp + 0x40], rax
mov ecx, 5
mov eax, 0x104
mov qword [rbp + 0x48], rcx
mov dword [rbp + 0x50], eax
mov rax, qword [rbp + 0x48]
mov ecx, dword [rbp + 0x50]
mov dword [rbp + 0x1c], ecx
mov qword [rbp + 0x20], rax
mov eax, dword [0x1401f8a98]
xor eax, 0x584e07b1
mov edx, dword [0x1401f8a9c]
mov ecx, eax
xor ecx, edx
mov r8d, 0x57a3bf8c
xor r8d, 0xa85c4073
xor ecx, r8d
or eax, edx
and eax, ecx
mov ecx, 0x5dbf8a4e
xor ecx, 0x9e473d9c
and eax, ecx
sub eax, 0x6864ef77
mov r8d, 0xffffffff
xor r8d, 0x898c9548
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x9a54ed44
xor r8d, 0x65ab12bb
xor ecx, r8d
imul ecx, edx
mov r8d, 0xbfb7e184
xor r8d, 0x363b74cc
mov edx, eax
and edx, r8d
or eax, 0x898c9548
imul eax, edx
add eax, ecx
cmp eax, 0x235faa43
jb 0x1400cd4e3
mov rdx, qword [rbp + 0x20]
mov eax, dword [0x1401f8aa0]
add eax, dword [0x1401f8aa4]
add eax, 0x646bab3e
add eax, 0xcb7e0234
mov ecx, 0x56bf7a6f
xor ecx, 0x32d4d151
sub eax, ecx
mov ecx, 0x4de22e92
xor ecx, 0xaf0d8e28
or eax, ecx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x416f042f
mov r9d, 0xffffffff
xor r9d, 0x416f042f
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x416f042f
mov r9d, 0x1a46dcc5
xor r9d, 0x5b29d8ea
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0x875f64b4
xor ecx, 0xc2164deb
cmp rdx, 0
sete dl
mov byte [rbp + 0x1b], dl
cmp eax, ecx
jb 0x1400ccd83
mov al, byte [rbp + 0x1b]
test al, 1
jne 0x1400cd3ef
jmp 0x1400cce28
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x1400cce38
jmp 0x1400cceb3
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x70]
mov rdx, qword [0x140207ba0]
mov qword [rcx], rdx
mov rdx, qword [0x140207ba8]
mov qword [rcx + 8], rdx
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
cmp rax, 0
je 0x1400cd4d6
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
movabs rdx, 0xf910618bae065e57
movabs r8, 0xb910618bae065e57
xor rdx, r8
and rcx, rdx
movabs rdx, 0x860d4761137ca8ca
movabs r8, 0x860d4761137ca8ca
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 8], rax
je 0x1400cd4c5
jmp 0x1400cd4d6
mov eax, dword [rbp + 0x1c]
mov ecx, dword [rbp + 0x54]
cmp eax, ecx
jge 0x1400ccf01
mov rdx, qword [rbp + 0x30]
lea rcx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.14009b610
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov rdx, qword [rbp + 0xa0]
mov qword [rbp - 8], rdx
mov rcx, qword [rcx]
mov qword [rbp], rcx
cmp byte [rax], 0
je 0x1400cd383
jmp 0x1400cd408
sub rsp, 0x20
call fcn.1400cd4ec
add rsp, 0x20
mov qword [rbp - 0x18], rax
add rax, 0x50
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.1400cc764
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x10], rcx
cmp byte [rax + 0x50], 0
jne 0x1400cd2ba
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.14009c300
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x20]
mov dword [rbp - 0x24], ecx
mov al, byte [rax]
mov cl, 0x7b
xor cl, 0x7b
cmp al, cl
jne 0x1400cd2ba
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.1400cd500
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
mov al, byte [rax]
mov cl, 0xfe
xor cl, 0xfe
cmp al, cl
jne 0x1400cd2ba
mov rax, qword [rbp - 0x30]
mov ecx, dword [rbp - 0x24]
movsxd rcx, ecx
mov qword [rbp - 0x38], rcx
cmp rax, rcx
jle 0x1400cd2ba
mov eax, dword [rbp - 0x24]
cmp eax, 0
jge 0x1400cd019
mov rcx, qword [rbp - 0x38]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x1400cd2ba
sub rsp, 0x20
call fcn.1400cd4ec
mov rdx, qword [rbp - 0x38]
add rsp, 0x20
add rax, 0x50
mov qword [rbp - 0x48], rax
mov rcx, rdx
add rcx, 1
mov qword [rbp - 0x40], rcx
movabs rax, 0x6df48ca6bd827f3b
movabs r8, 0x920b7359427d80c4
xor rax, r8
mov r8, rdx
xor r8, rax
movabs rax, 0x62cd90a8bc28d2ea
movabs r9, 0x9d326f5743d72d15
xor rax, r9
xor r8, rax
and r8, 0xffffffffffffffff
movabs rax, 0xa28045603f87f11
movabs r9, 0xa28045603f87f13
xor rax, r9
imul rax, r8
movabs r8, 0xbac17775cae9b45d
movabs r9, 0x453e888a35164ba2
xor r8, r9
sub rax, r8
sub rdx, rax
movabs rax, 0x4233426c435f4ea5
movabs r8, 0xbdccbd93bca0b15a
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xa78333403bcbba8f
movabs rdx, 0xa78333403bcbba8f
xor rcx, rdx
cmp rax, rcx
jge 0x1400cd105
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x1400cd2ba
mov rcx, qword [rbp - 0x40]
lea rdx, [rbp + 0x108]
sub rsp, 0x20
call fcn.1400cd710
add rsp, 0x20
test al, 1
jne 0x1400cd12a
jmp 0x1400cd13c
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x1400cd2ba
mov rax, qword [rbp + 0x108]
mov qword [rbp - 0x50], rax
movabs rcx, 0x5d6021dfbd49745
movabs rdx, 0x5d6021dfbd49745
xor rcx, rdx
cmp rax, rcx
jge 0x1400cd1ab
mov rcx, qword [rbp - 0x50]
movabs rdx, 0x8852b4c0f5f4c483
movabs rax, 0x8852b4c0f5f4c483
xor rdx, rax
movabs r8, 0xe4f04541c9367882
movabs rax, 0x9b0fbabe36c9877d
xor r8, rax
sub rsp, 0x20
call fcn.14000e57e
add rsp, 0x20
jmp 0x1400cd2ba
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.1400153b0
add rsp, 0x20
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400cd500
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x1400cd2ba
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp + 0x100]
sub rsp, 0x20
call fcn.1400cd710
add rsp, 0x20
test al, 1
jne 0x1400cd22c
jmp 0x1400cd23e
sub rsp, 0x20
call fcn.140009cc0
add rsp, 0x20
jmp 0x1400cd2ba
mov rcx, qword [rbp + 0x100]
mov qword [rbp - 0x68], rcx
test rcx, rcx
setns al
mov rdx, qword [rbp + 0xb0]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400cd29e
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x60]
movabs rax, 0x5f44bd3d04ca401c
movabs r8, 0xa0bb42c2fb35bfe3
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140013c92
add rsp, 0x20
jmp 0x1400cd2ba
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov dx, 0xc2ed
xor dx, 0xc2ed
mov word [rax + rcx + 8], dx
mov rax, qword [rbp + 0x78]
mov al, byte [rax]
mov cl, 0xe0
xor cl, 0xe0
cmp al, cl
jne 0x1400cd408
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp + 0xb0]
mov qword [rdx], rax
mov rax, qword [rbp + 0xb8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400cc7a0
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x87
xor cl, 0x87
cmp al, cl
jne 0x1400cd408
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x1400cd4d6
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
movabs r8, 0x62839fc3f97fb190
movabs rdx, 0x22839fc3f97fb190
xor r8, rdx
mov rdx, rcx
xor rdx, r8
movabs r8, 0xb7cd7bca912d0e27
movabs r9, 0x483284356ed2f1d8
xor r8, r9
xor rdx, r8
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 8], rax
je 0x1400cd4c5
jmp 0x1400cd4d6
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
mov qword [rbp + 0x90], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140014ce0
mov rcx, qword [rbp + 0x20]
mov eax, dword [rbp + 0x54]
add rsp, 0x20
xor edx, edx
sub rdx, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rdx, rcx
movabs rcx, 0x817a44b56b1044d6
movabs r8, 0x817a44b56b1044d6
xor rcx, r8
sub rcx, rdx
mov qword [rbp + 0x48], rcx
mov dword [rbp + 0x50], eax
jmp 0x1400ccce9
mov rax, qword [rbp + 0x70]
mov rcx, qword [0x140207ba0]
mov qword [rax], rcx
mov rcx, qword [0x140207ba8]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1400cd4d6
mov rax, qword [rbp - 0x78]
mov rdx, qword [rax]
movabs r8, 0xd83f75447c1bbb02
movabs rcx, 0x27c08abb83e444fd
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0x55ee4ac72325b7d4
movabs r9, 0x15ee4ac72325b7d4
xor r8, r9
movabs r9, 0x9e6e664daadea400
movabs r10, 0x619199b255215bff
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0x90f274b0643fe1e
movabs r9, 0x490f274b0643fe1e
xor r8, r9
and rdx, r8
movabs r8, 0xd4bbc8ab5016d040
movabs r9, 0x2b443754afe92fbf
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov qword [rbp + 8], rax
jne 0x1400cd4d6
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rax, qword [rbp + 0x60]
lea rsp, [rbp + 0x110]
pop rbp
ret
test eax, 0xe9fd1369
xchg edi, eax
clc
invalid