Function at 0x42fa40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov ecx, dword [0x47d974]
mov edi, dword [esp + 0x40]
test ecx, ecx
je 0x42fb12
mov ebx, dword [0x47dda4]
test ebx, ebx
je 0x42fb8d
mov eax, dword [0x47dda8]
mov dword [esp + 0x14], eax
cmp byte [ebx], 0
mov eax, dword [esp + 0x14]
mov dword [0x47ddac], eax
jne 0x42fb20
mov ebx, dword [0x47dda0]
test ebx, ebx
je 0x42fb12
mov dword [esp + 4], 0x2f
mov dword [esp], edi
call sub.cygwin1.dll_strrchr
test eax, eax
je 0x42faab
lea edi, [eax + 1]
test ebx, ebx
je 0x42fb12
mov dword [esp + 4], 0x2e
mov dword [esp], edi
call sub.cygwin1.dll_strrchr
test eax, eax
je 0x42fb12
cmp edi, eax
je 0x42fb12
movzx edx, byte [eax + 1]
test dl, dl
je 0x42fb12
lea esi, [eax + 1]
mov eax, dword [sym.imp.cygwin1.dll___ctype_ptr__]
mov edi, dword [eax]
movzx ecx, dl
movzx eax, byte [edi + ecx + 1]
and eax, 3
cmp al, 1
jne 0x42faf8
jmp 0x42fb7e
jg 0x42fb12
mov ebx, dword [ebx]
test ebx, ebx
je 0x42fb12
cmp byte [ebx + 8], dl
jne 0x42faf0
add esi, 1
movzx edx, byte [esi]
test dl, dl
je 0x42fe10
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x42fad5
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], edi
mov dword [esp + 4], 0x2f
call sub.cygwin1.dll_strrchr
lea edx, [eax + 1]
test eax, eax
cmovne edi, edx
jmp 0x42fb51
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
lea ebx, [ebx + eax + 1]
cmp byte [ebx], 0
je 0x42fb73
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0043eb20
test eax, eax
je 0x42fb40
mov dword [0x47ddac], 0
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [0x47dda0]
jmp 0x42faa7
mov dword [esp], ecx
call sub.cygwin1.dll_tolower
mov edx, eax
jmp 0x42faf8
mov ebx, dword [0x47d8e4]
mov eax, dword [0x453300]
test ebx, ebx
je 0x42fc55
mov dword [esp], ebx
call sub.cygwin1.dll_strlen
add eax, 1
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0041a790
test eax, eax
mov dword [esp + 0x14], eax
je 0x42fe1f
mov ebp, dword [sym.imp.cygwin1.dll___ctype_ptr__]
add eax, 1
mov dword [esp + 0x40], edi
mov dword [esp + 0x10], eax
movzx eax, byte [ebx]
test al, al
je 0x42fdd6
cmp al, 0x2f
mov esi, dword [esp + 0x10]
jne 0x42fc09
jmp 0x42fc50
mov byte [esi - 1], cl
add ebx, 1
movzx eax, byte [ebx]
add esi, 1
cmp al, 0x2f
je 0x42fc30
test al, al
je 0x42fc30
movzx ecx, byte [ebx]
mov eax, dword [ebp]
mov edi, esi
movzx eax, byte [eax + ecx + 1]
and eax, 3
cmp al, 1
jne 0x42fbf5
mov dword [esp], ecx
call sub.cygwin1.dll_tolower
mov byte [esi - 1], al
jmp 0x42fbf8
mov eax, dword [esp + 0x14]
mov byte [edi], 0
mov ecx, dword [esp + 0x10]
movsx edx, byte [eax]
mov eax, 0x47dda0
call fcn.0042f900
jmp 0x42fbe0
add ebx, 1
jmp 0x42fbe0
mov dword [esp], eax
call fcn.00439420
mov dword [esp], eax
mov ebx, eax
call sub.cygwin1.dll_strlen
add eax, 2
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0041a790
test eax, eax
mov dword [esp + 0x18], eax
mov dword [0x47dda4], eax
je 0x42fe2b
mov eax, dword [0x452f0c]
mov ebp, dword [sym.imp.cygwin1.dll___ctype_ptr__]
mov dword [esp + 0x40], edi
mov dword [esp + 0x14], eax
mov dword [0x47dda8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
movzx eax, byte [ebx]
test al, al
je 0x42fdd0
mov ecx, dword [esp + 0x10]
cmp al, 0x20
lea esi, [ecx + 1]
jne 0x42fcde
jmp 0x42fd30
add ebx, 1
mov byte [esi - 1], cl
add esi, 1
test byte [ebx], 0xdf
je 0x42fd08
movzx ecx, byte [ebx]
mov eax, dword [ebp]
mov edi, esi
movzx eax, byte [eax + ecx + 1]
and eax, 3
cmp al, 1
jne 0x42fcd0
mov dword [esp], ecx
add ebx, 1
add esi, 1
call sub.cygwin1.dll_tolower
mov byte [esi - 2], al
test byte [ebx], 0xdf
jne 0x42fcde
lea esi, [edi + 1]
mov byte [edi], 0
mov eax, esi
sub eax, dword [esp + 0x10]
cmp eax, 2
mov eax, dword [esp + 0x10]
je 0x42fd40
cmp byte [eax], 0x2a
je 0x42fd80
mov dword [esp + 0x10], esi
jmp 0x42fcb3
add ebx, 1
mov esi, ecx
jmp 0x42fd22
cmp byte [eax], 0x2a
jne 0x42fd22
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
mov dword [0x47dda8], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0
mov byte [eax], 0
mov dword [0x47dda0], 0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov byte [eax], 0
jmp 0x42fa70
cmp byte [eax + 1], 0x2e
jne 0x42fd22
movzx edx, byte [eax + 2]
test dl, dl
je 0x42fd22
add eax, 2
mov dword [esp + 4], 0x45d7b8
mov byte [esp + 0x1f], dl
mov dword [esp], eax
call sub.cygwin1.dll_strpbrk
test eax, eax
movsx edx, byte [esp + 0x1f]
jne 0x42fd22
mov esi, dword [esp + 0x10]
mov eax, 0x47dda0
lea ecx, [esi + 3]
call fcn.0042f900
jmp 0x42fd22
mov edi, dword [esp + 0x40]
jmp 0x42fd70
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
mov dword [esp], eax
call fcn.0044e534
mov edx, dword [0x47d8e4]
mov eax, dword [0x453300]
test edx, edx
je 0x42fc55
test eax, eax
jns 0x42fc55
mov eax, 2
mov ebx, 0x45d78f
jmp 0x42fc6a
cmp byte [ebx + 9], 0
jne 0x42fb61
jmp 0x42fb12
mov dword [esp], str.add_nocompress_suffixes
call fcn.0041a8d0
mov dword [esp], str.set_compression
call fcn.0041a8d0
mov esi, esi
lea edi, [edi]