Function at 0x1401c15b0
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, rdx
mov qword [rsp + 0x10], rcx
xchg rdx, rcx
xchg rsi, rcx
mov qword [rsp + 8], rsi
xchg rsi, rcx
nop
push 0x37faab86
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
push rsi
push rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
push r13
nop
sub rsp, 8
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 r11, rsi
mov rsi, rdx
xchg r11, rsi
mov r15d, 0x6e1b4756
sub r15d, 0x30b80e4c
sub r15d, 0x24ecda4
xor r15d, 0x6a929b6a
add r15d, 0x25fbaa30
sub r15d, 0x6bc7904c
add r15d, 0x3615273d
add r15d, 0x1629b8ab
xor r15d, 0x57f9e9c8
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rbx, r13
mov r13, rdx
xchg rbx, r13
xchg rsi, rcx
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 0x1401c167f
lea r13, [0x140000000]
test r9, r9
je 0x1401c1851
movzx eax, byte [r9]
mov r10d, 0x7c8e1ba5
xor r10d, 0x4241d88c
xor r10d, 0x4d2ca8e7
xor r10d, 0x4481deea
sub r10d, 0x1befc971
xor r10d, 0x552a3846
add r10d, 0x23cb0f2a
sub r10d, 0x7223e31b
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 0x1401c17ef
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 0x1401c1774
xchg rsi, rbx
mov rsi, qword [rbp + 0x67]
xchg rsi, rbx
mov rax, qword [rbp + 0x7f]
mov edi, 0x3a8dd6b2
xor edi, 0x5d0b0663
sub edi, 0x3657fce
xor edi, 0x526ff7c2
xor edi, 0x437efb78
sub edi, 0x75305db0
mov r8, qword [0x140217140]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
xchg r14, rax
mov r14, rax
xchg r14, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1dc5
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
xchg r9, r10
mov qword [rsp + 0x20], r10
xchg r9, r10
shr rax, 3
shr rax, 1
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
sub r8, rbx
xchg rdx, r13
mov r13, r15
xchg r13, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c18e6
xchg r8, rsi
mov rsi, rbx
xchg r8, rsi
xchg rdx, rsi
mov rcx, rdx
xchg rsi, rdx
sub r8, rsi
xchg r15, rdx
mov r15, rdx
xchg r15, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c191c
lea rax, [r9 - 0x10]
mov r14, rsi
xchg r14, rax
mov qword [rbp + 0x77], r14
xchg r14, rax
xchg rbx, rax
mov rsi, rbx
xchg rbx, rax
mov edx, 0x53cc6b64
sub edx, 0x2cb77788
xor edx, 0x34400b4e
xor edx, 0x6f7370d6
sub edx, 0x5a418c2
xor edx, 0x76836f86
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x159101fb
xor ecx, 0x5af29891
add ecx, 0xcbc749d
sub ecx, 0x1cd29bf6
sub ecx, 0xaa39869
sub ecx, 0x10a9496e
xor ecx, 0x2400903e
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c19aa
sub rdx, 1
jne 0x1401c1976
mov rsi, qword [rbp + 0x5f]
xchg r15, r9
mov r9, r15
xchg r9, r15
mov qword [rbp + 0x7f], rdi
xchg r11, rsi
mov r8, r11
xchg r11, rsi
mov r9d, 0x75310520
sub r9d, 0x1d6c3bf9
add r9d, 0x1a96139b
sub r9d, 0x40b3d4a0
add r9d, 0x7f72a17
sub r9d, 0x26353fd7
xor r9d, 0x8377ddb
sub r9d, 0x1b5f8fb5
nop dword [rax + rax]
xchg r8, rcx
mov r8, rcx
xchg r8, rcx
mov edx, 0x46b05647
add edx, 0x198f2e50
sub edx, 0x46a3278e
add edx, 0x31099843
sub edx, 0x295a3c7c
sub edx, 0x86f6374
xor edx, 0x319c555f
sub edx, 0x293fffff
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 0x1401c1a5f
inc r8
sub r9, 1
jne 0x1401c1a1f
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, 6
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, 3
shr al, 2
shr al, 1
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, 5
shr al, 1
shr al, 1
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 0x1401c1ae7
xchg rcx, rsi
mov rax, rcx
xchg rcx, rsi
lea r8d, [r13 + 4]
mov edx, 0x22ed47f4
sub edx, 0x6169f2d
add edx, 0x3f65c6a0
xor edx, 0x159d2b4
sub edx, 0x31cc015
sub edx, 0x5a48fdba
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1beb
sub r8, 1
jne 0x1401c1bbd
nop
add r15, 0x43387d98
sub r15, 0x43387d88
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c19da
xchg r9, rsi
mov r8, r9
xchg r9, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
mov rcx, r8
mov edx, 0x6d1ebc98
sub edx, 0x7142c8e
add edx, 0x1397e1a1
xor edx, 0x7b772846
xor edx, 0x7fcf50f0
sub edx, 0x62f8c04
xor edx, 0x76ea7d1d
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 0x1401c1c78
inc r8
sub r9, 1
jne 0x1401c1c44
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
mov r9, qword [rsp + 0x20]
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 rsi, r8
mov rcx, r8
xchg rsi, r8
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x357bc5b4
add edx, 0x419a339a
sub edx, 0x4dbac464
sub edx, 0x28e9ea2e
add edx, 0x400ce905
sub edx, 0x1510330d
sub edx, 0x2b6e00b0
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1d4a
sub r8, 1
jne 0x1401c1d16
xchg rbx, r12
mov r12, qword [rbp + 0x67]
xchg rbx, r12
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
sub rbx, 0xfffffffffffffff0
xchg r14, rsi
mov qword [rbp + 0x5f], rsi
xchg rsi, r14
sub qword [rsp + 0x28], 1
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
mov qword [rbp + 0x67], rbx
mov rsi, r14
xchg r9, rdi
mov rdi, rax
xchg rdi, r9
mov qword [rsp + 0x20], rax
jne 0x1401c18ca
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c2259
xchg rcx, rdi
mov rdi, rsi
xchg rcx, rdi
sub rbx, rsi
xchg rdx, r13
mov r13, r15
xchg r13, rdx
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1de6
movzx eax, r12b
sub r15, rax
xchg r15, r8
mov r15, r8
xchg r8, r15
lea rcx, [rax + rsi]
call fcn.1401fde36
lea r8, [rsp + 0x40]
xchg rdi, rcx
mov rdi, rsi
xchg rcx, rdi
sub r8, rsi
mov r9d, 0x6500a3d1
sub r9d, 0xf5a4a33
sub r9d, 0x4fb749ba
add r9d, 0x421a588
xor r9d, 0x5fd3adc5
xor r9d, 0x55c318ad
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x64e31dcd
xor edx, 0x493b65b4
sub edx, 0x155ea261
add edx, 0x5b76e097
xor edx, 0x516a08a8
xor edx, 0x71f1cdb2
sub edx, 0x4322d88c
xor edx, 0x10489b2d
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1e93
sub r9, 1
jne 0x1401c1e59
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea r10, [0x140000000]
mov r9d, 0x401e3e5e
xor r9d, 0x236982a2
sub r9d, 0x39892897
add r9d, 0x175bb1e6
sub r9d, 0x859b567
sub r9d, 0x2bb79c0a
xor r9d, 0x584fcdcc
sub r9d, 0x55773912
xchg r13, r8
mov rcx, r13
xchg r13, r8
mov edx, 0x546983c4
xor edx, 0x246d7118
sub edx, 0x51f7b701
add edx, 0x233f9153
xor edx, 0x7b00a7dd
xor edx, 0x272bbcc9
xor edx, 0x5933779
sub edx, 0x18f4e13f
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 0x1401c1f42
inc r8
sub r9, 1
jne 0x1401c1f02
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, 5
shr al, 1
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 [r15 - 6], cl
xor dil, bl
shr al, 7
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 2
shr al, 2
shr al, 3
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, 3
shr al, 4
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 0x1401c1fca
xchg rcx, r9
mov r9, rsi
xchg r9, rcx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x6474f98f
xor edx, 0x114ea169
sub edx, 0x3c78d8f1
add edx, 0x8d7b488
sub edx, 0x239da38
xor edx, 0x3f5f5a41
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c20cb
sub r8, 1
jne 0x1401c209d
nop
sub r14, 0x167b8465
add r14, 0x167b8475
sub qword [rsp + 0x30], 1
jne 0x1401c1ebb
xchg r8, rdi
mov rdi, rsi
xchg r8, rdi
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg r15, r8
mov rcx, r15
xchg r15, r8
mov edx, 0x36c07505
xor edx, 0x95a7e2e
xor edx, 0x4afe586d
xor edx, 0x8e7000c
sub edx, 0x5e4cd796
sub edx, 0x22cdfd
xor edx, 0x75046e11
sub edx, 0x6a17c3a2
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 0x1401c2164
inc r8
sub r9, 1
jne 0x1401c2124
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, 0x62b0888d
xor ecx, 0x5ceb44a5
sub ecx, 0x1afb7929
add ecx, 0x57f9a895
xor ecx, 0x581d769
xor ecx, 0x189ef248
sub ecx, 0x3fca3dd4
add ecx, 0x3e96aafc
sub ecx, 0x65134bd9
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c223c
sub r8, 1
jne 0x1401c21fc
add rsp, 0xf8
nop
mov r15, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
xchg qword [rsp], r13
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
push rdx
push rdx
push rcx
push rdx
push rbx
push rdx
push rbx
xchg qword [rsp + 0x38], rdi
add rsp, 0x40
push rax
push rbx
xchg qword [rsp + 0x10], rsi
pop rbx
pop rax
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
xchg qword [rsp], rbp
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]