Function at 0x4016e0
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
sub esp, 0x1c
mov eax, dword [0x455e64]
mov ecx, dword [0x45110c]
mov dword [esp + 0x18], eax
imul ecx, ecx, 0x14674
push ebx
push ebp
push esi
mov esi, dword [0x4510f4]
mov eax, 0x144b978d
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4510f0]
imul edx, edx, 0xaf18
add eax, ecx
sub eax, edx
mov edx, dword [esp + 0x34]
push edi
mov edi, dword [0x4510ec]
lea ecx, [eax + edi + 0x11104]
xor eax, eax
test edx, edx
mov dword [0x4510f8], ecx
mov dword [esp + 0x10], eax
jle 0x401963
mov ecx, dword [0x451100]
jmp 0x401756
mov edi, dword [0x4510ec]
test eax, eax
je 0x401777
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [0x4510f4]
mov edi, dword [0x4510ec]
mov ecx, dword [0x451100]
mov ebx, dword [str._r_____r____]
imul ecx, ecx, 0xf3fe
imul edi, edi, 0x16929
mov eax, 0x864ca44d
imul esi, esi, 0x64e9
imul ebx
add edx, ebx
sar edx, 0xf
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x9ad12b5b
imul dword [0x4510f0]
add edx, dword [0x4510f0]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ebx
mov dword [esp + 0x14], eax
mov eax, 0x5d929e5d
imul dword [0x4510fc]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
add edx, ebp
lea edx, [eax + edx + 0xf3fe]
mov eax, dword [0x451108]
add ecx, edi
mov dword [0x4510fc], edx
mov edx, dword [esp + 0x30]
sub ecx, esi
lea ecx, [ecx + eax - 0x34ea]
push edx
mov word [esp + 0x1c], 2
mov dword [0x451100], ecx
call dword [sym.imp.WS2_32.dll_htons]
push 0
mov word [esp + 0x1e], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [0x451100]
mov esi, dword [0x4510f0]
mov dword [esp + 0x1c], eax
imul esi, esi, 0x14674
mov eax, 0x5d929e5d
imul ecx
mov eax, dword [0x4510f4]
mov ecx, dword [0x45110c]
imul eax, eax, 0x918e
sar edx, 0xe
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x7805be47
imul ecx
sar edx, 0xf
mov ecx, edx
push 0
shr ecx, 0x1f
add edi, edx
push 1
add ecx, edi
push 2
mov dword [0x451104], ecx
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x401a10
push 0x10
lea edx, [esp + 0x1c]
push edx
push esi
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x4019cf
mov ecx, dword [0x4510ec]
mov eax, 0xb575ac6f
imul ecx
add edx, ecx
mov ecx, dword [0x4510f0]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x144b978d
imul ecx
imul ecx, ecx, 0xaf18
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x451104]
imul edx, edx, 0x34ea
sub eax, edi
sub eax, edx
add eax, ecx
push esi
mov dword [0x451108], eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [0x451100]
mov eax, 0x864ca44d
imul ecx
mov esi, dword [0x4510f4]
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4510fc]
imul edx, edx, 0x14674
mov edi, eax
sub edi, edx
mov eax, 0x5d929e5d
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
add edi, ecx
lea edx, [eax + edi + 0x34ea]
mov eax, dword [esp + 0x10]
mov dword [0x45110c], edx
mov edx, dword [esp + 0x38]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x401750
mov ecx, dword [0x4510f8]
mov eax, 0x864ca44d
imul esi
add edx, esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0xb575ac6f
imul ecx
add edx, ecx
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x5d929e5d
imul ecx
mov ecx, dword [0x451104]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, ecx
pop edi
lea ecx, [eax + esi - 0x918e]
pop esi
pop ebp
mov dword [0x4510ec], ecx
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x18]
call fcn.00427501
add esp, 0x1c
ret
mov ecx, dword [0x4510f8]
mov eax, dword [0x4510fc]
imul eax, eax, 0xf3fe
mov edi, ecx
imul edi, edi, 0x14675
sub edi, eax
mov eax, 0x9ad12b5b
imul ecx
mov eax, dword [esp + 0x34]
add edx, ecx
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add edi, edx
lea edx, [ecx + edi + 0xaf18]
mov dword [str._r_____r____], edx
mov dword [eax], esi
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
call fcn.00427501
add esp, 0x1c
ret