Function at 0x180011090
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov eax, dword [rcx + 0x30]
mov r12, r9
mov rsi, qword [r8]
mov rbp, rdx
mov r14, rcx
test al, 1
je 0x180011552
test rdx, rdx
jne 0x1800110c9
xor eax, eax
jmp 0x180011591
mov eax, dword [rcx + 8]
xor edi, edi
mov qword [rsp + 0x58], r13
cmp eax, 0x20000000
jae 0x18001114c
lea ecx, [rax*8]
mov edx, edi
cmp ecx, 0x80
jb 0x180011140
movzx eax, cl
lea edx, [rdi + 1]
or al, 0x80
shr ecx, 7
mov byte [r9], al
cmp ecx, 0x80
jb 0x180011140
movzx eax, cl
lea edx, [rdi + 2]
or al, 0x80
shr ecx, 7
mov byte [r9 + 1], al
cmp ecx, 0x80
jb 0x180011140
movzx eax, cl
lea edx, [rdi + 3]
or al, 0x80
shr ecx, 7
mov byte [r9 + 2], al
cmp ecx, 0x80
jb 0x180011140
movzx eax, cl
mov edx, 4
or al, 0x80
mov byte [r9 + 3], al
shr ecx, 7
mov eax, edx
lea r13d, [rdx + 1]
mov byte [rax + r9], cl
jmp 0x18001115e
mov rcx, rax
mov rdx, r12
shl rcx, 3
call fcn.180010a10
mov r13, rax
or byte [r12], 2
movsxd rcx, dword [r14 + 0x10]
mov dword [rsp + 0x50], r13d
cmp ecx, 0xa
ja 0x180011182
mov eax, 0x484
bt eax, ecx
jae 0x180011182
mov edx, 4
jmp 0x18001119b
lea eax, [rcx - 5]
test eax, 0xfffffff9
jne 0x180011196
mov edx, 8
cmp ecx, 7
jne 0x18001119b
mov edx, 1
mov eax, ebp
imul eax, edx
cmp eax, 0x80
jae 0x1800111af
mov r15d, 1
jmp 0x1800111d9
cmp eax, 0x4000
jae 0x1800111be
mov r15d, 2
jmp 0x1800111d9
cmp eax, 0x200000
jae 0x1800111cd
mov r15d, 3
jmp 0x1800111d9
cmp eax, 0x10000000
sbb r15d, r15d
add r15d, 5
add r13d, r15d
mov r14d, r13d
add r14, r12
mov r10, r14
cmp ecx, 0xd
ja case.default.0x1800111ff
lea rdx, [0x180000000]
mov ecx, dword [rdx + rcx*4 + 0x115a8]
add rcx, rdx
jmp rcx
lea ebx, [rbp*4]
mov r8d, ebx
mov rdx, rsi
mov rcx, r14
call fcn.1800c1d10
add ebx, r14d
jmp 0x180011466
lea ebx, [rbp*8]
jmp 0x180011208
mov r9d, edi
mov ebx, r14d
test rbp, rbp
je 0x180011466
mov rax, rdi
nop dword [rax]
mov ecx, dword [rsi + rax*4]
mov rdx, r10
call fcn.180010950
add r10, rax
inc r9d
mov eax, r9d
mov rbx, r10
cmp rax, rbp
jb 0x180011240
jmp 0x180011466
mov r8d, edi
mov ebx, r14d
test rbp, rbp
je 0x180011466
mov rax, rdi
mov eax, dword [rsi + rax*4]
mov edx, edi
mov ecx, eax
add eax, eax
sar ecx, 0x1f
xor ecx, eax
cmp ecx, 0x80
jb 0x1800112e4
movzx eax, cl
mov edx, 1
or al, 0x80
shr ecx, 7
mov byte [r10], al
cmp ecx, 0x80
jb 0x1800112e4
movzx eax, cl
mov edx, 2
or al, 0x80
shr ecx, 7
mov byte [r10 + 1], al
cmp ecx, 0x80
jb 0x1800112e4
movzx eax, cl
mov edx, 3
or al, 0x80
shr ecx, 7
mov byte [r10 + 2], al
cmp ecx, 0x80
jb 0x1800112e4
movzx eax, cl
mov edx, 4
or al, 0x80
mov byte [r10 + 3], al
shr ecx, 7
mov eax, edx
inc r8d
mov byte [rax + r10], cl
lea ecx, [rdx + 1]
add r10, rcx
mov eax, r8d
mov rbx, r10
cmp rax, rbp
jb 0x180011273
jmp 0x180011466
mov r11d, edi
mov ebx, r14d
test rbp, rbp
je 0x180011466
mov rax, rdi
nop dword [rax]
mov rax, qword [rsi + rax*8]
mov rdx, r10
mov rcx, rax
add rax, rax
sar rcx, 0x3f
xor rcx, rax
call fcn.180010a10
add r10, rax
inc r11d
mov eax, r11d
mov rbx, r10
cmp rax, rbp
jb 0x180011320
jmp 0x180011466
mov r8d, edi
mov ebx, r14d
test rbp, rbp
je 0x180011466
mov rax, rdi
mov ecx, dword [rsi + rax*4]
mov edx, edi
cmp ecx, 0x80
jb 0x1800113c9
movzx eax, cl
mov edx, 1
or al, 0x80
shr ecx, 7
mov byte [r10], al
cmp ecx, 0x80
jb 0x1800113c9
movzx eax, cl
mov edx, 2
or al, 0x80
shr ecx, 7
mov byte [r10 + 1], al
cmp ecx, 0x80
jb 0x1800113c9
movzx eax, cl
mov edx, 3
or al, 0x80
shr ecx, 7
mov byte [r10 + 2], al
cmp ecx, 0x80
jb 0x1800113c9
movzx eax, cl
mov edx, 4
or al, 0x80
mov byte [r10 + 3], al
shr ecx, 7
mov eax, edx
inc r8d
mov byte [rax + r10], cl
lea ecx, [rdx + 1]
add r10, rcx
mov eax, r8d
mov rbx, r10
cmp rax, rbp
jb 0x180011361
jmp 0x180011466
mov r11d, edi
mov ebx, r14d
test rbp, rbp
je 0x180011466
mov rax, rdi
nop word [rax + rax]
mov rcx, qword [rsi + rax*8]
mov rdx, r10
call fcn.180010a10
add r10, rax
inc r11d
mov eax, r11d
mov rbx, r10
cmp rax, rbp
jb 0x180011400
jmp 0x180011466
mov ecx, edi
mov ebx, r14d
test rbp, rbp
je 0x180011466
mov rax, rdi
nop dword [rax]
cmp dword [rsi + rax*4], edi
setne al
inc ecx
mov byte [r10], al
inc r10
mov eax, ecx
mov rbx, r10
cmp rax, rbp
jb 0x180011430
jmp 0x180011466
mov r8d, 0x596
lea rdx, str.D:gitlab_runner_builds_a09b78ae0mobilesecproduct_SecSDK_mlcommon_matrixopen_sourceprotobuf_cprotobuf_c.c
lea rcx, [0x180121ea4]
call fcn.1800d09b4
mov ebx, r14d
sub ebx, r12d
sub ebx, r13d
cmp ebx, 0x80
jae 0x18001147b
mov ecx, 1
jmp 0x1800114a4
cmp ebx, 0x4000
jae 0x18001148a
mov ecx, 2
jmp 0x1800114a4
cmp ebx, 0x200000
jae 0x180011499
mov ecx, 3
jmp 0x1800114a4
cmp ebx, 0x10000000
sbb ecx, ecx
add ecx, 5
cmp r15d, ecx
je 0x1800114dc
lea eax, [r15 + 1]
cmp ecx, eax
je 0x1800114ca
mov r8d, 0x59c
lea rdx, str.D:gitlab_runner_builds_a09b78ae0mobilesecproduct_SecSDK_mlcommon_matrixopen_sourceprotobuf_cprotobuf_c.c
lea rcx, str.actual_length_size__length_size_min__1
call fcn.1800d09b4
mov r8d, ebx
lea rcx, [r14 + 1]
mov rdx, r14
call fcn.1800c1d10
inc r13d
mov edx, dword [rsp + 0x50]
mov ecx, ebx
add rdx, r12
cmp ebx, 0x80
jb 0x180011544
movzx eax, bl
shr ecx, 7
or al, 0x80
mov edi, 1
mov byte [rdx], al
cmp ecx, 0x80
jb 0x180011544
movzx eax, cl
mov edi, 2
or al, 0x80
shr ecx, 7
mov byte [rdx + 1], al
cmp ecx, 0x80
jb 0x180011544
movzx eax, cl
mov edi, 3
or al, 0x80
shr ecx, 7
mov byte [rdx + 2], al
cmp ecx, 0x80
jb 0x180011544
movzx eax, cl
mov edi, 4
or al, 0x80
mov byte [rdx + 3], al
shr ecx, 7
lea eax, [rbx + r13]
mov byte [rdi + rdx], cl
mov r13, qword [rsp + 0x58]
jmp 0x180011591
mov ecx, dword [rcx + 0x10]
xor edi, edi
call fcn.180010fe0
mov ebx, edi
test rbp, rbp
je 0x18001158e
mov r15d, eax
nop word [rax + rax]
lea r8, [rdi + r12]
mov rdx, rsi
mov rcx, r14
call fcn.180010b30
inc ebx
add rdi, rax
mov ecx, ebx
add rsi, r15
cmp rcx, rbp
jb 0x180011570
mov rax, rdi
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret