Function at 0x1400fb7f8
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, 0x68
mov ebx, dword [rcx + 0x30]
xorps xmm0, xmm0
xor r13d, r13d
mov r14, rcx
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
cmp dword [rcx + 8], r13d
je 0x1400fb839
mov eax, dword [rcx + 0x18]
jmp 0x1400fb83c
mov eax, dword [rcx + 0x28]
mov ecx, 0x80070103
mov r12d, 0x80070216
mov r15d, 0x8007000d
cmp ebx, eax
jne 0x1400fb85e
mov edi, ecx
call fcn.14007ac40
mov rbx, qword [rbp + 0x48]
jmp 0x1400fb8c1
mov esi, ebx
xor ecx, ecx
call fcn.14007ace8
lea eax, [rbx + 0x10]
cmp eax, ebx
jb 0x1400fb875
mov esi, eax
mov edi, r13d
jmp 0x1400fb880
mov ecx, r12d
mov edi, r12d
call fcn.14007ac40
mov ecx, edi
call fcn.14007ace8
test edi, edi
jns 0x1400fb88f
mov ecx, edi
jmp 0x1400fb853
mov ecx, dword [r14 + 8]
test ecx, ecx
je 0x1400fb89d
mov eax, dword [r14 + 0x18]
jmp 0x1400fb8a1
mov eax, dword [r14 + 0x28]
cmp esi, eax
jbe 0x1400fb8ad
mov edi, r15d
mov ecx, r15d
jmp 0x1400fb853
test ecx, ecx
je 0x1400fb8b7
mov rax, qword [r14 + 0x10]
jmp 0x1400fb8bb
mov rax, qword [r14 + 0x20]
add rbx, rax
mov dword [rbp + 0x48], esi
mov qword [rbp - 0x30], rbx
mov ecx, edi
call fcn.14007ace8
test edi, edi
jns 0x1400fb8dc
mov ecx, edi
call fcn.14007ac40
jmp 0x1400fbd59
mov eax, dword [rbx + 4]
lea rdx, [rbp - 0x34]
or r10d, 0xffffffff
mov dword [rbp - 0x20], eax
mov r15d, 4
mov dword [rbp - 0x34], r13d
mov esi, r10d
lea r11, [0x1403e4670]
mov r8d, r15d
movzx eax, byte [rdx]
inc rdx
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
shl esi, 8
xor esi, dword [r11 + rcx*4]
add r8d, r10d
jne 0x1400fb901
lea rdx, [rbx + 4]
mov r8d, SafeArrayGetDim
movzx eax, byte [rdx]
inc rdx
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
shl esi, 8
xor esi, dword [r11 + rcx*4]
add r8d, r10d
jne 0x1400fb926
mov eax, dword [rbp + 0x48]
not esi
mov ebx, dword [rbx + 8]
mov dword [rbp - 0x34], eax
xor ecx, ecx
call fcn.14007ace8
xor ecx, ecx
call fcn.14007ace8
lea r12d, [rbx + 7]
mov edi, r13d
cmp r12d, ebx
jae 0x1400fb978
mov ecx, 0x80070216
mov edi, ecx
call fcn.14007ac40
mov r12d, dword [rbp + 0x48]
jmp 0x1400fb97c
and r12d, 0xfffffff8
mov ecx, edi
call fcn.14007ace8
test edi, edi
js 0x1400fb8d0
mov edx, dword [rbp + 0x48]
lea rax, [rbp + 0x48]
lea r9, [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov r8d, r12d
mov rcx, r14
call fcn.140104130
mov edi, eax
test eax, eax
jns 0x1400fb9b3
mov ecx, eax
jmp 0x1400fb8d2
mov r13d, dword [rbp + 0x48]
mov ebx, 0x20
mov eax, r13d
mov dword [rbp - 0x38], ebx
sub eax, dword [rbp - 0x34]
mov dword [rbp - 0x34], eax
add eax, ebx
cmp eax, ebx
jb 0x1400fb9d7
mov dword [rbp - 0x38], eax
xor eax, eax
mov edi, eax
jmp 0x1400fb9e5
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
mov ecx, edi
call fcn.14007ace8
xor r9d, r9d
test edi, edi
js 0x1400fb8d0
mov rbx, qword [rbp - 0x30]
cmp dword [rbp - 0x34], r9d
jbe 0x1400fba54
mov edx, dword [rbx + 8]
cmp edx, 2
jb 0x1400fba48
test dl, 1
jne 0x1400fba48
mov r8, qword [rbp - 0x28]
mov eax, edx
shr rax, 1
cmp word [r8 + rax*2 - 2], r9w
jne 0x1400fba48
not esi
lea r10, [0x1403e4670]
movzx eax, byte [r8]
inc r8
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
shl esi, 8
xor esi, dword [r10 + rcx*4]
add edx, 0xffffffff
jne 0x1400fba28
not esi
jmp 0x1400fba58
mov ecx, 0x8007000d
mov edi, ecx
jmp 0x1400fb8d2
mov qword [rbp - 0x28], r9
mov ecx, dword [rbx + 4]
mov edx, 0xfffffffd
lea eax, [rcx + 0x7ffffffe]
test edx, eax
je 0x1400fba76
cmp ecx, 1
je 0x1400fba98
lea eax, [rcx - 2]
test edx, eax
jne 0x1400fba48
mov r15d, dword [rbx + 0xc]
mov ecx, dword [rbp - 0x38]
mov dword [rbp - 0x10], r15d
lea eax, [r15 + rcx]
cmp eax, ecx
jb 0x1400fbb80
mov dword [rbp - 0x38], eax
mov edi, r9d
jmp 0x1400fbb8e
cmp dword [rbx + 0xc], r15d
jne 0x1400fba48
cmp dword [r14 + 8], r9d
je 0x1400fbaaa
mov eax, dword [r14 + 0x18]
jmp 0x1400fbaae
mov eax, dword [r14 + 0x28]
cmp r13d, eax
jne 0x1400fbac1
mov ecx, 0x80070103
mov edi, ecx
call fcn.14007ac40
jmp 0x1400fbb32
mov ebx, r13d
xor ecx, ecx
call fcn.14007ace8
lea eax, [r13 + 4]
cmp eax, r13d
jb 0x1400fbadc
mov ebx, eax
xor eax, eax
mov edi, eax
jmp 0x1400fbaea
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
mov ecx, edi
call fcn.14007ace8
test edi, edi
jns 0x1400fbaf9
mov ecx, edi
jmp 0x1400fbaba
mov ecx, dword [r14 + 8]
test ecx, ecx
je 0x1400fbb07
mov eax, dword [r14 + 0x18]
jmp 0x1400fbb0b
mov eax, dword [r14 + 0x28]
cmp ebx, eax
jbe 0x1400fbb16
mov ecx, 0x8007000d
jmp 0x1400fbab8
test ecx, ecx
je 0x1400fbb20
mov rcx, qword [r14 + 0x10]
jmp 0x1400fbb24
mov rcx, qword [r14 + 0x20]
lea rax, [rcx + r13]
mov dword [rbp + 0x48], ebx
mov qword [rbp - 0x18], rax
mov r13d, ebx
mov ecx, edi
call fcn.14007ace8
test edi, edi
js 0x1400fb8d0
mov rax, qword [rbp - 0x18]
lea rdx, [rbp - 0x18]
not esi
lea rbx, [0x1403e4670]
mov r8d, r15d
mov ecx, dword [rax]
mov dword [rbp - 0x18], ecx
movzx eax, byte [rdx]
inc rdx
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
shl esi, 8
xor esi, dword [rbx + rcx*4]
add r8d, 0xffffffff
jne 0x1400fbb5a
mov rbx, qword [rbp - 0x30]
not esi
jmp 0x1400fbcaa
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
mov ecx, edi
call fcn.14007ace8
xor r10d, r10d
test edi, edi
js 0x1400fb8d0
test r15d, r15d
je 0x1400fbc11
lea rax, [rbp + 0x48]
mov r8d, r15d
lea r9, [rbp - 0x18]
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, r14
call fcn.140104130
xor r10d, r10d
mov edi, eax
test eax, eax
js 0x1400fb9ac
mov r15d, dword [rbp - 0x10]
not esi
mov rdx, qword [rbp - 0x18]
mov r8d, r15d
mov r9, rdx
test r15d, r15d
je 0x1400fbc09
lea rbx, [0x1403e4670]
movzx eax, byte [r9]
inc r9
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
shl esi, 8
xor esi, dword [rbx + rcx*4]
add r8d, 0xffffffff
jne 0x1400fbbe9
mov rbx, qword [rbp - 0x30]
mov r13d, dword [rbp + 0x48]
not esi
jmp 0x1400fbc18
mov rdx, r10
mov qword [rbp - 0x18], rdx
test byte [rbp - 0x20], 2
je 0x1400fbc35
test r15d, r15d
je 0x1400fbc35
mov eax, r15d
shr rax, 1
cmp word [rdx + rax*2 - 2], r10w
jne 0x1400fba48
xor ecx, ecx
call fcn.14007ace8
xor ecx, ecx
call fcn.14007ace8
xor eax, eax
mov edi, eax
lea eax, [r15 + 7]
cmp eax, r15d
jae 0x1400fbc60
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
jmp 0x1400fbc67
mov r12d, eax
and r12d, 0xfffffff8
mov ecx, edi
call fcn.14007ace8
xor edx, edx
test edi, edi
js 0x1400fb8d0
mov eax, dword [rbp - 0x38]
sub eax, r15d
add eax, r12d
cmp eax, dword [rbp - 0x38]
jb 0x1400fbc8d
mov dword [rbp - 0x38], eax
mov edi, edx
jmp 0x1400fbc9b
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
mov ecx, edi
call fcn.14007ace8
test edi, edi
js 0x1400fb8d0
xor ecx, ecx
call fcn.14007ace8
xor ecx, ecx
call fcn.14007ace8
xor eax, eax
mov edi, eax
lea eax, [r15 + 7]
cmp eax, r15d
jae 0x1400fbcd5
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
jmp 0x1400fbcdc
mov r12d, eax
and r12d, 0xfffffff8
mov ecx, edi
call fcn.14007ace8
test edi, edi
js 0x1400fb8d0
sub r12d, r15d
je 0x1400fbd18
lea rax, [rbp + 0x48]
xor r9d, r9d
mov r8d, r12d
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, r14
call fcn.140104130
mov edi, eax
test eax, eax
js 0x1400fb9ac
mov r13d, dword [rbp + 0x48]
cmp esi, dword [rbx]
je 0x1400fbd26
mov edi, 0x80070017
jmp 0x1400fb8d0
mov rax, qword [rbp + 0x50]
movups xmm0, xmmword [rbp - 0x28]
mov rcx, qword [rbp + 0x58]
mov dword [r14 + 0x30], r13d
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
test rcx, rcx
je 0x1400fbd4b
mov eax, dword [rbp - 0x34]
mov dword [rcx], eax
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x1400fbd59
mov ecx, dword [rbp - 0x38]
mov dword [rax], ecx
mov ecx, edi
call fcn.14007ace8
mov eax, edi
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret