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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x50
mov edi, edx
mov r14, r9
mov edx, 2
mov rbp, r8
mov rbx, rcx
call sym.glib_2.0.dll_g_pointer_bit_lock
lock or dword [rsp], 0
mov r10, qword [rbx]
and r10, 0xfffffffffffffff8
test rbp, rbp
jne 0x18001b361
test r10, r10
je 0x18001b528
mov eax, dword [r10]
lea rdx, [r10 + 8]
lea rax, [rax + rax*2]
lea rax, [rax - 2]
lea rax, [r10 + rax*8]
cmp rdx, rax
ja 0x18001b528
cmp dword [rdx], edi
je 0x18001b226
add rdx, 0x18
cmp rdx, rax
jbe 0x18001b214
jmp 0x18001b528
movsd xmm1, qword [rdx + 0x10]
movsd qword [rsp + 0x40], xmm1
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x30], xmm0
cmp rdx, rax
je 0x18001b24e
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rdx + 0x10], xmm1
add dword [r10], 0xffffffff
mov rdi, qword [rsp + 0x80]
jne 0x18001b2c6
prefetchw byte [rbx]
nop
lock or dword [rsp], 0
mov rax, qword [rbx]
mov rdx, rax
and edx, 7
lock cmpxchg qword [rbx], rdx
jne 0x18001b260
mov rcx, r10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lock and qword [rbx], 0xfffffffffffffffb
mov ecx, ebx
movabs rax, 0x2e8ba2e8ba2e8ba3
mul rbx
shr rdx, 1
imul eax, edx, 0xb
sub ecx, eax
mov eax, ecx
lea rcx, [0x18011e780]
lock or dword [rsp], 0
mov eax, dword [rcx + rax*4]
test eax, eax
je 0x18001b2b7
mov rcx, rbx
call fcn.180007aa0
test rdi, rdi
je 0x18001b2ff
mov rcx, rdi
call fcn.18001afd0
jmp 0x18001b2ff
lock and qword [rbx], 0xfffffffffffffffb
mov ecx, ebx
movabs rax, 0x2e8ba2e8ba2e8ba3
mul rbx
shr rdx, 1
imul eax, edx, 0xb
sub ecx, eax
mov eax, ecx
lea rcx, [0x18011e780]
lock or dword [rsp], 0
mov eax, dword [rcx + rax*4]
test eax, eax
je 0x18001b2ff
mov rcx, rbx
call fcn.180007aa0
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x18001b357
test r14, r14
jne 0x18001b357
test rdi, rdi
je 0x18001b327
mov rax, qword [0x18011ef68]
lea rcx, [0x18011e7f8]
call qword [case.0x180005f92.0]
mov rcx, qword [rsp + 0x38]
mov rax, rbx
call qword [case.0x180005f92.0]
test rdi, rdi
je 0x18001b561
mov rax, qword [0x18011ef58]
lea rcx, [0x18011e7f8]
call qword [case.0x180005f92.0]
jmp 0x18001b561
mov rax, qword [rsp + 0x38]
jmp 0x18001b563
test r10, r10
je 0x18001b38d
mov eax, dword [r10]
lea rdx, [r10 + 8]
lea rax, [rax + rax*2]
lea rax, [rax + 1]
lea rax, [r10 + rax*8]
cmp rdx, rax
jae 0x18001b38d
nop
cmp dword [rdx], edi
je 0x18001b3c6
add rdx, 0x18
cmp rdx, rax
jb 0x18001b380
mov qword [rsp + 0x60], rsi
mov rsi, r10
test r10, r10
jne 0x18001b4b2
lea ecx, [r10 + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r10, rax
test rax, rax
je 0x18001b481
xor eax, eax
mov dword [r10 + 4], 1
mov dword [r10], eax
jmp 0x18001b4da
cmp qword [rdx + 0x10], 0
movabs rax, 0x2e8ba2e8ba2e8ba3
mov ecx, ebx
jne 0x18001b3e6
mov qword [rdx + 8], rbp
mov qword [rdx + 0x10], r14
jmp 0x18001b534
movups xmm0, xmmword [rdx]
movsd xmm1, qword [rdx + 0x10]
movups xmmword [rsp + 0x30], xmm0
mov qword [rdx + 8], rbp
movsd qword [rsp + 0x40], xmm1
mov qword [rdx + 0x10], r14
lock and qword [rbx], 0xfffffffffffffffb
mul rbx
shr rdx, 1
imul eax, edx, 0xb
sub ecx, eax
mov eax, ecx
lea rcx, [0x18011e780]
lock or dword [rsp], 0
mov eax, dword [rcx + rax*4]
test eax, eax
je 0x18001b42e
mov rcx, rbx
call fcn.180007aa0
mov rbx, qword [rsp + 0x80]
test rbx, rbx
je 0x18001b44f
mov rax, qword [0x18011ef68]
lea rcx, [0x18011e7f8]
call qword [case.0x180005f92.0]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
call qword [case.0x180005f92.0]
test rbx, rbx
je 0x18001b561
mov rax, qword [0x18011ef58]
lea rcx, [0x18011e7f8]
call qword [case.0x180005f92.0]
jmp 0x18001b561
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
nop dword [rax]
jmp 0x18001b4b0
mov eax, dword [r10 + 4]
cmp dword [r10], eax
jne 0x18001b4fa
add eax, eax
mov rcx, r10
mov dword [r10 + 4], eax
dec eax
lea rdx, [rax + rax*2]
lea rdx, [rdx*8 + 0x20]
call sym.glib_2.0.dll_g_realloc
mov r10, rax
cmp rsi, r10
je 0x18001b4fa
prefetchw byte [rbx]
lock or dword [rsp], 0
mov rax, qword [rbx]
mov rcx, rax
and ecx, 7
or rcx, r10
lock cmpxchg qword [rbx], rcx
jne 0x18001b4e2
mov eax, dword [r10]
mov rsi, qword [rsp + 0x60]
lea rcx, [rax + rax*2]
mov dword [r10 + rcx*8 + 8], edi
mov eax, dword [r10]
lea rcx, [rax + rax*2]
mov qword [r10 + rcx*8 + 0x10], rbp
mov eax, dword [r10]
inc rax
lea rax, [rax + rax*2]
mov qword [r10 + rax*8], r14
inc dword [r10]
movabs rax, 0x2e8ba2e8ba2e8ba3
mov ecx, ebx
mul rbx
shr rdx, 1
imul eax, edx, 0xb
sub ecx, eax
mov eax, ecx
lock and qword [rbx], 0xfffffffffffffffb
lea rcx, [0x18011e780]
lock or dword [rsp], 0
mov eax, dword [rcx + rax*4]
test eax, eax
je 0x18001b561
mov rcx, rbx
call fcn.180007aa0
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x50
pop r14
ret