Function at 0x1401c0c60
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
xchg rcx, rbp
mov qword [rsp + 8], rbp
xchg rcx, rbp
push rbp
nop
sub rsp, 8
mov qword [rsp], rbx
push rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
push rcx
mov qword [rsp], r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg rsi, rdx
mov r11, rsi
xchg rsi, rdx
mov r15d, 0x499ea72f
sub r15d, 0x3d65b24f
add r15d, 0x31a0e0a7
add r15d, 0x40d5d399
xor r15d, 0x668a1f4
sub r15d, 0x3c97ad4a
add r15d, 0xcedee74
sub r15d, 0x491d49ee
mov byte [rbp + 0x6f], r12b
sub r11, rcx
mov rbx, rdx
xchg rcx, rsi
mov rcx, rsi
xchg rcx, rsi
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1401c0d1c
lea r13, [0x140000000]
test r9, r9
je 0x1401c0ee0
movzx eax, byte [r9]
mov r10d, 0x5bb1eb05
sub r10d, 0x3dc9cb86
xor r10d, 0x27b045e0
xor r10d, 0x506680fd
sub r10d, 0x2ac3ed6
sub r10d, 0x67929b88
mov byte [rsp + 0x40], al
movzx eax, byte [r9 + 1]
mov byte [rsp + 0x41], al
movzx eax, byte [r9 + 2]
mov byte [rsp + 0x42], al
movzx eax, byte [r9 + 3]
mov byte [rsp + 0x43], al
movzx eax, byte [r9 + 4]
mov byte [rsp + 0x44], al
movzx eax, byte [r9 + 5]
mov byte [rsp + 0x45], al
movzx eax, byte [r9 + 6]
mov byte [rsp + 0x46], al
movzx eax, byte [r9 + 7]
mov byte [rsp + 0x47], al
movzx eax, byte [r9 + 8]
mov byte [rsp + 0x48], al
movzx eax, byte [r9 + 9]
mov byte [rsp + 0x49], al
movzx eax, byte [r9 + 0xa]
mov byte [rsp + 0x4a], al
movzx eax, byte [r9 + 0xb]
mov byte [rsp + 0x4b], al
movzx eax, byte [r9 + 0xc]
mov byte [rsp + 0x4c], al
movzx eax, byte [r9 + 0xd]
mov byte [rsp + 0x4d], al
movzx eax, byte [r9 + 0xe]
mov byte [rsp + 0x4e], al
movzx eax, byte [r9 + 0xf]
mov byte [rsp + 0x4f], al
nop word [rax + rax]
lea edx, [r10*4 - 4]
movzx r9d, byte [rsp + rdx + 0x40]
lea eax, [rdx + 1]
movzx r8d, byte [rsp + rax + 0x40]
lea eax, [rdx + 2]
movzx r11d, byte [rsp + rax + 0x40]
lea eax, [rdx + 3]
movzx ebx, byte [rsp + rax + 0x40]
movzx edi, r8b
test r10b, 3
jne 0x1401c0e7e
movzx edi, byte [r11 + r13 + 0x4340]
mov eax, r10d
movzx r11d, byte [rbx + r13 + 0x4340]
xor dil, 0xec
movzx ebx, byte [r9 + r13 + 0x4340]
xor r11b, 0xec
shr eax, 1
shr eax, 1
xor bl, 0xec
movzx ecx, al
movzx r9d, byte [rcx + r13 + 0x4540]
xor r9b, byte [r8 + r13 + 0x4340]
xor r9b, 0x46
lea edx, [r10*4 - 0x10]
xor r9b, byte [rsp + rdx + 0x40]
lea eax, [rdx + 1]
xor dil, byte [rsp + rax + 0x40]
lea r8d, [r10*4]
lea eax, [r8 + 1]
mov byte [rsp + r8 + 0x40], r9b
mov byte [rsp + rax + 0x40], dil
inc r10d
lea eax, [rdx + 2]
xor r11b, byte [rsp + rax + 0x40]
lea eax, [r8 + 2]
mov byte [rsp + rax + 0x40], r11b
lea eax, [rdx + 3]
xor bl, byte [rsp + rax + 0x40]
lea eax, [r8 + 3]
mov byte [rsp + rax + 0x40], bl
cmp r10d, 0x2c
jb 0x1401c0e03
xchg rdx, rbx
mov rdx, qword [rbp + 0x67]
xchg rbx, rdx
xchg rdi, rax
mov rdi, qword [rbp + 0x7f]
xchg rdi, rax
mov edi, 0x5a7c3478
xor edi, 0x35c7e1be
xor edi, 0x3f71ede6
xor edi, 0x1520942b
sub edi, 0x1f66b065
sub edi, 0x113ac23b
xor edi, 0x15493962
mov r8, qword [0x140216140]
test rax, rax
xchg rbp, rdi
mov qword [rsp + 0x30], rbp
xchg rbp, rdi
cmovne r8, rax
xchg r14, rax
mov r14, rax
xchg r14, rax
mov qword [0x140216140], r8
test r14d, r14d
je 0x1401c1489
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
xchg r9, rdx
mov qword [rsp + 0x20], rdx
xchg rdx, r9
shr rax, 3
shr rax, 1
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
xchg r13, rbx
mov rcx, r13
xchg rbx, r13
sub r8, rbx
xchg r11, rdx
mov r11, r15
xchg r11, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c0f85
xchg r10, r8
mov r10, rbx
xchg r10, r8
mov rcx, rsi
sub r8, rsi
xchg rdx, r14
mov r14, r15
xchg r14, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c0fb5
lea rax, [r9 - 0x10]
mov r14, rsi
mov qword [rbp + 0x77], rax
mov rsi, rax
mov edx, 0x1328cf6f
xor edx, 0x351755ac
xor edx, 0x23c4d2f9
xor edx, 0x12d0a966
xor edx, 0xf1df244
xor edx, 0x13d4fa50
add edx, 0x218a2d54
xor edx, 0x1d0f7089
sub edx, 0x30626611
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x59171102
sub ecx, 0x42c7667
sub ecx, 0x25fe0f2a
sub ecx, 0x5e32d03
sub ecx, 0xd45abed
xor ecx, 0x55725c46
xor ecx, 0x35af468c
sub ecx, 0x6ef444f5
sub ecx, 0xc2a6352
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c1059
sub rdx, 1
jne 0x1401c1019
mov rsi, qword [rbp + 0x5f]
xchg r15, r9
mov r9, r15
xchg r15, r9
mov qword [rbp + 0x7f], rdi
xchg r11, r8
mov r11, rsi
xchg r11, r8
mov r9d, 0x52010afc
add r9d, 0x1cdf1c84
xor r9d, 0x50959f7d
add r9d, 0x1efa1b20
xor r9d, 0x2ff1e5be
sub r9d, 0x57df8da5
add r9d, 0x5bfade6
xor r9d, 0x334c8fcb
xor r9d, 0x1332de2b
nop dword [rax + rax]
xchg r12, rcx
mov r12, r8
xchg rcx, r12
mov edx, 0x1792b77e
xor edx, 0x73dbb384
add edx, 0xc56754a
xor edx, 0x44ea4422
xor edx, 0x13a0af9e
xor edx, 0x492a2fc0
sub edx, 0x25e47f89
sub edx, 0x12ca2569
sub edx, 0x36511942
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x4340]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401c111b
inc r8
sub r9, 1
jne 0x1401c10d5
movzx eax, byte [rsi + 5]
lea r12, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r13d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
movzx edi, byte [r12 - 2]
movzx r8d, byte [r12 - 1]
movzx edx, dil
movzx ebx, byte [r12 + 1]
xor dl, r8b
movzx r10d, byte [r12]
lea r12, [r12 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 3
shr al, 3
shr al, 1
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r12 - 6], cl
xor dil, bl
shr al, 3
shr al, 4
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 6
shr al, 1
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r12 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 3
shr al, 4
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r12 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r12 - 3], cl
sub r13, 1
jne 0x1401c11a3
xchg r13, rsi
mov rax, r13
xchg r13, rsi
lea r8d, [r13 + 4]
mov edx, 0x7ee37f27
sub edx, 0x17bc7559
add edx, 0x163bfca8
sub edx, 0x436e62a7
sub edx, 0x5409c7f
sub edx, 0x2111ae92
sub edx, 0x13a258ba
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c12aa
sub r8, 1
jne 0x1401c1276
add r15, 0x10
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1089
xchg r9, r8
mov r9, rsi
xchg r9, r8
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg r8, rcx
mov r8, rcx
xchg rcx, r8
mov edx, 0x6254f43a
sub edx, 0x12c3b59
xor edx, 0x29df4e14
xor edx, 0x90c6fe8
sub edx, 0x19a6319c
sub edx, 0xb56500a
add edx, 0x588faec0
sub edx, 0x193366fc
sub edx, 0x5c5b5f37
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r13 + 0x4340]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401c133e
inc r8
sub r9, 1
jne 0x1401c12f8
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg r9, r12
mov r12, qword [rsp + 0x20]
xchg r9, r12
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 7], cl
xchg r14, rsi
mov rcx, r14
xchg rsi, r14
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0xa1762bb
add edx, 0x71fa60f6
xor edx, 0x2e81545c
sub edx, 0x6c19f19
sub edx, 0x2aa05e10
sub edx, 0x212e9ac0
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1410
sub r8, 1
jne 0x1401c13e2
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
neg rbx
add rbx, 0xfffffffffffffff0
neg rbx
mov qword [rbp + 0x5f], r14
sub qword [rsp + 0x28], 1
xchg rsi, r8
mov rsi, r8
xchg rsi, r8
mov qword [rbp + 0x67], rbx
xchg r14, rsi
mov r14, rsi
xchg r14, rsi
mov r9, rax
xchg rdx, rax
mov qword [rsp + 0x20], rdx
xchg rdx, rax
jne 0x1401c0f69
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140216140], r8
test r12b, r12b
je 0x1401c18f7
mov rcx, rsi
sub rbx, rsi
xchg rdx, r15
mov r15, rdx
xchg r15, rdx
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c14a4
movzx eax, r12b
sub r15, rax
xchg r9, r15
mov r8, r9
xchg r15, r9
lea rcx, [rax + rsi]
call fcn.1401fd4a6
lea r8, [rsp + 0x40]
mov rcx, rsi
sub r8, rsi
mov r9d, 0x28e937da
add r9d, 0x719506f
add r9d, 0x5ee29e3
sub r9d, 0x2e0b2467
add r9d, 0x21dcc154
add r9d, 0xd51b92a
sub r9d, 0x3714083f
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x7ba62dca
xor edx, 0x5d569e25
sub edx, 0x10c9dcf0
xor edx, 0x670e676a
sub edx, 0x61cc8f0d
add edx, 0x100c24a8
xor edx, 0x4314ecfb
xor edx, 0x7b2b9859
sub edx, 0x2757338e
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1558
sub r9, 1
jne 0x1401c1518
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg rsi, r10
mov r8, r10
xchg rsi, r10
lea r10, [0x140000000]
mov r9d, 0x786ab1bb
xor r9d, 0x399c75a2
xor r9d, 0x602388d6
sub r9d, 0xa70ff8c
add r9d, 0x4226095e
sub r9d, 0x598a569d
xchg rbx, rcx
mov rbx, r8
xchg rcx, rbx
mov edx, 0x17903797
xor edx, 0x6d110c16
xor edx, 0x4bfd91ed
add edx, 0x3f427d5e
xor edx, 0x502deb9f
sub edx, 0x18703e5d
xor edx, 0x8228dfc
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r10 + 0x4340]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401c15f3
inc r8
sub r9, 1
jne 0x1401c15b9
movzx eax, byte [rsi + 5]
lea r15, [rsi + 2]
movzx ecx, byte [rsi + 1]
lea r12d, [rdx + 4]
mov byte [rsi + 1], al
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
movzx edi, byte [r15 - 2]
movzx r8d, byte [r15 - 1]
movzx edx, dil
movzx ebx, byte [r15 + 1]
xor dl, r8b
movzx r10d, byte [r15]
lea r15, [r15 + 4]
movzx eax, dl
movzx r9d, bl
shr al, 7
add dl, dl
movzx eax, al
xor r9b, r10b
imul ecx, eax, 0x1b
movzx r11d, r9b
xor r11b, dil
xor r11b, r8b
xor cl, dl
movzx edx, r8b
xor cl, dil
xor dl, r10b
xor cl, r11b
movzx eax, dl
mov byte [r15 - 6], cl
xor dil, bl
shr al, 6
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 5
shr al, 1
shr al, 1
add r9b, r9b
movzx eax, al
xor cl, dl
xor cl, r8b
xor cl, r11b
mov byte [r15 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 4
shr al, 2
shr al, 1
add dil, dil
movzx eax, al
xor cl, r9b
xor cl, r10b
xor cl, r11b
mov byte [r15 - 4], cl
imul ecx, eax, 0x1b
xor cl, dil
xor cl, bl
xor cl, r11b
mov byte [r15 - 3], cl
sub r12, 1
jne 0x1401c167b
xchg r9, rsi
mov rcx, r9
xchg rsi, r9
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x105f3d72
add edx, 0x6e5afefc
sub edx, 0x7655a1d0
xor edx, 0x64f539f6
xor edx, 0x39b604d6
sub edx, 0x459bcb88
xor edx, 0xe75c1f6
add edx, 0x47877516
sub edx, 0x498592d2
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c178c
sub r8, 1
jne 0x1401c174c
sub r14, 0xfffffffffffffff0
sub qword [rsp + 0x30], 1
jne 0x1401c1580
xchg rsi, r10
mov r8, r10
xchg rsi, r10
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x68dd5678
xor edx, 0x301d12d3
sub edx, 0x3d13c747
add edx, 0x23478eb
add edx, 0x536759be
xor edx, 0x71485009
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 4]
movzx eax, byte [rax + r10 + 0x4340]
xor al, 0xec
mov byte [rcx - 4], al
sub rdx, 1
jne 0x1401c1808
inc r8
sub r9, 1
jne 0x1401c17da
movzx eax, byte [rsi + 5]
lea rdx, [rbp - 1]
movzx ecx, byte [rsi + 1]
lea r8d, [r9 + 4]
mov byte [rsi + 1], al
sub rdx, rsi
movzx eax, byte [rsi + 9]
mov byte [rsi + 5], al
movzx eax, byte [rsi + 0xd]
mov byte [rsi + 9], al
movzx eax, byte [rsi + 0xa]
mov byte [rsi + 0xd], cl
movzx ecx, byte [rsi + 2]
mov byte [rsi + 2], al
movzx eax, byte [rsi + 0xe]
mov byte [rsi + 0xa], cl
movzx ecx, byte [rsi + 6]
mov byte [rsi + 6], al
movzx eax, byte [rsi + 0xf]
mov byte [rsi + 0xe], cl
movzx ecx, byte [rsi + 3]
mov byte [rsi + 3], al
movzx eax, byte [rsi + 0xb]
mov byte [rsi + 0xf], al
movzx eax, byte [rsi + 7]
mov byte [rsi + 0xb], al
mov byte [rsi + 7], cl
nop dword [rax]
nop word [rax + rax]
mov ecx, 0x74626bea
sub ecx, 0x58105c49
add ecx, 0x3b22ee5d
sub ecx, 0x474cbaf
add ecx, 0x3f2b908
xor ecx, 0x2f2c644e
sub ecx, 0x10e0324e
sub ecx, 0x68fe5cc7
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c18da
sub r8, 1
jne 0x1401c18a0
add rsp, 0xf8
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
xchg qword [rsp], r14
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r13
push rdx
push rcx
push rdx
push rdx
push rbx
xchg qword [rsp + 0x28], r12
add rsp, 0x30
push rbx
push rax
xchg qword [rsp + 0x10], rdi
add rsp, 0x18
push rcx
push rax
push rbx
push rbx
xchg qword [rsp + 0x20], rsi
add rsp, 0x28
nop
mov rbx, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbp, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]