Function at 0x426310
Capabilities:
Create thread
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8a8
mov eax, dword [0x458974]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
mov dword [ebp - 0x468], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x58c], 0
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x464], 1
mov dword [ebp - 0x774], 0
mov dword [ebp - 0x46c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x788], 0
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0x1388
mov ecx, 0x10c
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:
lea edi, [ebp - 0x458]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x770], 1
lea eax, [ebp - 0x768]
push eax
lea ecx, [ebp - 0x588]
push ecx
call fcn.00427630
add esp, 8
mov edx, dword [0x4525b8]
mov dword [ebp - 0x570], edx
mov eax, dword [0x4525c0]
mov dword [ebp - 0x774], eax
mov ecx, dword [0x4525c4]
mov dword [ebp - 0x734], ecx
mov edx, dword [ebp - 0x734]
mov dword [ebp - 0x57c], edx
cmp dword [0x452468], 0
je 0x426430
mov eax, dword [0x452468]
push eax
call fcn.00428010
add esp, 4
mov dword [ebp - 0x494], eax
cmp dword [ebp - 0x494], 0
jne 0x426430
mov dword [0x459f68], 2
cmp dword [0x452528], 0
je 0x426461
mov ecx, dword [0x452528]
push ecx
call fcn.00427f50
add esp, 4
mov dword [ebp - 0x490], eax
cmp dword [ebp - 0x490], 0
jne 0x426461
mov dword [0x459f68], 2
cmp dword [0x452480], 0
jne 0x426478
lea edx, [ebp - 0x588]
mov dword [0x452480], edx
jmp 0x4264a0
mov eax, dword [0x452480]
mov dword [ebp - 0x588], eax
mov ecx, dword [0x452480]
lea edx, [ebp - 0x588]
mov dword [ecx + 4], edx
mov eax, dword [0x452480]
mov ecx, dword [eax + 4]
mov dword [0x452480], ecx
mov dword [ebp - 0x14], 1
jmp 0x4264b2
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 8]
jge 0x426929
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
jne 0x426922
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
movsx edx, byte [ecx + 1]
mov dword [ebp - 0x8a0], edx
mov eax, dword [ebp - 0x8a0]
sub eax, 0x34
mov dword [ebp - 0x8a0], eax
cmp dword [ebp - 0x8a0], 0x41
ja case.0x42650f.1
mov ecx, dword [ebp - 0x8a0]
movzx edx, byte [ecx + 0x427570]
jmp dword [edx*4 + 0x42751c]
cmp dword [0x4524a0], 0
jne 0x426525
call dword [sym.imp.KERNEL32.dll_FreeConsole]
mov dword [0x4524a0], 1
jmp 0x426920
mov dword [ebp - 0x578], fcn.004119c0
cmp dword [ebp - 0x484], 0
je 0x426556
mov eax, dword [ebp - 0x484]
push eax
call fcn.00433bc1
add esp, 4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 2
push eax
call fcn.004493e1
add esp, 4
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
movsx ecx, byte [eax + 2]
test ecx, ecx
je 0x4265cb
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
movsx edx, byte [ecx + 2]
cmp edx, 0x40
jne 0x426596
jmp 0x4265cb
push 0x4569fc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
add edx, 2
push edx
call fcn.00432a43
add esp, 8
mov dword [ebp - 0x460], eax
cmp dword [ebp - 0x460], 0
je 0x4265cb
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x4a4], eax
jmp 0x426920
lea ecx, [ebp - 0x4f4]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
add ecx, 2
push ecx
push 0x2e
call fcn.004127c0
add esp, 0xc
jmp 0x426920
lea edx, [ebp - 0x4e4]
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
add edx, 2
push edx
push 0x2e
call fcn.004127c0
add esp, 0xc
neg eax
sbb eax, eax
add eax, 1
mov dword [ebp - 0x58c], eax
jmp 0x426920
lea eax, [ebp - 0x4d4]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 2
push eax
push 0x2e
call fcn.004127c0
add esp, 0xc
jmp 0x426920
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 2
push eax
call fcn.004343e1
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x4f2], ax
jmp 0x426920
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 1
push eax
call fcn.004343e1
add esp, 4
mov dword [ebp - 0x524], eax
jmp 0x426920
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 2
push eax
call fcn.004343e1
add esp, 4
mov dword [ebp - 0x500], eax
jmp 0x426920
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 2
push eax
call fcn.004343e1
add esp, 4
mov dword [ebp - 0x550], eax
jmp 0x426920
cmp dword [ebp - 0x488], 0
je 0x4266e6
mov ecx, dword [ebp - 0x488]
push ecx
call fcn.00433bc1
add esp, 4
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
add ecx, 2
push ecx
call fcn.004493e1
add esp, 4
mov dword [ebp - 0x488], eax
jmp 0x426920
mov dword [ebp - 0x548], 1
jmp 0x426920
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
add ecx, 2
mov dword [ebp - 0x78c], ecx
jmp 0x426920
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
add ecx, 2
push ecx
call fcn.004493e1
add esp, 4
mov dword [ebp - 0x788], eax
mov dword [ebp - 0x10], 1
jmp 0x426920
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
add ecx, 2
push ecx
call fcn.004493e1
add esp, 4
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x46c], 1
jmp 0x426920
mov dword [ebp - 0x54c], 0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
movsx edx, byte [ecx + 2]
test edx, edx
je 0x4267b3
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
add edx, 2
push edx
call fcn.004343e1
add esp, 4
mov dword [ebp - 0x54c], eax
jmp 0x426920
mov dword [ebp - 0x544], 1
jmp 0x426920
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
add edx, 2
push edx
call fcn.004343e1
add esp, 4
mov dword [ebp - 0x520], eax
jmp 0x426920
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
add edx, 2
push edx
call fcn.004343e1
add esp, 4
add eax, 1
mov dword [ebp - 0x518], eax
jmp 0x426920
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
add edx, 2
push edx
call fcn.004343e1
add esp, 4
add eax, 1
mov dword [ebp - 0x554], eax
jmp 0x426920
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
movsx eax, byte [edx + 2]
mov dword [ebp - 0x8a4], eax
mov ecx, dword [ebp - 0x8a4]
sub ecx, 0x52
mov dword [ebp - 0x8a4], ecx
cmp dword [ebp - 0x8a4], 0x21
ja case.0x426869.1
mov edx, dword [ebp - 0x8a4]
movzx eax, byte [edx + 0x4275cc]
jmp dword [eax*4 + 0x4275b4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 3
push eax
call fcn.00426230
add esp, 4
mov dword [ebp - 0x510], eax
jmp 0x42690b
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 3
push eax
call fcn.00426230
add esp, 4
mov dword [ebp - 0x514], eax
jmp 0x42690b
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 3
push eax
call fcn.00426230
add esp, 4
mov dword [ebp - 0x50c], eax
jmp 0x42690b
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 3
push eax
call fcn.00426230
add esp, 4
mov dword [ebp - 0x508], eax
jmp 0x42690b
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
add eax, 3
push eax
call fcn.00426230
add esp, 4
mov dword [ebp - 0x508], eax
jmp 0x42690b
mov dword [ebp - 0x58c], 1
cmp dword [ebp - 0x58c], 0
jne case.0x42650f.1
jmp 0x426920
mov dword [ebp - 0x58c], 1
jmp 0x426924
jmp 0x426929
jmp 0x4264a9
movzx ecx, word [0x4525bc]
test ecx, ecx
je 0x426963
cmp dword [ebp - 0x58c], 0
jne 0x426945
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp + 8]
je 0x426963
mov dword [0x459f68], 1
mov dword [0x452488], 0
mov eax, 1
jmp 0x427509
lea eax, [ebp - 0x768]
push eax
lea ecx, [ebp - 0x588]
push ecx
call fcn.00427890
add esp, 8
movzx edx, word [ebp - 0x4f4]
test edx, edx
jne 0x426990
mov eax, 2
mov word [ebp - 0x4f4], ax
movzx ecx, word [ebp - 0x4f2]
test ecx, ecx
jne 0x4269b0
movzx edx, word [0x4525bc]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x4f2], ax
mov eax, 2
mov word [ebp - 0x4e4], ax
cmp dword [ebp - 0x78c], 0
je 0x4269e3
movzx ecx, word [0x4525bc]
push ecx
lea edx, [ebp - 0x768]
push edx
mov eax, dword [ebp - 0x78c]
push eax
call fcn.00411c70
add esp, 0xc
lea ecx, [ebp - 0x588]
push ecx
mov edx, dword [0x452524]
push edx
call fcn.00428520
add esp, 8
mov dword [0x452488], 0
cmp dword [ebp - 0x10], 0
jne 0x426c4f
cmp dword [ebp - 0x56c], 0xffffffff
jne 0x426ad8
cmp dword [ebp - 0x774], 0
jne 0x426a51
mov eax, 1
mov word [ebp - 0x89c], ax
mov cx, word [0x452444]
mov word [ebp - 0x89a], cx
push 6
push 1
push 2
call dword [0x452558]
mov dword [ebp - 0x468], eax
jmp 0x426a63
push 0x11
push 2
push 2
call dword [0x452558]
mov dword [ebp - 0x468], eax
cmp dword [ebp - 0x468], 0xffffffff
jne 0x426a76
mov eax, 0xfffffffe
jmp 0x427509
mov edx, dword [ebp - 0x50c]
push edx
mov eax, dword [ebp - 0x468]
push eax
call fcn.00426290
add esp, 8
lea ecx, [ebp - 0x770]
push ecx
push 0x8004667e
mov edx, dword [ebp - 0x468]
push edx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [ebp - 0x468]
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x464], 1
push 4
lea ecx, [ebp - 0x464]
push ecx
push 4
push 0xffff
mov edx, dword [ebp - 0x468]
push edx
call dword [0x452578]
mov dword [ebp - 0x76c], 0x10
mov dword [ebp - 0x894], 0x64
jmp 0x426afb
mov eax, dword [ebp - 0x894]
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x10
lea ecx, [ebp - 0x4f4]
push ecx
mov edx, dword [ebp - 0x468]
push edx
call dword [0x452560]
cmp eax, 0xffffffff
jne 0x426b85
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.00435385
add esp, 4
push eax
push str.bind__:__s
lea eax, [ebp - 0x890]
push eax
call fcn.0043373e
add esp, 0xc
cmp dword [ebp - 0x548], 0
jne 0x426b59
lea ecx, [ebp - 0x890]
push ecx
lea edx, [ebp - 0x768]
push edx
call fcn.00410500
add esp, 8
mov eax, dword [ebp - 0x894]
shl eax, 1
mov dword [ebp - 0x894], eax
jne 0x426b80
mov ecx, dword [ebp - 0x468]
push ecx
call dword [0x452594]
mov eax, 0xfffffffd
jmp 0x427509
jmp 0x426aee
cmp dword [ebp - 0x774], 0
jne 0x426bfc
mov edx, dword [ebp - 0x560]
sar edx, 4
add edx, 1
push edx
mov eax, dword [ebp - 0x468]
push eax
call dword [0x452564]
cmp eax, 0xffffffff
jne 0x426bfa
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.00435385
add esp, 4
push eax
push str.listen__:__s
lea ecx, [ebp - 0x890]
push ecx
call fcn.0043373e
add esp, 0xc
cmp dword [ebp - 0x548], 0
jne 0x426bf0
lea edx, [ebp - 0x890]
push edx
lea eax, [ebp - 0x768]
push eax
call fcn.00410500
add esp, 8
mov eax, 0xfffffffc
jmp 0x427509
jmp 0x426c08
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x730], ecx
cmp dword [ebp - 0x548], 0
jne 0x426c4f
cmp dword [ebp - 0x10], 0
jne 0x426c4f
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push str.Accepting_connections___u__u_
lea edx, [ebp - 0x890]
push edx
call fcn.0043373e
add esp, 0x10
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x768]
push ecx
call fcn.00410500
add esp, 8
cmp dword [ebp - 0x46c], 0
je 0x426d65
lea edx, [ebp - 0x784]
push edx
mov eax, dword [ebp - 0x898]
push eax
mov ecx, dword [ebp - 0x524]
push ecx
call fcn.00411b50
add esp, 0xc
push 6
push 1
push 2
call dword [0x452558]
mov dword [ebp - 0x568], eax
cmp dword [ebp - 0x568], 0xffffffff
jne 0x426cb2
push str.Failed_to_allocate_connect_back_socket
lea edx, [ebp - 0x768]
push edx
call fcn.00410500
add esp, 8
mov eax, 0xfffffffa
jmp 0x427509
mov dword [ebp - 0x464], 1
push 4
lea eax, [ebp - 0x464]
push eax
push 4
push 0xffff
mov ecx, dword [ebp - 0x568]
push ecx
call dword [0x452578]
mov edx, dword [ebp - 0x504]
push edx
mov eax, dword [ebp - 0x568]
push eax
call fcn.00426290
add esp, 8
push 0x10
lea ecx, [ebp - 0x784]
push ecx
mov edx, dword [ebp - 0x568]
push edx
call dword [0x452560]
cmp eax, 0xffffffff
jne 0x426d28
push str.Failed_to_bind_connect_back_socket
lea eax, [ebp - 0x768]
push eax
call fcn.00410500
add esp, 8
mov eax, 0xfffffff9
jmp 0x427509
mov ecx, dword [ebp - 0x560]
sar ecx, 4
add ecx, 1
push ecx
mov edx, dword [ebp - 0x568]
push edx
call dword [0x452564]
cmp eax, 0xffffffff
jne 0x426d65
push str.Failed_to_listen_connect_back_socket
lea eax, [ebp - 0x768]
push eax
call fcn.00410500
add esp, 8
mov eax, 0xfffffff8
jmp 0x427509
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x4ac], ecx
mov edx, 0x300
mov word [ebp - 0x4a8], dx
mov eax, dword [0x452498]
cmp eax, dword [ebp - 0x55c]
jne 0x426e0f
mov ecx, dword [ebp - 0x564]
cmp ecx, dword [ebp - 0x560]
jl 0x426e0f
mov edx, dword [ebp - 0x45c]
add edx, 1
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x548], 0
jne 0x426e02
cmp dword [ebp - 0x45c], 0x1388
jle 0x426e02
mov eax, dword [ebp - 0x560]
push eax
mov ecx, dword [ebp - 0x564]
push ecx
push str.Warning:_too_many_connected_clients___d__d_
lea edx, [ebp - 0x890]
push edx
call fcn.0043373e
add esp, 0x10
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x768]
push ecx
call fcn.00410500
add esp, 8
mov dword [ebp - 0x45c], 0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x426d7d
cmp dword [ebp - 0x10], 0
je 0x426e1a
jmp 0x426ee8
mov edx, dword [0x452498]
cmp edx, dword [ebp - 0x55c]
je 0x426e2d
jmp 0x426ee8
movsx eax, word [ebp - 0x4a8]
and eax, 0x300
je 0x426e57
push 0x3e8
push 1
lea ecx, [ebp - 0x4ac]
push ecx
call dword [0x45257c]
mov dword [ebp - 0x58c], eax
jmp 0x426e64
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x426d7d
cmp dword [ebp - 0x58c], 1
jl 0x426e6f
jmp 0x426ee8
cmp dword [ebp - 0x58c], 0
jne 0x426e7d
jmp 0x426d7d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x426ee3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x426ee3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.00435385
add esp, 4
push eax
push str.poll__:__s__d
lea edx, [ebp - 0x890]
push edx
call fcn.0043373e
add esp, 0x10
cmp dword [ebp - 0x548], 0
jne 0x426ee1
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x768]
push ecx
call fcn.00410500
add esp, 8
jmp 0x426ee8
jmp 0x426d7d
mov edx, dword [0x452498]
cmp edx, dword [ebp - 0x55c]
jne 0x426eff
cmp dword [ebp - 0x58c], 0
jge 0x426f04
jmp 0x427428
mov dword [ebp - 0x58c], 0
cmp dword [ebp - 0x774], 0
jne 0x4271d5
mov dword [ebp - 0x76c], 0x10
cmp dword [ebp - 0x10], 0
je 0x427015
push 6
push 1
push 2
call dword [0x452558]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
je 0x427003
mov eax, dword [ebp - 0x508]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00426290
add esp, 8
lea edx, [ebp - 0x648]
push edx
mov eax, dword [ebp - 0x788]
push eax
mov ecx, dword [ebp - 0x524]
push ecx
call fcn.00411b50
add esp, 0xc
push 9
push 0x10
lea edx, [ebp - 0x648]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00412120
add esp, 0x10
test eax, eax
je 0x426fb1
mov ecx, dword [ebp - 0x18]
push ecx
call dword [0x452594]
mov dword [ebp - 0x18], 0xffffffff
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x426d7d
push 0xea60
push 1
lea edx, [ebp - 0x890]
push edx
lea eax, [ebp - 0x648]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.0041a110
add esp, 0x14
cmp eax, 1
jne 0x426fe3
movzx edx, byte [ebp - 0x890]
cmp edx, 0x43
je 0x427001
mov eax, dword [ebp - 0x18]
push eax
call dword [0x452594]
mov dword [ebp - 0x18], 0xffffffff
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x426d7d
jmp 0x427010
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x426d7d
jmp 0x427115
lea ecx, [ebp - 0x76c]
push ecx
lea edx, [ebp - 0x648]
push edx
mov eax, dword [ebp - 0x468]
push eax
call dword [0x45255c]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xffffffff
jne 0x427102
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x8a8], eax
mov ecx, dword [ebp - 0x8a8]
sub ecx, 0x2714
mov dword [ebp - 0x8a8], ecx
cmp dword [ebp - 0x8a8], 0x33
ja case.0x427071.1
mov edx, dword [ebp - 0x8a8]
movzx eax, byte [edx + 0x4275fc]
jmp dword [eax*4 + 0x4275f0]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp case.0x427071.1
mov dword [ebp - 0x58c], 1
mov ecx, dword [ebp - 0x45c]
add ecx, 1
mov dword [ebp - 0x45c], ecx
cmp dword [ebp - 0x548], 0
jne 0x4270fd
cmp dword [ebp - 0x58c], 0
jne 0x4270b9
cmp dword [ebp - 0x45c], 0x1388
jle 0x4270fd
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.00435385
add esp, 4
push eax
push str.accept__:__s
lea edx, [ebp - 0x890]
push edx
call fcn.0043373e
add esp, 0xc
lea eax, [ebp - 0x890]
push eax
lea ecx, [ebp - 0x768]
push ecx
call fcn.00410500
add esp, 8
mov dword [ebp - 0x45c], 0
jmp 0x426d7d
mov edx, dword [ebp - 0x514]
push edx
mov eax, dword [ebp - 0x18]
push eax
call fcn.00426290
add esp, 8
mov dword [ebp - 0x76c], 0x10
lea ecx, [ebp - 0x76c]
push ecx
lea edx, [ebp - 0x658]
push edx
mov eax, dword [ebp - 0x18]
push eax
call dword [0x452570]
test eax, eax
je 0x427183
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.00435385
add esp, 4
push eax
push str.getsockname__:__s
lea ecx, [ebp - 0x890]
push ecx
call fcn.0043373e
add esp, 0xc
cmp dword [ebp - 0x548], 0
jne 0x42717e
lea edx, [ebp - 0x890]
push edx
lea eax, [ebp - 0x768]
push eax
call fcn.00410500
add esp, 8
jmp 0x426d7d
lea ecx, [ebp - 0x770]
push ecx
push 0x8004667e
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push 4
lea eax, [ebp - 0x89c]
push eax
push 0x80
push 0xffff
mov ecx, dword [ebp - 0x18]
push ecx
call dword [0x452578]
push 4
lea edx, [ebp - 0x464]
push edx
push 0x100
push 0xffff
mov eax, dword [ebp - 0x18]
push eax
call dword [0x452578]
jmp 0x4271de
xor ecx, ecx
mov word [ebp - 0x4a8], cx
push 0x1d8
call fcn.004337c2
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x42723b
cmp dword [ebp - 0x774], 0
jne 0x427207
mov edx, dword [ebp - 0x18]
push edx
call dword [0x452594]
mov dword [ebp - 0x6d4], 0x15
cmp dword [ebp - 0x548], 0
jne 0x42722e
push str.Memory_Allocation_Failed
lea eax, [ebp - 0x768]
push eax
call fcn.00410500
add esp, 8
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x426d7d
mov ecx, 0x76
lea esi, [ebp - 0x768]
mov edi, dword [ebp - 8]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x6a4], 0
je 0x42726c
mov ecx, dword [ebp - 0x6a4]
push ecx
call fcn.004493e1
add esp, 4
mov edx, dword [ebp - 8]
mov dword [edx + 0xc4], eax
mov eax, dword [ebp - 8]
push eax
call fcn.00410560
add esp, 4
cmp dword [ebp - 0x774], 0
jne 0x42728a
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x38], edx
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x588]
push ecx
call fcn.00428700
add esp, 8
cmp eax, 1
jle 0x4272b3
mov edx, dword [ebp - 8]
push edx
call fcn.00427bf0
add esp, 4
jmp 0x426d7d
mov eax, dword [ebp - 8]
mov dword [eax], 0
mov ecx, dword [ebp - 8]
mov dword [ecx + 4], 0
mov dword [ebp - 0x58c], 0
lea edx, [ebp - 0x4c4]
push edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp - 0x580], 0
jne 0x4272f1
mov eax, dword [ebp - 8]
mov dword [ebp - 0x580], eax
jmp 0x427311
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x580]
mov dword [ecx], edx
mov eax, dword [ebp - 0x580]
mov ecx, dword [ebp - 8]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x580], edx
lea eax, [ebp - 0xc]
push eax
push 0
mov ecx, dword [ebp - 8]
push ecx
push 0x426010
mov edx, dword [ebp - 0x520]
add edx, 0x4000
push edx
push 0
call fcn.00434ac0
add esp, 0x18
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x564]
add eax, 1
mov dword [ebp - 0x564], eax
cmp dword [ebp - 4], 0
je 0x427367
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov dword [ecx + 0xa0], edx
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4273af
push 0
call fcn.004352bd
add esp, 4
push eax
push str._beginthreadex__:__s
lea ecx, [ebp - 0x890]
push ecx
call fcn.0043373e
add esp, 0xc
cmp dword [ebp - 0x548], 0
jne 0x4273a5
lea edx, [ebp - 0x890]
push edx
lea eax, [ebp - 0x768]
push eax
call fcn.00410500
add esp, 8
mov dword [ebp - 0x58c], 1
lea ecx, [ebp - 0x4c4]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x58c], 0
je 0x4273d1
mov edx, dword [ebp - 8]
push edx
call fcn.00427bf0
add esp, 4
xor eax, eax
mov dword [ebp - 0x658], eax
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x64c], eax
xor ecx, ecx
mov dword [ebp - 0x648], ecx
mov dword [ebp - 0x644], ecx
mov dword [ebp - 0x640], ecx
mov dword [ebp - 0x63c], ecx
cmp dword [ebp - 0x774], 0
je 0x427423
movsx edx, word [ebp - 0x4a8]
test edx, edx
jne 0x427423
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x42740e
jmp 0x426d7d
cmp dword [ebp - 0x548], 0
jne 0x427446
push str.Exiting_thread
lea eax, [ebp - 0x768]
push eax
call dword [ebp - 0x578]
add esp, 8
lea ecx, [ebp - 0x588]
push ecx
call fcn.00427a40
add esp, 4
push 0x45b280
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp - 0x588], 0
je 0x427478
mov edx, dword [ebp - 0x588]
mov eax, dword [ebp - 0x584]
mov dword [edx + 4], eax
cmp dword [ebp - 0x584], 0
je 0x427491
mov ecx, dword [ebp - 0x584]
mov edx, dword [ebp - 0x588]
mov dword [ecx], edx
jmp 0x42749c
mov eax, dword [ebp - 0x588]
mov dword [0x452480], eax
push 0x45b280
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x6a4], 0
je 0x4274bf
mov ecx, dword [ebp - 0x6a4]
push ecx
call fcn.00433bc1
add esp, 4
cmp dword [ebp - 0x788], 0
je 0x4274d7
mov edx, dword [ebp - 0x788]
push edx
call fcn.00433bc1
add esp, 4
cmp dword [ebp - 0x898], 0
je 0x4274ef
mov eax, dword [ebp - 0x898]
push eax
call fcn.00433bc1
add esp, 4
cmp dword [ebp - 0x460], 0
je 0x427507
mov ecx, dword [ebp - 0x460]
push ecx
call fcn.00432913
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0043125e
mov esp, ebp
pop ebp
ret