Function at 0x180080890
Capabilities:
Reference absolute stream path on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rsi
sub rsp, 0x30
mov rsi, rdx
mov rbx, rcx
test rcx, rcx
je 0x1800808af
cmp qword [rcx + 0x50], 0x3d9c66d0
je 0x1800808f1
mov eax, 0xaf66d12d
cmp qword [rcx], rax
jne 0x1800808e3
lea rdx, [rcx + 0x10]
mov r8d, 0x70
lea rcx, [0x18011ede0]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180080ad1
mov rdx, qword [rbx + 8]
mov rcx, rbx
call sym.glib_2.0.dll_g_variant_builder_init
cmp qword [rbx + 0x50], 0x3d9c66d0
jne 0x180080ad1
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 0x40], rax
jae 0x180080a9b
mov qword [rsp + 0x40], rdi
mov rdi, qword [rbx + 0x10]
test rdi, rdi
je 0x18008092d
mov rcx, rsi
call sym.glib_2.0.dll_g_variant_get_type
mov rcx, rax
mov rdx, rdi
call sym.glib_2.0.dll_g_variant_type_is_subtype_of
test eax, eax
jne 0x18008092d
lea rax, str._GVSB_builder___expected_type__g_variant_is_of_type__value__GVSB_builder___expected_type_
jmp 0x180080954
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x180080988
mov rcx, rsi
call sym.glib_2.0.dll_g_variant_get_type
mov rcx, rax
mov rdx, rdi
call sym.glib_2.0.dll_g_variant_type_is_subtype_of
test eax, eax
jne 0x180080988
lea rax, str._GVSB_builder___prev_item_type__g_variant_is_of_type__value__GVSB_builder___prev_item_type_
lea r9, [0x1800fbd98]
mov qword [rsp + 0x20], rax
lea r8, str._s:_assertion__s_failed
mov edx, 8
lea rcx, [0x18009cbc8]
call sym.glib_2.0.dll_g_log
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
mov eax, dword [rsi + 0x20]
shr eax, 1
or eax, 0xfffffffd
and dword [rbx + 0x48], eax
test byte [rbx + 0x48], 1
jne 0x1800809bb
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1800809ab
call sym.glib_2.0.dll_g_variant_type_next
mov qword [rbx + 0x10], rax
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1800809c7
call sym.glib_2.0.dll_g_variant_type_next
jmp 0x1800809c3
mov rcx, rsi
call sym.glib_2.0.dll_g_variant_get_type
mov qword [rbx + 0x18], rax
mov rax, qword [rbx + 0x38]
cmp qword [rbx + 0x40], rax
jne 0x180080a73
mov rcx, qword [rbx + 0x30]
add rax, rax
movabs rdx, 0x1fffffffffffffff
mov qword [rbx + 0x38], rax
cmp rax, rdx
jbe 0x180080a22
mov qword [rsp + 0x28], 8
lea r9, str.d:_buildob_bora_15653658cayman_glibglib_srcglibgmem.c:383
lea r8, str._s:_overflow_allocating__I64u_I64u_bytes
mov qword [rsp + 0x20], rax
mov edx, 4
lea rcx, [0x18009cbc8]
call sym.glib_2.0.dll_g_log
nop dword [rax]
jmp 0x180080a20
lea rdi, [rax*8]
test rdi, rdi
je 0x180080a62
mov rdx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
jne 0x180080a6f
lea r9, str.d:_buildob_bora_15653658cayman_glibglib_srcglibgmem.c:170
mov qword [rsp + 0x20], rdi
lea r8, str._s:_failed_to_allocate__I64u_bytes
lea edx, [rax + 4]
lea rcx, [0x18009cbc8]
call sym.glib_2.0.dll_g_log
nop
jmp 0x180080a60
test rcx, rcx
je 0x180080a6d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov qword [rbx + 0x30], rax
mov rcx, rsi
call sym.glib_2.0.dll_g_variant_ref_sink
mov rdx, qword [rbx + 0x40]
mov rcx, qword [rbx + 0x30]
mov rdi, qword [rsp + 0x40]
mov qword [rcx + rdx*8], rax
inc qword [rbx + 0x40]
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
lea rax, str.GVSB_builder___offset___GVSB_builder___max_items
lea r9, [0x1800fbd98]
mov qword [rsp + 0x20], rax
lea r8, str._s:_assertion__s_failed
mov edx, 8
lea rcx, [0x18009cbc8]
call sym.glib_2.0.dll_g_log
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rsi
ret
lea rax, str.ensure_valid_builder__builder_
jmp 0x180080aa2