Function at 0x4027c0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov edi, dword [0x40602c]
mov dword [ebp - 0x18], str.exit_1
mov dword [ebp - 0x1c], 0
test edi, edi
jne 0x402aa6
lea eax, [ebp + 8]
mov edi, 0x404586
mov dword [0x406028], 0x78
mov dword [0x40602c], 1
mov dword [esp], eax
call fcn.00401a90
mov ecx, 2
mov dword [ebp - 0x10], eax
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4029f4
mov eax, dword [ebp + 8]
cmp byte [eax], 0
jne 0x402a33
mov eax, dword [0x407300]
mov eax, dword [eax + 0xc]
mov dword [0x407300], eax
call fcn.004026d0
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
xor ebx, ebx
mov dword [ebp - 0x44], 4
mov esi, dword [eax]
test esi, esi
jne 0x402874
jmp 0x40290b
cmp eax, 9
je 0x40289f
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x44]
mov ebx, dword [eax + ecx]
add edx, 4
test ebx, ebx
je 0x40290b
mov ebx, ecx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x14]
mov edi, str.timeout
mov ecx, 7
mov eax, dword [eax + ebx]
mov esi, dword [eax]
repe cmpsb byte [esi], byte es:[edi]
jne 0x402858
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + ebx]
mov eax, dword [eax]
movsx eax, byte [eax + 7]
test eax, eax
je 0x402858
cmp eax, 0x20
jne 0x402853
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + ebx]
mov edx, dword [eax]
lea eax, [edx + 7]
mov dword [ebp - 0x10], eax
movzx eax, byte [edx + 7]
cmp al, 0x20
je 0x402a68
cmp al, 9
je 0x402a68
lea eax, [ebp - 0x10]
mov dword [esp], eax
call fcn.00401a90
test eax, eax
mov ebx, eax
je 0x402a95
mov dword [esp], ebx
call fcn.004019a0
test eax, eax
mov ebx, eax
je 0x402a84
mov edx, dword [ebp - 0x10]
mov dword [0x406028], ebx
movzx eax, byte [edx]
cmp al, 0x20
je 0x402a44
cmp al, 9
je 0x402a44
test al, al
je 0x40290b
mov dword [ebp - 0x18], edx
mov dword [esp + 8], 0x407494
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [0x407490], 1
call sub.cygwin1.dll_pthread_sigmask
mov dword [esp], 0x4073c0
call sub.cygwin1.dll_setjmp
test eax, eax
jne 0x402a16
xor edi, edi
lea esi, [ebp - 0x10]
lea esi, [esi]
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4029d6
call fcn.004015c0
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
test edx, edx
je 0x402950
xor ecx, ecx
mov ebx, 4
jmp 0x402981
mov eax, dword [ebp - 0x14]
lea edx, [ebx + 4]
mov eax, dword [eax + ebx]
test eax, eax
je 0x402950
mov ecx, ebx
mov ebx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + ecx]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [esp], esi
call fcn.00401a90
mov dword [esp], eax
call fcn.004013c0
test eax, eax
je 0x402970
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], 1
test eax, eax
je 0x402950
cmp byte [eax], 0
je 0x402950
mov dword [ebp - 0x1c], 0
mov dword [esp], eax
call fcn.00401e00
test eax, eax
mov edi, eax
je 0x402950
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x402957
mov eax, edi
mov dword [0x40602c], 0
mov dword [0x406028], 0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
jmp 0x40283c
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.00401e00
mov dword [0x40602c], 0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str._garbage_after__
call fcn.004012f0
jmp 0x402827
add edx, 1
mov dword [ebp - 0x10], edx
movzx eax, byte [edx]
cmp al, 0x20
jne 0x4028fc
add edx, 1
mov dword [ebp - 0x10], edx
movzx eax, byte [edx]
cmp al, 0x20
jne 0x4028fc
jmp 0x402a44
lea eax, [edx + 8]
mov dword [ebp - 0x10], eax
movzx edx, byte [eax]
add eax, 1
cmp dl, 0x20
je 0x402a6b
cmp dl, 9
jne 0x4028c1
jmp 0x402a6b
mov dword [esp], str._invalid_argument_
call fcn.004012f0
jmp 0x4028e8
mov dword [esp], str._argument_expected_
call fcn.004012f0
jmp 0x4028d6
mov eax, dword [0x407300]
mov esi, dword [eax + 8]
mov eax, dword [0x4073a0]
mov ebx, dword [eax + 8]
call sub.cygwin1.dll___getreent
mov dword [esp + 0x10], 0x4041a7
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.script___s__line__d:_nested_expect_s_n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], 1
call sub.cygwin1.dll_exit
lea esi, [esi]