Function at 0x404fc0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 1
mov eax, dword [edx]
lea edi, [edx + 4]
sub esi, 1
test esi, esi
mov dword [0x40a028], eax
jle 0x405557
mov eax, dword [edx + 4]
cmp byte [eax], 0x2d
jne 0x40540e
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 1
movzx edx, byte [eax + 1]
lea ebx, [eax + 1]
test dl, dl
jne 0x405041
jmp 0x405090
movsx eax, dl
mov dword [esp + 4], eax
mov dword [esp], str.unknown_option___c_n
call fcn.00401ee0
add dword [ebp - 0x18], 1
add ebx, 1
movzx edx, byte [ebx]
test dl, dl
je 0x405090
lea eax, [edx - 0x34]
cmp al, 0x43
ja case.0x40504b.2
movzx eax, al
jmp dword [eax*4 + 0x4082d4]
mov dword [0x40a03c], 1
cmp esi, 1
je 0x405320
add edi, 4
add ebx, 1
mov eax, dword [edi]
sub esi, 1
mov dword [0x40a034], 1
mov dword [esp], eax
call fcn.004042f0
mov word [0x40a038], ax
movzx edx, byte [ebx]
test dl, dl
jne 0x405041
nop
add edi, 4
sub esi, 1
je 0x4050a3
mov eax, dword [edi]
cmp byte [eax], 0x2d
je 0x405013
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x405557
mov eax, dword [0x40a040]
mov dword [esp], str.relay_method___s___d__n
mov dword [esp + 8], eax
mov eax, dword [eax*4 + 0x407040]
mov dword [esp + 4], eax
call fcn.004020e0
cmp dword [0x40a040], 1
je 0x405156
mov eax, dword [0x40a044]
mov dword [esp], str.relay_host_s_n
mov dword [esp + 4], eax
call fcn.004020e0
movzx eax, word [0x40a048]
mov dword [esp], str.relay_port_d_n
mov dword [esp + 4], eax
call fcn.004020e0
mov eax, dword [0x40a04c]
mov dword [esp], str.relay_user_s_n
mov dword [esp + 4], eax
call fcn.004020e0
cmp dword [0x40a040], 2
jne 0x405156
mov eax, dword [0x4070f8]
mov dword [esp], str.socks_version_d_n
mov dword [esp + 4], eax
call fcn.004020e0
mov eax, dword [0x40a058]
mov dword [esp], str.socks_resolve_s___d__n
mov dword [esp + 8], eax
mov eax, dword [eax*4 + 0x4070e8]
mov dword [esp + 4], eax
call fcn.004020e0
mov eax, dword [0x40a034]
mov dword [esp], str.local_type_s_n
mov eax, dword [eax*4 + 0x407034]
mov dword [esp + 4], eax
call fcn.004020e0
cmp dword [0x40a034], 1
je 0x4054b3
mov eax, dword [0x40a050]
mov dword [esp], str.dest_host_s_n
mov dword [esp + 4], eax
call fcn.004020e0
movzx eax, word [0x40a054]
mov dword [esp], str.dest_port_d_n
mov dword [esp + 4], eax
call fcn.004020e0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x4055d0
add esp, 0x1c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
cmp esi, 1
je 0x4053f1
add edi, 4
sub esi, 1
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 3
jmp 0x405037
cmp esi, 1
je 0x40537d
add edi, 4
sub esi, 1
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 4
jmp 0x405037
cmp esi, 1
je 0x40539a
add edi, 4
sub esi, 1
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 2
jmp 0x405037
mov dword [ebp - 0x10], 1
jmp 0x405037
cmp esi, 1
je 0x405360
add edi, 4
sub esi, 1
mov eax, dword [edi]
mov dword [esp], eax
call sub.cygwin1.dll_atoi
mov dword [0x40a030], eax
jmp 0x405037
mov dword [0x4070f8], 5
jmp 0x405037
mov dword [0x4070f8], 4
jmp 0x405037
mov ebx, dword [str.1.101]
mov esi, dword [str.connect_____simple_relaying_command_via_proxy.]
call sub.cygwin1.dll___getreent
mov dword [esp + 4], str._s_nVersion__s_n
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], 0
call sub.cygwin1.dll_exit
lea esi, [esi]
cmp esi, 1
je 0x405340
add edi, 4
sub esi, 1
mov eax, dword [edi]
mov dword [esp], eax
call fcn.00401b30
mov dword [0x40a058], eax
jmp 0x405037
cmp esi, 1
je 0x4053b7
add edi, 4
sub esi, 1
mov eax, dword [edi]
mov dword [str.telnet__h__p], eax
jmp 0x405037
cmp esi, 1
je 0x4053d4
add edi, 4
sub esi, 1
mov eax, dword [edi]
mov dword [0x40a05c], eax
jmp 0x405037
add dword [0x40a02c], 1
jmp 0x405037
movsx eax, byte [ebx]
mov dword [esp], str.option___c_needs_argument._n
mov dword [esp + 4], eax
call fcn.00401ee0
add dword [ebp - 0x18], 1
jmp 0x405037
mov dword [esp + 4], 0x52
mov dword [esp], str.option___c_needs_argument._n
call fcn.00401ee0
add dword [ebp - 0x18], 1
jmp 0x405037
mov dword [esp + 4], 0x77
mov dword [esp], str.option___c_needs_argument._n
call fcn.00401ee0
add dword [ebp - 0x18], 1
jmp 0x405037
mov dword [esp + 4], 0x54
mov dword [esp], str.option___c_needs_argument._n
call fcn.00401ee0
add dword [ebp - 0x18], 1
jmp 0x405037
mov dword [esp + 4], 0x53
mov dword [esp], str.option___c_needs_argument._n
call fcn.00401ee0
add dword [ebp - 0x18], 1
jmp 0x405037
mov dword [esp + 4], 0x63
mov dword [esp], str.option__c_needs_argument._n
call fcn.00401ee0
add dword [ebp - 0x18], 1
jmp 0x405037
mov dword [esp + 4], 0x61
mov dword [esp], str.option___c_needs_argument._n
call fcn.00401ee0
add dword [ebp - 0x18], 1
jmp 0x405037
mov dword [esp + 4], 0x48
mov dword [esp], str.option___c_needs_argument._n
call fcn.00401ee0
add dword [ebp - 0x18], 1
jmp 0x405037
mov dword [esp + 4], 0
mov dword [esp], 1
call fcn.00404ca0
mov eax, dword [edi]
mov ebx, dword [0x40a028]
mov dword [esp + 4], 0x2f
mov dword [0x40a050], eax
mov dword [esp], ebx
call sub.cygwin1.dll_strrchr
test eax, eax
je 0x405600
lea ebx, [eax + 1]
movzx eax, word [0x40a054]
test ax, ax
jne 0x405494
sub esi, 1
jle 0x405507
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.004042f0
mov word [0x40a054], ax
movzx eax, word [0x40a054]
test ax, ax
jne 0x405494
mov dword [esp], str.You_must_specify_the_destination_port_correctly._n
call fcn.00401ee0
mov dword [ebp - 0x18], 1
jmp 0x4050ae
cmp dword [0x40a040], 1
je 0x4054a7
cmp word [0x40a048], 0
je 0x4054e8
mov dword [ebp - 0x18], 0
jmp 0x4050ae
movzx eax, word [0x40a038]
mov dword [esp], str.local_port_d_n
mov dword [esp + 4], eax
call fcn.004020e0
mov eax, dword [0x40a03c]
test eax, eax
je 0x40517f
mov dword [esp], str.__with_holding_remote_session._n
call fcn.004020e0
jmp 0x40517f
movzx eax, ax
mov dword [esp + 4], eax
mov dword [esp], str.Invalid_relay_port:__d_n
call fcn.00401ee0
mov dword [ebp - 0x18], 1
jmp 0x4050ae
mov edi, str.connect_
mov ecx, 8
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40547c
lea eax, [ebx + 8]
mov dword [esp], eax
call sub.cygwin1.dll_strdup
mov dword [esp + 4], 0x4081bb
mov dword [esp], eax
mov ebx, eax
call sub.cygwin1.dll_strcspn
mov byte [ebx + eax], 0
mov dword [esp], ebx
call fcn.004042f0
mov dword [esp], ebx
mov word [0x40a054], ax
call sub.cygwin1.dll_free
jmp 0x405470
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.00404ca0
test esi, esi
jne 0x405422
mov ebx, dword [str.1.101]
mov esi, dword [str.connect_____simple_relaying_command_via_proxy.]
call sub.cygwin1.dll___getreent
mov dword [esp + 4], str._s_nVersion__s_n
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov ebx, dword [0x40a028]
call sub.cygwin1.dll___getreent
mov edx, dword [str.usage:__s___dnhst45____p_local_port___R_resolve____w_timeout___n____________H_proxy_server_:port_____S__user__socks_server_:port____n____________T_proxy_server_:port___n____________c_telnet_proxy_command__n__________host_port_n]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], 0
call sub.cygwin1.dll_exit
lea esi, [esi]
mov ebx, dword [0x40a028]
call sub.cygwin1.dll___getreent
mov edx, dword [str.usage:__s___dnhst45____p_local_port___R_resolve____w_timeout___n____________H_proxy_server_:port_____S__user__socks_server_:port____n____________T_proxy_server_:port___n____________c_telnet_proxy_command__n__________host_port_n]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], 1
call sub.cygwin1.dll_exit
mov dword [esp + 4], 0x5c
mov dword [esp], ebx
call sub.cygwin1.dll_strchr
test eax, eax
jne 0x405447
jmp 0x40544a