Function at 0x1401c1440
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
xchg rdi, rcx
mov qword [rsp + 8], rdi
xchg rdi, rcx
nop
push r15
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
push r14
push r9
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, 0x5b394eea
sub r15d, 0x3ee0e3
sub r15d, 0x13fb7147
xor r15d, 0x39dac9fc
sub r15d, 0x27508565
xor r15d, 0x3dd926d3
sub r15d, 0x6a0a88f4
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rbx, r8
mov r8, rdx
xchg rbx, r8
xchg rsi, rcx
mov rcx, rsi
xchg 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 0x1401c14f6
lea r13, [0x140000000]
test r9, r9
je 0x1401c16b9
movzx eax, byte [r9]
mov r10d, 0x56bdbf83
sub r10d, 0x74d323f
add r10d, 0xeaaac34
sub r10d, 0x55942b73
add r10d, 0x232a024c
sub r10d, 0x2bb1104d
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 0x1401c1657
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 0x1401c15dd
xchg r11, rbx
mov r11, qword [rbp + 0x67]
xchg r11, rbx
mov rax, qword [rbp + 0x7f]
mov edi, 0x4ff078b4
add edi, 0x941e127
sub edi, 0x2684c911
add edi, 0x2acca021
sub edi, 0x1141ffed
sub edi, 0x2d37c03d
sub edi, 0x1f0070b8
mov r8, qword [0x140217140]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
xchg rbx, r14
mov rax, rbx
xchg r14, rbx
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1c52
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 1
shr rax, 2
shr rax, 1
inc rax
xchg r13, rax
mov qword [rsp + 0x28], r13
xchg r13, rax
nop dword [rax]
mov 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 0x1401c174b
xchg r8, r15
mov r15, rbx
xchg r15, r8
xchg rbx, rcx
mov rbx, rsi
xchg rbx, rcx
sub r8, rsi
xchg rbx, rdx
mov rbx, r15
xchg rbx, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1781
lea rax, [r9 - 0x10]
xchg r14, r13
mov r13, rsi
xchg r13, r14
mov qword [rbp + 0x77], rax
xchg rsi, rcx
mov rcx, rax
xchg rsi, rcx
mov edx, 0x685306cd
sub edx, 0x219be294
sub edx, 0x314a7a21
add edx, 0x20b248ae
add edx, 0x1bf1dcb1
sub edx, 0x5210cf73
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x2daa0819
sub ecx, 0xda7f2a6
xor ecx, 0x249946f0
xor ecx, 0x52a5c170
sub ecx, 0x31a93808
sub ecx, 0x1e415df4
sub ecx, 0x653fcf3
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c1813
sub rdx, 1
jne 0x1401c17df
xchg rsi, rbx
mov rbx, qword [rbp + 0x5f]
xchg rsi, rbx
mov r15, r9
xchg rdi, r14
mov qword [rbp + 0x7f], r14
xchg rdi, r14
xchg rdi, r8
mov rdi, rsi
xchg rdi, r8
mov r9d, 0x2d8235d4
xor r9d, 0x29438d27
add r9d, 0x18b243fb
add r9d, 0x61789d0b
xor r9d, 0x34d08418
sub r9d, 0x16ec656e
add r9d, 0x35013ee5
sub r9d, 0x6850f754
nop dword [rax + rax]
xchg rsi, rcx
mov rsi, r8
xchg rsi, rcx
mov edx, 0x70ca573b
xor edx, 0x26be305f
sub edx, 0x9b1a4c5
xor edx, 0x6ba749fb
sub edx, 0x493ebcf
xor edx, 0x22d19f91
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 0x1401c18c2
inc r8
sub r9, 1
jne 0x1401c188e
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, 4
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 [r12 - 6], cl
xor dil, bl
shr al, 4
shr al, 1
shr al, 1
shr al, 1
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 2
shr al, 1
shr al, 3
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, 3
shr al, 3
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 0x1401c194a
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
lea r8d, [r13 + 4]
mov edx, 0x7f22bbe1
sub edx, 0x9f4b080
sub edx, 0x9902b8e
sub edx, 0x149e220e
sub edx, 0x31244b7b
xor edx, 0x6f8ce78d
xor edx, 0x4a5795c3
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1a5a
sub r8, 1
jne 0x1401c1a26
neg r15
add r15, 0xfffffffffffffff0
neg r15
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1849
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg r8, rcx
mov r8, rcx
xchg rcx, r8
mov edx, 0x2a4dee38
add edx, 0x471d29ec
xor edx, 0x3ff85f1b
xor edx, 0x1f2fcf59
xor edx, 0x34dcc9f2
xor edx, 0x101b8d3d
sub edx, 0xb0d908d
sub edx, 0x6a6e3c18
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 0x1401c1aee
inc r8
sub r9, 1
jne 0x1401c1aae
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
xchg r15, rsi
mov rcx, r15
xchg r15, rsi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x5e9cafa6
add edx, 0x1eb32a2d
xor edx, 0x4b80f013
add edx, 0x3b7c887a
xor edx, 0x4fed19e2
sub edx, 0x37622722
xor edx, 0x4f3c15ee
xor edx, 0x4978915c
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1bcc
sub r8, 1
jne 0x1401c1b92
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
xchg rdx, rax
mov rdx, qword [rbp + 0x77]
xchg rdx, rax
lea r15d, [rdx + 0x10]
nop
add rbx, 0x560ae921
sub rbx, 0x560ae911
xchg r14, rcx
mov qword [rbp + 0x5f], rcx
xchg r14, rcx
sub qword [rsp + 0x28], 1
xchg rsi, rbx
mov r8, rbx
xchg rbx, rsi
mov qword [rbp + 0x67], rbx
mov rsi, r14
xchg rcx, rax
mov r9, rcx
xchg rcx, rax
xchg rdi, rax
mov qword [rsp + 0x20], rdi
xchg rdi, rax
jne 0x1401c173b
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c20c9
mov rcx, rsi
sub rbx, rsi
xchg r15, rdi
mov rdx, rdi
xchg r15, rdi
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1c6d
movzx eax, r12b
sub r15, rax
xchg r11, r8
mov r11, r15
xchg r11, r8
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
xchg rbp, rcx
mov rbp, rsi
xchg rcx, rbp
sub r8, rsi
mov r9d, 0x42b199b7
sub r9d, 0x147fa0fc
add r9d, 0x31528888
xor r9d, 0x42e4317b
xor r9d, 0x47ca9e98
add r9d, 0x2192504
sub r9d, 0x5ee243c
add r9d, 0x8e9c141
sub r9d, 0x5fbef0a5
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x535a3452
sub edx, 0xdaf727
sub edx, 0x328ab555
xor edx, 0x1bd3be17
xor edx, 0x720ab652
sub edx, 0x4c1cf838
sub edx, 0x2a109757
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1d29
sub r9, 1
jne 0x1401c1cf5
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg rbx, rsi
mov r8, rbx
xchg rsi, rbx
lea r10, [0x140000000]
mov r9d, 0x2f7c4f7b
add r9d, 0x3885237c
xor r9d, 0x59584961
xor r9d, 0x17014167
add r9d, 0x46347ea4
xor r9d, 0x6c8cf991
xchg rcx, r8
mov r8, rcx
xchg rcx, r8
mov edx, 0x35296ffa
sub edx, 0x1e780e6a
add edx, 0x694936c9
sub edx, 0x17b80c15
sub edx, 0x1f01d06c
xor edx, 0x4940bbdc
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 0x1401c1dbe
inc r8
sub r9, 1
jne 0x1401c1d8a
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, 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, 1
shr al, 1
shr al, 1
shr al, 4
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 0x1401c1e46
xchg rbp, rsi
mov rcx, rbp
xchg rsi, rbp
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x430d60b1
sub edx, 0x358d3080
add edx, 0x6df8f4f0
sub edx, 0x8c37114
sub edx, 0x13880be
sub edx, 0x622f5661
add edx, 0xcd25d9
xor edx, 0x6a2d57a3
sub edx, 0x7a365560
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1f59
sub r8, 1
jne 0x1401c1f19
nop
add r14, 0x22e9c9e4
sub r14, 0x22e9c9d4
sub qword [rsp + 0x30], 1
jne 0x1401c1d51
xchg rsi, r8
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, 0x49d0e536
sub edx, 0x3f9427f0
add edx, 0xc7778a0
xor edx, 0x59e57065
xor edx, 0x308c3736
sub edx, 0x7fdd72b1
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 0x1401c1fe0
inc r8
sub r9, 1
jne 0x1401c1fb2
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, 0x68dc4b2d
sub ecx, 0x22ee872f
sub ecx, 0x1d73ac68
sub ecx, 0x126757c
xor ecx, 0x69b7cf71
sub ecx, 0x2ed16d5f
xor ecx, 0x20130008
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c20ac
sub r8, 1
jne 0x1401c2078
add rsp, 0xf8
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
xchg qword [rsp], rdi
add rsp, 8
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