Function at 0x61006470
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, 0x103
push ebx
sub esp, 0x130
call sym.init_global_security__
mov dword [esp + 8], esi
lea eax, [ebp - 0x118]
mov dword [esp + 4], eax
mov dword [esp], str.CYGWIN_TESTING
call sub.KERNEL32.dll_GetEnvironmentVariableA
sub esp, 0xc
test eax, eax
je 0x610064ad
mov byte [0x6110552d], 1
mov dword [esp], 1
mov ebx, sym.cygwin1.dll__impure_ptr
call sub.KERNEL32.dll_SetErrorMode
sub esp, 4
call sym.__Z12sigproc_initv_0
mov edx, str.lock_process
mov eax, 0x61105560
call method.muto.init_char_const_
mov dword [0x611001b0], ebx
mov edx, dword [sym.cygwin1.dll_reent_data]
lea eax, [edx + 0x2f0]
mov dword [edx + 4], eax
lea eax, [edx + 0x358]
mov dword [edx + 8], eax
lea eax, [edx + 0x3c0]
mov dword [edx + 0xc], eax
mov dword [edx + 0x34], 0x6110c17e
mov dword [sym.cygwin1.dll__impure_ptr], edx
mov dword [0x61100244], edx
call sym.mmap_init__
call sub.KERNEL32.dll_GetCurrentProcess
mov esi, eax
call sub.KERNEL32.dll_GetCurrentProcess
mov ebx, eax
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [esp], eax
xor edx, edx
mov ecx, 2
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov dword [esp + 0x14], edx
mov edx, 0x61105584
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
call sub.KERNEL32.dll_DuplicateHandle
sub esp, 0x1c
test eax, eax
je 0x61006650
call sub.KERNEL32.dll_GetCurrentThread
xor ebx, ebx
xor ecx, ecx
mov edx, 0x61105580
mov dword [esp + 0x14], ebx
mov esi, 2
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov edx, dword [0x61105584]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], edx
call sub.KERNEL32.dll_DuplicateHandle
mov eax, dword [0x611630ec]
sub esp, 0x1c
test byte [eax + 0x10], 0x20
jne 0x61006667
call method.device.init__
mov edx, 1
mov eax, 0x610fca90
call sym.__Z15do_global_ctorsPPFvvEi_8
call method.cygthread.init__
call sym.get_cygwin_startup_info__
mov dword [0x61105524], eax
test eax, eax
je 0x61006660
mov edx, dword [eax + 0x18]
movzx eax, word [eax + 0x10]
mov dword [0x61107514], edx
cmp eax, 1
jle 0x61006700
cmp eax, 2
je 0x6100670f
mov eax, dword [0x6110023c]
mov dword [esp], eax
call method.ResourceLocks.Init__
mov eax, dword [0x61100240]
mov dword [esp], eax
call method.MTinterface.Init__
call method._cygtls.init__
call sym.events_init__
call sym.__ZN8tty_list12init_sessionEv_0
mov eax, dword [0x61104ec4]
add eax, 0x188
mov dword [esp], eax
call method.cwdstuff.init__
mov eax, dword [0x611630ec]
test byte [eax + 0x10], 0x20
jne 0x610066c0
test byte [0x6110a820], 1
jne 0x61006690
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [0x61105584], eax
jmp 0x61006560
call sym.__Z11memory_initv_0
jmp 0x610065f5
mov esi, 0x6110557c
mov ebx, 0x2000000
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [0x61105584]
mov dword [esp], eax
call fcn.610fd7b0
sub esp, 0xc
jmp 0x610065ab
mov dword [esp], 0x6110a820
mov eax, str.finished_dll_crt0_0_initialization
mov dword [esp + 0xc], eax
mov eax, str.void_dll_crt0_0__
mov dword [esp + 8], eax
mov eax, 0x40
mov dword [esp + 4], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov eax, 2
mov ecx, 0x61105578
mov edx, 2
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, 0x2000000
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
mov eax, dword [0x6110557c]
mov dword [esp], eax
call fcn.610fd218
sub esp, 0x18
jmp 0x6100663f
mov eax, dword [0x61105524]
call method.child_info_spawn.handle_spawn__
jmp 0x610065f5
mov eax, dword [0x61105524]
call method.child_info_fork.handle_fork__
jmp 0x610065f5