Function at 0x140002630
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
movzx esi, byte [rcx]
mov r11d, 8
movzx r15d, byte [rcx + 1]
mov ebx, r11d
movzx ebp, byte [rcx + 2]
movzx r8d, sil
movzx r10d, byte [rcx + 3]
mov r9b, SafeArrayGetDim
xor r13b, r13b
movzx eax, r13b
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, r13b
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx r13d, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x140002671
mov r9b, 9
movzx r8d, r10b
xor r12b, r12b
mov rbx, r11
nop
movzx eax, r12b
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, r12b
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx r12d, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x1400026c0
mov r9b, 0xd
movzx r8d, bpl
xor dil, dil
mov rbx, r11
nop
movzx eax, dil
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx edi, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x140002710
mov bl, VariantTimeToDosDateTime
movzx r9d, r15b
xor r8b, r8b
mov r14, r11
nop dword [rax]
movzx eax, r8b
movzx edx, bl
xor al, r9b
movzx ecx, al
and dl, 1
movzx eax, r8b
cmove ecx, eax
movzx eax, r9b
add al, al
shr bl, 1
movzx edx, al
movzx r8d, cl
movzx ecx, r9b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r9d, al
cmovns r9d, edx
sub r14, 1
jne 0x140002760
mov rax, qword [rsp + 0x30]
xor r8b, dil
xor r8b, r12b
mov r9b, SafeArrayGetDim
xor r8b, r13b
mov rbx, r11
xor r13b, r13b
mov byte [rax], r8b
movzx r8d, r15b
nop dword [rax]
movzx eax, r13b
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, r13b
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx r13d, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x1400027c0
mov r9b, 9
movzx r8d, sil
xor r14b, r14b
mov rbx, r11
nop
movzx eax, r14b
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, r14b
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx r14d, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x140002810
mov r9b, 0xd
movzx r8d, r10b
xor dil, dil
mov rbx, r11
nop
movzx eax, dil
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx edi, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x140002860
mov bl, VariantTimeToDosDateTime
movzx r9d, bpl
xor r8b, r8b
mov r12, r11
nop dword [rax]
movzx eax, r8b
movzx edx, bl
xor al, r9b
movzx ecx, al
and dl, 1
movzx eax, r8b
cmove ecx, eax
movzx eax, r9b
add al, al
shr bl, 1
movzx edx, al
movzx r8d, cl
movzx ecx, r9b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r9d, al
cmovns r9d, edx
sub r12, 1
jne 0x1400028b0
mov rax, qword [rsp + 0x30]
xor r8b, dil
xor r8b, r14b
mov r9b, SafeArrayGetDim
xor r8b, r13b
mov rbx, r11
mov byte [rax + 1], r8b
movzx r8d, bpl
nop dword [rax + rax]
movzx eax, r12b
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, r12b
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx r12d, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x140002910
mov r9b, 9
movzx r8d, r15b
xor r14b, r14b
mov rbx, r11
nop
movzx eax, r14b
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, r14b
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx r14d, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x140002960
mov r9b, 0xd
movzx r8d, sil
xor dil, dil
mov rbx, r11
nop
movzx eax, dil
movzx edx, r9b
xor al, r8b
movzx ecx, al
and dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r8b
add al, al
shr r9b, 1
movzx edx, al
movzx edi, cl
movzx ecx, r8b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r8d, al
cmovns r8d, edx
sub rbx, 1
jne 0x1400029b0
mov bl, VariantTimeToDosDateTime
movzx r9d, r10b
xor r8b, r8b
mov r13, r11
nop dword [rax]
movzx eax, r8b
movzx edx, bl
xor al, r9b
movzx ecx, al
and dl, 1
movzx eax, r8b
cmove ecx, eax
movzx eax, r9b
add al, al
shr bl, 1
movzx edx, al
movzx r8d, cl
movzx ecx, r9b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r9d, al
cmovns r9d, edx
sub r13, 1
jne 0x140002a00
xor r8b, dil
mov r9, r11
xor r8b, r14b
mov r14, qword [rsp + 0x30]
xor r8b, r12b
xor dil, dil
mov byte [r14 + 2], r8b
mov r8b, SafeArrayGetDim
nop word [rax + rax]
movzx eax, dil
movzx edx, r8b
xor al, r10b
movzx ecx, al
and dl, 1
movzx eax, dil
cmove ecx, eax
movzx eax, r10b
add al, al
shr r8b, 1
movzx edx, al
movzx edi, cl
movzx ecx, r10b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r10d, al
cmovns r10d, edx
sub r9, 1
jne 0x140002a60
mov r8b, 9
xor bl, bl
mov r9, r11
nop dword [rax + rax]
movzx eax, bl
movzx edx, r8b
xor al, bpl
movzx ecx, al
and dl, 1
movzx eax, bl
cmove ecx, eax
movzx eax, bpl
add al, al
shr r8b, 1
movzx edx, al
movzx ebx, cl
movzx ecx, bpl
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx ebp, al
cmovns ebp, edx
sub r9, 1
jne 0x140002ab0
mov r8b, 0xd
xor r10b, r10b
mov r9, r11
nop word [rax + rax]
movzx eax, r10b
movzx edx, r8b
xor al, r15b
movzx ecx, al
and dl, 1
movzx eax, r10b
cmove ecx, eax
movzx eax, r15b
add al, al
shr r8b, 1
movzx edx, al
movzx r10d, cl
movzx ecx, r15b
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx r15d, al
cmovns r15d, edx
sub r9, 1
jne 0x140002b00
mov r9b, VariantTimeToDosDateTime
xor r8b, r8b
nop word [rax + rax]
movzx eax, r8b
movzx edx, r9b
xor al, sil
movzx ecx, al
and dl, 1
movzx eax, r8b
cmove ecx, eax
movzx eax, sil
add al, al
shr r9b, 1
movzx edx, al
movzx r8d, cl
movzx ecx, sil
movzx eax, dl
xor al, 0x1b
test cl, cl
movzx esi, al
cmovns esi, edx
sub r11, 1
jne 0x140002b50
mov rbp, qword [rsp + 0x40]
xor r8b, r10b
mov rsi, qword [rsp + 0x48]
xor r8b, bl
mov rbx, qword [rsp + 0x38]
xor r8b, dil
mov byte [r14 + 3], r8b
pop r15
pop r14
pop r13
pop r12
pop rdi
ret