Function at 0x1005ffd0
Capabilities:
Get common file path
Get hostname
Get session user name

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x288
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x284], eax
push esi
push edi
push str.TMPDIR
call sym.glib_2.dll_g_getenv_utf8
push eax
call sym.glib_2.dll_g_strdup
add esp, 8
mov dword [0x101013e0], eax
test eax, eax
je 0x10060017
cmp byte [eax], 0
jne 0x1006002f
push eax
call dword [0x100ffd84]
add esp, 4
push 0x100ec37c
call sym.glib_2.dll_g_getenv_utf8
push eax
call sym.glib_2.dll_g_strdup
add esp, 8
mov dword [0x101013e0], eax
test eax, eax
je 0x10060042
cmp byte [eax], 0
jne 0x1006005a
push eax
call dword [0x100ffd84]
add esp, 4
push str.TEMP
call sym.glib_2.dll_g_getenv_utf8
push eax
call sym.glib_2.dll_g_strdup
add esp, 8
mov dword [0x101013e0], eax
test eax, eax
je 0x1006006d
cmp byte [eax], 0
jne 0x10060077
push eax
call dword [0x100ffd84]
add esp, 4
call fcn.1005ff10
mov dword [0x101013e0], eax
push str.HOME
call sym.glib_2.dll_g_getenv_utf8
push eax
call sym.glib_2.dll_g_strdup
add esp, 8
mov dword [0x101013c0], eax
test eax, eax
je 0x10060110
push eax
call sym.glib_2.dll_g_path_is_absolute
add esp, 4
test eax, eax
je 0x100600f3
push 4
push dword [0x101013c0]
call sym.glib_2.dll_g_file_test_utf8
add esp, 8
test eax, eax
je 0x100600f3
mov eax, dword [0x101013c0]
test eax, eax
je 0x10060110
mov esi, dword [0x100a11a8]
push 0x2f
push eax
call esi
add esp, 8
test eax, eax
je 0x100600e4
nop
push 0x2f
push dword [0x101013c0]
mov byte [eax], 0x5c
call esi
add esp, 8
test eax, eax
jne 0x100600d0
cmp dword [0x101013c0], 0
jne 0x100601a4
jmp 0x10060110
mov eax, dword [0x101013c0]
test eax, eax
je 0x10060106
push eax
call dword [0x100ffd84]
add esp, 4
mov dword [0x101013c0], 0
push str.USERPROFILE
call sym.glib_2.dll_g_getenv_utf8
add esp, 4
test eax, eax
je 0x1006013b
push str.USERPROFILE
call sym.glib_2.dll_g_getenv_utf8
push eax
call sym.glib_2.dll_g_strdup
add esp, 8
mov dword [0x101013c0], eax
jmp 0x10060140
mov eax, dword [0x101013c0]
test eax, eax
jne 0x100601a4
mov dword [esp + 8], eax
lea eax, [esp + 8]
push eax
push 0x28
xor esi, esi
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
jne 0x10060190
lea eax, [esp + 0x78]
push eax
push dword [esp + 0xc]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
je 0x10060186
push esi
push esi
push esi
lea eax, [esp + 0x84]
push 0xffffffffffffffff
push eax
call sym.glib_2.dll_g_utf16_to_utf8
add esp, 0x14
mov esi, eax
push dword [esp + 8]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [0x101013c0], esi
test esi, esi
jne 0x100601a4
call fcn.1005ff10
mov dword [0x101013c0], eax
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x7c]
push eax
mov dword [esp + 0x10], 0x101
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x100601e8
push 0
push 0
push 0
lea eax, [esp + 0x84]
push 0xffffffffffffffff
push eax
call sym.glib_2.dll_g_utf16_to_utf8
push eax
mov dword [0x101013a4], eax
call sym.glib_2.dll_g_strdup
add esp, 0x18
mov dword [0x101013f4], eax
cmp dword [0x101013a4], 0
jne 0x10060203
push str.somebody
call sym.glib_2.dll_g_strdup
add esp, 4
mov dword [0x101013a4], eax
cmp dword [0x101013f4], 0
jne 0x1006021e
push str.Unknown
call sym.glib_2.dll_g_strdup
add esp, 4
mov dword [0x101013f4], eax
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x10], 0x64
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
neg eax
sbb eax, eax
inc eax
lea edx, [esp + 0x10]
mov ecx, str.localhost
cmove ecx, edx
push ecx
call sym.glib_2.dll_g_strdup
mov esi, dword [0x101013e0]
mov dword [0x101013d0], eax
lea eax, [esp + 0x10]
push eax
call sym.glib_2.dll_g_get_charset
add esp, 8
test eax, eax
je 0x100602e7
mov ecx, esi
call fcn.1005da20
cmp byte [eax], 0
je 0x100602c4
call fcn.100223b0
call fcn.10022720
test eax, eax
je 0x100602a0
push 0x6c1
push 0
push 0
push 0
mov edx, str.Invalid_byte_sequence_in_conversion_input
mov ecx, str.glib20
call fcn.1009d260
add esp, 0x10
cmp dword [0x10101470], 0
jne 0x10060355
push str.g_convert_error
call sym.glib_2.dll_g_quark_from_static_string
add esp, 4
mov dword [0x10101470], eax
jmp 0x10060355
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100602d0
sub ecx, edx
push ecx
push esi
call sym.glib_2.dll_g_strndup
add esp, 8
mov esi, eax
jmp 0x10060357
test esi, esi
je 0x10060332
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x10060326
push 0
mov edx, 0x100e2e3c
call fcn.100144a0
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x10060355
push 0
push 0
push 0
push edi
push 0xffffffffffffffff
push esi
call sym.glib_2.dll_g_convert_with_iconv
add esp, 0x18
mov ecx, edi
mov esi, eax
call fcn.10014810
jmp 0x10060357
push str.to_codeset___NULL
push 0x365
jmp 0x1006033c
push str.str___NULL
push 0x364
push str.......glibgconvert.c
push str.file__s:_line__d:_assertion___s_failed
push 8
push str.Glib
call sym.glib_2.dll_g_log
add esp, 0x18
xor esi, esi
lea eax, [esp + 8]
mov dword [0x101013b4], esi
mov esi, dword [0x101013a4]
push eax
call sym.glib_2.dll_g_get_charset
add esp, 4
test eax, eax
je 0x100603eb
mov ecx, esi
call fcn.1005da20
cmp byte [eax], 0
je 0x100603cf
call fcn.100223b0
call fcn.10022720
test eax, eax
je 0x100603ab
push 0x6c1
push 0
push 0
push 0
mov edx, str.Invalid_byte_sequence_in_conversion_input
mov ecx, str.glib20
call fcn.1009d260
add esp, 0x10
cmp dword [0x10101470], 0
jne 0x10060459
push str.g_convert_error
call sym.glib_2.dll_g_quark_from_static_string
add esp, 4
mov dword [0x10101470], eax
jmp 0x10060459
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100603d4
sub ecx, edx
push ecx
push esi
call sym.glib_2.dll_g_strndup
add esp, 8
mov esi, eax
jmp 0x1006045b
test esi, esi
je 0x10060436
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x1006042a
push 0
mov edx, 0x100e2e3c
call fcn.100144a0
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x10060459
push 0
push 0
push 0
push edi
push 0xffffffffffffffff
push esi
call sym.glib_2.dll_g_convert_with_iconv
add esp, 0x18
mov ecx, edi
mov esi, eax
call fcn.10014810
jmp 0x1006045b
push str.to_codeset___NULL
push 0x365
jmp 0x10060440
push str.str___NULL
push 0x364
push str.......glibgconvert.c
push str.file__s:_line__d:_assertion___s_failed
push 8
push str.Glib
call sym.glib_2.dll_g_log
add esp, 0x18
xor esi, esi
lea eax, [esp + 0xc]
mov dword [0x101013d4], esi
mov esi, dword [0x101013f4]
push eax
call sym.glib_2.dll_g_get_charset
add esp, 4
test eax, eax
je 0x100604ef
mov ecx, esi
call fcn.1005da20
cmp byte [eax], 0
je 0x100604d3
call fcn.100223b0
call fcn.10022720
test eax, eax
je 0x100604af
push 0x6c1
push 0
push 0
push 0
mov edx, str.Invalid_byte_sequence_in_conversion_input
mov ecx, str.glib20
call fcn.1009d260
add esp, 0x10
cmp dword [0x10101470], 0
jne 0x1006055d
push str.g_convert_error
call sym.glib_2.dll_g_quark_from_static_string
add esp, 4
mov dword [0x10101470], eax
jmp 0x1006055d
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100604d8
sub ecx, edx
push ecx
push esi
call sym.glib_2.dll_g_strndup
add esp, 8
mov esi, eax
jmp 0x1006055f
test esi, esi
je 0x1006053a
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x1006052e
push 0
mov edx, 0x100e2e3c
call fcn.100144a0
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x1006055d
push 0
push 0
push 0
push edi
push 0xffffffffffffffff
push esi
call sym.glib_2.dll_g_convert_with_iconv
add esp, 0x18
mov ecx, edi
mov esi, eax
call fcn.10014810
jmp 0x1006055f
push str.to_codeset___NULL
push 0x365
jmp 0x10060544
push str.str___NULL
push 0x364
push str.......glibgconvert.c
push str.file__s:_line__d:_assertion___s_failed
push 8
push str.Glib
call sym.glib_2.dll_g_log
add esp, 0x18
xor esi, esi
cmp dword [0x101013b4], 0
mov dword [0x101013ec], esi
jne 0x10060580
push 0x100e3d20
call sym.glib_2.dll_g_strdup
add esp, 4
mov dword [0x101013b4], eax
cmp dword [0x101013d4], 0
jne 0x1006059b
push str.somebody
call sym.glib_2.dll_g_strdup
add esp, 4
mov dword [0x101013d4], eax
cmp dword [0x101013ec], 0
jne 0x100605b6
push str.Unknown
call sym.glib_2.dll_g_strdup
add esp, 4
mov dword [0x101013ec], eax
mov esi, dword [0x101013c0]
test esi, esi
je 0x10060721
lea eax, [esp + 8]
push eax
call sym.glib_2.dll_g_get_charset
add esp, 4
test eax, eax
je 0x1006067f
mov ecx, esi
call fcn.1005da20
cmp byte [eax], 0
je 0x1006064b
call fcn.100223b0
call fcn.10022720
test eax, eax
je 0x10060610
push 0x6c1
push 0
push 0
push 0
mov edx, str.Invalid_byte_sequence_in_conversion_input
mov ecx, str.glib20
call fcn.1009d260
add esp, 0x10
cmp dword [0x10101470], 0
jne 0x10060705
push str.g_convert_error
call sym.glib_2.dll_g_quark_from_static_string
add esp, 4
xor esi, esi
mov dword [0x10101470], eax
mov dword [0x101013b0], esi
pop edi
pop esi
mov ecx, dword [esp + 0x284]
xor ecx, esp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10060650
sub ecx, edx
push ecx
push esi
call sym.glib_2.dll_g_strndup
mov esi, eax
add esp, 8
mov dword [0x101013b0], esi
pop edi
pop esi
mov ecx, dword [esp + 0x284]
xor ecx, esp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x100606e2
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x100606d6
push 0
mov edx, 0x100e2e3c
call fcn.100144a0
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x10060705
push 0
push 0
push 0
push edi
push 0xffffffffffffffff
push esi
call sym.glib_2.dll_g_convert_with_iconv
add esp, 0x18
mov ecx, edi
mov esi, eax
call fcn.10014810
mov dword [0x101013b0], esi
pop edi
pop esi
mov ecx, dword [esp + 0x284]
xor ecx, esp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
push str.to_codeset___NULL
push 0x365
jmp 0x100606ec
push str.str___NULL
push 0x364
push str.......glibgconvert.c
push str.file__s:_line__d:_assertion___s_failed
push 8
push str.Glib
call sym.glib_2.dll_g_log
add esp, 0x18
xor esi, esi
mov dword [0x101013b0], esi
pop edi
pop esi
mov ecx, dword [esp + 0x284]
xor ecx, esp
call fcn.1009967c
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x28c]
pop edi
pop esi
xor ecx, esp
mov dword [0x101013b0], 0
call fcn.1009967c
mov esp, ebp
pop ebp
ret