Function at 0x6861e650
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x6861e830
xor ecx, ecx
mov edx, 0xffffffff
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call sym.libglib_2.0_0.dll_g_utf8_validate
test eax, eax
je 0x6861e7d2
xor eax, eax
xor edi, edi
xor esi, esi
mov ecx, 0xffffffff
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 0x10], eax
mov dword [esp + 4], ecx
mov dword [esp], ebx
call sym.libglib_2.0_0.dll_g_utf8_to_utf16
mov edx, 2
mov dword [esp + 8], edx
mov edi, eax
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov dword [esp], edi
call sym._GetEnvironmentVariableW_12
sub esp, 0xc
test eax, eax
mov esi, eax
je 0x6861e875
cmp eax, 1
je 0x6861e800
lea eax, [eax - 1]
mov dword [ebp - 0x2c], eax
mov eax, 2
mov dword [esp + 4], eax
mov dword [esp], esi
call sym.libglib_2.0_0.dll_g_malloc_n
mov dword [esp + 8], esi
mov dword [esp], edi
mov ebx, eax
mov dword [esp + 4], eax
call sym._GetEnvironmentVariableW_12
sub esp, 0xc
cmp eax, dword [ebp - 0x2c]
jne 0x6861e811
mov esi, 0x25
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym._wcschr
test eax, eax
je 0x6861e77b
mov ecx, 2
lea eax, [ebp - 0x1c]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._ExpandEnvironmentStringsW_12
sub esp, 0xc
test eax, eax
mov esi, eax
jle 0x6861e77b
mov edx, 2
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_malloc_n
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [ebp - 0x30], eax
call sym._ExpandEnvironmentStringsW_12
mov edx, dword [ebp - 0x30]
sub esp, 0xc
cmp esi, eax
je 0x6861e860
mov dword [esp], edx
call sym.libglib_2.0_0.dll_g_free
xor ecx, ecx
mov edx, 0xffffffff
xor eax, eax
xor esi, esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 0x10], eax
call sym.libglib_2.0_0.dll_g_utf16_to_utf8
mov dword [esp], edi
mov esi, eax
call sym.libglib_2.0_0.dll_g_free
mov dword [esp], ebx
call sym.libglib_2.0_0.dll_g_free
mov dword [esp], esi
call sym.libglib_2.0_0.dll_g_quark_from_string
mov dword [esp], esi
mov ebx, eax
call sym.libglib_2.0_0.dll_g_free
mov dword [esp], ebx
call sym.libglib_2.0_0.dll_g_quark_to_string
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, str.g_utf8_validate__variable___1__NULL_
mov ebx, str.g_getenv_utf8
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], 0x686993b9
call sym.libglib_2.0_0.dll_g_return_if_fail_warning
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x2c], 1
mov esi, 2
jmp 0x6861e6dc
mov dword [esp], edi
call sym.libglib_2.0_0.dll_g_free
mov dword [esp], ebx
call sym.libglib_2.0_0.dll_g_free
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, str.variable___NULL
mov edi, str.g_getenv_utf8
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0x686993b9
call sym.libglib_2.0_0.dll_g_return_if_fail_warning
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ebx
mov dword [ebp - 0x30], edx
call sym.libglib_2.0_0.dll_g_free
mov edx, dword [ebp - 0x30]
mov ebx, edx
jmp 0x6861e77b
mov dword [esp], edi
call sym.libglib_2.0_0.dll_g_free
xor eax, eax
jmp 0x6861e7f2