Function at 0x1400922c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rax, qword [rcx + 8]
xor edi, edi
mov r12, rdx
mov r15, rcx
mov r14d, edi
mov esi, edi
cmp rax, 0x40
jb 0x14009254c
mov rcx, qword [rcx]
mov edx, 0x5a4d
cmp word [rcx], dx
jne 0x14009254c
mov edx, dword [rcx + 0x3c]
add rax, 4
cmp rdx, rax
ja 0x14009254c
cmp edx, 4
jb 0x14009254c
mov qword [rsp + 0x50], rbx
lea rbx, [rcx - 4]
add rbx, rdx
add rcx, 0x40
cmp rbx, rcx
jb 0x140092352
nop
cmp dword [rbx], 0x68636952
lea rax, [rbx - 4]
je 0x140092349
mov rbx, rax
cmp rax, rcx
jae 0x140092330
jmp 0x140092547
mov esi, dword [rbx + 4]
mov r14, rbx
mov rbx, rax
movaps xmmword [rsp + 0x20], xmm6
movd xmm6, esi
pshufd xmm6, xmm6, 0
test esi, esi
je 0x140092542
cmp rbx, rcx
jb 0x140092542
mov eax, esi
xor eax, dword [rbx]
cmp eax, 0x536e6144
je 0x14009238a
sub rbx, 4
cmp rbx, rcx
jae 0x140092371
jmp 0x140092542
sub r14, rbx
mov qword [rsp + 0x58], rbp
and r14, 0xfffffffffffffffc
mov rcx, r14
call fcn.14007d0a0
mov rbp, rax
test rax, rax
je 0x14009253d
mov r8, r14
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
sub rbx, qword [r15]
lea r8, str.rich_signature.offset
mov rdx, qword [r15 + 0x20]
lea rcx, [r12 + rbx]
call fcn.14007e9d0
mov rdx, qword [r15 + 0x20]
lea r8, str.rich_signature.length
mov rcx, r14
call fcn.14007e9d0
mov rdx, qword [r15 + 0x20]
lea r8, str.rich_signature.key
mov ecx, esi
call fcn.14007e9d0
mov rcx, r14
call fcn.14007d0a0
mov rbx, rax
test rax, rax
jne 0x14009240c
mov rcx, rbp
jmp 0x140092538
mov r8, r14
mov rdx, rbp
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r14
lea rdx, [r14 + rbx]
shr rcx, 2
mov rax, rbx
cmp rbx, rdx
mov r8, rdi
cmova rcx, rdi
test rcx, rcx
je 0x140092480
cmp rcx, 0x10
jb 0x140092480
and rcx, 0xfffffffffffffff0
movdqu xmm0, xmmword [rax]
add r8, 0x10
xorps xmm0, xmm6
movdqu xmmword [rax], xmm0
movdqu xmm0, xmmword [rax + 0x10]
xorps xmm0, xmm6
movdqu xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [rax + 0x20]
xorps xmm0, xmm6
movdqu xmmword [rax + 0x20], xmm0
movdqu xmm0, xmmword [rax + 0x30]
xorps xmm0, xmm6
movdqu xmmword [rax + 0x30], xmm0
add rax, 0x40
cmp r8, rcx
jb 0x140092441
cmp rax, rdx
jae 0x140092490
xor dword [rax], esi
add rax, 4
cmp rax, rdx
jb 0x140092485
mov r8, qword [r15 + 0x20]
lea r9, str.rich_signature.raw_data
mov rdx, r14
mov rcx, rbp
call fcn.14007ea50
mov rcx, rbp
call fcn.14007d020
mov r8, qword [r15 + 0x20]
lea r9, str.rich_signature.clear_data
mov rdx, r14
mov rcx, rbx
call fcn.14007ea50
add r14, 0xfffffffffffffff0
shr r14, 3
lea rbp, [r14*4]
mov rcx, rbp
call fcn.14007d0a0
mov rsi, rax
test rax, rax
jne 0x1400924e9
mov rcx, rbx
jmp 0x140092538
test r14, r14
je 0x140092517
mov rcx, rsi
lea r8, [rbx + 0x10]
nop word [rax + rax]
mov eax, dword [r8]
lea r8, [r8 + 8]
inc edi
mov dword [rcx], eax
movsxd rax, edi
lea rcx, [rcx + 4]
cmp rax, r14
jl 0x140092500
mov r8, qword [r15 + 0x20]
lea r9, str.rich_signature.version_data
mov rdx, rbp
mov rcx, rsi
call fcn.14007ea50
mov rcx, rbx
call fcn.14007d020
mov rcx, rsi
call fcn.14007d020
mov rbp, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop r12
ret