Function at 0x14003a270
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x150
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov rbx, rdx
mov rbp, rcx
lea rax, [rcx + 0x458]
mov qword [r11 + 0x18], rax
add rcx, 0x460
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rcx, qword [rbp + 0x440]
mov rax, qword [rcx]
xor edi, edi
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], 0x80
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8d, 0x80000000
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x14003a4f5
mov dword [rsp + 0x180], edi
lea rbx, [rbp + 0x18]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003a30a
call fcn.140247060
mov qword [rbx], rdi
mov rcx, qword [rbp + 0x440]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, r14
call qword [rax + 0x68]
mov esi, eax
test eax, eax
je 0x14003a4c7
xor edx, edx
mov r8d, 0x100
lea rcx, [rsp + 0x50]
call fcn.140249b10
mov r8d, esi
lea rdx, str.CPLRM::LL___Size_:__x
lea rcx, [rsp + 0x50]
call fcn.140006bc0
mov rcx, qword [rbp + 0x450]
test rcx, rcx
je 0x14003a364
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, rsi
call fcn.140247068
mov qword [rbx], rax
mov rcx, qword [rbp + 0x440]
mov r10, qword [rcx]
mov qword [rsp + 0x28], rdi
lea rdx, [rsp + 0x180]
mov qword [rsp + 0x20], rdx
mov r9d, esi
mov r8, rax
mov rdx, r14
call qword [r10 + 0x28]
test eax, eax
je 0x14003a4aa
cmp dword [rsp + 0x180], esi
jne 0x14003a4aa
mov rdx, qword [rbx]
cmp byte [rdx], 0x3c
je 0x14003a4e0
cmp byte [rdx + 1], 0x53
je 0x14003a4e0
test esi, esi
je 0x14003a4e0
cmp esi, 0x40
jb 0x14003a479
lea eax, [rsi - 1]
add rax, rdx
cmp rdx, rbx
ja 0x14003a3e8
cmp rax, rbx
jae 0x14003a479
mov eax, esi
and eax, 0x3f
mov r8d, esi
sub r8d, eax
movdqa xmm2, xmmword [0x14028cb60]
movdqa xmm3, xmmword [str.NNNNNNNNNNNNNNNNFILEDATAMD5]
mov r9d, 0x20
nop dword [rax]
mov eax, edi
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm1, xmm2
pxor xmm1, xmm0
pxor xmm1, xmm3
movdqu xmmword [rax + rdx], xmm1
lea eax, [r9 - 0x10]
movdqu xmm0, xmmword [rax + rdx]
movdqa xmm1, xmm2
pxor xmm1, xmm0
pxor xmm1, xmm3
movdqu xmmword [rax + rdx], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rax + rdx]
pxor xmm0, xmm2
pxor xmm0, xmm3
movdqu xmmword [rax + rdx], xmm0
lea eax, [r9 + 0x10]
movdqu xmm0, xmmword [rax + rdx]
pxor xmm0, xmm2
pxor xmm0, xmm3
movdqu xmmword [rax + rdx], xmm0
add edi, 0x40
add r9d, 0x40
cmp edi, r8d
jb 0x14003a410
cmp edi, esi
jae 0x14003a4e0
mov eax, edi
sub esi, edi
mov edx, esi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbx]
xor byte [rax + rcx], 0x4e
mov rcx, qword [rbx]
xor byte [rax + rcx], 0x23
lea rax, [rax + 1]
sub rdx, 1
jne 0x14003a490
jmp 0x14003a4e0
mov rcx, qword [rbx]
call fcn.140247060
mov qword [rbx], rdi
mov rcx, qword [rbp + 0x440]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 0x38]
jmp 0x14003a4f5
mov rcx, qword [rbp + 0x450]
test rcx, rcx
je 0x14003a4e0
mov rax, qword [rcx]
lea rdx, str.CPLRM::LL___Size:_0
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x440]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + 0x38]
mov edi, 1
lea rcx, [rbp + 0x460]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
mov rbx, qword [rsp + 0x188]
add rsp, 0x150
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret