Function at 0x1400fb808
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 0x1400fb849
mov eax, dword [rcx + 0x18]
jmp 0x1400fb84c
mov eax, dword [rcx + 0x28]
mov ecx, 0x80070103
mov r12d, 0x80070216
mov r15d, 0x8007000d
cmp ebx, eax
jne 0x1400fb86e
mov edi, ecx
call fcn.14007ac40
mov rbx, qword [rbp + 0x48]
jmp 0x1400fb8d1
mov esi, ebx
xor ecx, ecx
call fcn.14007ace8
lea eax, [rbx + 0x10]
cmp eax, ebx
jb 0x1400fb885
mov esi, eax
mov edi, r13d
jmp 0x1400fb890
mov ecx, r12d
mov edi, r12d
call fcn.14007ac40
mov ecx, edi
call fcn.14007ace8
test edi, edi
jns 0x1400fb89f
mov ecx, edi
jmp 0x1400fb863
mov ecx, dword [r14 + 8]
test ecx, ecx
je 0x1400fb8ad
mov eax, dword [r14 + 0x18]
jmp 0x1400fb8b1
mov eax, dword [r14 + 0x28]
cmp esi, eax
jbe 0x1400fb8bd
mov edi, r15d
mov ecx, r15d
jmp 0x1400fb863
test ecx, ecx
je 0x1400fb8c7
mov rax, qword [r14 + 0x10]
jmp 0x1400fb8cb
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 0x1400fb8ec
mov ecx, edi
call fcn.14007ac40
jmp 0x1400fbd69
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 0x1400fb911
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 0x1400fb936
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 0x1400fb988
mov ecx, 0x80070216
mov edi, ecx
call fcn.14007ac40
mov r12d, dword [rbp + 0x48]
jmp 0x1400fb98c
and r12d, 0xfffffff8
mov ecx, edi
call fcn.14007ace8
test edi, edi
js 0x1400fb8e0
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.140104140
mov edi, eax
test eax, eax
jns 0x1400fb9c3
mov ecx, eax
jmp 0x1400fb8e2
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 0x1400fb9e7
mov dword [rbp - 0x38], eax
xor eax, eax
mov edi, eax
jmp 0x1400fb9f5
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 0x1400fb8e0
mov rbx, qword [rbp - 0x30]
cmp dword [rbp - 0x34], r9d
jbe 0x1400fba64
mov edx, dword [rbx + 8]
cmp edx, 2
jb 0x1400fba58
test dl, 1
jne 0x1400fba58
mov r8, qword [rbp - 0x28]
mov eax, edx
shr rax, 1
cmp word [r8 + rax*2 - 2], r9w
jne 0x1400fba58
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 0x1400fba38
not esi
jmp 0x1400fba68
mov ecx, 0x8007000d
mov edi, ecx
jmp 0x1400fb8e2
mov qword [rbp - 0x28], r9
mov ecx, dword [rbx + 4]
mov edx, 0xfffffffd
lea eax, [rcx + 0x7ffffffe]
test edx, eax
je 0x1400fba86
cmp ecx, 1
je 0x1400fbaa8
lea eax, [rcx - 2]
test edx, eax
jne 0x1400fba58
mov r15d, dword [rbx + 0xc]
mov ecx, dword [rbp - 0x38]
mov dword [rbp - 0x10], r15d
lea eax, [r15 + rcx]
cmp eax, ecx
jb 0x1400fbb90
mov dword [rbp - 0x38], eax
mov edi, r9d
jmp 0x1400fbb9e
cmp dword [rbx + 0xc], r15d
jne 0x1400fba58
cmp dword [r14 + 8], r9d
je 0x1400fbaba
mov eax, dword [r14 + 0x18]
jmp 0x1400fbabe
mov eax, dword [r14 + 0x28]
cmp r13d, eax
jne 0x1400fbad1
mov ecx, 0x80070103
mov edi, ecx
call fcn.14007ac40
jmp 0x1400fbb42
mov ebx, r13d
xor ecx, ecx
call fcn.14007ace8
lea eax, [r13 + 4]
cmp eax, r13d
jb 0x1400fbaec
mov ebx, eax
xor eax, eax
mov edi, eax
jmp 0x1400fbafa
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
mov ecx, edi
call fcn.14007ace8
test edi, edi
jns 0x1400fbb09
mov ecx, edi
jmp 0x1400fbaca
mov ecx, dword [r14 + 8]
test ecx, ecx
je 0x1400fbb17
mov eax, dword [r14 + 0x18]
jmp 0x1400fbb1b
mov eax, dword [r14 + 0x28]
cmp ebx, eax
jbe 0x1400fbb26
mov ecx, 0x8007000d
jmp 0x1400fbac8
test ecx, ecx
je 0x1400fbb30
mov rcx, qword [r14 + 0x10]
jmp 0x1400fbb34
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 0x1400fb8e0
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 0x1400fbb6a
mov rbx, qword [rbp - 0x30]
not esi
jmp 0x1400fbcba
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 0x1400fb8e0
test r15d, r15d
je 0x1400fbc21
lea rax, [rbp + 0x48]
mov r8d, r15d
lea r9, [rbp - 0x18]
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, r14
call fcn.140104140
xor r10d, r10d
mov edi, eax
test eax, eax
js 0x1400fb9bc
mov r15d, dword [rbp - 0x10]
not esi
mov rdx, qword [rbp - 0x18]
mov r8d, r15d
mov r9, rdx
test r15d, r15d
je 0x1400fbc19
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 0x1400fbbf9
mov rbx, qword [rbp - 0x30]
mov r13d, dword [rbp + 0x48]
not esi
jmp 0x1400fbc28
mov rdx, r10
mov qword [rbp - 0x18], rdx
test byte [rbp - 0x20], 2
je 0x1400fbc45
test r15d, r15d
je 0x1400fbc45
mov eax, r15d
shr rax, 1
cmp word [rdx + rax*2 - 2], r10w
jne 0x1400fba58
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 0x1400fbc70
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
jmp 0x1400fbc77
mov r12d, eax
and r12d, 0xfffffff8
mov ecx, edi
call fcn.14007ace8
xor edx, edx
test edi, edi
js 0x1400fb8e0
mov eax, dword [rbp - 0x38]
sub eax, r15d
add eax, r12d
cmp eax, dword [rbp - 0x38]
jb 0x1400fbc9d
mov dword [rbp - 0x38], eax
mov edi, edx
jmp 0x1400fbcab
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
mov ecx, edi
call fcn.14007ace8
test edi, edi
js 0x1400fb8e0
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 0x1400fbce5
mov eax, 0x80070216
mov ecx, eax
mov edi, eax
call fcn.14007ac40
jmp 0x1400fbcec
mov r12d, eax
and r12d, 0xfffffff8
mov ecx, edi
call fcn.14007ace8
test edi, edi
js 0x1400fb8e0
sub r12d, r15d
je 0x1400fbd28
lea rax, [rbp + 0x48]
xor r9d, r9d
mov r8d, r12d
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, r14
call fcn.140104140
mov edi, eax
test eax, eax
js 0x1400fb9bc
mov r13d, dword [rbp + 0x48]
cmp esi, dword [rbx]
je 0x1400fbd36
mov edi, 0x80070017
jmp 0x1400fb8e0
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 0x1400fbd5b
mov eax, dword [rbp - 0x34]
mov dword [rcx], eax
mov rax, qword [rbp + 0x60]
test rax, rax
je 0x1400fbd69
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