Function at 0x40415e
Capabilities:
Create thread
Set socket configuration

Disassembly:
sub esp, 0xa6c
mov eax, dword [0x4538c0]
xor eax, esp
mov dword [esp + 0xa68], eax
mov eax, dword [esp + 0xa74]
mov ecx, 0x147
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x55c]
or eax, 0xffffffff
mov dword [esp + 0x14], 0xffffffff
push 0x1b8
mov dword [esp + 0x1c], eax
mov esi, str.__u_never_ask_for_username_n__u2_always_ask_for_username_n_g_GRACE_TRAFF_GRACE_NUM_GRACE_DELAY____delay_GRACE_DELAY_milliseconds_before_polling_if_average_polling_size_below__GRACE_TRAFF_bytes_and_GRACE_NUM_read_operations_in_single_directions_are_detected_within_1_second_to_minimize_polling_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:
lea eax, [esp + 0x58]
mov dword [esp + 0x14], 0
push 0
rep movsd dword es:[edi], dword [esi]
push eax
mov dword [esp + 0x48], 0
mov ebx, 0x1388
mov dword [esp + 0x38], 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 1
call fcn.00423cf0
mov eax, dword [0x4532ac]
add esp, 0xc
inc eax
cmp dword [0x45451c], 0
mov dword [esp + 0xd0], eax
mov eax, dword [0x453290]
mov dword [esp + 0xcc], eax
mov eax, 0x41c160
cmovne eax, dword [0x453348]
mov dword [esp + 0xac], eax
mov eax, dword [0x4532b0]
mov dword [esp + 0x10c], eax
mov eax, dword [0x453358]
test eax, eax
je 0x403c40
push eax
call fcn.00432e46
add esp, 4
mov dword [esp + 0x1f0], eax
jmp 0x403c4b
mov dword [esp + 0x1f0], 0
mov eax, dword [fcn.0041a190]
mov dword [esp + 0xb0], eax
mov eax, dword [0x45329c]
mov dword [esp + 0xc4], eax
mov eax, dword [0x4532a0]
mov dword [esp + 0xc8], eax
mov eax, dword [0x45327c]
push 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0x10c], eax
call fcn.00429f99
add esp, 4
mov dword [esp + 0x204], eax
cmp dword [0x45451c], 0
mov dword [esp + 0x208], edx
je 0x403cc0
mov eax, dword [0x453354]
test eax, eax
je 0x403cc0
push eax
call fcn.00432e46
add esp, 4
mov dword [esp + 0x1f4], eax
mov eax, dword [0x453388]
mov dword [esp + 0x13c], eax
mov eax, dword [0x45338c]
push 0x218
mov dword [esp + 0x144], eax
lea eax, [esp + 0x210]
push 0
push eax
mov dword [esp + 0xc4], 0xffffffff
mov dword [esp + 0xc8], 0xffffffff
mov dword [esp + 0xe8], 1
call fcn.00423cf0
lea eax, [esp + 0x60]
mov dword [esp + 0x260], 0xffffffff
mov dword [esp + 0x224], eax
add esp, 0xc
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x2c8], eax
mov eax, 2
mov word [esp + 0x31c], ax
mov word [esp + 0x338], ax
mov word [esp + 0x370], ax
mov word [esp + 0x354], ax
mov word [esp + 0x38c], ax
lea eax, [esp + 0x1b4]
push eax
mov dword [esp + 0x254], 0xffffffff
mov dword [esp + 0x24c], 0xffffffff
mov dword [esp + 0x250], 0xffffffff
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
movups xmm0, xmmword [0x4532e8]
mov eax, dword [0x453300]
mov dword [esp + 0x15c], eax
movups xmmword [esp + 0x144], xmm0
mov eax, dword [0x453338]
movq xmm0, qword [0x4532f8]
movq qword [esp + 0x154], xmm0
movups xmm0, xmmword [0x453320]
mov dword [esp + 0x194], eax
mov eax, dword [0x45331c]
movups xmmword [esp + 0x17c], xmm0
mov dword [esp + 0x178], eax
movq xmm0, qword [0x453330]
mov eax, dword [0x452120]
movq qword [esp + 0x18c], xmm0
movups xmm0, xmmword [0x453304]
mov dword [esp + 0xb4], eax
mov eax, dword [0x452128]
movups xmmword [esp + 0x160], xmm0
mov dword [esp + 0x24], eax
movq xmm0, qword [0x453314]
mov eax, dword [0x45212c]
movq qword [esp + 0x170], xmm0
movups xmm0, xmmword [0x4531c8]
mov dword [esp + 0x244], eax
mov dword [esp + 0xa8], eax
mov eax, dword [0x453260]
movups xmmword [esp + 0x54], xmm0
movups xmm0, xmmword [0x4531d8]
movups xmmword [esp + 0x64], xmm0
movups xmm0, xmmword [0x4531e8]
movups xmmword [esp + 0x74], xmm0
movups xmm0, xmmword [0x4531f8]
movups xmmword [esp + 0x84], xmm0
movq xmm0, qword [0x453208]
movq qword [esp + 0x94], xmm0
test eax, eax
je 0x403eb5
push eax
call fcn.004026c0
add esp, 4
mov dword [esp + 0x1e4], eax
test eax, eax
jne 0x403eb5
mov dword [0x454500], 2
mov esi, dword [0x453364]
test esi, esi
je 0x403f32
push 0x10
call fcn.0042eb55
mov edi, eax
add esp, 4
test edi, edi
je 0x403ed5
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
mov esi, edi
test edi, edi
je 0x403f1d
nop dword [eax + eax]
mov ebp, dword [esi]
test ebp, ebp
je 0x403f1d
push 0x10
call fcn.0042eb55
add esp, 4
test eax, eax
je 0x403f01
movups xmm0, xmmword [ebp]
movups xmmword [eax], xmm0
mov dword [esi], eax
mov esi, eax
jmp 0x403ee0
mov dword [esi], eax
mov esi, dword [edi]
push edi
call fcn.0042eb3a
add esp, 4
mov edi, esi
test esi, esi
jne 0x403f03
mov dword [esp + 0x1e8], esi
jmp 0x403f28
mov dword [esp + 0x1e8], edi
test edi, edi
jne 0x403f32
mov dword [0x454500], 2
mov eax, dword [0x453278]
test eax, eax
jne 0x403f41
lea eax, [esp + 0x54]
jmp 0x403f57
mov dword [esp + 0x9c], eax
lea ecx, [esp + 0x54]
mov dword [eax + 0x4c], ecx
mov eax, dword [0x453278]
mov eax, dword [eax + 0x4c]
mov ecx, dword [esp + 0xa80]
mov ebp, 1
mov edi, dword [sym.imp.WS2_32.dll_htons]
mov dword [0x453278], eax
mov dword [esp + 0x30], ebp
cmp ecx, ebp
jle 0x404484
mov ebx, dword [esp + 0x1c]
nop
mov ecx, dword [ebx + ebp*4]
cmp byte [ecx], 0x2d
jne 0x404478
movsx eax, byte [ecx + 1]
lea edx, [ecx + 1]
add eax, 0xffffffcc
cmp eax, 0x41
ja case.0x403fa6.53
movzx eax, byte [eax + 0x40558c]
jmp dword [eax*4 + 0x40552c]
cmp dword [0x453298], 0
jne 0x403fbc
call dword [sym.imp.KERNEL32.dll_FreeConsole]
mov dword [0x453298], 1
jmp 0x40445c
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0xac], 0x41bfd0
test eax, eax
je 0x403fea
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [ebx + ebp*4]
add eax, 2
push eax
call fcn.00432e46
mov ecx, dword [ebx + ebp*4]
add esp, 4
add ecx, 2
mov dword [esp + 0x1f4], eax
mov al, byte [ecx]
test al, al
je 0x40445c
cmp al, 0x40
je 0x40445c
push 0x4442bc
push ecx
call fcn.00426384
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
je 0x40445c
mov dword [esp + 0x1d4], eax
jmp 0x40445c
lea eax, [esp + 0x144]
push eax
lea eax, [ecx + 2]
push eax
push 0x2e
call fcn.0041a7a0
add esp, 0xc
jmp 0x40445c
lea eax, [esp + 0x424]
mov dword [esp + 0x43c], 0
push eax
lea eax, [ecx + 2]
xorps xmm0, xmm0
push eax
push 0x2e
movups xmmword [esp + 0x430], xmm0
movq qword [esp + 0x440], xmm0
call fcn.0041a7a0
xor ecx, ecx
add esp, 0xc
test eax, eax
sete cl
mov dword [esp + 0x10], ecx
test eax, eax
je 0x40445c
cmp word [esp + 0x424], 2
movups xmm0, xmmword [esp + 0x424]
mov eax, dword [esp + 0x43c]
jne 0x4040e1
movups xmmword [esp + 0x17c], xmm0
mov dword [esp + 0x194], eax
movq xmm0, qword [esp + 0x434]
movq qword [esp + 0x18c], xmm0
jmp 0x40445c
movups xmmword [esp + 0x160], xmm0
mov dword [esp + 0x178], eax
movq xmm0, qword [esp + 0x434]
movq qword [esp + 0x170], xmm0
jmp 0x40445c
lea eax, [esp + 0x198]
push eax
lea eax, [ecx + 2]
push eax
push 0x2e
call fcn.0041a7a0
add esp, 0xc
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.0042f67d
add esp, 4
push eax
call edi
mov word [esp + 0x146], ax
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.0042f67d
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov word [esp + 0x1fc], ax
jmp 0x40445c
push edx
call fcn.0042f67d
add esp, 4
mov dword [esp + 0x104], eax
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.0042f67d
add esp, 4
mov dword [esp + 0x138], eax
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.0042f67d
add esp, 4
mov dword [esp + 0xd8], eax
jmp 0x40445c
mov eax, dword [esp + 0x1f0]
test eax, eax
je 0x4041b7
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [ebx + ebp*4]
add eax, 2
push eax
call fcn.00432e46
add esp, 4
mov dword [esp + 0x1f0], eax
jmp 0x40445c
mov dword [esp + 0xe0], 1
jmp 0x40445c
lea eax, [ecx + 2]
mov dword [esp + 0x3c], eax
jmp 0x40445c
mov dword [esp + 0x134], 1
movsx eax, byte [ecx + 2]
push eax
call fcn.0042f840
add esp, 4
test eax, eax
je 0x40445c
mov eax, dword [ebx + ebp*4]
add eax, 2
push eax
call fcn.0042f67d
add esp, 4
mov dword [esp + 0x134], eax
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.00432e46
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], 1
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.00432e46
add esp, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], 1
jmp 0x40445c
add ecx, 2
mov dword [esp + 0xdc], 0
cmp byte [ecx], 0
je 0x40445c
push ecx
call fcn.0042f67d
add esp, 4
mov dword [esp + 0xdc], eax
jmp 0x40445c
mov dword [esp + 0xe4], 1
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.0042f67d
add esp, 4
mov dword [esp + 0x108], eax
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.0042f67d
add esp, 4
inc eax
mov dword [esp + 0x110], eax
jmp 0x40445c
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x130]
push eax
lea eax, [ecx + 2]
push str._d__d__d
push eax
call fcn.004056a0
add esp, 0x14
jmp 0x40445c
lea eax, [ecx + 2]
push eax
call fcn.0042f67d
add esp, 4
inc eax
mov dword [esp + 0xd4], eax
jmp 0x40445c
movsx eax, byte [ecx + 2]
add eax, 0xffffffae
cmp eax, 0x21
ja case.0x403fa6.53
movzx eax, byte [eax + 0x4055e8]
jmp dword [eax*4 + 0x4055d0]
mov eax, dword [str.TCP_NODELAY]
lea ebp, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x404362
push eax
push ebp
call fcn.00423500
add esp, 8
test eax, eax
je 0x404356
bts edi, esi
mov eax, dword [esi*8 + 0x45200c]
inc esi
test eax, eax
jne 0x404345
mov dword [esp + 0x118], edi
jmp 0x404449
mov eax, dword [str.TCP_NODELAY]
lea ebp, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x40439d
nop
push eax
push ebp
call fcn.00423500
add esp, 8
test eax, eax
je 0x404391
bts edi, esi
mov eax, dword [esi*8 + 0x45200c]
inc esi
test eax, eax
jne 0x404380
mov dword [esp + 0x114], edi
jmp 0x404449
mov eax, dword [str.TCP_NODELAY]
lea ebp, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x4043dd
nop dword [eax]
push eax
push ebp
call fcn.00423500
add esp, 8
test eax, eax
je 0x4043d1
bts edi, esi
mov eax, dword [esi*8 + 0x45200c]
inc esi
test eax, eax
jne 0x4043c0
mov dword [esp + 0x11c], edi
jmp 0x404449
mov eax, dword [str.TCP_NODELAY]
lea ebp, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x404442
push eax
push ebp
call fcn.00423500
add esp, 8
test eax, eax
je 0x404407
bts edi, esi
mov eax, dword [esi*8 + 0x45200c]
inc esi
test eax, eax
jne 0x4043f6
jmp 0x404442
mov eax, dword [str.TCP_NODELAY]
lea ebp, [ecx + 3]
xor esi, esi
xor edi, edi
test eax, eax
je 0x404442
push eax
push ebp
call fcn.00423500
add esp, 8
test eax, eax
je 0x404436
bts edi, esi
mov eax, dword [esi*8 + 0x45200c]
inc esi
test eax, eax
jne 0x404425
mov dword [esp + 0x120], edi
cmp dword [esp + 0x10], 0
mov ebp, dword [esp + 0x30]
je 0x40445c
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0xa80]
inc ebp
mov edi, dword [sym.imp.WS2_32.dll_htons]
mov dword [esp + 0x30], ebp
cmp ebp, ecx
jl 0x403f80
jmp 0x40447f
mov ecx, dword [esp + 0xa80]
mov ebx, 0x1388
cmp word [0x452124], 0
je 0x4044f9
cmp dword [esp + 0x10], 0
jne 0x40449d
cmp ebp, ecx
je 0x40456f
mov eax, dword [0x453370]
mov dword [0x454500], 1
mov dword [0x453280], 0
test eax, eax
je 0x4044bf
mov edi, dword [eax + 0xc]
jmp 0x4044c4
mov edi, str.Rroxy_0.9.4___
mov eax, dword [esp + 0x1c]
push 0x4442a2
mov esi, dword [eax]
push esi
push dword [0x452130]
push 0x44459c
call fcn.00403920
add esp, 4
push eax
lea eax, [esp + 0x56c]
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 0x4054f9
cmp dword [esp + 0x10], 0
mov esi, dword [esp + 0x1c]
jne 0x4054a1
lea eax, [ebp + 3]
cmp ecx, eax
jne 0x4054a1
mov eax, dword [esi + ebp*4]
cmp byte [eax], 0x2d
je 0x4054a1
push eax
call fcn.0042f67d
add esp, 4
push eax
call edi
mov word [esp + 0x146], ax
test ax, ax
je 0x4054a1
push dword [esi + ebp*4 + 8]
call fcn.0042f67d
add esp, 4
push eax
call edi
mov word [esp + 0x1fc], ax
test ax, ax
je 0x4054a1
push dword [esi + ebp*4 + 4]
call fcn.00432e46
add esp, 4
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x1f0]
test eax, eax
je 0x4045dc
cmp byte [eax], 0x2d
jne 0x4045dc
inc eax
push 0x2b
push eax
call fcn.004233d0
mov edi, eax
add esp, 8
test edi, edi
je 0x4045dc
cmp byte [edi + 1], 0
je 0x4045dc
mov esi, dword [esp + 0x1f0]
mov byte [edi], 0
mov eax, dword [esp + 0x1f0]
inc eax
push eax
call fcn.00432e46
mov dword [esp + 0x1fc], eax
mov al, byte [edi + 1]
mov byte [esp + 0x202], al
lea eax, [edi + 2]
push eax
call fcn.00432e46
mov dword [esp + 0x1f8], eax
push esi
mov byte [edi], 0x2b
call fcn.0042eb3a
add esp, 0xc
mov eax, dword [esp + 0x15c]
xorps xmm0, xmm0
movups xmm1, xmmword [esp + 0x144]
mov ebp, 2
mov dword [esp + 0x334], eax
movups xmmword [esp + 0x354], xmm0
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x104]
movq qword [esp + 0x364], xmm0
movq qword [esp + 0x380], xmm0
movq qword [esp + 0x39c], xmm0
mov dword [esp + 0x36c], 0
mov dword [esp + 0x388], 0
mov dword [esp + 0x3a4], 0
mov word [esp + 0x354], bp
movups xmmword [esp + 0x38c], xmm0
mov word [esp + 0x38c], bp
movups xmmword [esp + 0x370], xmm0
movq xmm0, qword [esp + 0x154]
movq qword [esp + 0x32c], xmm0
movq qword [esp + 0x348], xmm0
movups xmmword [esp + 0x31c], xmm1
movups xmmword [esp + 0x338], xmm1
cmp eax, 6
je 0x4046c3
cmp eax, 0x40
je 0x4046c3
movups xmm0, xmmword [esp + 0x17c]
mov eax, dword [esp + 0x194]
movups xmmword [esp + 0x370], xmm0
movq xmm0, qword [esp + 0x18c]
jmp 0x4046e3
movups xmm0, xmmword [esp + 0x160]
mov eax, dword [esp + 0x178]
movups xmmword [esp + 0x370], xmm0
movq xmm0, qword [esp + 0x170]
cmp word [esp + 0x144], 0
mov dword [esp + 0x388], eax
movq qword [esp + 0x380], xmm0
jne 0x404706
mov word [esp + 0x144], bp
cmp word [esp + 0x146], 0
jne 0x404727
movzx eax, word [0x452124]
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x146], ax
mov ecx, dword [esp + 0x3c]
mov eax, 0x17
mov word [esp + 0x17c], bp
mov word [esp + 0x160], ax
test ecx, ecx
je 0x40475d
movzx eax, word [0x452124]
push eax
lea eax, [esp + 0x210]
push eax
push ecx
call fcn.0041ab80
add esp, 0xc
mov esi, dword [0x453360]
xor edx, edx
test esi, esi
je 0x404882
mov ecx, esi
mov dword [esp + 0x1ec], ecx
mov eax, dword [ecx]
inc edx
mov ecx, eax
mov dword [esp + 0x1ec], ecx
test eax, eax
jne 0x404776
imul eax, edx, 0x34
push eax
call fcn.0042eb55
add esp, 4
mov dword [esp + 0x1ec], eax
test eax, eax
je 0x404882
mov eax, dword [esi + 0xc]
test eax, eax
je 0x404878
lea ecx, [esp + 0x54]
push ecx
push dword [esi + 8]
call eax
mov edx, eax
add esp, 8
test edx, edx
je 0x404878
imul ecx, dword [esp + 0xe8], 0x34
movups xmm0, xmmword [esi]
add ecx, dword [esp + 0x1ec]
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 + 0xe8], 0x34
mov eax, dword [esp + 0x1ec]
mov dword [ecx + eax + 8], edx
mov eax, dword [esp + 0xe8]
test eax, eax
jle 0x404822
imul ecx, eax, 0x34
mov eax, dword [esp + 0x1ec]
add eax, ecx
mov dword [eax - 0x34], eax
mov eax, dword [esp + 0xe8]
inc eax
mov dword [esp + 0xe8], eax
cmp dword [esi + 0x14], 0
je 0x404837
inc dword [esp + 0xec]
cmp dword [esi + 0x1c], 0
je 0x404844
inc dword [esp + 0xf4]
cmp dword [esi + 0x18], 0
je 0x404851
inc dword [esp + 0xf0]
cmp dword [esi + 0x20], 0
je 0x40485e
inc dword [esp + 0xf8]
cmp dword [esi + 0x28], 0
je 0x40486b
inc dword [esp + 0x100]
cmp dword [esi + 0x24], 0
je 0x404878
inc dword [esp + 0xfc]
mov esi, dword [esi]
test esi, esi
jne 0x4047a1
cmp dword [esp + 0x20], 0
mov esi, 0x1c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [0x453280], 0
jne 0x404b15
cmp dword [esp + 0xb8], 0xffffffff
jne 0x404971
cmp dword [esp + 0x24], 0
lea eax, [esi - 0x1a]
lea ecx, [esi - 5]
jne 0x4048e3
cmp word [esp + 0x144], cx
push 6
push 1
cmove eax, ecx
push eax
push dword [esp + 0x60]
call dword [esp + 0x6c]
mov esi, eax
mov dword [esp + 0x14], esi
jmp 0x404902
cmp word [esp + 0x144], 0x17
push 0x11
push 2
cmove eax, ecx
push eax
push dword [esp + 0x60]
call dword [esp + 0x6c]
mov esi, eax
mov dword [esp + 0x14], eax
cmp esi, 0xffffffff
jne 0x40491e
push str.socket__
call fcn.004265d5
add esp, 4
mov eax, 0xfffffffe
jmp 0x405511
push dword [esp + 0x11c]
push esi
call fcn.004038a0
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 + 0xbc], esi
push eax
push 4
push 0xffff
push esi
push dword [esp + 0x68]
call dword [esp + 0x94]
test eax, eax
je 0x404971
push str.setsockopt__
call fcn.004265d5
add esp, 4
cmp word [esp + 0x144], 0x17
mov ecx, 0x1c
mov eax, 0x10
mov dword [esp + 0x28], 0x1c
cmove eax, ecx
mov esi, 0x64
push eax
lea eax, [esp + 0x148]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x60]
call dword [esp + 0x74]
cmp eax, 0xffffffff
jne 0x404a2d
call ebp
push eax
call fcn.0042f833
push eax
lea eax, [esp + 0x464]
push str.bind__:__s
push eax
call fcn.00402430
add esp, 0x10
cmp dword [esp + 0xe0], 0
jne 0x4049f2
lea eax, [esp + 0x45c]
push eax
lea eax, [esp + 0x210]
push eax
call fcn.0041b360
add esp, 8
add esi, esi
je 0x404aaa
push esi
call edi
cmp word [esp + 0x144], 0x17
mov ecx, 0x1c
mov eax, 0x10
cmove eax, ecx
push eax
lea eax, [esp + 0x148]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x60]
call dword [esp + 0x74]
cmp eax, 0xffffffff
je 0x4049b2
cmp dword [esp + 0x24], 0
jne 0x404ac3
mov eax, dword [esp + 0xc8]
test eax, eax
jne 0x404a4e
mov eax, dword [esp + 0xc4]
sar eax, 3
inc eax
push eax
push dword [esp + 0x18]
push dword [esp + 0x5c]
call dword [esp + 0x74]
cmp eax, 0xffffffff
jne 0x404ace
call ebp
push eax
call fcn.0042f833
push eax
lea eax, [esp + 0x464]
push str.listen__:__s
push eax
call fcn.00402430
add esp, 0x10
cmp dword [esp + 0xe0], 0
jne 0x404aa0
lea eax, [esp + 0x45c]
push eax
lea eax, [esp + 0x210]
push eax
call fcn.0041b360
add esp, 8
mov eax, 0xfffffffc
jmp 0x405511
push dword [esp + 0x14]
push dword [esp + 0x58]
call dword [esp + 0xa0]
mov eax, 0xfffffffd
jmp 0x405511
mov eax, dword [esp + 0x14]
mov dword [esp + 0x248], eax
cmp dword [esp + 0xe0], 0
jne 0x404b10
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [esp + 0x464]
push str.Accepting_connections___u__u_
push eax
call fcn.00402430
lea eax, [esp + 0x46c]
push eax
lea eax, [esp + 0x220]
push eax
call fcn.0041b360
add esp, 0x18
mov esi, 0x1c
cmp dword [esp + 0x40], 0
je 0x404c4d
lea eax, [esp + 0x440]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x10c]
call fcn.0041aac0
add esp, 0xc
mov ecx, 0x17
cmp word [esp + 0x440], 0x17
mov eax, 2
cmove eax, ecx
push 6
push 1
push eax
push dword [esp + 0x60]
call dword [esp + 0x6c]
mov dword [esp + 0xbc], eax
cmp eax, 0xffffffff
jne 0x404b89
lea eax, [esp + 0x20c]
push str.Failed_to_allocate_connect_back_socket
push eax
call fcn.0041b360
add esp, 8
mov eax, 0xfffffffa
jmp 0x405511
push 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], 1
push ecx
push 4
push 0xffff
push eax
push dword [esp + 0x68]
call dword [esp + 0x94]
push dword [esp + 0x124]
push dword [esp + 0xc0]
call fcn.004038a0
add esp, 8
mov eax, 0x10
cmp word [esp + 0x440], 0x17
cmove eax, esi
push eax
lea eax, [esp + 0x444]
push eax
push dword [esp + 0xc4]
push dword [esp + 0x60]
call dword [esp + 0x74]
cmp eax, 0xffffffff
jne 0x404c0e
lea eax, [esp + 0x20c]
push str.Failed_to_bind_connect_back_socket
push eax
call fcn.0041b360
add esp, 8
mov eax, 0xfffffff9
jmp 0x405511
mov eax, dword [esp + 0xc4]
sar eax, 4
inc eax
push eax
push dword [esp + 0xc0]
push dword [esp + 0x5c]
call dword [esp + 0x74]
cmp eax, 0xffffffff
jne 0x404c4d
lea eax, [esp + 0x20c]
push str.Failed_to_listen_connect_back_socket
push eax
call fcn.0041b360
add esp, 8
mov eax, 0xfffffff8
jmp 0x405511
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1cc], eax
mov eax, 0x300
mov word [esp + 0x1d0], ax
nop word [eax + eax]
mov eax, dword [0x453290]
mov ecx, dword [esp + 0xcc]
cmp eax, ecx
jne 0x404ce7
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
cmp edx, esi
jl 0x404ce7
inc ebx
cmp dword [esp + 0xe0], 0
jne 0x404cd3
cmp ebx, 0x1388
jle 0x404cd3
push esi
push edx
lea eax, [esp + 0x464]
push str.Warning:_too_many_connected_clients___d__d_
push eax
call fcn.00402430
lea eax, [esp + 0x46c]
push eax
lea eax, [esp + 0x220]
push eax
call fcn.0041b360
add esp, 0x18
xor ebx, ebx
push 1
call edi
mov eax, dword [0x453290]
mov ecx, dword [esp + 0xcc]
cmp eax, ecx
je 0x404c80
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x404da7
cmp eax, ecx
jne 0x405291
test dword [esp + 0x1d0], 0x300
je 0x404e78
push 0x3e8
push 1
lea eax, [esp + 0x1d4]
push eax
push dword [esp + 0x60]
call dword [esp + 0x90]
mov dword [esp + 0x10], eax
cmp eax, 1
jge 0x404d97
test eax, eax
je 0x404c70
call ebp
cmp eax, 0x2733
je 0x404c70
call ebp
cmp eax, 0x2733
je 0x404c70
call ebp
push eax
call ebp
push eax
call fcn.0042f833
add esp, 4
push eax
lea eax, [esp + 0x464]
push str.poll__:__s__d
push eax
call fcn.00402430
add esp, 0x10
cmp dword [esp + 0xe0], 0
jne 0x404d97
lea eax, [esp + 0x45c]
push eax
lea eax, [esp + 0x210]
push eax
call fcn.0041b360
add esp, 8
mov edx, dword [esp + 0x20]
mov eax, dword [0x453290]
mov ecx, dword [esp + 0xcc]
cmp eax, ecx
jne 0x405291
cmp dword [esp + 0x10], 0
jl 0x405291
cmp dword [esp + 0x24], 0
mov dword [esp + 0x10], 0
jne 0x405046
mov dword [esp + 0x28], 0x1c
test edx, edx
je 0x404eb8
cmp word [esp + 0x338], 0x17
mov ecx, 0x17
push 6
push 1
mov eax, 2
cmove eax, ecx
push eax
push dword [0x4531c8]
call dword [0x4531d0]
mov esi, eax
mov dword [esp + 0x18], esi
cmp esi, 0xffffffff
je 0x404e78
push dword [esp + 0x120]
push esi
call fcn.004038a0
lea eax, [esp + 0x340]
push eax
push dword [esp + 0x40]
push dword [esp + 0x114]
call fcn.0041aac0
cmp word [esp + 0x34c], 0x17
mov ecx, 0x1c
push 9
mov eax, 0x10
cmove eax, ecx
push eax
lea eax, [esp + 0x354]
push eax
push esi
push 0
call fcn.0041af30
add esp, 0x28
test eax, eax
je 0x404e81
push esi
push dword [0x4531c8]
call dword [0x45320c]
or eax, 0xffffffff
mov dword [esp + 0x18], eax
push 1
call edi
jmp 0x404c70
push 0xea60
push 1
lea eax, [esp + 0x464]
push eax
lea eax, [esp + 0x344]
push eax
push esi
push 0
call fcn.00419ab0
add esp, 0x18
cmp eax, 1
jne 0x404e64
cmp byte [esp + 0x45c], 0x43
je 0x404f76
jmp 0x404e64
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x33c]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x60]
call dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x18], esi
cmp esi, 0xffffffff
jne 0x404f66
call ebp
add eax, 0xffffd8ec
cmp eax, 0x33
ja case.0x404ef3.10005
movzx eax, byte [eax + 0x405618]
jmp dword [eax*4 + 0x40560c]
push 0xa
call edi
mov eax, dword [esp + 0x10]
inc ebx
cmp dword [esp + 0xe0], 0
jne 0x404c70
test eax, eax
jne 0x404f21
cmp ebx, 0x1388
jle 0x404c70
call ebp
push eax
call fcn.0042f833
push eax
lea eax, [esp + 0x464]
push str.accept__:__s
push eax
call fcn.00402430
lea eax, [esp + 0x46c]
push eax
lea eax, [esp + 0x220]
push eax
call fcn.0041b360
add esp, 0x18
xor ebx, ebx
jmp 0x404c70
mov eax, 1
mov dword [esp + 0x10], eax
jmp 0x404f02
push dword [esp + 0x114]
push esi
call fcn.004038a0
add esp, 8
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0x1c
push eax
lea eax, [esp + 0x320]
push eax
push esi
push dword [esp + 0x60]
call dword [esp + 0x84]
test eax, eax
je 0x404fe4
call ebp
push eax
call fcn.0042f833
push eax
lea eax, [esp + 0x464]
push str.getsockname__:__s
push eax
call fcn.00402430
add esp, 0x10
cmp dword [esp + 0xe0], 0
jne 0x404c70
lea eax, [esp + 0x45c]
push eax
lea eax, [esp + 0x210]
push eax
call fcn.0041b360
add esp, 8
jmp 0x404c70
lea eax, [esp + 0x44]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, 1
mov word [esp + 0x48], ax
mov ax, word [0x45323c]
push 4
mov word [esp + 0x4e], ax
lea eax, [esp + 0x4c]
push eax
push 0x80
push 0xffff
push esi
push dword [esp + 0x68]
call dword [esp + 0x94]
push 4
lea eax, [esp + 0x30]
push eax
push 0x100
push 0xffff
push esi
push dword [esp + 0x68]
call dword [esp + 0x94]
jmp 0x405054
mov esi, dword [esp + 0x18]
xor eax, eax
mov word [esp + 0x1d0], ax
push 0x218
call fcn.0042eb55
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x4050b2
cmp dword [esp + 0x24], eax
jne 0x405079
push esi
push dword [esp + 0x58]
call dword [esp + 0xa0]
cmp dword [esp + 0xe0], 0
mov dword [esp + 0x2a0], 0x15
jne 0x4050a3
lea eax, [esp + 0x20c]
push str.Memory_Allocation_Failed
push eax
call fcn.0041b360
add esp, 8
push 1
call edi
mov ebp, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404c70
mov ecx, 0x86
lea esi, [esp + 0x20c]
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x2d4]
test eax, eax
je 0x4050dc
push eax
call fcn.00432e46
add esp, 4
mov dword [ebp + 0xc8], eax
push ebp
call fcn.0041c210
mov esi, dword [esp + 0x28]
add esp, 4
test esi, esi
jne 0x4050f4
mov eax, dword [esp + 0x18]
mov dword [ebp + 0x3c], eax
lea eax, [esp + 0x54]
push ebp
push eax
call fcn.00402f20
add esp, 8
cmp eax, 1
jle 0x405121
push ebp
call fcn.00402470
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 4
mov ebp, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404c70
lea eax, [esp + 0x1b4]
mov dword [ebp], 0
push eax
mov dword [ebp + 4], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x40515d
mov dword [ebp], eax
mov eax, dword [esp + 0xa4]
mov dword [eax + 4], ebp
lea eax, [esp + 0x50]
mov dword [esp + 0xa4], ebp
push eax
mov eax, dword [esp + 0x10c]
push 0
push ebp
push 0x403970
add eax, 0x4000
push eax
push 0
call fcn.0042fab0
inc dword [esp + 0xd8]
add esp, 0x18
test eax, eax
je 0x4051b4
mov ecx, dword [esp + 0x50]
push eax
mov dword [ebp + 0xa0], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x405212
push 0
call fcn.0042f7b5
push eax
lea eax, [esp + 0x464]
push str._beginthreadex__:__s
push eax
call fcn.00402430
add esp, 0x10
cmp dword [esp + 0xe0], 0
jne 0x4051f3
lea eax, [esp + 0x45c]
push eax
lea eax, [esp + 0x210]
push eax
call fcn.0041b360
add esp, 8
lea eax, [esp + 0x1b4]
mov dword [esp + 0x10], 1
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebp
call fcn.00402470
add esp, 4
mov dword [esp + 0x334], 0
xorps xmm0, xmm0
movq qword [esp + 0x32c], xmm0
movq qword [esp + 0x348], xmm0
mov dword [esp + 0x350], 0
movups xmmword [esp + 0x31c], xmm0
movups xmmword [esp + 0x338], xmm0
test esi, esi
je 0x405260
cmp word [esp + 0x1d0], 0
je 0x405271
nop dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404c70
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 1
call edi
cmp word [esp + 0x1d0], 0
je 0x405277
mov ebp, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404c70
push 0x455520
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x9c]
test ecx, ecx
je 0x4052b8
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x4052c8
mov dword [eax + 0x48], ecx
jmp 0x4052ce
mov dword [0x453278], ecx
push 0x455520
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [esp + 0xe0], 0
jne 0x4052fa
lea eax, [esp + 0x20c]
push str.Exiting_thread
push eax
call dword [esp + 0xb4]
add esp, 8
mov eax, dword [esp + 0xb8]
cmp eax, 0xffffffff
je 0x405311
push eax
push dword [esp + 0x58]
call dword [0x45320c]
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xb8], 0xffffffff
cmp eax, 0xffffffff
je 0x405333
push eax
push dword [esp + 0x58]
call dword [0x45320c]
cmp dword [esp + 0xa4], 0
mov dword [esp + 0xbc], 0xffffffff
mov dword [esp + 0xa8], 0xf
je 0x405361
push 0x64
call edi
cmp dword [esp + 0xa4], 0
jne 0x405353
mov esi, dword [esp + 0x1ec]
test esi, esi
je 0x4053b7
mov ecx, dword [esp + 0xe8]
test ecx, ecx
je 0x4053ae
nop word [eax + eax]
dec ecx
imul eax, ecx, 0x34
mov dword [esp + 0xe8], ecx
mov edx, dword [eax + esi + 0x30]
test edx, edx
je 0x4053aa
push dword [eax + esi + 8]
call edx
mov esi, dword [esp + 0x1f0]
add esp, 4
mov ecx, dword [esp + 0xe8]
test ecx, ecx
jne 0x405380
push esi
call fcn.0042eb3a
add esp, 4
mov eax, dword [esp + 0x1e4]
test eax, eax
je 0x4053cb
push eax
call fcn.00402ca0
add esp, 4
mov eax, dword [esp + 0x1e8]
test eax, eax
je 0x4053e7
mov esi, dword [eax]
push eax
call fcn.0042eb3a
add esp, 4
mov eax, esi
test esi, esi
jne 0x4053d6
lea eax, [esp + 0x1b4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, dword [esp + 0x1d8]
test eax, eax
je 0x405409
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [esp + 0x1f4]
test eax, eax
je 0x40541d
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [esp + 0x1f0]
test eax, eax
je 0x405431
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [esp + 0x1f8]
test eax, eax
je 0x405445
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x405456
push dword [esp + 0x54]
call eax
add esp, 4
mov eax, dword [esp + 0x2d4]
test eax, eax
je 0x40546a
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x40547b
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x40548c
push eax
call fcn.0042eb3a
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x40549d
push eax
call fcn.00425f3a
add esp, 4
xor eax, eax
jmp 0x405511
mov eax, dword [0x453370]
mov dword [0x454500], 1
mov dword [0x453280], 0
test eax, eax
je 0x4054c3
mov edi, dword [eax + 0xc]
jmp 0x4054c8
mov edi, str.Rroxy_0.9.4___
mov eax, dword [esp + 0x1c]
mov esi, dword [esi]
push 0x4442a2
push dword [eax]
push dword [0x452130]
push 0x44459c
call fcn.00403920
add esp, 4
push eax
lea eax, [esp + 0x56c]
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.00425c7a
add esp, 4
push eax
call fcn.00402400
mov eax, 1
add esp, 0x28
mov ecx, dword [esp + 0xa78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042255f
add esp, 0xa6c
ret