Function at 0x1401c1510
Capabilities:
Encode data using xor

Disassembly:
xchg r15, rdx
mov qword [rsp + 0x10], r15
xchg rdx, r15
xchg r10, rcx
mov qword [rsp + 8], r10
xchg rcx, r10
nop
sub rsp, 8
mov qword [rsp], rbp
nop
push r13
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg rdi, rdx
mov r11, rdi
xchg rdi, rdx
mov r15d, 0x352b5e2
add r15d, 0x50d0c644
sub r15d, 0x13053108
add r15d, 0x3e230d38
sub r15d, 0x5f90b556
sub r15d, 0x1fb0a2f0
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rdx, rbx
mov rdx, rbx
xchg 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 0x1401c15c7
lea r13, [0x140000000]
test r9, r9
je 0x1401c1785
movzx eax, byte [r9]
mov r10d, 0x1d4d2cff
add r10d, 0x53402893
xor r10d, 0x76d6b6ab
add r10d, 0x76932c7c
sub r10d, 0x258f8005
sub r10d, 0x575f8fac
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 0x1401c1729
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 0x1401c16ae
mov rbx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x7f]
mov edi, 0x35ab82ed
add edi, 0x309e6c6
sub edi, 0x5d2ca06
sub edi, 0x2b2ea3a0
xor edi, 0x6eddc27b
xor edi, 0x696e3e7f
mov r8, qword [0x140217140]
test rax, rax
xchg rdi, r15
mov qword [rsp + 0x30], r15
xchg rdi, r15
cmovne r8, rax
xchg r14, rax
mov r14, rax
xchg r14, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1d19
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]
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
sub r8, rbx
xchg r15, r14
mov rdx, r14
xchg r14, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c181e
xchg r8, rbx
mov rbx, r8
xchg rbx, r8
xchg rcx, r10
mov r10, rsi
xchg r10, rcx
sub r8, rsi
xchg rcx, r15
mov rdx, rcx
xchg rcx, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1854
lea rax, [r9 - 0x10]
xchg rbx, r14
mov rbx, rsi
xchg rbx, r14
xchg r10, rax
mov qword [rbp + 0x77], r10
xchg r10, rax
mov rsi, rax
mov edx, 0x36c714ed
sub edx, 0x15693766
add edx, 0xd6e2914
add edx, 0x1dc945fa
sub edx, 0x3fe5fb4
sub edx, 0x4896ecdd
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x19745c54
add ecx, 0x4a33865e
sub ecx, 0x59f51009
add ecx, 0x3f8bca3d
add ecx, 0x2a841b66
sub ecx, 0x73c2b848
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c18de
sub rdx, 1
jne 0x1401c18b0
xchg r12, rsi
mov r12, qword [rbp + 0x5f]
xchg r12, rsi
xchg r9, r15
mov r9, r15
xchg r15, r9
xchg rdi, r11
mov qword [rbp + 0x7f], r11
xchg r11, rdi
xchg r8, r11
mov r11, rsi
xchg r11, r8
mov r9d, 0x723ff75b
sub r9d, 0x125a8fa6
sub r9d, 0x3b1b34a4
xor r9d, 0x50699b03
xor r9d, 0x115fcd6d
xor r9d, 0x25358aff
add r9d, 0x8156531
sub r9d, 0x1847a7a0
sub r9d, 0x3097ad0d
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x5e28a6b4
xor edx, 0x259a7503
xor edx, 0x698aa614
add edx, 0x4a648850
sub edx, 0x38ffb4f4
xor edx, 0x1aa0a8ee
xor edx, 0xf4992ed
sub edx, 0x367472f8
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 0x1401c19a0
inc r8
sub r9, 1
jne 0x1401c1966
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, 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 [r12 - 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, 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, 1
shr al, 2
shr al, 1
shr al, 2
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 0x1401c1a28
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
lea r8d, [r13 + 4]
mov edx, 0x39e7db6c
xor edx, 0x17cd60b2
add edx, 0x3bd20d47
xor edx, 0x3f038b67
sub edx, 0x469fe20c
add edx, 0x6d101fb5
xor edx, 0x6fc667ce
add edx, 0x3aaba56d
sub edx, 0x4d54bd8e
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1b39
sub r8, 1
jne 0x1401c1af9
sub r15, 0xfffffffffffffff0
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c191a
mov r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg r14, rcx
mov r14, r8
xchg rcx, r14
mov edx, 0x1b5ab970
add edx, 0x457886f1
xor edx, 0x54d19af8
sub edx, 0x159ac30a
xor edx, 0x2d8981c2
sub edx, 0x33e19649
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 0x1401c1bb5
inc r8
sub r9, 1
jne 0x1401c1b81
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg r9, r11
mov r11, qword [rsp + 0x20]
xchg r11, 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, rdi
mov rdi, rsi
xchg rcx, rdi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x6c6515a1
xor edx, 0x1a2ff61c
sub edx, 0x23f4ed6
sub edx, 0x6dda5064
add edx, 0x1d5bb4bf
sub edx, 0x238cf93e
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1c87
sub r8, 1
jne 0x1401c1c59
xchg rsi, rbx
mov rsi, qword [rbp + 0x67]
xchg rsi, rbx
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
nop
add rbx, 0x34ea25a1
sub rbx, 0x34ea2591
xchg r14, rcx
mov qword [rbp + 0x5f], rcx
xchg rcx, r14
sub qword [rsp + 0x28], 1
xchg rcx, r8
mov rcx, rsi
xchg rcx, r8
xchg rsi, rbx
mov qword [rbp + 0x67], rsi
xchg rsi, rbx
xchg rdx, rsi
mov rdx, r14
xchg rsi, rdx
xchg r9, rdi
mov rdi, rax
xchg r9, rdi
mov qword [rsp + 0x20], rax
jne 0x1401c1802
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c21a5
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
sub rbx, rsi
xchg r15, rdx
mov r15, rdx
xchg rdx, r15
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1d3a
movzx eax, r12b
sub r15, rax
xchg r8, r15
mov r15, r8
xchg r15, r8
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
xchg rsi, rdx
mov rcx, rdx
xchg rdx, rsi
sub r8, rsi
mov r9d, 0x6ea41cbc
sub r9d, 0x61be1c78
add r9d, 0x1f90340a
sub r9d, 0x26356636
xor r9d, 0x5b9aee18
sub r9d, 0x5dda1ffc
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x60dde9f1
sub edx, 0x2e9e26d0
add edx, 0x16382369
sub edx, 0x132b84c
add edx, 0xd83d127
sub edx, 0x37b761dd
add edx, 0x3ecb966f
xor edx, 0x5bdd33f3
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1de7
sub r9, 1
jne 0x1401c1dad
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg r15, rsi
mov r8, r15
xchg rsi, r15
lea r10, [0x140000000]
mov r9d, 0x140b03c0
xor r9d, 0x67b8dfd8
xor r9d, 0x638ea880
sub r9d, 0x3262b16
add r9d, 0x696b96ab
xor r9d, 0x54381eb0
xor r9d, 0x3fbcae3d
sub r9d, 0x1d06509c
xchg rcx, r15
mov r15, r8
xchg rcx, r15
mov edx, 0x6ff4a30d
xor edx, 0x654237c6
sub edx, 0x85cfc2c
add edx, 0x250f8d40
sub edx, 0x345a7e6
add edx, 0x307d9980
add edx, 0x6041cd2
sub edx, 0x415306cd
sub edx, 0x19522d7a
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 0x1401c1e9c
inc r8
sub r9, 1
jne 0x1401c1e56
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, 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 [r15 - 6], cl
xor dil, bl
shr al, 1
shr al, 1
shr al, 1
shr al, 3
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 4
shr al, 2
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, 5
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 0x1401c1f24
mov rcx, rsi
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x760a6902
sub edx, 0x243475c0
sub edx, 0x4db03012
add edx, 0x19d2a2f6
xor edx, 0x7f3f87b2
xor edx, 0x62c7e190
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2028
sub r8, 1
jne 0x1401c1ffa
sub r14, 0xfffffffffffffff0
sub qword [rsp + 0x30], 1
jne 0x1401c1e0f
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg rbp, rcx
mov rbp, r8
xchg rbp, rcx
mov edx, 0x65473194
sub edx, 0x44475372
xor edx, 0x6aebaec5
sub edx, 0x34d37e83
xor edx, 0x72504b76
sub edx, 0x1fa40ab1
sub edx, 0x31f25da8
sub edx, 0x135a3eb7
xor edx, 0x2201206
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 0x1401c20bc
inc r8
sub r9, 1
jne 0x1401c2076
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, 0xab2ca74
add ecx, 0x6f2b0bad
xor ecx, 0x618edb96
add ecx, 0x5d9f0327
xor ecx, 0x78074ec8
xor ecx, 0x77193c86
sub ecx, 0x7aec628c
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c2188
sub r8, 1
jne 0x1401c2154
add rsp, 0xf8
nop
xchg qword [rsp], r15
add rsp, 8
push rax
push rdx
push rax
push rbx
push rbx
push rbx
xchg qword [rsp + 0x30], r14
pop rbx
pop rbx
pop rbx
pop rax
pop rdx
pop rax
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r13
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rdi
push rbx
push rax
push rdx
push rcx
push rax
push rdx
push rcx
push rdx
xchg qword [rsp + 0x40], rsi
pop rdx
pop rcx
pop rdx
pop rax
pop rcx
pop rdx
pop rax
pop rbx
add rsp, 8
push rax
push rdx
push rdx
push rcx
push rcx
push rax
push rcx
push rdx
xchg qword [rsp + 0x40], rbx
add rsp, 0x48
push rbx
push rax
xchg qword [rsp + 0x10], rbp
pop rax
pop rbx
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]