Function at 0x1401c1480
Capabilities:
Encode data using xor

Disassembly:
xchg rdx, r9
mov qword [rsp + 0x10], r9
xchg r9, rdx
xchg rbx, rcx
mov qword [rsp + 8], rbx
xchg rcx, rbx
nop
push 0x31a63e60
mov qword [rsp], rbp
push rsi
mov qword [rsp], rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
push r13
push r12
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
mov r11, rdx
mov r15d, 0x3b2030fd
sub r15d, 0x64b7d4b
sub r15d, 0x3473eb08
add r15d, 0x344facbc
sub r15d, 0x2b71560e
xor r15d, 0x5c6b2a4
add r15d, 0x40478cd
xor r15d, 0x10fe26d9
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rdx, r15
mov rbx, r15
xchg r15, 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 0x1401c1541
lea r13, [0x140000000]
test r9, r9
je 0x1401c16fe
movzx eax, byte [r9]
mov r10d, 0x1e65fdbc
add r10d, 0x1ab24274
sub r10d, 0x32a0849a
add r10d, 0x4f2e1a48
xor r10d, 0x2314523e
xor r10d, 0x76b187e4
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 0x1401c16a2
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 0x1401c1628
mov rbx, qword [rbp + 0x67]
xchg r8, rax
mov r8, qword [rbp + 0x7f]
xchg r8, rax
mov edi, 0x1ae8e232
sub edi, 0x112e76ab
add edi, 0x74b800fd
xor edi, 0x6a0955c7
xor edi, 0x60edd0ee
xor edi, 0x2a6c69fd
xor edi, 0x5efa8059
mov r8, qword [0x140217140]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
xchg r12, rax
mov r12, r14
xchg r12, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1ca8
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
xchg rcx, r9
mov qword [rsp + 0x20], rcx
xchg rcx, r9
shr rax, 2
shr rax, 1
shr rax, 1
inc rax
xchg r15, rax
mov qword [rsp + 0x28], r15
xchg r15, rax
nop dword [rax]
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
sub r8, rbx
xchg r15, rbx
mov rdx, rbx
xchg r15, rbx
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c17a4
xchg rbx, r8
mov rbx, r8
xchg rbx, r8
xchg rsi, r15
mov rcx, r15
xchg rsi, r15
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 0x1401c17da
lea rax, [r9 - 0x10]
xchg r14, r15
mov r15, rsi
xchg r15, r14
xchg rdx, rax
mov qword [rbp + 0x77], rdx
xchg rdx, rax
xchg rsi, rax
mov rax, rsi
xchg rsi, rax
mov edx, 0x37ac8bf3
add edx, 0xbd00609
sub edx, 0x1bf8963
add edx, 0x2c7fe51c
add edx, 0x6619dc3
sub edx, 0x749e8b74
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x694e6cfb
xor ecx, 0x6e41881a
add ecx, 0x7863bbb4
sub ecx, 0x4b4f1616
add ecx, 0x310ce561
sub ecx, 0x4853e951
sub ecx, 0xd494f0c
add ecx, 0x6f6dc16
sub ecx, 0x168b1395
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c187a
sub rdx, 1
jne 0x1401c183a
mov rsi, qword [rbp + 0x5f]
xchg r13, r9
mov r15, r13
xchg r13, r9
xchg r8, rdi
mov qword [rbp + 0x7f], r8
xchg rdi, r8
xchg rsi, r8
mov rsi, r8
xchg rsi, r8
mov r9d, 0x36b7df81
sub r9d, 0x9678c41
sub r9d, 0x1c997937
xor r9d, 0x26221353
xor r9d, 0x317d8ca6
xor r9d, 0x480063f3
sub r9d, 0x16414835
add r9d, 0x26f13cea
sub r9d, 0x60991ac0
nop dword [rax + rax]
xchg r8, r14
mov rcx, r14
xchg r14, r8
mov edx, 0x6b7e07dc
sub edx, 0x13651992
sub edx, 0x4fc3af1b
add edx, 0x33b60abe
sub edx, 0x121f64f5
add edx, 0x1453c723
sub edx, 0x3e3fac17
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 0x1401c1936
inc r8
sub r9, 1
jne 0x1401c18fc
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, 3
shr al, 2
shr al, 1
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 [r12 - 5], cl
imul ecx, eax, 0x1b
movzx eax, dil
shr al, 1
shr al, 3
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 [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 0x1401c19be
xchg rbx, rax
mov rbx, rsi
xchg rbx, rax
lea r8d, [r13 + 4]
mov edx, 0x1c21691c
add edx, 0x5468de40
sub edx, 0x31ec4
sub edx, 0x2bacbdd3
add edx, 0x16d7f96d
sub edx, 0x5546b22d
sub edx, 0x66bb201
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1ac9
sub r8, 1
jne 0x1401c1a95
sub r15, 0xfffffffffffffff0
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c18b0
xchg r8, rdi
mov rdi, rsi
xchg r8, rdi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
mov rcx, r8
mov edx, 0x50366caf
sub edx, 0x679c72f
sub edx, 0x13ff2e02
sub edx, 0x35859499
add edx, 0x4d8a8566
add edx, 0x73389d6
xor edx, 0x52c2fc6d
xor edx, 0x19b28f98
sub edx, 0x1f8581d0
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 0x1401c1b57
inc r8
sub r9, 1
jne 0x1401c1b17
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg rdx, r9
mov rdx, qword [rsp + 0x20]
xchg r9, rdx
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 rsi, r14
mov rcx, r14
xchg r14, rsi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x120464e0
xor edx, 0x37381926
add edx, 0x533d90bc
sub edx, 0x67c8d073
xor edx, 0x9138e51
add edx, 0x536beabf
xor edx, 0x6d0e9b19
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1c2f
sub r8, 1
jne 0x1401c1bfb
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
xchg r9, rax
mov r9, qword [rbp + 0x77]
xchg r9, rax
lea r15d, [rdx + 0x10]
sub rbx, 0xfffffffffffffff0
mov qword [rbp + 0x5f], r14
sub qword [rsp + 0x28], 1
xchg rsi, r10
mov r8, r10
xchg rsi, r10
xchg rbx, r14
mov qword [rbp + 0x67], r14
xchg rbx, r14
mov rsi, r14
xchg r15, r9
mov r15, rax
xchg r15, r9
mov qword [rsp + 0x20], rax
jne 0x1401c1788
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c213c
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
sub rbx, rsi
xchg rdx, rbx
mov rbx, r15
xchg rbx, rdx
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1cc9
movzx eax, r12b
sub r15, rax
mov r8, r15
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
xchg r12, rcx
mov r12, rsi
xchg r12, rcx
sub r8, rsi
mov r9d, 0x33301716
add r9d, 0x4b212bf5
sub r9d, 0x2a289fd9
xor r9d, 0x5cd0d698
add r9d, 0x59d03654
sub r9d, 0x2a0da447
xor r9d, 0x7073306c
xor r9d, 0x4663e021
sub r9d, 0xeabd7f6
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x409827ea
add edx, 0x2a61e0e9
add edx, 0xc7eba1e
xor edx, 0x26247b0f
xor edx, 0x70efbdd2
sub edx, 0x628d623
sub edx, 0x1b8a2e05
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1d7f
sub r9, 1
jne 0x1401c1d4b
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg rsi, r8
mov rsi, r8
xchg rsi, r8
lea r10, [0x140000000]
mov r9d, 0xd44a74e
add r9d, 0x2c586b04
sub r9d, 0x23594325
add r9d, 0x59cc8bb
xor r9d, 0x514f0ef7
sub r9d, 0xd66c216
xor r9d, 0x16236331
add r9d, 0x19b5ff08
sub r9d, 0x4521b33c
mov rcx, r8
mov edx, 0x51821a7b
sub edx, 0x75205ac
sub edx, 0x19511ca0
xor edx, 0x2f313062
add edx, 0x394bffff
sub edx, 0x4298cde0
add edx, 0x1715f5ed
xor edx, 0x2317521d
sub edx, 0xeafa240
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 0x1401c1e35
inc r8
sub r9, 1
jne 0x1401c1df5
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, 3
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 [r15 - 6], cl
xor dil, bl
shr al, 7
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 1
shr al, 6
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 0x1401c1ebd
xchg rcx, rdx
mov rdx, rsi
xchg rcx, rdx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x283287f7
add edx, 0x3a0851f8
add edx, 0x18ea5e68
sub edx, 0x64986af
xor edx, 0x613ab730
xor edx, 0x15e1069c
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1fb9
sub r8, 1
jne 0x1401c1f8b
neg r14
add r14, 0xfffffffffffffff0
neg r14
sub qword [rsp + 0x30], 1
jne 0x1401c1da7
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x37b803ff
add edx, 0x1212578e
add edx, 0x269dd77a
xor edx, 0x34ab0df6
add edx, 0x33c4f8fe
sub edx, 0x25c52300
xor edx, 0x9d9e6f2
xor edx, 0x7ed7d23a
xor edx, 0x25cd2023
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 0x1401c204d
inc r8
sub r9, 1
jne 0x1401c200d
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, 0x73171ae0
xor ecx, 0x2afd62a5
add ecx, 0x1b6e8172
xor ecx, 0x6cae5fd3
xor ecx, 0x672175af
sub ecx, 0x87ef196
sub ecx, 0x5ce351a5
xor ecx, 0x19759094
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c211f
sub r8, 1
jne 0x1401c20e5
add rsp, 0xf8
push rbx
push rax
push rbx
push rdx
push rcx
push rdx
xchg qword [rsp + 0x30], r15
pop rdx
pop rcx
pop rdx
pop rbx
pop rax
pop rbx
add rsp, 8
push rax
xchg qword [rsp + 8], r14
pop rax
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r13
push rbx
push rdx
push rdx
push rdx
push rcx
xchg qword [rsp + 0x28], r12
pop rcx
pop rdx
pop rdx
pop rdx
pop rbx
add rsp, 8
push rax
push rbx
push rdx
push rbx
xchg qword [rsp + 0x20], rdi
add rsp, 0x28
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
mov rbp, qword [rsp]
add rsp, 8
ret