Function at 0x1401c1df0
Capabilities:
Encode data using xor

Disassembly:
xchg rsi, rdx
mov qword [rsp + 0x10], rsi
xchg rdx, rsi
xchg rcx, rbp
mov qword [rsp + 8], rbp
xchg rbp, rcx
push rbp
push rbx
push rsi
push rdi
push r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
push 0x43e98fb7
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, 0x14f21159
xor r15d, 0x2142b3d7
add r15d, 0x47400616
sub r15d, 0x26e67946
sub r15d, 0x4b1e2057
xor r15d, 0x7472e3cf
sub r15d, 0x7e9eecb8
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rbx, rdx
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 0x1401c1e9a
lea r13, [0x140000000]
test r9, r9
je 0x1401c2072
movzx eax, byte [r9]
mov r10d, 0x5cac8893
xor r10d, 0x3ba77826
sub r10d, 0x5758ffce
xor r10d, 0x3fbfc43b
xor r10d, 0x6956cc9d
add r10d, 0x1d2b9838
sub r10d, 0x596f5015
xor r10d, 0x469e7f24
sub r10d, 0x5b863f3c
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 0x1401c2010
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 0x1401c1f96
xchg rbx, r12
mov r12, qword [rbp + 0x67]
xchg rbx, r12
mov rax, qword [rbp + 0x7f]
mov edi, 0x78da4d9e
sub edi, 0x53c52e0d
sub edi, 0xabe10c7
add edi, 0x21dfb817
sub edi, 0x35d3f24b
xor edi, 0x757f0681
xor edi, 0x3cfa1747
sub edi, 0x4fe7c547
mov r8, qword [0x140218140]
test rax, rax
xchg rdi, r14
mov qword [rsp + 0x30], r14
xchg r14, rdi
cmovne r8, rax
xchg rdi, r14
mov rax, rdi
xchg rdi, r14
mov qword [0x140218140], r8
test r14d, r14d
je 0x1401c2601
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
xchg rbx, r9
mov qword [rsp + 0x20], rbx
xchg rbx, r9
shr rax, 1
shr rax, 2
shr rax, 1
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
xchg rcx, r13
mov r13, rbx
xchg rcx, r13
sub r8, rbx
xchg r15, r9
mov rdx, r9
xchg r9, r15
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c211e
xchg rdx, r8
mov rdx, rbx
xchg rdx, r8
xchg rcx, rsi
mov rsi, rcx
xchg rcx, rsi
sub r8, rsi
xchg rdx, r9
mov r9, r15
xchg rdx, r9
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c2154
lea rax, [r9 - 0x10]
mov r14, rsi
xchg r10, rax
mov qword [rbp + 0x77], r10
xchg r10, rax
xchg rsi, rax
mov rax, rsi
xchg rsi, rax
mov edx, 0x6b52d517
sub edx, 0x64dc9e68
xor edx, 0x48102b4d
add edx, 0x2210cb72
xor edx, 0x13233094
sub edx, 0x33a8e62c
sub edx, 0x2facf390
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x1ec5c631
add ecx, 0x56d48c9
add ecx, 0x27e6abd2
xor ecx, 0x1eb429b1
xor ecx, 0x2a9dc854
sub ecx, 0x78305b25
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c21e2
sub rdx, 1
jne 0x1401c21b4
mov rsi, qword [rbp + 0x5f]
mov r15, r9
mov qword [rbp + 0x7f], rdi
xchg r13, rsi
mov r8, r13
xchg r13, rsi
mov r9d, 0x7ba5dca6
sub r9d, 0x551575d9
sub r9d, 0x21d18b08
add r9d, 0x4633d490
xor r9d, 0x370ec949
xor r9d, 0x5423dcfc
sub r9d, 0x1b4f9510
sub r9d, 0xe9010cc
nop dword [rax + rax]
xchg r8, rcx
mov r8, rcx
xchg rcx, r8
mov edx, 0x26600f95
add edx, 0x3bfc562c
sub edx, 0x54aca0fd
xor edx, 0x4debbb9f
sub edx, 0xcd7dd5b
xor edx, 0x4bed52c8
xor edx, 0x232be45a
xor edx, 0x5baa1496
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 0x1401c2291
inc r8
sub r9, 1
jne 0x1401c2251
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, 7
add dl, dl
movzx eax, al
imul ecx, eax, 0x1b
movzx eax, r9b
shr al, 4
shr al, 1
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, 7
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 0x1401c2319
mov rax, rsi
lea r8d, [r13 + 4]
mov edx, 0x3c22685a
sub edx, 0xe533c0d
add edx, 0x830048f
add edx, 0x3349ade8
sub edx, 0x59da594d
sub edx, 0xf6e8573
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c240d
sub r8, 1
jne 0x1401c23df
neg r15
add r15, 0xfffffffffffffff0
neg r15
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c220c
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg r11, r8
mov rcx, r11
xchg r8, r11
mov edx, 0x73ec5685
sub edx, 0x1e1d0dfa
sub edx, 0x25e74d75
add edx, 0x3e326f6e
sub edx, 0x56f7794c
add edx, 0x107e341f
xor edx, 0x27a12553
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 0x1401c249b
inc r8
sub r9, 1
jne 0x1401c2461
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 rsi, r12
mov rcx, r12
xchg r12, rsi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x3ba5b7de
xor edx, 0xc7391ce
sub edx, 0x1fa619eb
sub edx, 0x2ee3925
add edx, 0x68bdc66e
xor edx, 0x2058ed69
sub edx, 0x1692064b
sub edx, 0x47156db8
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2573
sub r8, 1
jne 0x1401c2539
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
xchg r13, rax
mov r13, qword [rbp + 0x77]
xchg r13, rax
lea r15d, [rdx + 0x10]
nop
sub rbx, 0x67b15ae6
add rbx, 0x67b15af6
xchg r14, rdi
mov qword [rbp + 0x5f], rdi
xchg rdi, r14
sub qword [rsp + 0x28], 1
xchg r8, r13
mov r13, rsi
xchg r13, r8
xchg rdi, rbx
mov qword [rbp + 0x67], rdi
xchg rbx, rdi
xchg r14, r15
mov rsi, r15
xchg r15, r14
xchg rcx, rax
mov r9, rcx
xchg rcx, rax
mov qword [rsp + 0x20], rax
jne 0x1401c2102
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140218140], r8
test r12b, r12b
je 0x1401c2a6d
xchg r13, rsi
mov rcx, r13
xchg rsi, r13
sub rbx, rsi
xchg r12, rdx
mov r12, r15
xchg r12, rdx
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c2622
movzx eax, r12b
sub r15, rax
mov r8, r15
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
xchg rsi, r15
mov rcx, r15
xchg rsi, r15
sub r8, rsi
mov r9d, 0x2207be6
xor r9d, 0x346ee666
sub r9d, 0x1019bb0d
xor r9d, 0x1d26334b
add r9d, 0x59f047
xor r9d, 0x3b6cc17b
nop dword [rax]
nop dword [rax + rax]
mov edx, 0xe09e22e
add edx, 0x12d73fdf
xor edx, 0x600b26a6
xor edx, 0x69f9477c
sub edx, 0x1d7f1728
sub edx, 0xb942cab
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c26bd
sub r9, 1
jne 0x1401c268f
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
lea r10, [0x140000000]
mov r9d, 0x757f81de
sub r9d, 0x19d04b3f
xor r9d, 0x4c0ccc12
add r9d, 0x35903b91
add r9d, 0x29dcbe89
xor r9d, 0x3b9d3a12
xor r9d, 0x4c8dceb1
xchg r8, rcx
mov r8, rcx
xchg r8, rcx
mov edx, 0x29a1598a
sub edx, 0x23421988
add edx, 0x12d110ae
sub edx, 0x177353
sub edx, 0x2fb2e44
sub edx, 0x161daf15
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 0x1401c2759
inc r8
sub r9, 1
jne 0x1401c2725
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, 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, 1
shr al, 5
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 [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 0x1401c27e1
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x5fb50ce
add edx, 0x29688446
add edx, 0x501303eb
xor edx, 0x62737b07
add edx, 0x10a2a8fb
sub edx, 0x2da84cef
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c28e5
sub r8, 1
jne 0x1401c28b7
nop
sub r14, 0x4a740d2b
add r14, 0x4a740d3b
sub qword [rsp + 0x30], 1
jne 0x1401c26e5
xchg rsi, r13
mov r8, r13
xchg rsi, r13
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, 0x158fc1fd
xor edx, 0x20a8a47d
xor edx, 0x6b7797e0
add edx, 0x1f86241a
sub edx, 0x69311d53
add edx, 0x4107ffb8
xor edx, 0x4d4c82d7
sub edx, 0x18e17a04
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 0x1401c297e
inc r8
sub r9, 1
jne 0x1401c293e
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, 0x6737f3f8
xor ecx, 0x5b0029f3
add ecx, 0x2896fc1c
add ecx, 0x16fb2c6d
sub ecx, 0x22cd0f12
sub ecx, 0x18ca1b30
sub ecx, 0x195a3e66
sub ecx, 0x26d899e8
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c2a50
sub r8, 1
jne 0x1401c2a16
add rsp, 0xf8
push rbx
push rdx
xchg qword [rsp + 0x10], r15
pop rdx
pop rbx
add rsp, 8
push rbx
push rax
xchg qword [rsp + 0x10], r14
add rsp, 0x18
push rbx
xchg qword [rsp + 8], r13
add rsp, 0x10
push rax
push rcx
push rbx
push rax
push rcx
push rax
xchg qword [rsp + 0x30], r12
pop rax
pop rcx
pop rax
pop rbx
pop rcx
pop rax
add rsp, 8
nop
xchg qword [rsp], rdi
add rsp, 8
nop
xchg qword [rsp], rsi
add rsp, 8
nop
xchg qword [rsp], rbx
add rsp, 8
push rax
push rcx
xchg qword [rsp + 0x10], rbp
add rsp, 0x18
nop
add rsp, 8
jmp qword [rsp - 8]