Function at 0x1400efd0c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
xor edx, edx
mov rsi, rcx
lea rcx, [rbp - 0x30]
lea r8d, [rdx + 0x20]
call sub.msvcrt.dll_memset
mov edi, dword [rsi + 0x30]
xor r12d, r12d
cmp dword [rsi + 8], r12d
je 0x1400efd51
mov eax, dword [rsi + 0x18]
jmp 0x1400efd54
mov eax, dword [rsi + 0x28]
mov ecx, 0x80070103
mov r15d, 0x80070216
mov r13d, 0x8007000d
cmp edi, eax
jne 0x1400efd76
mov ebx, ecx
call fcn.1400790f8
mov r13, qword [rbp + 0x48]
jmp 0x1400efde2
xor ecx, ecx
call fcn.140079118
lea r14d, [rdi + 0x10]
cmp r14d, edi
jae 0x1400efd91
mov ecx, r15d
call fcn.1400790f8
cmp r14d, edi
sbb ebx, ebx
and ebx, r15d
mov r15d, r14d
cmp r14d, edi
mov ecx, ebx
cmovb r15d, edi
call fcn.140079118
cmp r14d, edi
jae 0x1400efdb0
mov ecx, ebx
jmp 0x1400efd6b
mov ecx, dword [rsi + 8]
test ecx, ecx
je 0x1400efdbc
mov eax, dword [rsi + 0x18]
jmp 0x1400efdbf
mov eax, dword [rsi + 0x28]
cmp r15d, eax
jbe 0x1400efdcc
mov ebx, r13d
mov ecx, r13d
jmp 0x1400efd6b
test ecx, ecx
je 0x1400efdd6
mov rax, qword [rsi + 0x10]
jmp 0x1400efdda
mov rax, qword [rsi + 0x20]
lea r13, [rax + rdi]
mov dword [rbp + 0x48], r15d
mov qword [rbp - 0x38], r13
mov ecx, ebx
call fcn.140079118
test ebx, ebx
jns 0x1400efdfd
mov ecx, ebx
call fcn.1400790f8
jmp 0x1400f02db
mov eax, dword [r13 + 4]
lea rdx, [rbp - 0x3c]
or r10d, 0xffffffff
mov dword [rbp - 0x28], eax
mov r14d, 4
mov dword [rbp - 0x3c], r12d
mov edi, r10d
lea r11, [0x1403bfad0]
mov r8d, r14d
movzx eax, byte [rdx]
mov ecx, edi
shr rcx, 0x18
inc rdx
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r11 + rcx*4]
xor edi, eax
add r8d, r10d
jne 0x1400efe23
lea rdx, [r13 + 4]
mov r8d, SafeArrayGetDim
movzx eax, byte [rdx]
mov ecx, edi
shr rcx, 0x18
inc rdx
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r11 + rcx*4]
xor edi, eax
add r8d, r10d
jne 0x1400efe4f
mov eax, dword [rbp + 0x48]
not edi
mov r13d, dword [r13 + 8]
mov dword [rbp - 0x3c], eax
xor ecx, ecx
call fcn.140079118
xor ecx, ecx
call fcn.140079118
lea r15d, [r13 + 7]
cmp r15d, r13d
jae 0x1400efea4
mov ecx, 0x80070216
call fcn.1400790f8
mov r12d, dword [rbp + 0x48]
jmp 0x1400efeab
mov r12d, r15d
and r12d, 0xfffffff8
cmp r15d, r13d
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.140079118
cmp r15d, r13d
jb 0x1400efdf1
mov edx, dword [rbp + 0x48]
lea rax, [rbp + 0x48]
lea r9, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r8d, r12d
mov rcx, rsi
call fcn.1400f8b18
mov ebx, eax
test eax, eax
jns 0x1400efeee
mov ecx, eax
jmp 0x1400efdf3
mov r13d, dword [rbp + 0x48]
mov edx, 0x20
mov eax, r13d
mov dword [rbp - 0x48], edx
sub eax, dword [rbp - 0x3c]
mov dword [rbp - 0x3c], eax
lea r15d, [rax + 0x20]
cmp r15d, edx
jb 0x1400eff14
mov edx, r15d
mov dword [rbp - 0x48], edx
jmp 0x1400eff1e
mov ecx, 0x80070216
call fcn.1400790f8
cmp r15d, 0x20
mov dword [rbp - 0x44], edx
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.140079118
cmp r15d, 0x20
jb 0x1400efdf1
mov r9, qword [rbp - 0x38]
xor r10d, r10d
cmp dword [rbp - 0x3c], r10d
jbe 0x1400effaa
mov edx, dword [r9 + 8]
cmp edx, 2
jb 0x1400eff9e
test dl, 1
jne 0x1400eff9e
mov r8, qword [rbp - 0x30]
mov eax, edx
shr rax, 1
cmp word [r8 + rax*2 - 2], r10w
jne 0x1400eff9e
not edi
test edx, edx
je 0x1400eff9a
lea r11, [0x1403bfad0]
movzx eax, byte [r8]
mov ecx, edi
shr rcx, 0x18
inc r8
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r11 + rcx*4]
xor edi, eax
add edx, 0xffffffff
jne 0x1400eff77
not edi
jmp 0x1400effae
mov ecx, 0x8007000d
mov ebx, ecx
jmp 0x1400efdf3
mov qword [rbp - 0x30], r10
mov ecx, dword [r9 + 4]
mov edx, 0xfffffffd
lea eax, [rcx + 0x7ffffffe]
test edx, eax
je 0x1400effcd
cmp ecx, 1
je 0x1400efff0
lea eax, [rcx - 2]
test edx, eax
jne 0x1400eff9e
mov r14d, dword [r9 + 0xc]
mov edx, dword [rbp - 0x48]
mov dword [rbp - 0x18], r14d
lea r15d, [r14 + rdx]
cmp r15d, edx
jb 0x1400f00e4
mov edx, r15d
mov dword [rbp - 0x48], edx
jmp 0x1400f00ee
cmp dword [r9 + 0xc], r14d
jne 0x1400eff9e
cmp dword [rsi + 8], r10d
je 0x1400f0001
mov eax, dword [rsi + 0x18]
jmp 0x1400f0004
mov eax, dword [rsi + 0x28]
cmp r13d, eax
jne 0x1400f0017
mov ecx, 0x80070103
mov ebx, ecx
call fcn.1400790f8
jmp 0x1400f0092
xor ecx, ecx
call fcn.140079118
lea r15d, [r13 + 4]
cmp r15d, r13d
jae 0x1400f0034
mov ecx, 0x80070216
call fcn.1400790f8
cmp r15d, r13d
sbb ebx, ebx
mov eax, r15d
and ebx, 0x80070216
cmp r15d, r13d
mov ecx, ebx
cmovb eax, r13d
mov dword [rbp - 0x40], eax
call fcn.140079118
cmp r15d, r13d
jae 0x1400f0059
mov ecx, ebx
jmp 0x1400f0010
mov ecx, dword [rsi + 8]
test ecx, ecx
je 0x1400f0065
mov eax, dword [rsi + 0x18]
jmp 0x1400f0068
mov eax, dword [rsi + 0x28]
mov edx, dword [rbp - 0x40]
cmp edx, eax
jbe 0x1400f0076
mov ecx, 0x8007000d
jmp 0x1400f000e
test ecx, ecx
je 0x1400f0080
mov rcx, qword [rsi + 0x10]
jmp 0x1400f0084
mov rcx, qword [rsi + 0x20]
lea rax, [rcx + r13]
mov dword [rbp + 0x48], edx
mov qword [rbp - 0x20], rax
mov r13d, edx
mov ecx, ebx
call fcn.140079118
test ebx, ebx
js 0x1400efdf1
mov rax, qword [rbp - 0x20]
lea rdx, [rbp - 0x20]
not edi
lea r9, [0x1403bfad0]
mov r8d, r14d
mov ecx, dword [rax]
mov dword [rbp - 0x20], ecx
movzx eax, byte [rdx]
mov ecx, edi
shr rcx, 0x18
inc rdx
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r9 + rcx*4]
xor edi, eax
add r8d, 0xffffffff
jne 0x1400f00ba
not edi
jmp 0x1400f0224
mov ecx, 0x80070216
call fcn.1400790f8
cmp r15d, dword [rbp - 0x44]
mov dword [rbp - 0x40], edx
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.140079118
cmp r15d, dword [rbp - 0x44]
jb 0x1400efdf1
xor r15d, r15d
test r14d, r14d
je 0x1400f0183
lea rax, [rbp + 0x48]
mov r8d, r14d
lea r9, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rsi
call fcn.1400f8b18
mov ebx, eax
test eax, eax
js 0x1400efee7
mov r14d, dword [rbp - 0x18]
not edi
mov rdx, qword [rbp - 0x20]
mov r8d, r14d
mov r9, rdx
test r14d, r14d
je 0x1400f017b
lea r10, [0x1403bfad0]
movzx eax, byte [r9]
mov ecx, edi
shr rcx, 0x18
inc r9
xor rcx, rax
mov eax, edi
shl eax, 8
movzx ecx, cl
mov edi, dword [r10 + rcx*4]
xor edi, eax
add r8d, 0xffffffff
jne 0x1400f0157
mov r13d, dword [rbp + 0x48]
not edi
jmp 0x1400f018a
mov rdx, r15
mov qword [rbp - 0x20], rdx
test byte [rbp - 0x28], 2
je 0x1400f01a7
test r14d, r14d
je 0x1400f01a7
mov eax, r14d
shr rax, 1
cmp word [rdx + rax*2 - 2], r15w
jne 0x1400eff9e
xor ecx, ecx
call fcn.140079118
xor ecx, ecx
call fcn.140079118
lea eax, [r14 + 7]
mov ebx, r15d
cmp eax, r14d
jae 0x1400f01d1
mov eax, 0x80070216
mov ecx, eax
mov ebx, eax
call fcn.1400790f8
jmp 0x1400f01d8
mov r12d, eax
and r12d, 0xfffffff8
mov ecx, ebx
call fcn.140079118
test ebx, ebx
js 0x1400efdf1
mov r15d, dword [rbp - 0x48]
sub r15d, r14d
add r15d, r12d
cmp r15d, dword [rbp - 0x48]
jb 0x1400f01fd
mov dword [rbp - 0x48], r15d
jmp 0x1400f0207
mov ecx, 0x80070216
call fcn.1400790f8
cmp r15d, dword [rbp - 0x40]
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.140079118
cmp r15d, dword [rbp - 0x40]
jb 0x1400efdf1
xor ecx, ecx
call fcn.140079118
xor ecx, ecx
call fcn.140079118
lea r15d, [r14 + 7]
cmp r15d, r14d
jae 0x1400f0247
mov ecx, 0x80070216
call fcn.1400790f8
jmp 0x1400f024e
mov r12d, r15d
and r12d, 0xfffffff8
cmp r15d, r14d
sbb ebx, ebx
and ebx, 0x80070216
mov ecx, ebx
call fcn.140079118
cmp r15d, r14d
jb 0x1400efdf1
sub r12d, r14d
je 0x1400f0296
lea rax, [rbp + 0x48]
xor r9d, r9d
mov r8d, r12d
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rsi
call fcn.1400f8b18
mov ebx, eax
test eax, eax
js 0x1400efee7
mov r13d, dword [rbp + 0x48]
mov rax, qword [rbp - 0x38]
cmp edi, dword [rax]
je 0x1400f02a8
mov ebx, 0x80070017
jmp 0x1400efdf1
mov rax, qword [rbp + 0x50]
movups xmm0, xmmword [rbp - 0x30]
mov rcx, qword [rbp + 0x58]
mov dword [rsi + 0x30], r13d
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
test rcx, rcx
je 0x1400f02cd
mov eax, dword [rbp - 0x3c]
mov dword [rcx], eax
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x1400f02db
mov eax, dword [rbp - 0x48]
mov dword [rcx], eax
mov ecx, ebx
call fcn.140079118
mov eax, ebx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret