Function at 0x422260
Capabilities:
Create tcp socket
Create udp socket
Initialize winsock library
Set socket configuration
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
mov eax, dword [0x475010]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x404]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x4224bc
push ebx
push esi
push edi
push 0x40
push eax
push 0x477c50
mov dword [0x477c48], 1
mov dword [0x477c4c], eax
call fcn.00424dd0
add esp, 0xc
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x4223f2
push 0
push 0
lea eax, [ebp - 0x40c]
push eax
push 0x260
lea eax, [ebp - 0x264]
push eax
push 0
push 0
push 0x4004747f
push esi
call dword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
jne 0x4223f2
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov esi, dword [ebp - 0x40c]
mov eax, 0xaf286bcb
mul esi
xor ebx, ebx
mov dword [0x477c4c], 0
sub esi, edx
shr esi, 1
add esi, edx
shr esi, 6
test esi, esi
jle 0x4223fc
lea edi, [ebp - 0x25c]
nop dword [eax]
push dword [edi]
call dword [sym.imp.WS2_32.dll_ntohl]
mov ecx, dword [0x477c4c]
mov dword [ebp - 0x410], eax
cmp eax, 0x7f000001
je 0x4223e4
cmp ecx, 8
jge 0x4223e4
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ecx, dword [0x477c4c]
mov dword [ecx*8 + 0x477c50], eax
cmp eax, 0xffffffff
je 0x4224d7
push 4
lea ecx, [ebp - 0x408]
mov dword [ebp - 0x408], 1
push ecx
push 0x20
push 0xffff
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea eax, [ebp - 0x408]
mov dword [ebp - 0x408], 0xc8
push eax
mov eax, dword [0x477c4c]
push 0x1006
push 0xffff
push dword [eax*8 + 0x477c50]
call dword [sym.imp.WS2_32.dll_setsockopt]
mov ecx, dword [0x477c4c]
mov eax, dword [ebp - 0x410]
mov dword [ecx*8 + 0x477c54], eax
inc ecx
mov dword [0x477c4c], ecx
inc ebx
add edi, 0x4c
cmp ebx, esi
jl 0x422330
jmp 0x4223f8
mov ecx, dword [0x477c4c]
test ecx, ecx
jne 0x42241d
push str.Error__could_not_find_any_ethernet_interfaces._r_n
call fcn.0040b9b0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423606
mov esp, ebp
pop ebp
ret
xor esi, esi
test ecx, ecx
jle 0x42247c
mov edi, dword [sym.imp.WS2_32.dll_htonl]
mov ebx, dword [sym.imp.WS2_32.dll_htons]
nop
push dword [esi*8 + 0x477c54]
call edi
push 0xd431
mov dword [ebp - 0x270], eax
call ebx
mov word [ebp - 0x272], ax
mov eax, 2
mov word [ebp - 0x274], ax
lea eax, [ebp - 0x274]
push 0x10
push eax
push dword [esi*8 + 0x477c50]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x42248f
inc esi
cmp esi, dword [0x477c4c]
jl 0x422430
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00423606
mov esp, ebp
pop ebp
ret
push str.Error__could_not_bind_interfaces._r_n
call fcn.0040b9b0
push str.Please_close_the__Tiny_Network_Explorer_._r_n
call fcn.0040b9b0
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
call fcn.00423606
mov esp, ebp
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.WSAStartup_failed._Error:__d_r_n
call fcn.0040b9b0
add esp, 8
push 0xffffffffffffffff
call fcn.00443166
push 0
call fcn.00443166
int3