Function at 0x1400cc180
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1a0
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x64], edx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x68], rcx
mov eax, 0x10
mov qword [rbp + 0x70], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x70]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x80], rax
sub rsp, 0x20
call fcn.1400ccda0
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x98], rdx
movabs rdx, 0x5cbb0b92cea101bf
movabs r8, 0x5cbb0b92cea101bf
xor rdx, r8
mov qword [rax], rdx
mov qword [rax + 8], 0
movabs rax, 0xcd6a99092bfb06e
movabs rdx, 0xcd6a99092bfb06e
xor rax, rdx
mov qword [rcx], rax
mov rax, rcx
add rax, 8
mov qword [rbp + 0x90], rax
mov qword [rcx + 8], 0
mov edx, 0x104
sub rsp, 0x20
call fcn.14009b650
mov rax, qword [rbp + 0x98]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400ccccc
mov cx, 0xbf06
xor cx, 0xbf7e
sub rsp, 0x20
call fcn.1400639c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x58], rcx
cmp byte [rax], 0
jne 0x1400ccccc
mov cx, 0xbf4
xor cx, 0x8de
sub rsp, 0x20
call fcn.1400639c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x50], rcx
cmp byte [rax], 0
jne 0x1400ccccc
mov cx, 0xc42
xor cx, 0xd96
sub rsp, 0x20
call fcn.140063e70
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x98]
mov dword [rbp + 0x4c], ecx
mov al, byte [rax]
mov cl, 0xd4
xor cl, 0xd4
cmp al, cl
jne 0x1400ccccc
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
mov qword [rbp + 0xc0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc8], rax
sub rsp, 0x20
call fcn.1400ccda0
add rsp, 0x20
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.1400cf2b0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x40], rcx
mov al, byte [rax]
mov cl, 0x74
xor cl, 0x74
cmp al, cl
jne 0x1400ccccc
mov rax, qword [rbp + 0x40]
mov r9d, dword [rbp + 0x4c]
mov r8, qword [rbp + 0x50]
mov edx, dword [rbp + 0x64]
mov rcx, qword [rbp + 0x58]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1400ae010
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x98]
mov dword [rbp + 0x3c], ecx
mov al, byte [rax]
mov cl, 0x9b
xor cl, 0x9b
cmp al, cl
jne 0x1400ccccc
mov eax, dword [rbp + 0x3c]
cmp eax, 0
je 0x1400cc3ee
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x88]
mov rdx, qword [0x1401ed1c0]
mov qword [rcx], rdx
mov rdx, qword [0x1401ed1c8]
mov qword [rcx + 8], rdx
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
cmp rax, 0
je 0x1400ccd66
mov rax, qword [rbp + 0x30]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp + 0x28], rax
je 0x1400ccd55
jmp 0x1400ccd66
sub rsp, 0x20
call fcn.1400ccda0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xe0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.1400cf2b0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x20], rcx
mov al, byte [rax]
mov cl, 0x3c
xor cl, 0x3c
cmp al, cl
jne 0x1400cca5c
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14009bde0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x18]
mov dword [rbp + 0x14], ecx
mov al, byte [rax]
mov cl, 0x93
xor cl, 0x93
cmp al, cl
jne 0x1400cca5c
mov rax, qword [rbp + 0x80]
mov rcx, qword [rax]
mov qword [rbp + 0xd0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.1400cf3c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x18]
mov qword [rbp + 8], rcx
cmp byte [rax], 0
jne 0x1400cca5c
mov rax, qword [rbp + 8]
mov ecx, dword [rbp + 0x14]
movsxd rcx, ecx
mov qword [rbp], rcx
cmp rax, rcx
jle 0x1400cca5c
mov eax, dword [rbp + 0x14]
cmp eax, 0
jge 0x1400cc500
mov rcx, qword [rbp]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c4b0
add rsp, 0x20
jmp 0x1400cca5c
sub rsp, 0x20
call fcn.1400ccda0
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp - 0x10], rax
movabs rdx, 0xb5a84d94349324df
mov rax, rcx
add rax, rdx
add rax, 1
movabs rdx, 0xb5a84d94349324df
sub rax, rdx
mov qword [rbp - 8], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400cc55d
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x1400cca5c
mov ecx, dword [0x1401dd888]
mov eax, 0x47688345
xor eax, 0xe3e44304
xor ecx, eax
sub ecx, dword [0x1401dd88c]
or ecx, 0x8df9b22f
mov eax, ecx
and eax, 0xfcc3a50c
or ecx, 0xfcc3a50c
add eax, ecx
sub eax, 0xa2c512dc
cmp eax, 0x13c66886
je 0x1400ccd73
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401dd890]
mov edx, 0xbc35463a
xor edx, 0xb2a220b2
xor eax, edx
mov r9d, dword [0x1401dd894]
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov edx, 0x3ce5612c
xor edx, 0xc31a9ed3
mov r10d, r9d
xor r10d, edx
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
or eax, eax
mov edx, 0x651006fd
xor edx, 0x9aeff902
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x3bc6fbd
mov r8d, 0xffffffff
xor r8d, 0x3bc6fbd
and edx, r8d
or eax, edx
xor eax, 0xffffffff
add eax, 0x9c8b1760
mov edx, 0x965adf78
xor edx, 0x165c97af
sub eax, edx
mov edx, 0xcb70bdc9
xor edx, 0x57fbaaa9
sub eax, edx
mov edx, 0x47152f4b
xor edx, 0xedc7bd38
sub eax, edx
mov dword [rbp - 0x18], eax
lea rdx, [rbp + 0x108]
sub rsp, 0x20
call fcn.1400cf5b9
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x18]
mov byte [rbp - 0x11], cl
cmp eax, 0xe15cd348
je 0x1400ccd73
mov al, byte [rbp - 0x11]
test al, 1
jne 0x1400cc681
jmp 0x1400cc693
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
jmp 0x1400cca5c
mov rax, qword [rbp + 0x108]
mov qword [rbp - 0x20], rax
cmp rax, 0
jge 0x1400cc7a6
mov eax, dword [0x1401dd898]
mov r8d, dword [0x1401dd89c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0x9049bd0e
xor ecx, ecx
sub ecx, 0xaf29d813
add eax, ecx
imul eax, eax, 0x5c654cd8
mov ecx, 0xf5551af6
xor ecx, 0x597383fb
cmp eax, ecx
je 0x1400ccd7c
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x1401dd8a0]
xor eax, 0x265a0848
mov r8d, dword [0x1401dd8a4]
mov edx, 0x1318f398
xor edx, 0xece70c67
xor eax, edx
mov edx, 0x1b9d5b86
xor edx, 0xe462a479
xor r8d, edx
mov edx, 0xffffffff
xor edx, 0x864d5a3e
or eax, r8d
or edx, 0x864d5a3e
mov r8d, 0x3163d786
xor r8d, 0xce9c2879
xor eax, r8d
and eax, edx
mov r8d, 0xff1e716e
xor edx, edx
div r8d
mov r8d, 0x48b833ec
xor edx, edx
div r8d
add eax, 0x5a0d26e8
mov dword [rbp - 0x24], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c4b0
mov eax, dword [rbp - 0x24]
add rsp, 0x20
cmp eax, 0x5415ea16
jb 0x1400cc703
jmp 0x1400cca5c
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140014020
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xf0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400cf3c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x30], rcx
mov al, byte [rax]
mov cl, 0xd4
xor cl, 0xd4
cmp al, cl
jne 0x1400cca5c
mov rcx, qword [rbp - 0x30]
lea rdx, [rbp + 0x100]
sub rsp, 0x20
call fcn.1400cf5b9
add rsp, 0x20
test al, 1
jne 0x1400cc82d
jmp 0x1400cc91d
mov eax, dword [0x1401dd8a8]
mov edx, dword [0x1401dd8ac]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0xd12cba71
xor ecx, 0xd12cba73
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, eax
or ecx, 0xa8f7d6cb
mov edx, 0x9131d4ab
xor edx, 0x6ece2b54
xor ecx, edx
or eax, 0xa8f7d6cb
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x51d26f9f
xor edx, 0xae2d9060
xor eax, edx
and ecx, eax
mov eax, ecx
or eax, 0x101a3d04
xor eax, 0xffffffff
mov edx, 0x6199df4c
xor edx, 0x7183e248
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x2bdfb455
xor edx, 0xd4204baa
xor ecx, edx
and eax, ecx
xor eax, 0xd2fb381f
cmp eax, 0xf03b8489
jae 0x1400ccd85
mov eax, dword [0x1401dd8b0]
mov edx, dword [0x1401dd8b4]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov ecx, 0x6e76703e
xor ecx, 0x2ed2cecb
xor eax, ecx
mov ecx, 0x1e55e7af
xor ecx, 0x5aabcd21
and eax, ecx
xor ecx, ecx
sub ecx, 0xc5fdba27
sub eax, ecx
mov dword [rbp - 0x34], eax
sub rsp, 0x20
call fcn.140007bb8
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, 0xed92f509
ja 0x1400cc8c4
jmp 0x1400cca5c
mov r8d, dword [0x1401dd8b8]
xor r8d, 0xde1f7086
or r8d, dword [0x1401dd8bc]
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0xf8b3fcfa
xor ecx, 0xec8f9034
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x143c6cce
and r8d, ecx
sub r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x86e53cc9
xor eax, 0x46e8d480
and eax, ecx
mov edx, 0x6e6ae12b
xor edx, 0xae670962
mov ecx, 0x6fee920a
xor ecx, 0x90116df5
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xeb4e23b7
and ecx, 0xc00de849
and edx, 0xeb4e23b7
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x3dc7a9a9
xor ecx, 0xda7cb73d
add eax, ecx
mov ecx, 0x231c33cc
xor ecx, 0x52b6b7c0
cmp eax, ecx
jb 0x1400ccd8e
mov r8, qword [rbp + 0x80]
mov eax, dword [0x1401dd8c0]
mov ecx, dword [str.b_k]
sub eax, ecx
imul rax, rax, 0x98b0113
shr rax, 0x3b
or eax, 0x3fc9ff6e
mov rdx, qword [rbp + 0x100]
mov qword [rbp - 0x48], rdx
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rbp - 0x40], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x35], cl
cmp eax, 0xb06ab7a3
ja 0x1400cc9c1
mov al, byte [rbp - 0x35]
test al, 1
jne 0x1400cca47
jmp 0x1400cca24
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
sub rsp, 0x20
call fcn.140012270
add rsp, 0x20
jmp 0x1400cca5c
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
mov word [rax + rcx + 8], 0
mov rax, qword [rbp + 0x98]
cmp byte [rax], 0
jne 0x1400ccccc
mov eax, dword [0x1401dd8c8]
mov ecx, dword [0x1401dd8cc]
mov edx, 0x8c3d880b
xor edx, 0x992ed825
sub eax, edx
add eax, ecx
mov ecx, 0x628f4451
xor ecx, 0x779c147f
add eax, ecx
xor ecx, ecx
sub ecx, 0xa18fa50a
sub eax, ecx
add eax, 0x837a3499
mov ecx, 0xeb4d4f2d
xor ecx, 0x284a72ac
imul eax, ecx
cmp eax, 0xb7eb1f3a
jbe 0x1400ccd97
mov rax, qword [rbp + 0x80]
mov ecx, dword [0x1401dd8d0]
mov r9d, dword [0x1401dd8d4]
mov edx, 0xcc3f7944
xor edx, 0x33c086bb
mov r10d, r9d
xor r10d, edx
mov r8d, ecx
and r8d, r10d
mov edx, ecx
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, ecx
and r8d, r9d
or ecx, r9d
imul ecx, r8d
add ecx, edx
imul ecx, ecx, 0x61e84fe1
mov edx, ecx
xor edx, 0xffffffff
mov r8d, 0x7b1ed2ad
xor r8d, 0xfe036f09
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0x851dbda4
mov edx, ecx
and edx, r9d
imul edx, r8d
mov r8d, ecx
and r8d, 0x851dbda4
mov r9d, 0x8997ae21
xor r9d, 0xc8a1385
or ecx, r9d
imul ecx, r8d
add ecx, edx
mov edx, 0xe1a8c259
xor edx, 0x6663b7e5
xor ecx, edx
mov dword [rbp - 0x5c], ecx
mov ecx, 0x7c60a741
xor ecx, 0xa9ed889b
mov dword [rbp - 0x60], ecx
mov rcx, qword [rax]
mov qword [rbp + 0xa0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa8], rax
sub rsp, 0x20
call fcn.1400ccda0
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0xa0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400cf2b0
mov rdx, qword [rbp - 0x68]
mov ecx, dword [rbp - 0x60]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x5c]
mov qword [rbp - 0x58], r8
mov dl, byte [rdx]
mov r8b, 0x38
xor r8b, 0x38
cmp dl, r8b
sete dl
mov byte [rbp - 0x49], dl
cmp eax, ecx
jae 0x1400ccabc
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1400ccbf8
jmp 0x1400cccb0
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x110]
sub rsp, 0x20
call fcn.1400cf3c0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x68]
mov qword [rbp - 0x70], rcx
mov al, byte [rax]
mov cl, 0x56
xor cl, 0x56
cmp al, cl
jne 0x1400cccb0
mov rax, qword [rbp - 0x70]
cmp rax, 0
jge 0x1400ccc94
mov rcx, qword [rbp - 0x70]
movabs rdx, 0x644581a61ccfc92e
movabs rax, 0x644581a61ccfc92e
xor rdx, rax
movabs r8, 0x5035ad30357811ca
movabs rax, 0x2fca52cfca87ee35
xor r8, rax
sub rsp, 0x20
call fcn.14000c4b0
add rsp, 0x20
jmp 0x1400cccb0
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14009c140
add rsp, 0x20
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rbp + 0xb8]
mov qword [rax + 8], rcx
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1400ccd66
mov rax, qword [rbp - 0x78]
mov rdx, qword [rax]
movabs r8, 0xe8e94a137af29343
movabs rcx, 0x1716b5ec850d6cbc
xor r8, rcx
mov rcx, rdx
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x4000000000000000
movabs r8, 0x4000000000000000
or rdx, r8
movabs r8, 0xb42a77f65bd826a4
movabs r9, 0x4bd58809a427d95b
xor r8, r9
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp + 0x28], rax
jne 0x1400ccd66
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp + 0x68]
lea rsp, [rbp + 0x120]
pop rbp
ret
sub esp, ebp
cmp ecx, dword [rdx]
jmp 0x1400cc59a
invalid
mov cl, 0x42
invalid
fcomp qword [rbx + 0x2ae95f0b]
cld
invalid
jmp qword [rcx + 0x16]