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 [0x6110752d], 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, 0x61107544
call method.muto.init_char_const_
mov dword [0x611021b0], 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], 0x6110e17e
mov dword [sym.cygwin1.dll__impure_ptr], edx
mov dword [0x61102244], 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, 0x61107568
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 0x61006640
call sub.KERNEL32.dll_GetCurrentThread
xor ebx, ebx
xor ecx, ecx
mov edx, 0x61107564
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 [0x61107568]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], edx
call sub.KERNEL32.dll_DuplicateHandle
mov eax, dword [0x611650ec]
sub esp, 0x1c
test byte [eax + 0x10], 0x20
jne 0x61006657
call method.device.init__
mov edx, 1
mov eax, 0x610fe6e0
call sym.__Z15do_global_ctorsPPFvvEi_8
call method.cygthread.init__
call sym.get_cygwin_startup_info__
mov dword [0x61107524], eax
test eax, eax
je 0x61006650
mov edx, dword [eax + 0x18]
movzx eax, word [eax + 0x10]
mov dword [0x61109530], edx
cmp eax, 1
jle 0x610066f0
cmp eax, 2
je 0x610066ff
mov eax, dword [0x61102240]
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 [0x61106ec4]
add eax, 0x188
mov dword [esp], eax
call method.cwdstuff.init__
mov eax, dword [0x611650ec]
test byte [eax + 0x10], 0x20
jne 0x610066b0
test byte [0x6110c854], 1
jne 0x61006680
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [0x61107568], eax
jmp 0x61006560
call sym.__Z11memory_initv_0
jmp 0x610065f1
mov esi, 0x61107560
mov ebx, 0x2000000
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [0x61107568]
mov dword [esp], eax
call fcn.610ff7b0
sub esp, 0xc
jmp 0x610065ab
mov dword [esp], 0x6110c854
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, 0x6110755c
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 [0x61107560]
mov dword [esp], eax
call fcn.610ff218
sub esp, 0x18
jmp 0x6100662e
mov eax, dword [0x61107524]
call method.child_info_spawn.handle_spawn__
jmp 0x610065f1
mov eax, dword [0x61107524]
call method.child_info_fork.handle_fork__
jmp 0x610065f1