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

Disassembly:
sub esp, 0x18
mov eax, dword [0x455e64]
mov ecx, dword [0x4510f0]
mov dword [esp + 0x14], eax
imul ecx, ecx, 0x12d8
push ebx
push ebp
push esi
mov esi, dword [0x4510f4]
mov eax, 0xb3c422f
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45110c]
imul edx, edx, 0xdf4
sub eax, ecx
push edi
mov edi, dword [0x4510ec]
add eax, edi
lea ecx, [edx + eax + 0x26a4]
mov edx, dword [esp + 0x34]
xor eax, eax
test edx, edx
mov dword [0x4510f8], ecx
mov dword [esp + 0x10], eax
jle 0x401963
mov ecx, dword [0x451100]
jmp 0x401766
mov edi, dword [0x4510ec]
test eax, eax
je 0x401787
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [0x4510f4]
mov edi, dword [0x4510ec]
mov ecx, dword [0x451100]
mov ebx, dword [0x4510f0]
imul ecx, ecx, 0x99e
imul esi, esi, 0x16c9
mov eax, 0xd95dd3
imul edi, edi, 0x999
imul dword [0x4510fc]
sar edx, 4
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x93da7589
imul ebx
add edx, ebx
sar edx, 0xb
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [str._r_____r____]
add ebx, edx
mov eax, 0x6a79dd7b
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebx, ebp
lea edx, [eax + ebx + 0x99e]
mov ebx, dword [0x451108]
sub ecx, esi
add ecx, ebx
lea eax, [edi + ecx - 0xdda]
mov ecx, dword [esp + 0x2c]
push ecx
mov dword [0x4510fc], edx
mov word [esp + 0x18], 2
mov dword [0x451100], eax
call dword [sym.imp.WS2_32.dll_htons]
push 0
mov word [esp + 0x1a], ax
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [0x45110c]
mov dword [esp + 0x18], eax
mov eax, 0x6a009f01
imul ecx
mov ecx, dword [0x451100]
sar edx, 0xc
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [0x4510f4]
imul edx, edx, 0x1c5e
add esi, edx
mov eax, 0xd95dd3
imul ecx
mov ecx, dword [0x4510f0]
imul ecx, ecx, 0xdf4
sar edx, 4
mov eax, edx
shr eax, 0x1f
add esi, edx
push 0
add eax, esi
push 1
add eax, ecx
push 2
mov dword [0x451104], eax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x401a0c
push 0x10
lea edx, [esp + 0x18]
push edx
push esi
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x4019cb
mov ecx, dword [0x4510f0]
mov eax, 0xb3c422f
imul ecx
imul ecx, ecx, 0x12d8
mov eax, dword [0x451104]
sar edx, 8
imul eax, eax, 0xdda
mov edi, edx
shr edi, 0x1f
add edi, edx
add edi, ecx
mov ecx, dword [0x4510ec]
sub edi, eax
mov eax, 0xd562ab81
imul ecx
add edx, ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
push esi
mov dword [0x451108], edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov esi, dword [0x4510f4]
mov ecx, dword [0x4510fc]
mov eax, 0xd95dd3
imul ecx, ecx, 0xdf4
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, ecx
mov ecx, dword [0x451100]
mov eax, 0x6a79dd7b
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
add edi, ecx
lea edx, [eax + edi + 0xdda]
mov eax, dword [esp + 0x10]
mov dword [0x45110c], edx
mov edx, dword [esp + 0x34]
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x401760
mov ecx, dword [0x4510f8]
mov edx, dword [str._r_____r____]
mov eax, 0xd95dd3
imul edx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x6a79dd7b
imul esi
sar edx, 0xa
add edi, edx
mov esi, edx
mov eax, 0xd562ab81
imul ecx
add edx, ecx
mov ecx, dword [0x451104]
sar edx, 0xb
mov eax, edx
shr esi, 0x1f
shr eax, 0x1f
add esi, edi
add eax, edx
sub esi, eax
pop edi
lea edx, [esi + ecx - 0x1c5e]
pop esi
pop ebp
mov dword [0x4510ec], edx
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x14]
call fcn.004274c1
add esp, 0x18
ret
mov ecx, dword [0x4510f8]
mov eax, 0x93da7589
imul ecx
mov edi, ecx
add edx, ecx
imul edi, edi, 0xdf5
mov ecx, dword [0x4510fc]
imul ecx, ecx, 0x99e
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edi, edx
mov edx, dword [esp + 0x30]
add eax, edi
sub eax, ecx
add eax, 0x12d8
mov dword [str._r_____r____], eax
mov dword [edx], esi
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
call fcn.004274c1
add esp, 0x18
ret