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

Disassembly:
sub esp, 0x18
mov eax, dword [0x457000]
mov edx, dword [0x45568c]
push ebx
imul edx, edx, 0x11be
mov dword [esp + 0x18], eax
mov eax, dword [0x455698]
push ebp
imul eax, eax, 0xe0e
mov ebp, dword [str._r_____r____]
mov ecx, ebp
imul ecx, ecx, 0x1603
add ecx, edx
add ecx, eax
mov ebx, dword [0x4556a0]
mov eax, 0x4b438bdf
imul dword [0x45569c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
sub ecx, eax
push esi
mov esi, dword [0x455690]
push edi
lea edi, [ecx + edx - 0x544]
mov ecx, dword [esp + 0x34]
xor eax, eax
test ecx, ecx
mov dword [0x455694], edi
mov dword [esp + 0x10], eax
jle 0x401a49
mov ecx, dword [0x4556a8]
jmp 0x401820
mov edi, dword [0x455694]
nop
test eax, eax
je 0x401847
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x455694]
mov ebx, dword [0x4556a0]
mov ecx, dword [0x4556a8]
mov esi, dword [0x455690]
mov eax, 0x3dbd3249
imul ebx, ebx, 0xd9b
imul esi, esi, 0x2367
imul dword [0x455698]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x5d0a95d5
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x736e5bc3
imul ecx
imul ecx, ecx, 0x544
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x27e98ca1
imul edi
imul edi, edi, 0x544
add ebp, ebx
sar edx, 0xa
sub ebp, ecx
mov ecx, dword [0x45568c]
mov ebx, edx
add esi, edx
mov edx, ecx
imul edx, edx, 0x15e3
shr ebx, 0x1f
add ebx, esi
add ebx, edx
mov eax, 0x48dbb693
imul ecx
mov ecx, dword [esp + 0x2c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, edi
push ecx
mov dword [0x455698], ebp
mov word [esp + 0x18], 2
mov dword [0x45569c], ebx
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 [0x45568c]
mov esi, dword [str._r_____r____]
mov dword [esp + 0x18], eax
imul esi, esi, 0x1e03
mov eax, 0x443d7153
imul ecx
mov ecx, dword [0x455698]
sar edx, 0xb
imul ecx, ecx, 0x108d
mov eax, edx
shr eax, 0x1f
add eax, edx
push 0
sub esi, eax
push 1
sub esi, ecx
push 2
mov dword [0x4556a0], esi
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x401b10
push 0x10
lea edx, [esp + 0x18]
push edx
push esi
call dword [sym.imp.WS2_32.dll_bind]
mov ecx, dword [0x45569c]
cmp eax, 0xffffffff
mov eax, 0x73b2d479
jne 0x401aab
imul ecx
imul ecx, ecx, 0x1603
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
mov edi, eax
mov eax, 0xd816735f
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, edi
add ebx, ecx
mov ecx, dword [0x45568c]
mov eax, 0x5d0a95d5
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x455688]
imul edx, edx, 0xd9b
sub ebx, ecx
add ebx, edx
push esi
mov dword [0x4556a4], ebx
call dword [sym.imp.WS2_32.dll_closesocket]
mov ebp, dword [str._r_____r____]
mov ebx, dword [0x4556a0]
mov esi, dword [0x455690]
mov eax, 0xa26d61a3
imul ebp
sar edx, 0xb
mov ecx, ebx
imul ecx, ecx, 0x1b47
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, ecx
mov eax, 0x4b438bdf
imul dword [0x455698]
mov eax, dword [esp + 0x10]
mov ecx, esi
imul ecx, ecx, 0x11be
add edi, ecx
sar edx, 0xa
mov ecx, edx
add edi, edx
mov edx, dword [esp + 0x34]
shr ecx, 0x1f
add ecx, edi
inc eax
cmp eax, edx
mov dword [0x4556a8], ecx
mov dword [esp + 0x10], eax
jl 0x401819
mov eax, 0x5d929e5d
imul ebx, ebx, 0x2367
imul esi, esi, 0x544
imul dword [0x45569c]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x48dbb693
imul dword [0x4556a4]
sar edx, 0xa
sub ecx, ebx
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x455688]
sub ecx, esi
pop edi
add ecx, ebp
pop esi
add eax, ecx
pop ebp
mov dword [0x455688], eax
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x14]
call fcn.00429441
add esp, 0x18
ret
mov edi, dword [0x4556a8]
imul ecx
mov ecx, dword [0x455690]
imul edi, edi, 0x212c
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x27e98ca1
imul ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x455694]
mov eax, 0x5d0a95d5
imul ecx
mov ecx, dword [0x45568c]
sar edx, 0xb
imul ecx, ecx, 0x11be
mov eax, edx
add edi, edx
mov edx, dword [esp + 0x30]
shr eax, 0x1f
add eax, edi
add eax, ecx
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.00429441
add esp, 0x18
ret