Function at 0x68632660
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x11c
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp + 8]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], ecx
test ebx, ebx
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x58], 0xffffffff
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x60], 0xffffffff
mov dword [ebp - 0x5c], 0xffffffff
mov dword [ebp - 0x1c], 0
je 0x686326e3
mov ecx, dword [0x686a4420]
test ecx, ecx
je 0x68632d10
mov ebx, dword [edx]
test ebx, ebx
je 0x68632d49
xor ebx, ebx
nop
inc ebx
mov ecx, dword [edx + ebx*4]
lea eax, [ebx*4]
test ecx, ecx
jne 0x686326f0
mov dword [ebp - 0xe4], eax
mov eax, 4
xor edi, edi
mov dword [esp + 4], eax
lea eax, [ebx + 1]
mov dword [ebp - 0x100], edx
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_malloc_n
mov edx, dword [ebp - 0x100]
mov esi, eax
lea esi, [esi]
mov eax, dword [edx + edi*4]
mov dword [ebp - 0x100], edx
call sym._protect_argv_string
mov edx, dword [ebp - 0x100]
mov dword [esi + edi*4], eax
inc edi
cmp ebx, edi
jg 0x68632730
mov edi, dword [ebp + 0x20]
mov eax, dword [ebp - 0xe4]
test edi, edi
mov dword [esi + eax], 0
jne 0x6863276b
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x68632bc0
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x68632835
mov edx, dword [ebp + 0x2c]
lea eax, [ebp - 0x40]
call sym._make_pipe
test eax, eax
jne 0x68632835
mov eax, dword [ebp - 0x58]
cmp eax, 0xffffffff
je 0x68632799
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x54]
cmp eax, 0xffffffff
je 0x686327a9
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x60]
cmp eax, 0xffffffff
je 0x686327b9
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x5c]
cmp eax, 0xffffffff
je 0x686327c9
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x40]
cmp eax, 0xffffffff
je 0x686327d9
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x3c]
cmp eax, 0xffffffff
je 0x686327e9
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x48]
cmp eax, 0xffffffff
je 0x686327f9
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x44]
cmp eax, 0xffffffff
je 0x68632809
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x50]
cmp eax, 0xffffffff
je 0x68632819
mov dword [esp], eax
call sym._close
mov eax, dword [ebp - 0x4c]
xor edi, edi
cmp eax, 0xffffffff
je 0x6863282b
mov dword [esp], eax
call sym._close
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x6863284f
mov edx, dword [ebp + 0x2c]
lea eax, [ebp - 0x48]
call sym._make_pipe
test eax, eax
je 0x68632789
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x68632869
mov edx, dword [ebp + 0x2c]
lea eax, [ebp - 0x50]
call sym._make_pipe
test eax, eax
je 0x68632789
mov edx, dword [ebp + 0x2c]
lea eax, [ebp - 0x58]
call sym._make_pipe
test eax, eax
je 0x68632789
mov edx, dword [ebp + 0x2c]
lea eax, [ebp - 0x60]
call sym._make_pipe
test eax, eax
je 0x68632789
lea eax, [ebx + 0xb]
mov edi, 4
mov dword [esp + 4], edi
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_malloc_n
mov dword [esp], 0xfffffff5
mov dword [ebp - 0xe4], eax
call sym._GetStdHandle_4
lea edx, [ebp - 0x70]
sub esp, 4
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._GetConsoleCursorInfo_8
mov edx, str.gspawn_win32_helper.exe
sub esp, 8
test eax, eax
je 0x686328d8
mov edx, str.gspawn_win32_helper_console.exe
mov dword [ebp - 0x100], edx
call sym.__glib_get_dll_directory
mov edx, dword [ebp - 0x100]
test eax, eax
mov edi, eax
je 0x68632fc0
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_build_filename
mov dword [esp], edi
mov dword [ebp - 0xf8], eax
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0xf8]
lea edi, [ebp - 0xca]
call sym._protect_argv_string
mov edx, dword [ebp - 0xe4]
mov dword [edx], eax
mov eax, dword [ebp - 0x54]
mov edx, 0x6869e37f
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 8], eax
call sym.__g_gnulib_sprintf
mov ecx, dword [ebp - 0xe4]
xor edx, edx
mov eax, dword [ebp - 0x58]
mov dword [ecx + 4], edi
call sym._dup_noninherited
test byte [ebp + 0x10], 0x40
mov dword [ebp - 0x58], eax
jne 0x68632f3c
mov eax, dword [ebp - 0x60]
lea edi, [ebp - 0xd4]
add edi, 0x14
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, 0x6869e37f
mov dword [esp + 4], eax
call sym.__g_gnulib_sprintf
mov eax, dword [ebp - 0xe4]
mov edx, 1
mov dword [eax + 8], edi
mov eax, dword [ebp - 0x5c]
call sym._dup_noninherited
mov edi, dword [ebp + 0x1c]
test edi, edi
mov dword [ebp - 0x5c], eax
je 0x68632dd7
mov eax, dword [ebp - 0x40]
lea edi, [ebp - 0xd4]
mov ecx, 0x6869e37f
add edi, 0x1e
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 8], eax
call sym.__g_gnulib_sprintf
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0xc], edi
mov edx, dword [ebp + 0x20]
test edx, edx
je 0x68632dbb
mov eax, dword [ebp - 0x44]
lea edi, [ebp - 0xd4]
add edi, 0x28
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, 0x6869e37f
mov dword [esp + 4], eax
call sym.__g_gnulib_sprintf
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x10], edi
mov edi, dword [ebp + 0x24]
test edi, edi
je 0x68632d9f
mov eax, dword [ebp - 0x4c]
lea edi, [ebp - 0xd4]
mov ecx, 0x6869e37f
add edi, 0x32
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 8], eax
call sym.__g_gnulib_sprintf
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x14], edi
mov edx, dword [ebp - 0xec]
test edx, edx
je 0x68632a56
mov edx, dword [ebp - 0xec]
cmp byte [edx], 0
jne 0x68632df3
mov ecx, dword [ebp - 0xe4]
mov dword [esp], 0x6869e382
add ecx, 0x18
mov dword [ebp - 0xfc], ecx
call sym.libglib_2.0_0.dll_g_strdup
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x18], eax
test byte [ebp + 0x10], 1
jne 0x68632d8d
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x1c], 0x6869e386
test byte [ebp + 0x10], 4
je 0x68632d7b
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x20], 0x6869e386
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x6863316a
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x24], 0x6869e388
mov ecx, dword [ebp - 0xe4]
xor eax, eax
nop
lea esi, [esi]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4 + 0x28], edx
inc eax
cmp eax, ebx
jle 0x68632ad0
mov eax, dword [0x686577e0]
cmp eax, 0xffffffff
je 0x68632ec6
test eax, eax
jne 0x68632ee4
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x20]
lea edx, [ebp - 0x24]
lea ebx, [ebp - 0x1c]
mov dword [esp], ebx
call sym._utf8_charv_to_wcharv
test eax, eax
jne 0x68632e17
mov ebx, dword [ebp - 0x20]
cmp ebx, 6
je 0x68632f5f
mov eax, dword [ebp - 0x1c]
sub ebx, 0xa
mov edi, dword [eax + 8]
mov dword [esp], str.Invalid_string_in_argument_vector_at__d:__s
call sym.libglib_2.0_0.dll_glib_gettext
mov dword [ebp - 0x100], eax
call sym.libglib_2.0_0.dll_g_spawn_error_quark
mov edx, dword [ebp - 0x100]
mov dword [esp + 0x14], edi
mov edi, 0x13
mov dword [esp + 0x10], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym.libglib_2.0_0.dll_g_set_error
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_error_free
mov dword [esp], esi
call sym.libglib_2.0_0.dll_g_strfreev
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
mov ecx, dword [ebp - 0xe4]
mov dword [esp], ecx
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
jmp 0x68632789
mov eax, dword [ebp + 0x24]
test eax, eax
jne 0x6863276b
mov eax, dword [ebp + 0x10]
and eax, 0x38
cmp eax, 0x20
jne 0x6863276b
mov edi, dword [ebp - 0xec]
test edi, edi
je 0x68632bf3
mov ecx, dword [ebp - 0xec]
cmp byte [ecx], 0
jne 0x6863276b
test byte [ebp + 0x10], 1
je 0x6863276b
test byte [ebp + 0x10], 0x40
mov eax, dword [edx]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0xe0], esi
je 0x68632c1b
lea edx, [esi + 4]
mov dword [ebp - 0xe0], edx
lea ebx, [ebp - 0x2c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_utf8_to_utf16
test eax, eax
mov edi, eax
je 0x6863328f
mov eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x34]
mov dword [esp], ebx
call sym._utf8_charv_to_wcharv
test eax, eax
je 0x686331f3
mov eax, dword [ebp + 0xc]
xor ecx, ecx
lea edx, [ebp - 0x38]
mov dword [esp], ebx
call sym._utf8_charv_to_wcharv
test eax, eax
je 0x68633339
xor eax, eax
cmp dword [ebp - 0xf0], 0
sete al
test byte [ebp + 0x10], 4
je 0x68633310
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x686334fc
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], edx
call sym.__wspawnvpe
mov ebx, eax
mov dword [esp], edi
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_strfreev
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_strfreev
call sym.__errno
mov eax, dword [eax]
test eax, eax
jne 0x686334b0
cmp dword [ebp - 0xf0], 0
je 0x6863348b
mov ecx, dword [ebp - 0xf0]
mov edi, 1
mov dword [ecx], ebx
mov dword [esp], esi
call sym.libglib_2.0_0.dll_g_strfreev
jmp 0x6863282b
mov eax, 1
mov edi, str.passing_a_child_setup_function_to_the_g_spawn_functions_is_pointless_on_Windows_and_it_is_ignored
mov esi, 0x10
mov dword [ebp - 0x100], edx
mov dword [0x686a4420], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], 0x6869e2bd
call sym.libglib_2.0_0.dll_g_log
mov edx, dword [ebp - 0x100]
jmp 0x686326e3
mov ebx, 4
mov dword [esp + 4], ebx
xor ebx, ebx
mov dword [ebp - 0x100], edx
mov dword [esp], 1
call sym.libglib_2.0_0.dll_g_malloc_n
xor ecx, ecx
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xe4], ecx
mov esi, eax
jmp 0x6863274c
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x20], 0x6869e382
jmp 0x68632aa8
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x1c], 0x6869e382
jmp 0x68632a91
test byte [ebp + 0x10], 0x10
je 0x68632f9c
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x14], 0x6869e384
jmp 0x68632a3d
test byte [ebp + 0x10], 8
je 0x68632fae
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0x10], 0x6869e384
jmp 0x68632a08
test byte [ebp + 0x10], 0x20
je 0x68632fd3
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + 0xc], 0x6869e382
jmp 0x686329d3
mov ecx, dword [ebp - 0xe4]
mov eax, edx
add ecx, 0x18
mov dword [ebp - 0xfc], ecx
call sym._protect_argv_string
mov edx, dword [ebp - 0xe4]
mov dword [edx + 0x18], eax
jmp 0x68632a7a
mov eax, dword [ebp + 0xc]
xor ecx, ecx
lea edx, [ebp - 0x28]
mov dword [esp], ebx
call sym._utf8_charv_to_wcharv
test eax, eax
jne 0x68632fe5
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax + 8]
mov dword [esp], str.Invalid_string_in_environment:__s
call sym.libglib_2.0_0.dll_glib_gettext
mov edi, eax
call sym.libglib_2.0_0.dll_g_spawn_error_quark
mov edx, dword [ebp + 0x2c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x13
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.libglib_2.0_0.dll_g_set_error
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_error_free
mov dword [esp], esi
call sym.libglib_2.0_0.dll_g_strfreev
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
mov ecx, dword [ebp - 0xe4]
mov dword [esp], ecx
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0xf8]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_strfreev
jmp 0x68632789
mov dword [esp], 0x6869e38a
call sym._getenv
test eax, eax
je 0x6863319a
mov dword [0x686577e0], 1
mov ecx, dword [ebp - 0xf8]
mov edi, ebx
mov dword [esp], str.calling__s_with_argv:_n
mov dword [esp + 4], ecx
call sym.libglib_2.0_0.dll_g_print
add edi, 0xa
js 0x68632af2
mov dword [ebp - 0xe8], esi
xor ebx, ebx
mov esi, dword [ebp - 0xe4]
jmp 0x68632f2e
mov dword [esp + 4], ebx
inc ebx
mov dword [esp + 8], eax
mov dword [esp], str.argv__d_:__s_n
call sym.libglib_2.0_0.dll_g_print
cmp ebx, edi
jg 0x68632f54
mov eax, dword [esi + ebx*4]
test eax, eax
jne 0x68632f15
mov eax, str.NULL
jmp 0x68632f15
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov word [ebp + ecx - 0xcb], 0x23
jmp 0x68632964
mov esi, dword [ebp - 0xe8]
jmp 0x68632af2
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax + 8]
mov dword [esp], str.Invalid_working_directory:__s
call sym.libglib_2.0_0.dll_glib_gettext
mov edi, eax
call sym.libglib_2.0_0.dll_g_spawn_error_quark
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_set_error
jmp 0x68632b67
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x14], 0x6869e382
jmp 0x68632a3d
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x10], 0x6869e382
jmp 0x68632a08
mov dword [esp], edx
call sym.libglib_2.0_0.dll_g_strdup
mov dword [ebp - 0xf8], eax
jmp 0x68632913
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0xc], 0x6869e384
jmp 0x686329d3
mov edx, dword [ebp - 0xf8]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], edx
mov dword [esp + 4], 0xffffffff
call sym.libglib_2.0_0.dll_g_utf8_to_utf16
mov ecx, dword [ebp - 0xf8]
mov dword [esp], ecx
mov edi, eax
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x6863317c
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], edi
mov dword [esp], 1
mov dword [esp + 8], eax
call sym.__wspawnvpe
mov ebx, eax
call sym.__errno
mov edx, dword [eax]
mov dword [esp], edi
mov dword [ebp - 0x100], edx
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_strfreev
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_strfreev
lea eax, [ebp - 0x54]
call sym._close_and_invalidate
lea eax, [ebp - 0x60]
call sym._close_and_invalidate
lea eax, [ebp - 0x40]
call sym._close_and_invalidate
lea eax, [ebp - 0x44]
call sym._close_and_invalidate
lea eax, [ebp - 0x4c]
call sym._close_and_invalidate
mov dword [esp], esi
call sym.libglib_2.0_0.dll_g_strfreev
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_free
mov edx, dword [ebp - 0x100]
test edx, edx
jne 0x686331a9
cmp dword [ebp - 0xf0], 0
je 0x68633262
cmp dword [ebp + 0x28], 0
je 0x6863345f
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x6869e3ea
mov dword [esp], eax
call sym._write
lea eax, [ebp - 0x5c]
call sym._close_and_invalidate
cmp dword [ebp + 0x1c], 0
je 0x68633132
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp + 0x1c]
mov dword [edx], eax
cmp dword [ebp + 0x20], 0
je 0x68633140
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp + 0x20]
mov dword [ecx], eax
cmp dword [ebp + 0x24], 0
je 0x6863314e
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp + 0x24]
mov dword [edx], eax
cmp ebx, 0xffffffff
mov edi, 1
je 0x6863282b
mov dword [esp], ebx
call sym._CloseHandle_4
push esi
jmp 0x6863282b
mov eax, dword [ebp - 0xe4]
mov dword [eax + 0x24], 0x6869e382
jmp 0x68632ac3
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], edi
mov dword [esp], 1
mov dword [esp + 8], eax
call sym.__wspawnvp
mov ebx, eax
jmp 0x6863304b
mov dword [0x686577e0], 0
jmp 0x68632af2
cmp ebx, 0xffffffff
jne 0x686330e2
mov dword [esp], edx
call sym.libglib_2.0_0.dll_g_strerror
mov dword [esp], str.Failed_to_execute_helper_program___s_
mov esi, eax
call sym.libglib_2.0_0.dll_glib_gettext
mov ebx, eax
call sym.libglib_2.0_0.dll_g_spawn_error_quark
mov edx, dword [ebp + 0x2c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x13
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.libglib_2.0_0.dll_g_set_error
jmp 0x68632789
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + 8]
mov dword [ebp - 0x100], edx
mov dword [esp], str.Invalid_string_in_argument_vector_at__d:__s
call sym.libglib_2.0_0.dll_glib_gettext
mov dword [ebp - 0x104], eax
call sym.libglib_2.0_0.dll_g_spawn_error_quark
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x104]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0x13
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_set_error
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_error_free
mov dword [esp], edi
xor edi, edi
call sym.libglib_2.0_0.dll_g_free
jmp 0x68632d01
mov ecx, dword [ebp + 0x2c]
lea esi, [ebp - 0x68]
mov eax, dword [ebp - 0x58]
mov edx, esi
call sym._read_helper_report
test eax, eax
jne 0x686332d9
cmp ebx, 0xffffffff
je 0x68632789
mov dword [esp], ebx
call sym._CloseHandle_4
sub esp, 4
jmp 0x68632789
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax + 8]
mov dword [esp], str.Invalid_program_name:__s
call sym.libglib_2.0_0.dll_glib_gettext
mov ebx, eax
call sym.libglib_2.0_0.dll_g_spawn_error_quark
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x10], edi
xor edi, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x13
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.libglib_2.0_0.dll_g_set_error
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_error_free
jmp 0x68632d01
lea eax, [ebp - 0x58]
call sym._close_and_invalidate
cmp dword [ebp - 0x68], 0
jne 0x68633427
cmp dword [ebp + 0x18], 0
je 0x68633101
cmp dword [ebp - 0xf4], 0
jne 0x686333ba
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
jmp 0x68633101
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x686333a0
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], edx
call sym.__wspawnve
mov ebx, eax
jmp 0x68632cba
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + 8]
mov dword [esp], str.Invalid_string_in_environment:__s
call sym.libglib_2.0_0.dll_glib_gettext
mov dword [ebp - 0x100], eax
call sym.libglib_2.0_0.dll_g_spawn_error_quark
mov edx, dword [ebp - 0x100]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0x13
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym.libglib_2.0_0.dll_g_set_error
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_error_free
mov dword [esp], edi
xor edi, edi
call sym.libglib_2.0_0.dll_g_free
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_strfreev
jmp 0x68632d01
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], edx
call sym.__wspawnv
mov ebx, eax
jmp 0x68632cba
call sym._GetCurrentProcess_0
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], eax
call sym._DuplicateHandle_28
sub esp, 0x1c
test eax, eax
jne 0x68633101
call sym._GetLastError_0
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_win32_error_message
mov dword [esp], 0x6869e3ec
mov dword [esp + 4], eax
call sym.libglib_2.0_0.dll_g_print
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 0
jmp 0x68633101
mov eax, dword [ebp - 0x5c]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x6869e3ea
mov dword [esp], eax
call sym._write
lea eax, [ebp - 0x5c]
call sym._close_and_invalidate
mov ecx, dword [ebp + 0x2c]
mov eax, esi
mov edx, dword [ebp - 0xec]
call sym._set_child_error
jmp 0x68633276
mov dword [esp + 0x10], str.err_report___NULL
mov dword [esp + 0xc], str.do_spawn_with_pipes
mov dword [esp + 8], 0x31b
mov dword [esp + 4], str.gspawn_win32.c
mov dword [esp], 0x6869e2bd
call sym.libglib_2.0_0.dll_g_assertion_message_expr
cmp dword [ebp + 0x18], 0
setne byte [ebp - 0xd9]
je 0x68633516
cmp dword [ebp - 0xf4], 0
je 0x68633516
mov eax, dword [ebp + 0x18]
mov edi, 1
mov dword [eax], ebx
jmp 0x68632d01
cmp ebx, 0xffffffff
jne 0x68632ce7
mov dword [esp], eax
call sym.libglib_2.0_0.dll_g_strerror
mov dword [esp], str.Failed_to_execute_child_process___s_
mov edi, eax
call sym.libglib_2.0_0.dll_glib_gettext
mov ebx, eax
call sym.libglib_2.0_0.dll_g_spawn_error_quark
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x10], edi
xor edi, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x13
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.libglib_2.0_0.dll_g_set_error
jmp 0x68632d01
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 8], edx
call sym.__wspawnvp
mov ebx, eax
jmp 0x68632cba
mov dword [esp], ebx
mov edi, 1
call sym._CloseHandle_4
cmp byte [ebp - 0xd9], 0
push ebx
je 0x68632d01
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
jmp 0x68632d01