Function at 0x1401c1c40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
xchg r13, rcx
mov qword [rsp + 8], r13
xchg r13, rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push rdi
push r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
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
mov r11, rdx
mov r15d, 0x44eb95d4
sub r15d, 0x2a36b0c8
xor r15d, 0x1d4003b5
add r15d, 0x239db5c7
add r15d, 0xa9824ce
xor r15d, 0x362ac15e
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rdx, rbx
mov rdx, rbx
xchg rbx, rdx
xchg rsi, rbp
mov rbp, rcx
xchg rsi, rbp
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1401c1cee
lea r13, [0x140000000]
test r9, r9
je 0x1401c1eb2
movzx eax, byte [r9]
mov r10d, 0x79f1ec03
add r10d, 0x3de80d9
sub r10d, 0x48665c31
add r10d, 0x43a9d334
sub r10d, 0x29b0fa70
sub r10d, 0x1976845f
sub r10d, 0x35ec650c
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 0x1401c1e56
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, 2
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 0x1401c1ddc
mov rbx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x7f]
mov edi, 0x7d69642e
sub edi, 0x11ab4b8c
add edi, 0x11fde43c
xor edi, 0x7030c7fd
add edi, 0x39816d6a
sub edi, 0x27009485
xor edi, 0x10788588
add edi, 0x1be58a3a
xor edi, 0x4c5a1bb3
mov r8, qword [0x140217140]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
xchg rcx, rax
mov rcx, r14
xchg rcx, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c245c
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 3
shr rax, 1
inc rax
xchg r14, rax
mov qword [rsp + 0x28], r14
xchg r14, rax
nop dword [rax]
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
sub r8, rbx
xchg r8, rdx
mov r8, r15
xchg rdx, r8
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1f57
xchg rsi, r8
mov rsi, rbx
xchg r8, rsi
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
sub r8, rsi
xchg r9, rdx
mov r9, r15
xchg r9, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1f8d
lea rax, [r9 - 0x10]
xchg r9, r14
mov r9, rsi
xchg r9, r14
xchg r11, rax
mov qword [rbp + 0x77], r11
xchg r11, rax
xchg rbp, rsi
mov rbp, rax
xchg rbp, rsi
mov edx, 0x3040d7df
sub edx, 0xca67c10
add edx, 0x506d9ef2
sub edx, 0x4287937d
xor edx, 0x43109b5d
sub edx, 0x7290fc15
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x6acae278
sub ecx, 0x558a8c40
add ecx, 0x17b992ce
add ecx, 0x1de08b88
add ecx, 0x3297fac6
sub ecx, 0x69a1cbaf
sub ecx, 0x13d0a3a1
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c2023
sub rdx, 1
jne 0x1401c1fef
xchg rsi, rdx
mov rdx, qword [rbp + 0x5f]
xchg rsi, rdx
xchg rsi, r15
mov rsi, r9
xchg rsi, r15
xchg r13, rdi
mov qword [rbp + 0x7f], r13
xchg rdi, r13
xchg rsi, r11
mov r8, r11
xchg r11, rsi
mov r9d, 0x79536637
sub r9d, 0x38cb69d5
xor r9d, 0x3fc6338d
xor r9d, 0x5bb68c3e
sub r9d, 0x125a6236
add r9d, 0x799531e
add r9d, 0x3c669b7c
sub r9d, 0x5554e6c2
xor r9d, 0x147e977
nop dword [rax + rax]
xchg r8, r13
mov rcx, r13
xchg r8, r13
mov edx, 0x61b547c2
xor edx, 0x487c9050
add edx, 0x12b7a47f
xor edx, 0x22757ef1
sub edx, 0x57ff3c4
sub edx, 0x19740f18
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 0x1401c20df
inc r8
sub r9, 1
jne 0x1401c20ab
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, 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 [r12 - 6], cl
xor dil, bl
shr al, 7
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 4
shr al, 1
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, 2
shr al, 5
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 0x1401c2167
mov rax, rsi
lea r8d, [r13 + 4]
mov edx, 0x63b51236
sub edx, 0x51bc76be
add edx, 0x5c7080fe
sub edx, 0x26f41838
xor edx, 0x48ae915a
xor edx, 0x173c8f
sub edx, 0x14f1791
sub edx, 0xe7d9256
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c226e
sub r8, 1
jne 0x1401c2234
nop
sub r15, 0x3edc3de0
add r15, 0x3edc3df0
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c205f
xchg rsi, r8
mov rsi, r8
xchg rsi, r8
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
mov rcx, r8
mov edx, 0x6955bb0c
sub edx, 0x387defe8
add edx, 0x17c26f13
xor edx, 0x41e7d034
add edx, 0x56430340
sub edx, 0x5fc0ed3f
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 0x1401c22f5
inc r8
sub r9, 1
jne 0x1401c22c7
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 r13, rcx
mov r13, rsi
xchg rcx, r13
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x4b38022d
sub edx, 0x783fca5
sub edx, 0x1171b64d
sub edx, 0x2a44f5cf
add edx, 0x6f3c1ccd
xor edx, 0x1557258d
xor edx, 0x725a86c7
sub edx, 0x7015487
sub edx, 0x93380e8
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c23d3
sub r8, 1
jne 0x1401c2393
xchg rsi, rbx
mov rsi, qword [rbp + 0x67]
xchg rsi, rbx
lea edi, [rdx + 9]
xchg r10, rax
mov r10, qword [rbp + 0x77]
xchg r10, rax
lea r15d, [rdx + 0x10]
sub rbx, 0xfffffffffffffff0
xchg rsi, r14
mov qword [rbp + 0x5f], rsi
xchg r14, rsi
sub qword [rsp + 0x28], 1
mov r8, rsi
xchg rbx, r9
mov qword [rbp + 0x67], r9
xchg r9, rbx
xchg r14, r15
mov rsi, r15
xchg r14, r15
xchg r9, rcx
mov rcx, rax
xchg r9, rcx
xchg rbx, rax
mov qword [rsp + 0x20], rbx
xchg rbx, rax
jne 0x1401c1f3b
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c290b
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
sub rbx, rsi
xchg r10, r15
mov rdx, r10
xchg r15, r10
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c247d
movzx eax, r12b
sub r15, rax
xchg rdx, r8
mov rdx, r15
xchg rdx, r8
lea rcx, [rax + rsi]
call fcn.1401fe336
lea r8, [rsp + 0x40]
mov rcx, rsi
sub r8, rsi
mov r9d, 0x4a9fbad1
xor r9d, 0x667cb9ef
add r9d, 0x4f704d47
sub r9d, 0x3337c89c
sub r9d, 0x12bd1fd3
add r9d, 0x32e1cffb
sub r9d, 0x21617f85
sub r9d, 0x3df20b24
xor r9d, 0x9ecad6c
nop dword [rax]
nop dword [rax + rax]
mov edx, 0xe932edb
xor edx, 0x2838b662
add edx, 0x2ee40e09
add edx, 0x240ad647
sub edx, 0x2e948a9a
xor edx, 0x131596cc
sub edx, 0x631b202
add edx, 0x283c3f2
sub edx, 0x5462768f
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c253f
sub r9, 1
jne 0x1401c24ff
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg rsi, rdi
mov r8, rdi
xchg rdi, rsi
lea r10, [0x140000000]
mov r9d, 0x35f4be85
add r9d, 0x28565e80
sub r9d, 0x5a41facc
add r9d, 0x5cac774f
xor r9d, 0x22ffc7bb
xor r9d, 0x74308411
add r9d, 0x17fc0d82
add r9d, 0x411b972
xor r9d, 0x5288a112
xchg r8, rdx
mov rcx, rdx
xchg rdx, r8
mov edx, 0x3b0c52ec
xor edx, 0x274dbca1
xor edx, 0x4dc93208
xor edx, 0xf904e86
sub edx, 0x339f4e17
add edx, 0x19c736ed
xor edx, 0x582c979
sub edx, 0x41c2b2dc
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 0x1401c25f5
inc r8
sub r9, 1
jne 0x1401c25b5
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, 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 [r15 - 6], cl
xor dil, bl
shr al, 1
shr al, 1
shr al, 3
shr al, 1
shr al, 1
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 [r15 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 7
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 0x1401c267d
mov rcx, rsi
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x2b71ffc8
add edx, 0x3c5fab11
sub edx, 0x670911c3
xor edx, 0x58889fd4
sub edx, 0x327d0432
sub edx, 0xe92a53e
add edx, 0x630ee7e8
sub edx, 0x7a3f4536
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2783
sub r8, 1
jne 0x1401c2749
nop
add r14, 0x5c059af6
sub r14, 0x5c059ae6
sub qword [rsp + 0x30], 1
jne 0x1401c2567
xchg r8, r12
mov r12, rsi
xchg r8, r12
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x4b089692
sub edx, 0x486326a9
add edx, 0x6c32b4c1
sub edx, 0x4dc7532c
add edx, 0x2b9ee326
xor edx, 0x55188a85
add edx, 0x316ee1ec
sub edx, 0x44f4a04b
sub edx, 0x6317fbe
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 0x1401c281c
inc r8
sub r9, 1
jne 0x1401c27dc
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, 0x7e46bad2
sub ecx, 0x55421c22
sub ecx, 0x89fac1b
sub ecx, 0xb1e5198
add ecx, 0x1bc55fc3
sub ecx, 0x2111d941
add ecx, 0x5918edb6
xor ecx, 0x69131531
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c28ee
sub r8, 1
jne 0x1401c28b4
add rsp, 0xf8
nop
add rsp, 8
xchg qword [rsp - 8], r15
push rdx
xchg qword [rsp + 8], r14
add rsp, 0x10
push rbx
push rcx
push rax
push rax
push rax
xchg qword [rsp + 0x28], r13
pop rax
pop rax
pop rax
pop rcx
pop rbx
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
push rax
xchg qword [rsp + 8], rsi
pop rax
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
push rbx
push rcx
push rdx
xchg qword [rsp + 0x18], rbp
pop rdx
pop rcx
pop rbx
add rsp, 8
ret