Function at 0x403d90
Capabilities:
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
sub esp, 0x924
mov eax, dword [0x44f8e4]
xor eax, esp
mov dword [esp + 0x920], eax
push ebx
push ebp
mov eax, dword [esp + 0x934]
mov ecx, 0x10c
push esi
push edi
mov esi, str.__u_never_ask_for_username_n__u2_always_ask_for_username_n__fFORMAT_logging_format__see_documentation__n__l_log_to_stderr_n__lFILENAME_log_to_FILENAME_n__b_BUFSIZE__size_of_network_buffer__default_4096_for_TCP__16384_for_UDP__n__S_STACKSIZE__value_to_add_to_default_client_thread_stack_size_n__t_be_silent__do_not_log_service_start_stop__n_n__iIP_ip_address_or_internal_interface__clients_are_expected_to_connect__n__eIP_ip_address_or_external_interface__outgoing_connection_will_have_this__n__rHOST:PORT_Use_IP:port_for_connect_back_proxy_instead_of_listen_port_n__RHOST:PORT_Use_PORT_to_listen_connect_back_proxy_connection_to_pass_data_to_n__4_Use_IPv4_for_outgoing_connections_n__6_Use_IPv6_for_outgoing_connections_n__46_Prefer_IPv4_for_outgoing_connections__use_both_IPv4_and_IPv6_n__64_Prefer_IPv6_for_outgoing_connections__use_both_IPv4_and_IPv6_n__ocOPTIONS___osOPTIONS___olOPTIONS___orOPTIONS__oROPTIONS___options_for_n_to_client__oc___to_server__os___listening__ol__socket__connect_back_client_n__or__socket__connect_back_server__oR__listening_socket_n_where_possible_options_are:
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x4fc]
mov dword [esp + 0x14], 0xffffffff
rep movsd dword es:[edi], dword [esi]
or eax, 0xffffffff
mov dword [esp + 0x10], 0
push 0x158
mov dword [esp + 0x1c], eax
mov ebp, 0x1388
lea eax, [esp + 0x58]
mov dword [esp + 0x40], 0
push 0
push eax
mov dword [esp + 0x38], 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], 0
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x50], 1
call fcn.00422430
mov eax, dword [0x44f328]
add esp, 0xc
inc eax
cmp dword [0x45049c], 0
mov dword [esp + 0x84], eax
mov eax, dword [0x44f310]
mov dword [esp + 0x80], eax
mov eax, 0x41aa90
cmovne eax, dword [0x44f3b8]
mov dword [esp + 0x64], eax
mov eax, dword [0x44f32c]
mov dword [esp + 0xc0], eax
mov eax, dword [0x44f3c8]
test eax, eax
je 0x403e8e
push eax
call fcn.00431b8e
add esp, 4
mov dword [esp + 0x194], eax
jmp 0x403e99
mov dword [esp + 0x194], 0
mov eax, dword [fcn.00418d60]
mov dword [esp + 0x68], eax
mov eax, dword [0x44f31c]
mov dword [esp + 0x7c], eax
mov eax, dword [0x44f2fc]
push 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xc0], eax
call fcn.00427674
add esp, 4
mov dword [esp + 0x1a4], eax
cmp dword [0x45049c], 0
mov dword [esp + 0x1a8], edx
je 0x403efc
mov eax, dword [0x44f3c4]
test eax, eax
je 0x403efc
push eax
call fcn.00431b8e
add esp, 4
mov dword [esp + 0x198], eax
mov eax, dword [0x44f3f8]
mov dword [esp + 0xe0], eax
mov eax, dword [0x44f3fc]
push 0x218
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x1b0]
push 0
push eax
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x9c], 1
call fcn.00422430
lea eax, [esp + 0x60]
mov dword [esp + 0x1fc], 0xffffffff
mov dword [esp + 0x1c0], eax
add esp, 0xc
mov eax, dword [esp + 0x84]
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x268], eax
lea eax, [esp + 0x158]
push eax
mov dword [esp + 0x1f0], 0xffffffff
mov dword [esp + 0x1e8], 0xffffffff
mov dword [esp + 0x1ec], 0xffffffff
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
movups xmm0, xmmword [0x44f358]
mov eax, dword [0x44f370]
mov ebx, 2
mov dword [esp + 0x100], eax
mov eax, dword [0x44f3a8]
movups xmmword [esp + 0xe8], xmm0
mov dword [esp + 0x138], eax
movq xmm0, qword [0x44f368]
mov eax, dword [0x44f38c]
movq qword [esp + 0xf8], xmm0
movups xmm0, xmmword [0x44f390]
mov dword [esp + 0x11c], eax
mov eax, dword [0x44e204]
movups xmmword [esp + 0x120], xmm0
mov dword [esp + 0x6c], eax
movq xmm0, qword [0x44f3a0]
mov eax, dword [0x44e20c]
movq qword [esp + 0x130], xmm0
movups xmm0, xmmword [0x44f374]
mov dword [esp + 0x20], eax
mov eax, dword [0x44e210]
movups xmmword [esp + 0x104], xmm0
mov dword [esp + 0x1e0], eax
movq xmm0, qword [0x44f384]
mov dword [esp + 0x60], eax
mov eax, dword [0x44f2e0]
movq qword [esp + 0x114], xmm0
test eax, eax
je 0x40407f
push eax
call fcn.00402890
mov ecx, dword [0x450480]
add esp, 4
test eax, eax
mov dword [esp + 0x188], eax
cmove ecx, ebx
mov dword [0x450480], ecx
mov esi, dword [0x44f3d4]
test esi, esi
je 0x4040f2
push 0x10
call fcn.00429cb1
mov edi, eax
add esp, 4
test edi, edi
je 0x404101
movups xmm0, xmmword [esi]
mov ebx, edi
movups xmmword [edi], xmm0
mov esi, dword [ebx]
test esi, esi
je 0x4040bf
push 0x10
call fcn.00429cb1
add esp, 4
test eax, eax
je 0x4040ce
movups xmm0, xmmword [esi]
mov esi, eax
movups xmmword [eax], xmm0
mov dword [ebx], eax
mov ebx, esi
test ebx, ebx
jne 0x4040a1
mov dword [esp + 0x18c], edi
jmp 0x4040f2
mov dword [ebx], eax
mov esi, dword [edi]
push edi
call fcn.00429c96
add esp, 4
mov edi, esi
test esi, esi
jne 0x4040d0
mov dword [esp + 0x18c], esi
mov dword [0x450480], 2
mov eax, dword [0x44f2f8]
test eax, eax
jne 0x40410a
lea eax, [esp + 0x54]
jmp 0x40411d
mov dword [esp + 0x18c], edi
jmp 0x4040e8
mov dword [esp + 0x54], eax
lea ecx, [esp + 0x54]
mov dword [eax + 4], ecx
mov eax, dword [0x44f2f8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x938]
mov ebx, 1
mov edi, dword [sym.imp.WS2_32.dll_htons]
mov dword [0x44f2f8], eax
mov dword [esp + 0x30], ebx
cmp ecx, ebx
jle 0x4045d4
mov ebp, dword [esp + 0x1c]
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp + ebx*4]
cmp byte [ecx], 0x2d
jne 0x4045c8
movsx eax, byte [ecx + 1]
lea edx, [ecx + 1]
add eax, 0xffffffcc
cmp eax, 0x41
ja case.0x404177.53
movzx eax, byte [eax + 0x4055b8]
jmp dword [eax*4 + 0x405564]
cmp dword [0x44f318], 0
jne 0x40418d
call dword [sym.imp.KERNEL32.dll_FreeConsole]
mov dword [0x44f318], 1
jmp 0x4045ac
mov eax, dword [esp + 0x198]
mov dword [esp + 0x64], 0x41a910
test eax, eax
je 0x4041bc
push eax
call fcn.00429c96
mov ecx, dword [ebp + ebx*4]
add esp, 4
lea eax, [ecx + 2]
push eax
call fcn.00431b8e
mov ecx, dword [ebp + ebx*4]
add esp, 4
add ecx, 2
mov dword [esp + 0x198], eax
mov al, byte [ecx]
test al, al
je 0x4045ac
cmp al, 0x40
je 0x4045ac
push 0x4402bc
push ecx
call fcn.004237da
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4045ac
mov dword [esp + 0x178], eax
jmp 0x4045ac
lea eax, [esp + 0xe8]
push eax
lea eax, [ecx + 2]
push eax
push 0x2e
call fcn.00419360
add esp, 0xc
jmp 0x4045ac
lea eax, [esp + 0x3c4]
mov dword [esp + 0x3dc], 0
push eax
lea eax, [ecx + 2]
xorps xmm0, xmm0
push eax
push 0x2e
movups xmmword [esp + 0x3d0], xmm0
movq qword [esp + 0x3e0], xmm0
call fcn.00419360
xor edx, edx
add esp, 0xc
test eax, eax
sete dl
mov dword [esp + 0x10], edx
test eax, eax
je 0x4045ac
cmp word [esp + 0x3c4], 2
movups xmm0, xmmword [esp + 0x3c4]
mov eax, dword [esp + 0x3dc]
jne 0x4042b1
movups xmmword [esp + 0x120], xmm0
mov dword [esp + 0x138], eax
movq xmm0, qword [esp + 0x3d4]
movq qword [esp + 0x130], xmm0
jmp 0x4045ac
movups xmmword [esp + 0x104], xmm0
mov dword [esp + 0x11c], eax
movq xmm0, qword [esp + 0x3d4]
movq qword [esp + 0x114], xmm0
jmp 0x4045ac
lea eax, [esp + 0x13c]
push eax
lea eax, [ecx + 2]
push eax
push 0x2e
call fcn.00419360
add esp, 0xc
jmp 0x4045ac
lea eax, [ecx + 2]
push eax
call fcn.0042a8aa
add esp, 4
push eax
call edi
mov word [esp + 0xea], ax
jmp 0x4045ac
push edx
call fcn.0042a8aa
add esp, 4
mov dword [esp + 0xb8], eax
jmp 0x4045ac
lea eax, [ecx + 2]
push eax
call fcn.0042a8aa
add esp, 4
mov dword [esp + 0xdc], eax
jmp 0x4045ac
lea eax, [ecx + 2]
push eax
call fcn.0042a8aa
add esp, 4
mov dword [esp + 0x8c], eax
jmp 0x4045ac
mov eax, dword [esp + 0x194]
test eax, eax
je 0x40436b
push eax
call fcn.00429c96
mov ecx, dword [ebp + ebx*4]
add esp, 4
lea eax, [ecx + 2]
push eax
call fcn.00431b8e
add esp, 4
mov dword [esp + 0x194], eax
jmp 0x4045ac
mov dword [esp + 0x94], 1
jmp 0x4045ac
lea eax, [ecx + 2]
mov dword [esp + 0x3c], eax
jmp 0x4045ac
lea eax, [ecx + 2]
push eax
call fcn.00431b8e
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], 1
jmp 0x4045ac
lea eax, [ecx + 2]
push eax
call fcn.00431b8e
add esp, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], 1
jmp 0x4045ac
add ecx, 2
mov dword [esp + 0x90], 0
cmp byte [ecx], 0
je 0x4045ac
push ecx
call fcn.0042a8aa
add esp, 4
mov dword [esp + 0x90], eax
jmp 0x4045ac
mov dword [esp + 0x98], 1
jmp 0x4045ac
lea eax, [ecx + 2]
push eax
call fcn.0042a8aa
add esp, 4
mov dword [esp + 0xbc], eax
jmp 0x4045ac
lea eax, [ecx + 2]
push eax
call fcn.0042a8aa
add esp, 4
inc eax
mov dword [esp + 0xc4], eax
jmp 0x4045ac
lea eax, [ecx + 2]
push eax
call fcn.0042a8aa
add esp, 4
inc eax
mov dword [esp + 0x88], eax
jmp 0x4045ac
movsx eax, byte [ecx + 2]
add eax, 0xffffffae
cmp eax, 0x21
ja case.0x404177.53
movzx eax, byte [eax + 0x405614]
jmp dword [eax*4 + 0x4055fc]
mov eax, dword [str.TCP_NODELAY]
lea ebx, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x4044ad
nop dword [eax]
push eax
push ebx
call fcn.00421c40
add esp, 8
test eax, eax
je 0x4044a1
bts edi, esi
mov eax, dword [esi*8 + 0x44e0e4]
inc esi
test eax, eax
jne 0x404490
mov dword [esp + 0xcc], edi
jmp 0x404599
mov eax, dword [str.TCP_NODELAY]
lea ebx, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x4044ed
nop dword [eax]
push eax
push ebx
call fcn.00421c40
add esp, 8
test eax, eax
je 0x4044e1
bts edi, esi
mov eax, dword [esi*8 + 0x44e0e4]
inc esi
test eax, eax
jne 0x4044d0
mov dword [esp + 0xc8], edi
jmp 0x404599
mov eax, dword [str.TCP_NODELAY]
lea ebx, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x40452d
nop dword [eax]
push eax
push ebx
call fcn.00421c40
add esp, 8
test eax, eax
je 0x404521
bts edi, esi
mov eax, dword [esi*8 + 0x44e0e4]
inc esi
test eax, eax
jne 0x404510
mov dword [esp + 0xd0], edi
jmp 0x404599
mov eax, dword [str.TCP_NODELAY]
lea ebx, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x404592
push eax
push ebx
call fcn.00421c40
add esp, 8
test eax, eax
je 0x404557
bts edi, esi
mov eax, dword [esi*8 + 0x44e0e4]
inc esi
test eax, eax
jne 0x404546
jmp 0x404592
mov eax, dword [str.TCP_NODELAY]
lea ebx, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x404592
push eax
push ebx
call fcn.00421c40
add esp, 8
test eax, eax
je 0x404586
bts edi, esi
mov eax, dword [esi*8 + 0x44e0e4]
inc esi
test eax, eax
jne 0x404575
mov dword [esp + 0xd4], edi
cmp dword [esp + 0x10], 0
mov ebx, dword [esp + 0x30]
je 0x4045ac
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0x938]
inc ebx
mov edi, dword [sym.imp.WS2_32.dll_htons]
mov dword [esp + 0x30], ebx
cmp ebx, ecx
jl 0x404150
jmp 0x4045cf
mov ecx, dword [esp + 0x938]
mov ebp, 0x1388
cmp word [0x44e208], 0
je 0x404649
cmp dword [esp + 0x10], 0
jne 0x4045ed
cmp ebx, ecx
je 0x4046bf
mov eax, dword [0x44f3e0]
mov dword [0x450480], 1
mov dword [0x44f300], 0
test eax, eax
je 0x40460f
mov edi, dword [eax + 0xc]
jmp 0x404614
mov edi, str.3proxy_0.9.4__210702132242_
mov eax, dword [esp + 0x1c]
push 0x4402a2
mov esi, dword [eax]
push esi
push dword [0x44e214]
push 0x44059c
call fcn.00403b80
add esp, 4
push eax
lea eax, [esp + 0x50c]
push eax
push esi
push edi
push esi
push str._s_of__s_nUsage:__s_options_nAvailable_options_are:_n_s_n_t_s_n__pPORT___service_port_to_accept_connections_n_s_tExample:__s__i127.0.0.1_n_n_s
jmp 0x405533
cmp dword [esp + 0x10], 0
mov esi, dword [esp + 0x1c]
jne 0x4054db
lea eax, [ebx + 3]
cmp ecx, eax
jne 0x4054db
mov eax, dword [esi + ebx*4]
cmp byte [eax], 0x2d
je 0x4054db
push eax
call fcn.0042a8aa
add esp, 4
push eax
call edi
mov word [esp + 0xea], ax
test ax, ax
je 0x4054db
push dword [esi + ebx*4 + 8]
call fcn.0042a8aa
add esp, 4
push eax
call edi
mov word [esp + 0x1a0], ax
test ax, ax
je 0x4054db
push dword [esi + ebx*4 + 4]
call fcn.00431b8e
add esp, 4
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x194]
test eax, eax
je 0x40472c
cmp byte [eax], 0x2d
jne 0x40472c
inc eax
push 0x2b
push eax
call fcn.00421b10
mov edi, eax
add esp, 8
test edi, edi
je 0x40472c
cmp byte [edi + 1], 0
je 0x40472c
mov esi, dword [esp + 0x194]
mov byte [edi], 0
mov eax, dword [esp + 0x194]
inc eax
push eax
call fcn.00431b8e
mov dword [esp + 0x1a0], eax
mov al, byte [edi + 1]
mov byte [esp + 0x1a6], al
lea eax, [edi + 2]
push eax
call fcn.00431b8e
mov dword [esp + 0x19c], eax
push esi
mov byte [edi], 0x2b
call fcn.00429c96
add esp, 0xc
push 0x54
lea eax, [esp + 0x2f8]
push 0
push eax
call fcn.00422430
mov eax, dword [esp + 0x10c]
mov ebx, 2
movups xmm1, xmmword [esp + 0xf4]
add esp, 0xc
mov dword [esp + 0x2d4], eax
movq xmm0, qword [esp + 0xf8]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0xb8]
mov word [esp + 0x2f4], bx
mov word [esp + 0x32c], bx
movq qword [esp + 0x2cc], xmm0
movq qword [esp + 0x2e8], xmm0
movups xmmword [esp + 0x2bc], xmm1
movups xmmword [esp + 0x2d8], xmm1
cmp eax, 6
je 0x4047d0
cmp eax, 0x40
je 0x4047d0
movups xmm0, xmmword [esp + 0x120]
mov eax, dword [esp + 0x138]
movups xmmword [esp + 0x310], xmm0
movq xmm0, qword [esp + 0x130]
jmp 0x4047f0
movups xmm0, xmmword [esp + 0x104]
mov eax, dword [esp + 0x11c]
movups xmmword [esp + 0x310], xmm0
movq xmm0, qword [esp + 0x114]
cmp word [esp + 0xe8], 0
mov dword [esp + 0x328], eax
movq qword [esp + 0x320], xmm0
jne 0x404813
mov word [esp + 0xe8], bx
cmp word [esp + 0xea], 0
jne 0x404834
movzx eax, word [0x44e208]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0xea], ax
mov ecx, dword [esp + 0x3c]
mov eax, 0x17
mov word [esp + 0x120], bx
mov word [esp + 0x104], ax
test ecx, ecx
je 0x40486a
movzx eax, word [0x44e208]
push eax
lea eax, [esp + 0x1b0]
push eax
push ecx
call fcn.00419740
add esp, 0xc
mov esi, dword [0x44f3d0]
xor ecx, ecx
test esi, esi
je 0x404991
mov eax, esi
mov dword [esp + 0x190], eax
mov eax, dword [eax]
inc ecx
mov dword [esp + 0x190], eax
test eax, eax
jne 0x404883
imul eax, ecx, 0x34
push eax
call fcn.00429cb1
add esp, 4
mov dword [esp + 0x190], eax
test eax, eax
je 0x404991
nop dword [eax]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x404987
lea ecx, [esp + 0x54]
push ecx
push dword [esi + 8]
call eax
mov edx, eax
add esp, 8
test edx, edx
je 0x404987
imul ecx, dword [esp + 0x9c], 0x34
movups xmm0, xmmword [esi]
add ecx, dword [esp + 0x190]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [ecx + 0x20], xmm0
mov eax, dword [esi + 0x30]
mov dword [ecx + 0x30], eax
imul ecx, dword [esp + 0x9c], 0x34
mov eax, dword [esp + 0x190]
mov dword [ecx + eax + 8], edx
mov eax, dword [esp + 0x9c]
test eax, eax
jle 0x404931
imul ecx, eax, 0x34
mov eax, dword [esp + 0x190]
add eax, ecx
mov dword [eax - 0x34], eax
mov eax, dword [esp + 0x9c]
inc eax
mov dword [esp + 0x9c], eax
cmp dword [esi + 0x14], 0
je 0x404946
inc dword [esp + 0xa0]
cmp dword [esi + 0x1c], 0
je 0x404953
inc dword [esp + 0xa8]
cmp dword [esi + 0x18], 0
je 0x404960
inc dword [esp + 0xa4]
cmp dword [esi + 0x20], 0
je 0x40496d
inc dword [esp + 0xac]
cmp dword [esi + 0x28], 0
je 0x40497a
inc dword [esp + 0xb4]
cmp dword [esi + 0x24], 0
je 0x404987
inc dword [esp + 0xb0]
mov esi, dword [esi]
test esi, esi
jne 0x4048b0
cmp dword [esp + 0x24], 0
mov esi, 0x1c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [0x44f300], 0
jne 0x404c10
cmp dword [esp + 0x70], 0xffffffff
jne 0x404a8d
cmp dword [esp + 0x20], 0
lea ecx, [esi - 5]
jne 0x404a04
cmp word [esp + 0xe8], cx
mov eax, 1
mov word [esp + 0x48], ax
mov ax, word [0x44f2bc]
mov word [esp + 0x4a], ax
mov eax, 2
push 6
push 1
cmove eax, ecx
push eax
call dword [0x44f250]
mov esi, eax
mov dword [esp + 0x14], esi
jmp 0x404a26
cmp word [esp + 0xe8], 0x17
mov eax, 2
push 0x11
push 2
cmove eax, ecx
push eax
call dword [0x44f250]
mov esi, eax
mov dword [esp + 0x14], eax
cmp esi, 0xffffffff
jne 0x404a42
push str.socket__
call fcn.004247e8
add esp, 4
mov eax, 0xfffffffe
jmp 0x40554b
push dword [esp + 0xd0]
push esi
call fcn.00403b00
add esp, 8
lea eax, [esp + 0x44]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push 4
lea eax, [esp + 0x30]
mov dword [esp + 0x74], esi
push eax
push 4
push 0xffff
push esi
call dword [0x44f270]
test eax, eax
je 0x404a8d
push str.setsockopt__
call fcn.004247e8
add esp, 4
cmp word [esp + 0xe8], 0x17
mov ecx, 0x1c
mov eax, 0x10
mov dword [esp + 0x28], 0x1c
cmove eax, ecx
mov esi, 0x64
push eax
lea eax, [esp + 0xec]
push eax
push dword [esp + 0x1c]
call dword [0x44f258]
cmp eax, 0xffffffff
jne 0x404b41
call ebx
push eax
call fcn.0042aa48
push eax
lea eax, [esp + 0x404]
push str.bind__:__s
push eax
call fcn.00402610
add esp, 0x10
cmp dword [esp + 0x94], 0
jne 0x404b08
lea eax, [esp + 0x3fc]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.00419c90
add esp, 8
add esi, esi
je 0x404baa
push esi
call edi
cmp word [esp + 0xe8], 0x17
mov ecx, 0x1c
mov eax, 0x10
cmove eax, ecx
push eax
lea eax, [esp + 0xec]
push eax
push dword [esp + 0x1c]
call dword [0x44f258]
cmp eax, 0xffffffff
je 0x404ac8
cmp dword [esp + 0x20], 0
jne 0x404bbe
mov eax, dword [esp + 0x7c]
sar eax, 4
inc eax
push eax
push dword [esp + 0x18]
call dword [0x44f25c]
cmp eax, 0xffffffff
jne 0x404bc9
call ebx
push eax
call fcn.0042aa48
push eax
lea eax, [esp + 0x404]
push str.listen__:__s
push eax
call fcn.00402610
add esp, 0x10
cmp dword [esp + 0x94], 0
jne 0x404ba0
lea eax, [esp + 0x3fc]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.00419c90
add esp, 8
mov eax, 0xfffffffc
jmp 0x40554b
push dword [esp + 0x14]
call dword [0x44f28c]
mov eax, 0xfffffffd
jmp 0x40554b
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1e4], eax
cmp dword [esp + 0x94], 0
jne 0x404c0b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [esp + 0x404]
push str.Accepting_connections___u__u_
push eax
call fcn.00402610
lea eax, [esp + 0x40c]
push eax
lea eax, [esp + 0x1c0]
push eax
call fcn.00419c90
add esp, 0x18
mov esi, 0x1c
cmp dword [esp + 0x40], 0
je 0x404d2e
lea eax, [esp + 0x3e0]
push eax
push dword [esp + 0x3c]
push dword [esp + 0xc0]
call fcn.00419680
add esp, 0xc
mov ecx, 0x17
cmp word [esp + 0x3e0], 0x17
mov eax, 2
cmove eax, ecx
push 6
push 1
push eax
call dword [0x44f250]
mov dword [esp + 0x74], eax
cmp eax, 0xffffffff
jne 0x404c7f
lea eax, [esp + 0x1ac]
push str.Failed_to_allocate_connect_back_socket
push eax
call fcn.00419c90
add esp, 8
mov eax, 0xfffffffa
jmp 0x40554b
push 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], 1
push ecx
push 4
push 0xffff
push eax
call dword [0x44f270]
push dword [esp + 0xd8]
push dword [esp + 0x78]
call fcn.00403b00
add esp, 8
mov eax, 0x10
cmp word [esp + 0x3e0], 0x17
cmove eax, esi
push eax
lea eax, [esp + 0x3e4]
push eax
push dword [esp + 0x7c]
call dword [0x44f258]
cmp eax, 0xffffffff
jne 0x404cf7
lea eax, [esp + 0x1ac]
push str.Failed_to_bind_connect_back_socket
push eax
call fcn.00419c90
add esp, 8
mov eax, 0xfffffff9
jmp 0x40554b
mov eax, dword [esp + 0x7c]
sar eax, 4
inc eax
push eax
push dword [esp + 0x78]
call dword [0x44f25c]
cmp eax, 0xffffffff
jne 0x404d2e
lea eax, [esp + 0x1ac]
push str.Failed_to_listen_connect_back_socket
push eax
call fcn.00419c90
add esp, 8
mov eax, 0xfffffff8
jmp 0x40554b
mov eax, dword [esp + 0x14]
mov dword [esp + 0x170], eax
mov eax, 0x300
mov word [esp + 0x174], ax
nop word [eax + eax]
mov eax, dword [0x44f310]
mov ecx, dword [esp + 0x80]
cmp eax, ecx
jne 0x404dc1
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
cmp edx, esi
jl 0x404dc1
inc ebp
cmp dword [esp + 0x94], 0
jne 0x404dad
cmp ebp, 0x1388
jle 0x404dad
push esi
push edx
lea eax, [esp + 0x404]
push str.Warning:_too_many_connected_clients___d__d_
push eax
call fcn.00402610
lea eax, [esp + 0x40c]
push eax
lea eax, [esp + 0x1c0]
push eax
call fcn.00419c90
add esp, 0x18
xor ebp, ebp
push 1
call edi
mov eax, dword [0x44f310]
mov ecx, dword [esp + 0x80]
cmp eax, ecx
je 0x404d60
cmp dword [esp + 0x24], 0
jne 0x404e7d
cmp eax, ecx
jne 0x40530a
test dword [esp + 0x174], 0x300
je 0x404f40
push 0x3e8
push 1
lea eax, [esp + 0x178]
push eax
call dword [0x44f274]
mov edx, eax
mov dword [esp + 0x10], edx
cmp edx, 1
jge 0x404f49
test edx, edx
je 0x404d50
call ebx
cmp eax, 0x2733
je 0x404d50
call ebx
cmp eax, 0x2733
je 0x404d50
call ebx
push eax
call ebx
push eax
call fcn.0042aa48
add esp, 4
push eax
lea eax, [esp + 0x404]
push str.poll__:__s__d
push eax
call fcn.00402610
add esp, 0x10
cmp dword [esp + 0x94], 0
jne 0x404e71
lea eax, [esp + 0x3fc]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.00419c90
add esp, 8
mov ecx, dword [esp + 0x80]
mov eax, dword [0x44f310]
mov edx, dword [esp + 0x10]
cmp eax, ecx
jne 0x40530a
test edx, edx
js 0x40530a
xor esi, esi
mov dword [esp + 0x10], esi
cmp dword [esp + 0x20], esi
jne 0x4050f5
mov dword [esp + 0x28], 0x1c
cmp dword [esp + 0x24], esi
je 0x404f8f
cmp word [esp + 0x2d8], 0x17
mov ecx, 0x17
push 6
mov eax, 2
push 1
cmove eax, ecx
push eax
call dword [0x44f250]
mov esi, eax
mov dword [esp + 0x18], esi
cmp esi, 0xffffffff
je 0x404f40
push dword [esp + 0xd4]
push esi
call fcn.00403b00
lea eax, [esp + 0x2e0]
push eax
push dword [esp + 0x40]
push dword [esp + 0xc8]
call fcn.00419680
cmp word [esp + 0x2ec], 0x17
mov ecx, 0x1c
push 9
mov eax, 0x10
cmove eax, ecx
push eax
lea eax, [esp + 0x2f4]
push eax
push esi
call fcn.00419ae0
add esp, 0x24
test eax, eax
je 0x404f5a
push esi
call dword [0x44f28c]
or eax, 0xffffffff
mov dword [esp + 0x18], eax
push 1
call edi
jmp 0x404d50
mov ecx, dword [esp + 0x80]
mov eax, dword [0x44f310]
jmp 0x404e81
push 0xea60
push 1
lea eax, [esp + 0x404]
push eax
lea eax, [esp + 0x2e4]
push eax
push esi
call fcn.004186d0
add esp, 0x14
cmp eax, 1
jne 0x404f32
cmp byte [esp + 0x3fc], 0x43
je 0x405049
jmp 0x404f32
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x2dc]
push eax
push dword [esp + 0x1c]
call dword [0x44f254]
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
jne 0x405035
call ebx
add eax, 0xffffd8ec
cmp eax, 0x33
ja case.0x404fc6.10005
movzx eax, byte [eax + 0x405644]
jmp dword [eax*4 + 0x405638]
push 0xa
call edi
jmp case.0x404fc6.10005
mov esi, 1
mov dword [esp + 0x10], esi
inc ebp
cmp dword [esp + 0x94], 0
jne 0x404d50
test esi, esi
jne 0x404ffb
cmp ebp, 0x1388
jle 0x404d50
call ebx
push eax
call fcn.0042aa48
push eax
lea eax, [esp + 0x404]
push str.accept__:__s
push eax
call fcn.00402610
lea eax, [esp + 0x40c]
push eax
lea eax, [esp + 0x1c0]
push eax
call fcn.00419c90
add esp, 0x18
xor ebp, ebp
jmp 0x404d50
push dword [esp + 0xc8]
mov esi, dword [esp + 0x1c]
push esi
call fcn.00403b00
add esp, 8
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x1c
push eax
lea eax, [esp + 0x2c0]
push eax
push esi
call dword [0x44f268]
test eax, eax
je 0x4050b2
call ebx
push eax
call fcn.0042aa48
push eax
lea eax, [esp + 0x404]
push str.getsockname__:__s
push eax
call fcn.00402610
add esp, 0x10
cmp dword [esp + 0x94], 0
jne 0x404d50
lea eax, [esp + 0x3fc]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.00419c90
add esp, 8
jmp 0x404d50
lea eax, [esp + 0x44]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push 4
lea eax, [esp + 0x4c]
push eax
push 0x80
push 0xffff
push esi
call dword [0x44f270]
push 4
lea eax, [esp + 0x30]
push eax
push 0x100
push 0xffff
push esi
call dword [0x44f270]
jmp 0x405103
mov esi, dword [esp + 0x18]
xor eax, eax
mov word [esp + 0x174], ax
push 0x218
call fcn.00429cb1
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x40515c
cmp dword [esp + 0x20], eax
jne 0x405123
push esi
call dword [0x44f28c]
cmp dword [esp + 0x94], 0
mov dword [esp + 0x240], 0x15
jne 0x40514d
lea eax, [esp + 0x1ac]
push str.Memory_Allocation_Failed
push eax
call fcn.00419c90
add esp, 8
push 1
call edi
mov ebx, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404d50
mov ecx, 0x86
lea esi, [esp + 0x1ac]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x270]
test eax, eax
je 0x405186
push eax
call fcn.00431b8e
add esp, 4
mov dword [ebx + 0xc4], eax
push ebx
call fcn.0041ab40
mov esi, dword [esp + 0x24]
add esp, 4
test esi, esi
jne 0x40519e
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x38], eax
lea eax, [esp + 0x54]
push ebx
push eax
call fcn.00403230
add esp, 8
cmp eax, 1
jle 0x4051cb
push ebx
call fcn.00402660
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 4
mov ebx, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404d50
lea eax, [esp + 0x158]
mov dword [ebx], 0
push eax
mov dword [ebx + 4], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4051ff
mov dword [ebx], eax
mov eax, dword [esp + 0x5c]
mov dword [eax + 4], ebx
lea eax, [esp + 0x50]
mov dword [esp + 0x5c], ebx
push eax
mov eax, dword [esp + 0xc0]
push 0
push ebx
push 0x403bd0
add eax, 0x4000
push eax
push 0
call fcn.0042abaf
inc dword [esp + 0x90]
add esp, 0x18
test eax, eax
je 0x405253
mov ecx, dword [esp + 0x50]
push eax
mov dword [ebx + 0xa0], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x4052b1
push 0
call fcn.0042a9c8
push eax
lea eax, [esp + 0x404]
push str._beginthreadex__:__s
push eax
call fcn.00402610
add esp, 0x10
cmp dword [esp + 0x94], 0
jne 0x405292
lea eax, [esp + 0x3fc]
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.00419c90
add esp, 8
lea eax, [esp + 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebx
call fcn.00402660
add esp, 4
mov dword [esp + 0x10], 1
push 0x38
lea eax, [esp + 0x2c0]
push 0
push eax
call fcn.00422430
add esp, 0xc
test esi, esi
je 0x4052d4
cmp word [esp + 0x174], 0
je 0x4052e5
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404d50
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax + eax]
push 1
call edi
cmp word [esp + 0x174], 0
je 0x4052f0
mov ebx, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404d50
cmp dword [esp + 0x94], 0
jne 0x405328
lea eax, [esp + 0x1ac]
push str.Exiting_thread
push eax
call dword [esp + 0x6c]
add esp, 8
mov eax, dword [esp + 0x70]
cmp eax, 0xffffffff
je 0x405338
push eax
call dword [0x44f28c]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x70], 0xffffffff
cmp eax, 0xffffffff
je 0x405350
push eax
call dword [0x44f28c]
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x60], 0xf
je 0x405372
push 0x64
call edi
cmp dword [esp + 0x5c], 0
jne 0x405367
mov esi, dword [esp + 0x190]
test esi, esi
je 0x4053c7
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x4053be
nop dword [eax + eax]
dec ecx
imul eax, ecx, 0x34
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + esi + 0x30]
test edx, edx
je 0x4053ba
push dword [eax + esi + 8]
call edx
mov esi, dword [esp + 0x194]
add esp, 4
mov ecx, dword [esp + 0x9c]
test ecx, ecx
jne 0x405390
push esi
call fcn.00429c96
add esp, 4
mov eax, dword [esp + 0x188]
test eax, eax
je 0x4053db
push eax
call fcn.00402fc0
add esp, 4
mov eax, dword [esp + 0x18c]
test eax, eax
je 0x4053f7
mov esi, dword [eax]
push eax
call fcn.00429c96
add esp, 4
mov eax, esi
test esi, esi
jne 0x4053e6
lea eax, [esp + 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x405419
push eax
call fcn.00429c96
add esp, 4
mov eax, dword [esp + 0x198]
test eax, eax
je 0x40542d
push eax
call fcn.00429c96
add esp, 4
mov eax, dword [esp + 0x194]
test eax, eax
je 0x405441
push eax
call fcn.00429c96
add esp, 4
mov eax, dword [esp + 0x19c]
test eax, eax
je 0x405455
push eax
call fcn.00429c96
add esp, 4
push 0x451440
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x405473
mov eax, dword [esp + 0x58]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
test eax, eax
je 0x40547f
mov dword [eax], ecx
jmp 0x405485
mov dword [0x44f2f8], ecx
push 0x451440
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x270]
test eax, eax
je 0x4054a4
push eax
call fcn.00429c96
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4054b5
push eax
call fcn.00429c96
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4054c6
push eax
call fcn.00429c96
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4054d7
push eax
call fcn.00423183
add esp, 4
xor eax, eax
jmp 0x40554b
mov eax, dword [0x44f3e0]
mov dword [0x450480], 1
mov dword [0x44f300], 0
test eax, eax
je 0x4054fd
mov edi, dword [eax + 0xc]
jmp 0x405502
mov edi, str.3proxy_0.9.4__210702132242_
mov eax, dword [esp + 0x1c]
mov esi, dword [esi]
push 0x4402a2
push dword [eax]
push dword [0x44e214]
push 0x44059c
call fcn.00403b80
add esp, 4
push eax
lea eax, [esp + 0x50c]
push eax
push esi
push edi
push esi
push str._s_of__s_nUsage:__s_options___e_external_ip____port_to_bind___target_hostname___target_port__nAvailable_options_are:_n_s_n_t_s_n_s_tExample:__s__d__i127.0.0.1_6666_serv.somehost.ru_6666_n_n_s
push 2
call fcn.00422fd8
add esp, 4
push eax
call fcn.004025e0
mov eax, 1
add esp, 0x28
mov ecx, dword [esp + 0x930]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00420cbf
add esp, 0x924
ret