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

Disassembly:
mov qword [rsp + 0x18], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r14d, r14d
mov r12, r9
mov r13, r8
mov ebp, edx
mov rdi, rcx
mov r15d, r14d
test rcx, rcx
je 0x18001bc9b
test edx, edx
je 0x18001bc92
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov rsi, qword [rsp + 0x88]
test rsi, rsi
je 0x18001ba9e
mov qword [rsi], r14
mov edx, 2
call sym.glib_2.0.dll_g_pointer_bit_lock
lock or dword [rsp], r14d
mov rbx, qword [rdi]
and rbx, 0xfffffffffffffff8
je 0x18001bb57
mov eax, dword [rbx]
lea rdx, [rbx + 8]
lea r8, [rax - 1]
lea r8, [rax + r8*2]
lea r8, [rbx + r8*8]
cmp rdx, r8
ja 0x18001bb57
cmp dword [rdx], ebp
je 0x18001bae4
add rdx, 0x18
cmp rdx, r8
jbe 0x18001bad5
jmp 0x18001bb57
mov r15, qword [rdx + 8]
cmp r15, r13
jne 0x18001bb4e
test rsi, rsi
je 0x18001baf9
mov rax, qword [rdx + 0x10]
mov qword [rsi], rax
test r12, r12
je 0x18001bb10
mov rax, qword [rsp + 0x80]
mov qword [rdx + 0x10], rax
mov qword [rdx + 8], r12
jmp 0x18001bb4e
cmp rdx, r8
je 0x18001bb27
movups xmm0, xmmword [r8]
movups xmmword [rdx], xmm0
movsd xmm1, qword [r8 + 0x10]
movsd qword [rdx + 0x10], xmm1
add dword [rbx], 0xffffffff
jne 0x18001bb4e
prefetchw byte [rdi]
nop
lock or dword [rsp], r14d
mov rax, qword [rdi]
mov rcx, rax
and ecx, 7
lock cmpxchg qword [rdi], rcx
jne 0x18001bb30
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r15, r15
jne 0x18001bc34
test r13, r13
jne 0x18001bc34
test r12, r12
je 0x18001bc34
mov rsi, rbx
test rbx, rbx
jne 0x18001bbb8
lea ecx, [rbx + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x18001bb8e
mov dword [rax], r14d
mov dword [rax + 4], 1
jmp 0x18001bbdd
lea r9, str.d:_buildob_bora_15653658cayman_glibglib_srcglibgmem.c:105
mov qword [rsp + 0x20], 0x20
lea r8, str._s:_failed_to_allocate__I64u_bytes
mov edx, 4
lea rcx, [0x18009cbc8]
call sym.glib_2.0.dll_g_log
jmp 0x18001bbb6
mov eax, dword [rbx + 4]
cmp dword [rbx], eax
jne 0x18001bc08
add eax, eax
mov rcx, rbx
mov dword [rbx + 4], eax
dec eax
lea rdx, [rax + rax*2]
lea rdx, [rdx*8 + 0x20]
call sym.glib_2.0.dll_g_realloc
mov rbx, rax
cmp rsi, rbx
je 0x18001bc08
prefetchw byte [rdi]
nop word [rax + rax]
lock or dword [rsp], r14d
mov rax, qword [rdi]
mov rcx, rax
and ecx, 7
or rcx, rbx
lock cmpxchg qword [rdi], rcx
jne 0x18001bbf0
mov eax, dword [rbx]
lea rcx, [rax + rax*2]
mov dword [rbx + rcx*8 + 8], ebp
mov eax, dword [rbx]
lea rcx, [rax + rax*2]
mov qword [rbx + rcx*8 + 0x10], r12
mov eax, dword [rbx]
mov rcx, qword [rsp + 0x80]
inc rax
lea rax, [rax + rax*2]
mov qword [rbx + rax*8], rcx
inc dword [rbx]
lock and qword [rdi], 0xfffffffffffffffb
movabs rax, 0x2e8ba2e8ba2e8ba3
mov ecx, edi
mul rdi
shr rdx, 1
imul eax, edx, 0xb
sub ecx, eax
lea rax, [0x18011e780]
lock or dword [rsp], r14d
mov ecx, dword [rax + rcx*4]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
test ecx, ecx
je 0x18001bc75
mov rcx, rdi
call fcn.180007aa0
cmp r15, r13
sete r14b
mov eax, r14d
mov rbp, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rax, str.key_id___0
jmp 0x18001bca2
lea rax, str.datalist___NULL
lea r9, [0x1800ecfc8]
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 rbp, qword [rsp + 0x70]
xor eax, eax
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret