Function at 0x1401c0f10
Capabilities:
Encode data using xor

Disassembly:
xchg rdx, rbx
mov qword [rsp + 0x10], rbx
xchg rbx, rdx
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbp
push rbx
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
push 0x62627ec
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, 0x14576649
xor r15d, 0x54604584
sub r15d, 0x38217413
add r15d, 0x6ed78f7b
xor r15d, 0x28be2b61
xor r15d, 0x5e531444
mov byte [rbp + 0x6f], r12b
sub r11, rcx
xchg rsi, rbx
mov rsi, rdx
xchg rbx, rsi
xchg rcx, r14
mov rsi, r14
xchg r14, 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 0x1401c0fc5
lea r13, [0x140000000]
test r9, r9
je 0x1401c1191
movzx eax, byte [r9]
mov r10d, 0x8147883
add r10d, 0x267c8dc9
add r10d, 0x256dc535
add r10d, 0x25636904
sub r10d, 0x4e2841a4
add r10d, 0x4ab1fbd9
sub r10d, 0x5787a548
sub r10d, 0x1e64496e
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 0x1401c1135
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, 1
shr eax, 1
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 0x1401c10ba
mov rbx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x7f]
mov edi, 0x68f7fb72
xor edi, 0x7be4d419
xor edi, 0x681c7d33
sub edi, 0x1698d12f
sub edi, 0xf9e47cc
xor edi, 0x54d83954
mov r8, qword [0x140217140]
test rax, rax
mov qword [rsp + 0x30], rdi
cmovne r8, rax
xchg r11, r14
mov rax, r11
xchg r11, r14
mov qword [0x140217140], r8
test r14d, r14d
je 0x1401c1701
lea r9, [rsp + 0x50]
sub r9, rsi
dec rax
mov qword [rsp + 0x20], r9
shr rax, 4
inc rax
mov qword [rsp + 0x28], rax
nop dword [rax]
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
sub r8, rbx
xchg r15, rdx
mov r15, rdx
xchg r15, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c121f
xchg r9, r8
mov r9, rbx
xchg r8, r9
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
sub r8, rsi
xchg rsi, rdx
mov rsi, r15
xchg rdx, rsi
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401c1255
lea rax, [r9 - 0x10]
xchg r14, rbp
mov rbp, rsi
xchg rbp, r14
mov qword [rbp + 0x77], rax
xchg rsi, rax
mov rax, rsi
xchg rsi, rax
mov edx, 0x38b7e8a1
sub edx, 0x2c178bad
add edx, 0x1b50221e
add edx, 0x3027ebf7
sub edx, 0x1caee0f6
xor edx, 0x71f58420
sub edx, 0x4a9c0e2f
nop dword [rax]
nop dword [rax + rax]
mov ecx, 0x176b237e
add ecx, 0x4619407e
xor ecx, 0x71d0e7e2
xor ecx, 0x671122d1
xor ecx, 0x3613588d
sub ecx, 0x63e10d2d
add ecx, 0xe0d713
sub ecx, 0x1730636d
xor ecx, 0x32664bf
nop word [rax + rax]
movzx eax, byte [rsi + r14]
xor byte [r14], al
inc r14
sub rcx, 1
jne 0x1401c12f7
sub rdx, 1
jne 0x1401c12b7
xchg rsi, rdx
mov rdx, qword [rbp + 0x5f]
xchg rsi, rdx
xchg r9, rdx
mov r15, rdx
xchg rdx, r9
mov qword [rbp + 0x7f], rdi
xchg rsi, rdi
mov r8, rdi
xchg rdi, rsi
mov r9d, 0x198ecc87
add r9d, 0x188c72b2
add r9d, 0x491369bb
xor r9d, 0x5e339467
add r9d, 0x1db0b7f9
add r9d, 0x252903e2
sub r9d, 0x67f6f86a
nop dword [rax + rax]
xchg r8, rcx
mov r8, rcx
xchg r8, rcx
mov edx, 0x660013ae
sub edx, 0x5e135e30
xor edx, 0x5a3f99b2
sub edx, 0x57ce3d90
xor edx, 0x34114839
sub edx, 0x3215a701
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 0x1401c139f
inc r8
sub r9, 1
jne 0x1401c136b
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, 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 [r12 - 6], cl
xor dil, bl
shr al, 1
shr al, 3
shr al, 3
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, 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 0x1401c1427
xchg r12, rax
mov r12, rsi
xchg r12, rax
lea r8d, [r13 + 4]
mov edx, 0x3c2cd8eb
sub edx, 0x3984b1c6
add edx, 0x194e53d9
sub edx, 0xd091f68
add edx, 0x29d33c9a
xor edx, 0x38c09834
nop word [rax + rax]
movzx ecx, byte [r15 + rax]
xor byte [rax], cl
inc rax
sub rdx, 1
jne 0x1401c1523
sub r8, 1
jne 0x1401c14f5
nop
add r15, 0x1beee95c
sub r15, 0x1beee94c
lea r13, [0x140000000]
sub qword [rbp + 0x7f], 1
jne 0x1401c132d
mov r8, rsi
lea r9d, [rdx + 4]
lea r13, [0x140000000]
nop word [rax + rax]
xchg rcx, r8
mov r8, rcx
xchg r8, rcx
mov edx, 0x7070805c
sub edx, 0x50636afe
xor edx, 0x2a4f0060
add edx, 0x50b424e0
sub edx, 0x2a4883c9
add edx, 0x2f995421
xor edx, 0x2d66ac5d
sub edx, 0x4d21a627
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 0x1401c15b6
inc r8
sub r9, 1
jne 0x1401c1576
movzx ecx, byte [rsi + 1]
lea r8d, [rdx + 4]
movzx eax, byte [rsi + 5]
xchg r9, rdi
mov rdi, qword [rsp + 0x20]
xchg rdi, 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 rdi, rsi
mov rcx, rdi
xchg rsi, rdi
mov byte [rsi + 0xb], al
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x4bb6c2fc
sub edx, 0x173d9482
sub edx, 0x12fc0cfa
xor edx, 0x6ea576f4
xor edx, 0xcd2f51e
sub edx, 0x430aa266
nop word [rax + rax]
movzx eax, byte [r9 + rcx + 0x90]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c1688
sub r8, 1
jne 0x1401c165a
mov rbx, qword [rbp + 0x67]
lea edi, [rdx + 9]
mov rax, qword [rbp + 0x77]
lea r15d, [rdx + 0x10]
sub rbx, 0xfffffffffffffff0
xchg r14, r9
mov qword [rbp + 0x5f], r9
xchg r9, r14
sub qword [rsp + 0x28], 1
xchg r8, rdx
mov rdx, rsi
xchg r8, rdx
mov qword [rbp + 0x67], rbx
mov rsi, r14
xchg r14, r9
mov r14, rax
xchg r14, r9
xchg rsi, rax
mov qword [rsp + 0x20], rsi
xchg rsi, rax
jne 0x1401c1203
movzx r12d, byte [rbp + 0x6f]
mov qword [0x140217140], r8
test r12b, r12b
je 0x1401c1b68
xchg rsi, r9
mov rcx, r9
xchg r9, rsi
sub rbx, rsi
xchg r15, rdx
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 0x1401c1722
movzx eax, r12b
sub r15, rax
mov r8, r15
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
xchg r14, rsi
mov rcx, r14
xchg r14, rsi
sub r8, rsi
mov r9d, 0x24992fe7
add r9d, 0x56b96090
xor r9d, 0x7486e00a
xor r9d, 0x766fd03d
xor r9d, 0x3a18d054
xor r9d, 0x6e872f5d
sub r9d, 0x2d245f45
nop dword [rax]
nop dword [rax + rax]
mov edx, 0x7aa59a57
xor edx, 0x727b6668
add edx, 0x22c2b30c
xor edx, 0x2eca218
add edx, 0x36691086
sub edx, 0x5fb61dd5
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c17c4
sub r9, 1
jne 0x1401c1796
lea r14, [rsp + 0x50]
sub r14, rsi
nop
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea r10, [0x140000000]
mov r9d, 0x482a15e4
sub r9d, 0x5db0442
add r9d, 0x9b4a315
xor r9d, 0x1221e443
add r9d, 0xb6d58eb
sub r9d, 0x1f97376e
sub r9d, 0x49f8726d
xchg r10, rcx
mov r10, r8
xchg rcx, r10
mov edx, 0x51f26879
xor edx, 0x3a748655
xor edx, 0x3f03f744
xor edx, 0x1d307662
sub edx, 0x31adc3cd
xor edx, 0x3e70a0c5
xor edx, 0x26770bfc
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 0x1401c1866
inc r8
sub r9, 1
jne 0x1401c182c
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, 3
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 [r15 - 6], cl
xor dil, bl
shr al, 2
shr al, 4
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 [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 0x1401c18ee
mov rcx, rsi
lea r8d, [r12 + 4]
nop dword [rax + rax]
mov edx, 0x51fe3ec5
sub edx, 0xe9e6b1f
add edx, 0x22692abf
sub edx, 0x653c50e4
add edx, 0x4d085129
xor edx, 0x7410801e
sub edx, 0x229feb5
sub edx, 0x375a7ffb
nop word [rax + rax]
movzx eax, byte [r14 + rcx]
xor byte [rcx], al
inc rcx
sub rdx, 1
jne 0x1401c19fd
sub r8, 1
jne 0x1401c19c3
add r14, 0x10
sub qword [rsp + 0x30], 1
jne 0x1401c17ec
xchg r8, r12
mov r12, rsi
xchg r8, r12
lea r9d, [rdx + 4]
lea r10, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
mov rcx, r8
mov edx, 0x7b71e1b1
xor edx, 0x18e4da07
sub edx, 0x34e1147e
xor edx, 0x30186604
sub edx, 0xd938bf1
sub edx, 0x1118b547
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 0x1401c1a79
inc r8
sub r9, 1
jne 0x1401c1a4b
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, 0x4d5440bc
add ecx, 0x1eea5db
xor ecx, 0xe64a837
sub ecx, 0x4f3088b
sub ecx, 0x21270525
add ecx, 0x47c16fd9
sub ecx, 0x5220459d
sub ecx, 0x10ad6b28
nop word [rax + rax]
movzx eax, byte [rsi + rdx]
xor byte [rsi], al
inc rsi
sub rcx, 1
jne 0x1401c1b4b
sub r8, 1
jne 0x1401c1b11
add rsp, 0xf8
nop
xchg qword [rsp], r15
add rsp, 8
nop
mov r14, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
nop
mov r12, qword [rsp]
add rsp, 8
push rbx
push rax
xchg qword [rsp + 0x10], rdi
pop rax
pop rbx
add rsp, 8
push rcx
push rdx
push rcx
push rdx
push rbx
push rax
push rax
push rax
xchg qword [rsp + 0x40], rsi
add rsp, 0x48
nop
mov rbx, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], rbp
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]