Function at 0x1401c1b00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
nop
push 0x5cbbd5b3
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], rbx
push rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
nop
sub rsp, 8
mov qword [rsp], r13
push r10
mov qword [rsp], r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
movzx r12d, r8b
mov r14d, r8d
and r12b, 0xf
xchg rdx, r11
mov rdx, r11
xchg r11, rdx
mov r15d, 0x4f201c0a
xor r15d, 0x35604862
sub r15d, 0x44a79dce
xor r15d, 0x667c8278
sub r15d, 0x26dd3b92
sub r15d, 0x2d06f940
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rdx, r10
mov rbx, r10
xchg r10, rdx
xchg r9, rcx
mov rsi, r9
xchg r9, 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 0x1401c1baa
lea r13, [0x140000000]
test r9, r9
je 0x1401c1d67
movzx eax, byte [r9]
mov r10d, 0x750b5784
sub r10d, 0x7408808a
add r10d, 0x2de500b2
sub r10d, 0x115dadd
add r10d, 0x45cf9534
sub r10d, 0x73a191ff
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 0x1401c1d0b
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 0x1401c1c91
mov rbx, qword [rbp + 0x67]
xchg rdx, rax
mov rdx, qword [rbp + 0x7f]
xchg rdx, rax
mov edi, 0x49bdd9ae
sub edi, 0x47e20355
add edi, 0x72796dbc
sub edi, 0x2dfd8010
add edi, 0xbfef6
sub edi, 0x2ae39071
xor edi, 0x1b803283
mov r8, qword [0x140217140]
test rax, rax
xchg r9, rdi
mov qword [rsp + 0x30], r9
xchg rdi, r9
cmovne r8, rax
xchg r14, rax
mov r14, rax
xchg r14, rax
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c2312
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 1
shr rax, 1
shr rax, 1
shr rax, 1
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
xchg r10, rbx
mov rcx, r10
xchg rbx, r10
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 0x1401c1e05
xchg r8, r14
mov r14, rbx
xchg r14, r8
xchg rsi, r14
mov rcx, r14
xchg rsi, r14
sub r8, rsi
xchg rdx, r15
mov r15, rdx
xchg r15, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1e3b
lea rax, [r9 - 0x10]
xchg rsi, r14
mov rsi, r14
xchg r14, rsi
mov qword [rbp + 0x77], rax
xchg rsi, rax
mov rax, rsi
xchg rsi, rax
mov edx, 0x4e8a350b
xor edx, 0x6bc1a096
add edx, 0xe08e139
xor edx, 0x73a2cde
add edx, 0x4b25bb3a
sub edx, 0x7959d223
sub edx, 0x63a431b
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x165ec0dc
xor ecx, 0x2b437677
sub ecx, 0x83dc0cd
sub ecx, 0x1e80b716
sub ecx, 0xd35bd18
sub ecx, 0x6cb08f
sub ecx, 0x8296a6a
sub ecx, 0x9366b3
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c1ed7
sub rdx, 1
jne 0x1401c1e9d
mov rsi, qword [rbp + 0x5f]
mov r15, r9
mov qword [rbp + 0x7f], rdi
xchg r8, rdi
mov rdi, rsi
xchg r8, rdi
mov r9d, 0x47c90ca5
add r9d, 0x2aac5f98
sub r9d, 0x3723900a
xor r9d, 0x69d03465
xor r9d, 0x23a3614
sub r9d, 0x4d1ace1
sub r9d, 0x4bea315d
nop dword [rax + rax]
xchg rcx, r11
mov r11, r8
xchg rcx, r11
mov edx, 0x33955ff0
xor edx, 0x10916dd8
add edx, 0x2bfd10f2
add edx, 0x135691f9
sub edx, 0x5909d8cf
xor edx, 0x3bfa01b1
sub edx, 0x32b7fdf1
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 0x1401c1f79
inc r8
sub r9, 1
jne 0x1401c1f3f
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, 1
shr al, 2
shr al, 1
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, 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, 4
shr al, 2
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, 6
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 0x1401c2001
xchg r14, rsi
mov rax, r14
xchg rsi, r14
lea r8d, [r13 + 4]
mov edx, 0x3b69e4e7
sub edx, 0x3607d23
xor edx, 0x744628c1
add edx, 0x52da543
sub edx, 0x32708649
xor edx, 0xdf85e78
xor edx, 0x17cf744c
sub edx, 0x53b47c7
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c2119
sub r8, 1
jne 0x1401c20df
nop
sub r15, 0x4ff3cb7a
add r15, 0x4ff3cb8a
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c1f01
xchg r10, rsi
mov r8, r10
xchg rsi, r10
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
mov rcx, r8
mov edx, 0x522be36f
xor edx, 0x57d90e01
add edx, 0x6606f582
sub edx, 0x18f0c362
sub edx, 0x32586917
add edx, 0x1dccfaea
sub edx, 0x2fadb579
xor edx, 0x4727e8cf
sub edx, 0x49e81323
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 0x1401c21b2
inc r8
sub r9, 1
jne 0x1401c2172
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg r15, r9
mov r15, qword [rsp + 0x20]
xchg r15, 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, r9
mov r9, rsi
xchg rcx, r9
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x7f0c3d6e
xor edx, 0x3e805a2b
xor edx, 0x75995849
xor edx, 0x3ee3d4ea
xor edx, 0x468c524a
sub edx, 0x4c7ab9a8
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2284
sub r8, 1
jne 0x1401c2256
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, 0x58f6457
sub rbx, 0x58f6447
xchg r14, r10
mov qword [rbp + 0x5f], r10
xchg r10, r14
sub qword [rsp + 0x28], 1
mov r8, rsi
xchg rbx, rdx
mov qword [rbp + 0x67], rdx
xchg rdx, rbx
xchg rsi, r14
mov r14, rsi
xchg rsi, r14
xchg r13, r9
mov r13, rax
xchg r13, r9
xchg r12, rax
mov qword [rsp + 0x20], r12
xchg r12, rax
jne 0x1401c1def
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c2788
xchg rcx, rdi
mov rdi, rsi
xchg rdi, rcx
sub rbx, rsi
xchg rdx, r15
mov r15, rdx
xchg r15, rdx
nop dword [rax]
movzx eax, byte [rbx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c2333
movzx eax, r12b
sub r15, rax
xchg r8, rbx
mov rbx, r15
xchg rbx, r8
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
mov rcx, rsi
sub r8, rsi
mov r9d, 0x99ce496
xor r9d, 0x3bb67dff
xor r9d, 0x3a268e09
xor r9d, 0x1640da73
xor r9d, 0x6cc52236
xor r9d, 0x3d5ce3
sub r9d, 0x72b4b3c2
nop dword [rax]
nop dword [rax + rax]
mov edx, 0xf243f8b
add edx, 0x5b9a914c
xor edx, 0x250c2c2
xor edx, 0x35699d08
sub edx, 0x5ca6e3ce
xor edx, 0xe0ab4b
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c23d5
sub r9, 1
jne 0x1401c23a7
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea r10, [0x140000000]
mov r9d, 0xa3fec70
xor r9d, 0x784f2334
sub r9d, 0x5bc02474
sub r9d, 0x747714d
add r9d, 0x16251329
sub r9d, 0x258e4ca8
xchg r8, rdi
mov rcx, rdi
xchg r8, rdi
mov edx, 0x6cff7f0e
sub edx, 0x7a49aed
sub edx, 0x4d0ae4d
sub edx, 0x5c4ee196
xor edx, 0xae68dec
xor edx, 0x6ac11811
add edx, 0x1935731f
sub edx, 0x7d5234de
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 0x1401c2476
inc r8
sub r9, 1
jne 0x1401c2436
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, 2
shr al, 3
shr al, 2
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, 5
shr al, 2
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 0x1401c24fe
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x236e0063
xor edx, 0x3dafe23e
add edx, 0x24bbbbd
sub edx, 0x5ab564b
add edx, 0x606bb5b3
sub edx, 0x4e59ce46
xor edx, 0x2d742f38
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c2606
sub r8, 1
jne 0x1401c25d2
nop
sub r14, 0x2e9860a5
add r14, 0x2e9860b5
sub qword [rsp + 0x30], 1
jne 0x1401c23fd
xchg r8, rcx
mov rcx, rsi
xchg rcx, r8
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x2159196a
add edx, 0x22482e83
add edx, 0xcbd415
add edx, 0x347848df
sub edx, 0x161774ed
sub edx, 0x2ebff9eb
xor edx, 0x7219e769
sub edx, 0x4614115c
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 0x1401c2699
inc r8
sub r9, 1
jne 0x1401c265f
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, 0x5a4454d8
add ecx, 0x119434ab
xor ecx, 0x142cdf6f
xor ecx, 0x40c74340
sub ecx, 0x3928a570
add ecx, 0x69209b5c
add ecx, 0x7d1e6a2
sub ecx, 0x76fcf236
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c276b
sub r8, 1
jne 0x1401c2731
add rsp, 0xf8
nop
mov r15, qword [rsp]
add rsp, 8
push rcx
push rcx
push rax
push rdx
push rbx
push rcx
push rdx
xchg qword [rsp + 0x38], r14
pop rdx
pop rcx
pop rbx
pop rdx
pop rax
pop rcx
pop rcx
add rsp, 8
nop
xchg qword [rsp], r13
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rdi
nop
xchg qword [rsp], rsi
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
push rcx
push rdx
xchg qword [rsp + 0x10], rbp
add rsp, 0x18
nop
add rsp, 8
jmp qword [rsp - 8]