Function at 0x1401c14c0
Capabilities:
Encode data using xor

Disassembly:
xchg rdx, rdi
mov qword [rsp + 0x10], rdi
xchg rdx, rdi
mov qword [rsp + 8], rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
push 0x75bd0dec
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
mov r11, rdx
mov r15d, 0x4904018e
xor r15d, 0x39bfca8d
add r15d, 0x3815223
sub r15d, 0x60b22a67
xor r15d, 0x627584de
xor r15d, 0x71ff7671
mov byte [rbp + 0x6f], r12b
sub r11, rcx
mov rbx, rdx
xchg r15, rcx
mov rsi, r15
xchg r15, rcx
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1401c157a
lea r13, [0x140000000]
test r9, r9
je 0x1401c1746
movzx eax, byte [r9]
mov r10d, 0xfb9bfd
add r10d, 0x33afa7ea
sub r10d, 0xe823a4
add r10d, 0x49b547a9
sub r10d, 0x18b6e6e9
xor r10d, 0xeaa60bc
sub r10d, 0x5232a643
xor r10d, 0x18393b78
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 0x1401c16ea
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 0x1401c166f
mov rbx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x7f]
mov edi, 0x75a2641c
sub edi, 0x72f526a5
xor edi, 0x6cd3a109
sub edi, 0x109d0694
sub edi, 0x2cad4236
sub edi, 0x313453ab
mov r8, qword [0x140217140]
test rax, rax
xchg rcx, rdi
mov qword [rsp + 0x30], rcx
xchg rcx, rdi
cmovne r8, rax
xchg rsi, rax
mov rsi, r14
xchg rsi, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1ce1
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 3
shr rax, 1
inc rax
xchg r9, rax
mov qword [rsp + 0x28], r9
xchg r9, rax
nop dword [rax]
mov rcx, rbx
sub r8, rbx
mov rdx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c17d3
xchg r9, r8
mov r9, rbx
xchg r9, r8
mov rcx, rsi
sub r8, rsi
xchg rdx, rcx
mov rcx, r15
xchg rdx, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1803
lea rax, [r9 - 0x10]
xchg r12, r14
mov r12, rsi
xchg r12, r14
mov qword [rbp + 0x77], rax
xchg rsi, rax
mov rax, rsi
xchg rsi, rax
mov edx, 0x572753ec
sub edx, 0x3b10fe38
sub edx, 0x16061c8a
add edx, 0xcc9aa8f
xor edx, 0x4eade46d
sub edx, 0x5635e598
add edx, 0x4feeef5
sub edx, 0xb3d112d
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x2f409b3b
add ecx, 0x8bc0918
add ecx, 0x3f4777e8
sub ecx, 0x537c60a1
xor ecx, 0x135eb1
sub ecx, 0x1c946e7a
xor ecx, 0x7adc16cf
sub ecx, 0x329500a2
sub ecx, 0x4b075fd8
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c18ab
sub rdx, 1
jne 0x1401c186b
xchg r10, rsi
mov r10, qword [rbp + 0x5f]
xchg r10, rsi
xchg r9, r15
mov r9, r15
xchg r15, r9
mov qword [rbp + 0x7f], rdi
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
mov r9d, 0x4ae4fbdc
sub r9d, 0x9ca5037
xor r9d, 0x75993dcd
sub r9d, 0x12fb67e0
add r9d, 0x54f16548
add r9d, 0x393f5b1
sub r9d, 0x46032511
sub r9d, 0x340a646c
nop dword [rax + rax]
xchg r8, r12
mov rcx, r12
xchg r12, r8
mov edx, 0x8ec1204
add edx, 0x1689f80f
add edx, 0x286b6295
add edx, 0x24bcdff9
sub edx, 0x3db26409
add edx, 0x351e8b3b
sub edx, 0x5363ac20
sub edx, 0x10a6c7af
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 0x1401c1966
inc r8
sub r9, 1
jne 0x1401c1926
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, 2
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 [r12 - 6], cl
xor dil, bl
shr al, 5
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 3
shr al, 1
shr al, 2
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, 2
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 0x1401c19ee
mov rax, rsi
lea r8d, [r13 + 4]
mov edx, 0x4e845836
sub edx, 0x22f5eaf6
add edx, 0x458c7001
xor edx, 0x5e77a9b3
sub edx, 0xc27cd5b
xor edx, 0x1fba0e98
sub edx, 0x39fde3a9
add edx, 0x6584f40d
sub edx, 0x6886b96f
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1b03
sub r8, 1
jne 0x1401c1ac3
nop
sub r15, 0x3be34204
add r15, 0x3be34214
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c18e1
mov r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg r8, rcx
mov r8, rcx
xchg rcx, r8
mov edx, 0x59964b57
sub edx, 0x39523eaa
sub edx, 0x9520f18
xor edx, 0x3de48d82
add edx, 0x3634819e
sub edx, 0x6149f1b1
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 0x1401c1b8a
inc r8
sub r9, 1
jne 0x1401c1b56
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg r9, rcx
mov rcx, qword [rsp + 0x20]
xchg rcx, r9
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 rcx, rsi
mov rsi, rcx
xchg rcx, rsi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x79551c16
xor edx, 0x708d2d17
add edx, 0xec6a0ad
add edx, 0x4678ecd2
add edx, 0x48b0219
add edx, 0x1883395f
sub edx, 0x7c25f9f4
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1c62
sub r8, 1
jne 0x1401c1c2e
xchg r15, rbx
mov r15, qword [rbp + 0x67]
xchg rbx, r15
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 r8, rdx
mov rdx, rsi
xchg rdx, r8
mov qword [rbp + 0x67], rbx
xchg rsi, rbp
mov rbp, r14
xchg rbp, rsi
mov r9, rax
xchg rcx, rax
mov qword [rsp + 0x20], rcx
xchg rcx, rax
jne 0x1401c17c3
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c2164
xchg rbp, rsi
mov rcx, rbp
xchg rsi, rbp
sub rbx, rsi
xchg rdx, r12
mov r12, r15
xchg rdx, r12
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1d02
movzx eax, r12b
sub r15, rax
xchg r15, r11
mov r8, r11
xchg r15, r11
lea rcx, [rax + rsi]
call fcn.1401fdcd6
lea r8, [rsp + 0x40]
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
sub r8, rsi
mov r9d, 0xe406e11
xor r9d, 0x38f4fa86
add r9d, 0x35bf02be
sub r9d, 0x170d3824
add r9d, 0xb06780c
add r9d, 0x653e6dd
sub r9d, 0xaf60889
xor r9d, 0x5bcab595
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x1c0537a2
sub edx, 0x3a0403b
sub edx, 0x15e3dd8b
xor edx, 0x1605d451
add edx, 0x673d5571
sub edx, 0x9779134
sub edx, 0x724a91c6
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1db7
sub r9, 1
jne 0x1401c1d83
lea r14, [rsp + 0x50]
sub r14, rsi
nop
mov r8, rsi
lea r10, [0x140000000]
mov r9d, 0xd71ae3
xor r9d, 0x4c1136c9
xor r9d, 0x23731194
xor r9d, 0x63aab1a5
add r9d, 0x426163b2
sub r9d, 0x480386cb
add r9d, 0x3aba6d86
sub r9d, 0x4137d684
mov rcx, r8
mov edx, 0x14158632
xor edx, 0x50326801
add edx, 0x1a19ea5a
xor edx, 0x93f4459
xor edx, 0x155bff44
xor edx, 0x3bfdea64
xor edx, 0x79d889f0
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 0x1401c1e54
inc r8
sub r9, 1
jne 0x1401c1e20
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, 2
shr al, 1
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 [r15 - 6], cl
xor dil, bl
shr al, 5
shr al, 2
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 4
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, 2
shr al, 4
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 0x1401c1edc
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x6b7fdf0b
xor edx, 0x5d40e6bf
add edx, 0xbf046ed
xor edx, 0x5d0039ac
xor edx, 0x541696aa
add edx, 0x328ee2da
sub edx, 0x7dc8127d
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1fe8
sub r8, 1
jne 0x1401c1fb4
nop
sub r14, 0x7f43ea96
add r14, 0x7f43eaa6
sub qword [rsp + 0x30], 1
jne 0x1401c1ddf
xchg r9, r8
mov r9, rsi
xchg r8, r9
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg r8, rcx
mov r8, rcx
xchg rcx, r8
mov edx, 0x6ab5189e
xor edx, 0x50aff04a
xor edx, 0x2ed247d
sub edx, 0x16476792
add edx, 0xfe3a143
sub edx, 0x32940656
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 0x1401c2075
inc r8
sub r9, 1
jne 0x1401c2041
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, 0x76771c7c
xor ecx, 0x57bd7836
add ecx, 0x258b0432
sub ecx, 0x7e7c8f7
xor ecx, 0x2f49b79e
sub ecx, 0xaa22a18
add ecx, 0x63f9bace
sub ecx, 0x697bb8cd
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c2147
sub r8, 1
jne 0x1401c210d
add rsp, 0xf8
push rcx
xchg qword [rsp + 8], r15
add rsp, 0x10
nop
xchg qword [rsp], r14
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
xchg qword [rsp], rdi
add rsp, 8
push rax
push rax
push rdx
push rax
push rcx
push rax
xchg qword [rsp + 0x30], rsi
pop rax
pop rcx
pop rax
pop rdx
pop rax
pop rax
add rsp, 8
nop
xchg qword [rsp], rbx
add rsp, 8
push rax
xchg qword [rsp + 8], rbp
add rsp, 0x10
nop
add rsp, 8
jmp qword [rsp - 8]