Function at 0x1401c18c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
xchg rcx, rdi
mov qword [rsp + 8], rdi
xchg rcx, rdi
nop
sub rsp, 8
mov qword [rsp], rbp
push rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
push r13
nop
sub rsp, 8
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, 0x7efac0c6
sub r15d, 0x515525e1
add r15d, 0x4f8a8f46
sub r15d, 0x6c1663fb
sub r15d, 0x63714d3
add r15d, 0x484946b0
sub r15d, 0x10b61ae0
xor r15d, 0x4275dd3d
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rdx, rbx
mov rdx, rbx
xchg rbx, rdx
xchg r8, rcx
mov rsi, r8
xchg rcx, r8
mov r10d, r15d
nop word [rax + rax]
movzx eax, byte [r11 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x1401c197a
lea r13, [0x140000000]
test r9, r9
je 0x1401c1b37
movzx eax, byte [r9]
mov r10d, 0x171decd7
add r10d, 0x2558f298
sub r10d, 0x295a762e
add r10d, 0x1334cc85
sub r10d, 0x4bf3ff1
sub r10d, 0x2191f5d1
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 0x1401c1adb
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 0x1401c1a61
mov rbx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x7f]
mov edi, 0x5048370d
xor edi, 0x3ac7839d
xor edi, 0x73985658
add edi, 0x43aa3b7d
xor edi, 0x2fa8af56
sub edi, 0x667f9c40
add edi, 0x41bfb0b0
sub edi, 0x4eaac57a
mov r8, qword [0x140217140]
test rax, rax
xchg rdi, rbx
mov qword [rsp + 0x30], rbx
xchg rdi, rbx
cmovne r8, rax
xchg r14, rax
mov r14, rax
xchg r14, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c20e3
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
xchg r9, rdi
mov qword [rsp + 0x20], rdi
xchg r9, rdi
shr rax, 3
shr rax, 1
inc rax
xchg rsi, rax
mov qword [rsp + 0x28], rsi
xchg rsi, rax
nop dword [rax]
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
sub r8, rbx
xchg rbp, r15
mov rdx, rbp
xchg r15, rbp
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1be2
xchg rsi, rbx
mov r8, rsi
xchg rbx, rsi
xchg r8, rcx
mov r8, rsi
xchg rcx, r8
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 0x1401c1c12
lea rax, [r9 - 0x10]
mov r14, rsi
xchg r15, rax
mov qword [rbp + 0x77], r15
xchg r15, rax
xchg rsi, rax
mov rax, rsi
xchg rsi, rax
mov edx, 0x36b208b5
sub edx, 0xc585054
add edx, 0x526a9f2
sub edx, 0x1f2cb895
add edx, 0x21ee772e
add edx, 0x4365283
sub edx, 0x21e403c8
add edx, 0x60dba3ed
sub edx, 0x75701390
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x5b535b1c
xor ecx, 0x128fcc3
xor ecx, 0x579be257
add ecx, 0x4c8da7eb
xor ecx, 0x442b008b
sub ecx, 0x1e46edf4
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c1cac
sub rdx, 1
jne 0x1401c1c7e
xchg rsi, r12
mov r12, qword [rbp + 0x5f]
xchg rsi, r12
xchg r11, r15
mov r11, r9
xchg r15, r11
xchg rbx, rdi
mov qword [rbp + 0x7f], rbx
xchg rdi, rbx
xchg r15, r8
mov r15, rsi
xchg r8, r15
mov r9d, 0x6e857de5
sub r9d, 0xc865a18
sub r9d, 0x164efa61
sub r9d, 0x3787cd0
sub r9d, 0x364ad565
add r9d, 0x299c6031
sub r9d, 0x190359e7
sub r9d, 0xeef81a
sub r9d, 0x2196e563
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x299a312
add edx, 0x19eeb80
xor edx, 0x6a560a56
add edx, 0x2acf0b2
xor edx, 0x2b74e9e5
xor edx, 0x7c6007f
sub edx, 0x323f0f7f
xor edx, 0x6942d4
sub edx, 0x2b03cfb5
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 0x1401c1d74
inc r8
sub r9, 1
jne 0x1401c1d34
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, 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 [r12 - 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, 4
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, 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 [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 0x1401c1dfc
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
lea r8d, [r13 + 4]
mov edx, 0x6572ecec
sub edx, 0x226475
sub edx, 0x3132f5cc
sub edx, 0x3387a29f
xor edx, 0x4f207cb2
sub edx, 0x4fb58cba
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1eff
sub r8, 1
jne 0x1401c1ed1
sub r15, 0xfffffffffffffff0
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1ce8
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg rsi, r8
mov rcx, rsi
xchg rsi, r8
mov edx, 0x1128420a
sub edx, 0x11222b66
add edx, 0x9d73768
add edx, 0x5766caef
sub edx, 0x5093832f
add edx, 0x4561bf07
xor edx, 0x561254d7
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 0x1401c1f87
inc r8
sub r9, 1
jne 0x1401c1f4d
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 rcx, rsi
mov rsi, rcx
xchg rsi, rcx
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x7e75d27a
sub edx, 0x332eb4ab
add edx, 0x231f0eb6
sub edx, 0x895cda4
add edx, 0x194a2c7e
sub edx, 0x7f1a8b5b
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2053
sub r8, 1
jne 0x1401c2025
xchg r11, rbx
mov r11, qword [rbp + 0x67]
xchg r11, rbx
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
nop
add rbx, 0x5f504fbf
sub rbx, 0x5f504faf
xchg r13, r14
mov qword [rbp + 0x5f], r13
xchg r14, r13
sub qword [rsp + 0x28], 1
xchg rsi, r9
mov r8, r9
xchg rsi, r9
xchg r14, rbx
mov qword [rbp + 0x67], r14
xchg r14, rbx
xchg r14, rsi
mov r14, rsi
xchg rsi, r14
xchg r9, rax
mov rax, r9
xchg r9, rax
mov qword [rsp + 0x20], rax
jne 0x1401c1bc6
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c2572
xchg r8, rsi
mov rcx, r8
xchg r8, rsi
sub rbx, rsi
xchg r9, r15
mov rdx, r9
xchg r9, r15
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c2104
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 rcx, rsi
mov rsi, rcx
xchg rcx, rsi
sub r8, rsi
mov r9d, 0x5407cf2d
add r9d, 0x20748fad
sub r9d, 0x6b65be57
add r9d, 0x3a55869f
sub r9d, 0x5a38264
add r9d, 0xafe56bb
sub r9d, 0x3c9b59b6
add r9d, 0x56487383
sub r9d, 0x62741542
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x3f060008
add edx, 0x60225c8
add edx, 0x3607a363
sub edx, 0x27daa3b3
add edx, 0x8eb6951
sub edx, 0x5c208ecd
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c21ba
sub r9, 1
jne 0x1401c218c
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea r10, [0x140000000]
mov r9d, 0x2fc055aa
sub r9d, 0x13303bab
add r9d, 0x1cdd4580
sub r9d, 0x220f2c1f
add r9d, 0x277dd06c
xor r9d, 0x694f26f6
xor r9d, 0x5793253e
xchg r15, r8
mov rcx, r15
xchg r8, r15
mov edx, 0x39407c4b
add edx, 0x39150298
sub edx, 0x4a046f86
sub edx, 0xa232c80
xor edx, 0x26c4a1c1
sub edx, 0xd2c57f9
xor edx, 0x7fc6b6bf
sub edx, 0x547a5d98
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 0x1401c2262
inc r8
sub r9, 1
jne 0x1401c2222
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, 1
shr al, 6
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, 3
shr al, 3
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, 2
shr al, 4
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 0x1401c22ea
xchg rdx, rsi
mov rcx, rdx
xchg rdx, rsi
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x9addbd2
xor edx, 0x674891fc
xor edx, 0x19b3575f
sub edx, 0x355853e9
sub edx, 0x2a97ec90
xor edx, 0x357a0b14
sub edx, 0x221fd7e8
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c23f0
sub r8, 1
jne 0x1401c23bc
nop
sub r14, 0x188794ac
add r14, 0x188794bc
sub qword [rsp + 0x30], 1
jne 0x1401c21e2
xchg r10, r8
mov r10, rsi
xchg r8, r10
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x566ac335
sub edx, 0x3d9cd0a
sub edx, 0x28a8b158
add edx, 0x534bb5ef
sub edx, 0x257bbe1e
sub edx, 0x9c081e6
add edx, 0x310362c8
sub edx, 0x7efb1d82
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 0x1401c2483
inc r8
sub r9, 1
jne 0x1401c2449
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, 0x6ad56ca6
sub ecx, 0x4839b0a
add ecx, 0x2c7fcdf
sub ecx, 0x345a6550
sub ecx, 0x320a63fd
add ecx, 0x50c580b8
add ecx, 0x5408937
sub ecx, 0x58bb0f19
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c2555
sub r8, 1
jne 0x1401c251b
add rsp, 0xf8
nop
mov r15, qword [rsp]
add rsp, 8
push rdx
push rcx
push rbx
push rax
push rcx
xchg qword [rsp + 0x28], r14
add rsp, 0x30
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], rdi
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