Function at 0x18005d8e0
Capabilities:
Get system information on windows
Query environment variable
Reference absolute stream path on windows

Disassembly:
push rbx
sub rsp, 0x60
cmp qword [0x18011eb28], 0
mov qword [rsp + 0x70], rsi
je 0x18005d908
lea rdx, str.sys_page_size__0
lea rcx, str.assertion_failed:__s
call fcn.18005ef10
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x34]
mov qword [0x18011eb28], rdx
cmp rdx, 0x200
jae 0x18005d941
lea rdx, str.sys_page_size___2__LARGEALIGNMENT
lea rcx, str.assertion_failed:__s
call fcn.18005ef10
mov rdx, qword [0x18011eb28]
lea rax, [rdx - 1]
test rdx, rax
je 0x18005d95d
lea rdx, str._sys_page_size___sys_page_size___1____0
lea rcx, str.assertion_failed:__s
call fcn.18005ef10
movups xmm0, xmmword [0x18011dfb8]
lea rcx, str.G_SLICE
movups xmm1, xmmword [0x18011dfc8]
movaps xmmword [0x18011eb40], xmm0
movaps xmmword [0x18011eb50], xmm1
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov esi, 1
test rax, rax
je 0x18005d9ea
lea rcx, str.always_malloc
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], rcx
lea r8d, [rsi + 1]
lea rcx, str.debug_blocks
mov dword [rsp + 0x48], 2
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0x30]
mov rcx, rax
call sym.glib_2.0.dll_g_parse_debug_string
mov edx, dword [0x18011eb40]
test sil, al
cmovne edx, esi
test al, 2
mov eax, dword [0x18011eb48]
cmovne eax, esi
mov dword [0x18011eb40], edx
mov dword [0x18011eb48], eax
jmp 0x18005d9f0
mov edx, dword [0x18011eb40]
mov rcx, qword [0x18011eb28]
xor ebx, ebx
mov qword [0x18011eb30], rcx
mov qword [0x18011eb38], rcx
test edx, edx
je 0x18005da25
mov qword [0x18011eb78], rbx
mov qword [0x18011eb70], rbx
mov qword [0x18011eb98], rbx
jmp 0x18005db45
lea rax, [rcx - 0x30]
mov qword [rsp + 0x78], rdi
shr rax, 7
lea rdi, [rax*4]
test rdi, rdi
je 0x18005da82
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
test rax, rax
je 0x18005da59
mov rcx, qword [0x18011eb38]
jmp 0x18005da85
lea r9, str.d:_buildob_bora_15653658cayman_glibglib_srcglibgmem.c:135
mov qword [rsp + 0x20], rdi
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 0x18005da80
mov rax, rbx
mov qword [0x18011eb78], rax
lea rax, [rcx - 0x30]
shr rax, 7
lea rdi, [rax*8]
test rdi, rdi
je 0x18005dae2
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
test rax, rax
je 0x18005dabb
mov rcx, qword [0x18011eb38]
jmp 0x18005dae5
lea r9, str.d:_buildob_bora_15653658cayman_glibglib_srcglibgmem.c:135
mov qword [rsp + 0x20], rdi
lea r8, str._s:_failed_to_allocate__I64u_bytes
mov edx, 4
lea rcx, [0x18009cbc8]
call sym.glib_2.0.dll_g_log
nop
jmp 0x18005dae0
mov rax, rbx
mov qword [0x18011eb70], rax
lea rax, [rcx - 0x30]
shr rax, 7
lea rdi, [rax*8]
test rdi, rdi
je 0x18005db36
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
test rax, rax
jne 0x18005db39
lea r9, str.d:_buildob_bora_15653658cayman_glibglib_srcglibgmem.c:135
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
jmp 0x18005db34
mov rax, rbx
mov rdi, qword [rsp + 0x78]
mov qword [0x18011eb98], rax
mov dword [0x18011eb80], ebx
mov qword [0x18011eb84], 7
mov dword [0x18011eba0], ebx
call fcn.18005dca0
mov rax, qword [0x18011eb38]
mov rsi, qword [rsp + 0x70]
add rax, 0xffffffffffffffd0
shr rax, 3
cmp dword [0x18011eb40], 0
mov qword [0x18011eb60], rax
jne 0x18005db8e
cmp dword [0x18011eb44], 0
je 0x18005db95
mov qword [0x18011eb60], rbx
add rsp, 0x60
pop rbx
ret