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

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x38
xor r12d, r12d
mov r13, 0xffffffffffffffff
mov dword [rsp + 0x78], r13d
mov r15, rcx
mov dword [rsp + 0x70], r13d
mov ebp, r13d
mov r14d, r12d
mov esi, r12d
test rcx, rcx
je 0x18004f5f5
mov qword [rsp + 0x80], rbx
lea ecx, [r13 + 0x19]
mov qword [rsp + 0x30], rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
jne 0x18004f3d2
lea r9, str.d:_buildob_bora_15653658cayman_glibglib_srcglibgmem.c:105
mov qword [rsp + 0x20], 0x18
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 dword [rax]
jmp 0x18004f3d0
mov rax, r13
inc rax
cmp byte [r15 + rax], sil
jne 0x18004f3d5
mov dword [rbx + 4], eax
add eax, 1
mov edi, eax
mov qword [rbx + 8], r12
je 0x18004f422
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r9, rax
test rax, rax
jne 0x18004f425
lea r9, str.d:_buildob_bora_15653658cayman_glibglib_srcglibgmem.c:105
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 0x18004f420
mov r9, r12
mov qword [rbx + 0x10], r9
mov r8d, r12d
movzx eax, byte [r15]
mov r11d, 1
test al, al
je 0x18004f4f2
nop
cmp al, 0x2a
je 0x18004f48d
cmp al, 0x3f
je 0x18004f482
test esi, esi
je 0x18004f477
mov rdi, r9
mov edx, esi
mov eax, 0x3f
mov ecx, esi
rep stosb byte [rdi], al
add r9, rdx
nop dword [rax]
test ebp, ebp
mov dword [rsp + 0x70], r8d
mov eax, r8d
cmovns eax, ebp
inc r8d
mov ebp, eax
add esi, 0xffffffff
jne 0x18004f460
inc dword [rbx + 8]
mov r14d, r12d
inc dword [rbx + 0xc]
jmp 0x18004f4ac
inc dword [rbx + 8]
inc esi
add dword [rbx + 0xc], 4
jmp 0x18004f4b9
test r14d, r14d
je 0x18004f497
dec dword [rbx + 4]
jmp 0x18004f4b9
test r13d, r13d
mov dword [rsp + 0x78], r8d
mov eax, r8d
mov r14d, r11d
cmovns eax, r13d
mov r13d, eax
movzx eax, byte [r15]
mov byte [r9], al
inc r9
inc r8d
movzx eax, byte [r15 + 1]
inc r15
test al, al
jne 0x18004f440
test esi, esi
je 0x18004f4f7
mov rdi, r9
mov edx, esi
mov eax, 0x3f
mov ecx, esi
rep stosb byte [rdi], al
add r9, rdx
mov r10d, r8d
test ebp, ebp
mov eax, r8d
cmovns eax, ebp
mov ebp, eax
add esi, 0xffffffff
jne 0x18004f4e1
jmp 0x18004f4fc
mov r10d, r13d
jmp 0x18004f4fc
mov r10d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x78]
mov ecx, r13d
shr ecx, 0x1f
mov byte [r9], r12b
test ecx, ecx
jne 0x18004f513
cmp r13d, r8d
jne 0x18004f516
mov r11d, r12d
test ecx, ecx
jne 0x18004f521
mov dword [rbx + 0xc], 0xffffffff
test ebp, ebp
jns 0x18004f5a6
test r11d, r11d
jne 0x18004f5a6
mov rdi, qword [rbx + 0x10]
mov eax, dword [rbx + 4]
cmp byte [rdi], 0x2a
jne 0x18004f57e
dec eax
mov dword [rbx], 3
mov r8d, eax
lea rdx, [rdi + 1]
mov rcx, rdi
mov dword [rbx + 4], eax
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [rbx + 4]
mov rax, qword [rbx + 0x10]
mov byte [rcx + rax], r12b
mov rdi, qword [rsp + 0x30]
mov rax, rbx
mov rbx, qword [rsp + 0x80]
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
test eax, eax
je 0x18004f59a
lea edx, [rax - 1]
cmp byte [rdx + rdi], 0x2a
jne 0x18004f59a
mov dword [rbx], 2
mov dword [rbx + 4], edx
mov byte [rdx + rdi], r12b
jmp 0x18004f55f
test ecx, ecx
je 0x18004f5a6
mov dword [rbx], 4
jmp 0x18004f55f
mov eax, dword [rbx + 4]
test ecx, ecx
jne 0x18004f5b7
sub eax, r8d
dec eax
cmp eax, r13d
jmp 0x18004f5be
sub eax, r10d
dec eax
cmp eax, ebp
setg r12b
mov dword [rbx], r12d
cmp r12d, 1
jne 0x18004f55f
mov rdi, qword [rbx + 0x10]
mov edx, dword [rbx + 4]
mov rcx, rdi
call sym.glib_2.0.dll_g_utf8_strreverse
mov qword [rbx + 0x10], rax
test rdi, rdi
je 0x18004f55f
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18004f55f
lea r8, str.pattern___NULL
lea rdx, [0x1800f5100]
lea rcx, [0x18009cbc8]
call sym.glib_2.0.dll_g_return_if_fail_warning
xor eax, eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret