Function at 0x1401c1490
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
xchg r9, rcx
mov qword [rsp + 8], r9
xchg rcx, r9
nop
push 0x6034a86b
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], rbx
nop
push r10
mov qword [rsp], rsi
push rdi
nop
push 0xa2af11
mov qword [rsp], r12
push r11
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
push 0x69373a56
mov qword [rsp], r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg r11, r15
mov r15, rdx
xchg r15, r11
mov r15d, 0x6933713b
add r15d, 0x2ffe581
sub r15d, 0x6b47185
xor r15d, 0x227ad395
add r15d, 0xf3f3be2
sub r15d, 0x56437274
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg r15, rbx
mov r15, rdx
xchg r15, rbx
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 0x1401c1548
lea r13, [0x140000000]
test r9, r9
je 0x1401c170c
movzx eax, byte [r9]
mov r10d, 0x4000fb20
add r10d, 0x2abdd45e
sub r10d, 0x34749c1f
add r10d, 0x3003a0fd
sub r10d, 0x46d65789
xor r10d, 0x446763c1
sub r10d, 0x5b101f0e
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 0x1401c16b0
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 0x1401c1636
mov rbx, qword [rbp + 0x67]
xchg r11, rax
mov r11, qword [rbp + 0x7f]
xchg r11, rax
mov edi, 0x3ea5556a
sub edi, 0x23bc5d37
xor edi, 0x263953aa
add edi, 0x1d475014
sub edi, 0x2c3a82e4
xor edi, 0x784d44bd
sub edi, 0x55933c6b
mov r8, qword [0x140217140]
test rax, rax
xchg r14, rdi
mov qword [rsp + 0x30], r14
xchg rdi, r14
cmovne r8, rax
xchg r9, r14
mov rax, r9
xchg r14, r9
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1c98
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
xchg r13, r9
mov qword [rsp + 0x20], r13
xchg r13, r9
shr rax, 3
shr rax, 1
inc rax
xchg r13, rax
mov qword [rsp + 0x28], r13
xchg r13, rax
nop dword [rax]
xchg rbx, rdx
mov rcx, rdx
xchg rdx, 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 0x1401c17b1
mov r8, rbx
xchg rcx, rsi
mov rsi, rcx
xchg rcx, rsi
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 0x1401c17db
lea rax, [r9 - 0x10]
mov r14, rsi
mov qword [rbp + 0x77], rax
xchg rsi, r11
mov r11, rax
xchg rsi, r11
mov edx, 0x1709c695
add edx, 0x1ec4595b
add edx, 0x20eaf4f9
sub edx, 0x16deb787
sub edx, 0x26190788
sub edx, 0x19c155d6
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x6d262f3b
sub ecx, 0x297305b3
add ecx, 0x136de1e6
sub ecx, 0x401fa480
add ecx, 0x661ffde7
sub ecx, 0x7d2164d1
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c1861
sub rdx, 1
jne 0x1401c1833
xchg rsi, r8
mov r8, qword [rbp + 0x5f]
xchg r8, rsi
mov r15, r9
mov qword [rbp + 0x7f], rdi
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
mov r9d, 0x314f246a
add r9d, 0x3b2126fe
sub r9d, 0x632c003
sub r9d, 0x6603c430
add r9d, 0x364d6441
xor r9d, 0x4d3106f1
sub r9d, 0x7bb62d83
nop dword [rax + rax]
xchg rdi, r8
mov rcx, rdi
xchg r8, rdi
mov edx, 0x542c45c
add edx, 0x25a96443
add edx, 0x1308a0ce
add edx, 0x2f43f30
add edx, 0x268071bf
xor edx, 0x5451727e
sub edx, 0x3338081e
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 0x1401c1909
inc r8
sub r9, 1
jne 0x1401c18cf
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, 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, 3
shr al, 3
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 5
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 0x1401c1991
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
lea r8d, [r13 + 4]
mov edx, 0x22316e4a
add edx, 0x7180ede
add edx, 0x25fd14a1
sub edx, 0x15c3e96e
sub edx, 0x21a70d27
xor edx, 0xa617480
sub edx, 0x1dbaefb0
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1a99
sub r8, 1
jne 0x1401c1a65
nop
add r15, 0x118de1d2
sub r15, 0x118de1c2
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1891
xchg rsi, r8
mov rsi, r8
xchg rsi, r8
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg rcx, r8
mov r8, rcx
xchg rcx, r8
mov edx, 0x7dc689ad
sub edx, 0x585399a0
xor edx, 0x7ba980ed
xor edx, 0x2bfa3bab
sub edx, 0x442ea7ea
sub edx, 0x30f2a35d
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 0x1401c1b26
inc r8
sub r9, 1
jne 0x1401c1af2
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg rbx, r9
mov rbx, qword [rsp + 0x20]
xchg rbx, 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 rsi, rcx
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x40066734
xor edx, 0x3888c413
xor edx, 0x6d8c2a27
add edx, 0x2ad8cb71
add edx, 0x27a3745
xor edx, 0x64f3defe
add edx, 0x240f7981
xor edx, 0x70833c0d
sub edx, 0x3a36f2c0
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1c0a
sub r8, 1
jne 0x1401c1bca
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
nop
add rbx, 0x7fffe698
sub rbx, 0x7fffe688
xchg r8, r14
mov qword [rbp + 0x5f], r8
xchg r8, r14
sub qword [rsp + 0x28], 1
xchg rcx, rsi
mov r8, rcx
xchg rsi, rcx
xchg rbx, r11
mov qword [rbp + 0x67], r11
xchg r11, rbx
xchg rsi, r14
mov r14, rsi
xchg rsi, r14
xchg rdi, rax
mov r9, rdi
xchg rdi, rax
xchg r15, rax
mov qword [rsp + 0x20], r15
xchg r15, rax
jne 0x1401c179b
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c211a
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
sub rbx, rsi
xchg r15, r10
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 0x1401c1cb9
movzx eax, r12b
sub r15, rax
xchg rbp, r15
mov r8, rbp
xchg r15, rbp
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
xchg rsi, r15
mov rcx, r15
xchg r15, rsi
sub r8, rsi
mov r9d, 0x72bcd70a
sub r9d, 0xfac1b2c
xor r9d, 0x5c489001
sub r9d, 0x1496256f
sub r9d, 0x2a23e620
add r9d, 0x2c9184ae
sub r9d, 0x2d2fa4fa
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x233b81cf
sub edx, 0x347fe2f
sub edx, 0x9b5f183
xor edx, 0x76f3cf38
add edx, 0x15c18bd
xor edx, 0x7fdd43f5
sub edx, 0xf04e0ec
xor edx, 0x32317e3
sub edx, 0xdd142c4
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1d73
sub r9, 1
jne 0x1401c1d33
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg r8, rbx
mov rbx, rsi
xchg rbx, r8
lea r10, [0x140000000]
mov r9d, 0x46ce3044
add r9d, 0x311739e8
add r9d, 0x2937c7a
sub r9d, 0x5451b2f0
sub r9d, 0x15f2c75f
xor r9d, 0x44bd82a4
xor r9d, 0x1c836447
sub r9d, 0x480a8ab0
xchg r8, rdi
mov rcx, rdi
xchg r8, rdi
mov edx, 0x4c05a115
add edx, 0x2c82a2df
xor edx, 0x759776ab
add edx, 0xab03619
xor edx, 0x2d2ddfde
add edx, 0x8413d18
xor edx, 0x747a596a
sub edx, 0x3759a8d0
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 0x1401c1e22
inc r8
sub r9, 1
jne 0x1401c1de2
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, 2
shr al, 1
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, 6
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 7
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 0x1401c1eaa
mov rcx, rsi
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x52634424
sub edx, 0x441a6c64
add edx, 0x1306574c
sub edx, 0x91fa012
xor edx, 0xdfcf91b
add edx, 0x543bff0c
sub edx, 0x6a0f76e9
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1faf
sub r8, 1
jne 0x1401c1f7b
add r14, 0x10
sub qword [rsp + 0x30], 1
jne 0x1401c1d9b
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
xchg r12, r8
mov rcx, r12
xchg r12, r8
mov edx, 0xe79b539
xor edx, 0x3746de8e
add edx, 0x2794fb1
add edx, 0x69ae414
xor edx, 0x58d61ad7
add edx, 0x964fa5
xor edx, 0x1b1bd554
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 0x1401c2037
inc r8
sub r9, 1
jne 0x1401c1ffd
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, 0x752e54d
add ecx, 0x519b5874
xor ecx, 0x75b8bae3
add ecx, 0x4cacbd2c
sub ecx, 0x1df28887
xor ecx, 0x5c10bbc3
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c20fd
sub r8, 1
jne 0x1401c20cf
add rsp, 0xf8
push rbx
push rbx
push rbx
push rcx
push rdx
xchg qword [rsp + 0x28], r15
add rsp, 0x30
push rdx
push rbx
push rcx
push rcx
push rbx
push rax
xchg qword [rsp + 0x30], r14
add rsp, 0x38
nop
xchg qword [rsp], r13
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], rsi
push rax
push rcx
push rcx
xchg qword [rsp + 0x18], rbx
pop rcx
pop rcx
pop rax
add rsp, 8
nop
xchg qword [rsp], rbp
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]