Function at 0x1401c1050
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
nop
push r8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
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
mov r11, rdx
mov r15d, 0x653ff71e
xor r15d, 0xea1b189
add r15d, 0x87690d8
sub r15d, 0x2f5b7675
xor r15d, 0x12757704
xor r15d, 0x7666f09e
sub r15d, 0x20aae750
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rsi, rdx
mov rbx, rsi
xchg rsi, rdx
mov rsi, 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 0x1401c10fe
lea r13, [0x140000000]
test r9, r9
je 0x1401c12c2
movzx eax, byte [r9]
mov r10d, 0x7ad9e0db
sub r10d, 0x554951b8
add r10d, 0x4828b9a2
add r10d, 0x9fde14e
sub r10d, 0x5fad9c7f
xor r10d, 0x3c611de7
sub r10d, 0x2468906f
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 0x1401c1266
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 0x1401c11ec
mov rbx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x7f]
mov edi, 0x33e6ddf6
sub edi, 0x28a83ef3
add edi, 0x30937c82
sub edi, 0x3c31c46
xor edi, 0x737e475c
xor edi, 0x4b70b86a
mov r8, qword [0x140217140]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
xchg r8, rax
mov r8, r14
xchg r8, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c185f
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 2
shr rax, 1
shr rax, 1
inc rax
xchg r13, rax
mov qword [rsp + 0x28], r13
xchg r13, rax
nop dword [rax]
xchg rbx, rcx
mov rbx, rcx
xchg 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 0x1401c1352
xchg r8, rbx
mov rbx, r8
xchg r8, rbx
xchg r14, rcx
mov r14, rsi
xchg rcx, r14
sub r8, rsi
mov rdx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1382
lea rax, [r9 - 0x10]
xchg r14, rsi
mov rsi, r14
xchg rsi, r14
xchg r15, rax
mov qword [rbp + 0x77], r15
xchg r15, rax
xchg rsi, rax
mov rax, rsi
xchg rsi, rax
mov edx, 0x56a75373
sub edx, 0x471a8a19
add edx, 0x4ec963b3
sub edx, 0xa9b9f00
sub edx, 0x2904fce3
add edx, 0x252e7469
xor edx, 0x4fe40597
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x457d6b80
sub ecx, 0x13d736ad
add ecx, 0x1f0de066
sub ecx, 0x546e391
xor ecx, 0x354bc591
sub ecx, 0x1ad4cc74
sub ecx, 0x635227c1
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c141c
sub rdx, 1
jne 0x1401c13e8
xchg rcx, rsi
mov rcx, qword [rbp + 0x5f]
xchg rsi, rcx
xchg r13, r15
mov r13, r9
xchg r13, r15
xchg rdi, r13
mov qword [rbp + 0x7f], r13
xchg rdi, r13
xchg r8, r13
mov r13, rsi
xchg r13, r8
mov r9d, 0x139f029b
xor r9d, 0x657e97ba
xor r9d, 0x25464bfa
xor r9d, 0x60e54351
sub r9d, 0x2cc7345c
xor r9d, 0x67b692a
nop dword [rax + rax]
xchg r13, rcx
mov r13, r8
xchg rcx, r13
mov edx, 0x3c4bf7b6
add edx, 0x4070550a
sub edx, 0x3c0f1272
xor edx, 0x36f6a650
sub edx, 0x7644d078
add edx, 0x6171b38e
sub edx, 0x24554d49
sub edx, 0x10d4ddfe
sub edx, 0x2c5e53e9
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 0x1401c14d5
inc r8
sub r9, 1
jne 0x1401c148f
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, 1
shr al, 2
shr al, 1
shr al, 1
shr al, 2
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, 4
shr al, 3
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 4
shr al, 1
shr al, 2
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 0x1401c155d
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
lea r8d, [r13 + 4]
mov edx, 0x466c0ae1
add edx, 0x1e939c38
xor edx, 0x14415de3
sub edx, 0x376a7066
add edx, 0x225418fb
xor edx, 0x410b3e58
sub edx, 0x1aa39dd3
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1669
sub r8, 1
jne 0x1401c1635
neg r15
add r15, 0xfffffffffffffff0
neg r15
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1458
xchg rsi, r11
mov r8, r11
xchg r11, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg rcx, r13
mov r13, r8
xchg rcx, r13
mov edx, 0x7b57ecc6
xor edx, 0x353418a4
add edx, 0x9370c8e
sub edx, 0x3e75ed9b
sub edx, 0x64141c6
sub edx, 0x12e3d18b
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 0x1401c16f1
inc r8
sub r9, 1
jne 0x1401c16bd
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg r9, rbx
mov rbx, qword [rsp + 0x20]
xchg r9, rbx
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
mov rcx, rsi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x7031a1c8
sub edx, 0x5511ea21
sub edx, 0x148b3c91
xor edx, 0x254d7f26
xor edx, 0x4a066c63
add edx, 0x15e96354
sub edx, 0x5932e776
add edx, 0x150fc8ec
xor edx, 0x3ba5ad19
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c17cf
sub r8, 1
jne 0x1401c178f
xchg r8, rbx
mov r8, qword [rbp + 0x67]
xchg rbx, r8
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
nop
sub rbx, 0x46586271
add rbx, 0x46586281
xchg r13, r14
mov qword [rbp + 0x5f], r13
xchg r13, r14
sub qword [rsp + 0x28], 1
xchg r8, r10
mov r10, rsi
xchg r8, r10
xchg rbx, rsi
mov qword [rbp + 0x67], rsi
xchg rsi, rbx
xchg r13, rsi
mov r13, r14
xchg r13, rsi
mov r9, rax
xchg rcx, rax
mov qword [rsp + 0x20], rcx
xchg rcx, rax
jne 0x1401c133c
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c1ce8
xchg r15, rcx
mov r15, rsi
xchg r15, rcx
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 0x1401c1880
movzx eax, r12b
sub r15, rax
mov r8, r15
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
xchg rcx, rbp
mov rbp, rsi
xchg rcx, rbp
sub r8, rsi
mov r9d, 0x7a7367f7
sub r9d, 0x6ecf2929
add r9d, 0x4f38eb47
add r9d, 0x90af223
xor r9d, 0x7571bcd8
xor r9d, 0x3d0c9145
xor r9d, 0x7eb0c582
xor r9d, 0x3a7f5880
sub r9d, 0x6f5aaca3
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x5aa63f67
sub edx, 0x98d63f2
xor edx, 0x25cc8cba
xor edx, 0x26e6408c
sub edx, 0x2c4505e5
add edx, 0x14848d6f
xor edx, 0x3a719ec9
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1936
sub r9, 1
jne 0x1401c1902
lea r14, [rsp + 0x50]
sub r14, rsi
nop
mov r8, rsi
lea r10, [0x140000000]
mov r9d, 0x144b1a97
add r9d, 0x5398382d
sub r9d, 0x47c4ba8e
xor r9d, 0x58382370
sub r9d, 0x2a7c5db9
xor r9d, 0x4daa5d89
xchg r8, rcx
mov r8, rcx
xchg rcx, r8
mov edx, 0xc3c38de
add edx, 0x6b63d3da
sub edx, 0x171ead04
sub edx, 0x4f91e759
add edx, 0x11095729
sub edx, 0x21f8cf80
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 0x1401c19c5
inc r8
sub r9, 1
jne 0x1401c1991
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, 4
shr al, 2
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, 1
shr al, 1
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, 4
shr al, 1
shr al, 1
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 0x1401c1a4d
mov rcx, rsi
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x103609ef
sub edx, 0xfd1afb1
xor edx, 0x2a9c90dd
xor edx, 0x2fd9bebc
add edx, 0x32268960
sub edx, 0x238843f4
xor edx, 0x409866d2
sub edx, 0x3dfe216e
sub edx, 0x1529bda7
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1b5f
sub r8, 1
jne 0x1401c1b1f
add r14, 0x10
sub qword [rsp + 0x30], 1
jne 0x1401c195e
xchg r11, r8
mov r11, rsi
xchg r8, r11
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg rsi, r8
mov rcx, rsi
xchg r8, rsi
mov edx, 0x1a34db52
add edx, 0x2f7d6c0b
sub edx, 0x20ad0f33
xor edx, 0x5675d441
sub edx, 0x25ac671b
sub edx, 0x3cfc2b89
add edx, 0x386d226f
sub edx, 0x4fcffb2e
sub edx, 0x5658104
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 0x1401c1bf3
inc r8
sub r9, 1
jne 0x1401c1bad
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, 0x5ac02ed4
sub ecx, 0x55287868
add ecx, 0x5444b0d9
xor ecx, 0x16249fa5
sub ecx, 0x27e6a65b
add ecx, 0x1f29ca34
add ecx, 0x2f1718a5
sub ecx, 0x755218e1
xor ecx, 0x1011c79
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c1ccb
sub r8, 1
jne 0x1401c1c8b
add rsp, 0xf8
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
mov rsi, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], rbx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbp
ret