Function at 0x49f7b4
Capabilities:
Connect socket
Connect udp socket
Create udp socket
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff4d4
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0xae4], edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x49fbc7
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x49fb93
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x49fb82
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1c8]
push eax
push 0x101
call sub.wsock32.dll_WSAStartup
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x49f82b
call fcn.00404930
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49fba1
xor eax, eax
push ebp
push 0x49fb6d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 2
push 2
call sub.wsock32.dll_socket
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x49fb53
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0xc], 0xffffffff
jne 0x49f877
call fcn.00404930
call fcn.00404930
call fcn.00404930
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49fba1
mov word [ebp - 0x1d8], 2
push 0x89
call sub.wsock32.dll_htons
mov word [ebp - 0x1d6], ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.004053ec
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x14], 1
lea eax, [ebp - 0x14]
push eax
push 0x8004667e
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_ioctlsocket
push pe_nt_image_headers32
lea eax, [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_connect
lea eax, [ebp - 0x2dc]
call fcn.00497548
lea edx, [ebp - 0x2dc]
mov eax, dword [ebp - 0xc]
call fcn.00497538
mov eax, dword [0x4f87f4]
mov eax, dword [eax]
mov ecx, 0x3e8
cdq
idiv ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4f87f4]
mov eax, dword [eax]
mov ecx, 0x3e8
cdq
idiv ecx
imul eax, edx, 0x3e8
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
push 0
lea eax, [ebp - 0x2dc]
push eax
push 0
push 0
call sub.wsock32.dll_select
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x49fb3c
lea eax, [ebp - 0x6dd]
xor ecx, ecx
mov edx, 0x401
call fcn.004035b8
lea eax, [ebp - 0xade]
xor ecx, ecx
mov edx, 0x401
call fcn.004035b8
lea edx, [ebp - 0x6dd]
mov eax, dword [0x4f8c94]
mov ecx, 0x32
call fcn.00402d4c
push pe_nt_image_headers32
lea eax, [ebp - 0x1d8]
push eax
push 0
push 0x32
lea eax, [ebp - 0x6dd]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_sendto
lea eax, [ebp - 0x1c]
push eax
push 0
push 0
lea eax, [ebp - 0x2dc]
push eax
push 0
call sub.wsock32.dll_select
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x49fb3c
mov dword [ebp - 0x20], pe_nt_image_headers32
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1d8]
push eax
push 0
push 0x401
lea eax, [ebp - 0xade]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_recvfrom
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x38
jle 0x49fb3c
xor eax, eax
mov al, byte [ebp - 0xaa6]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
add eax, 8
call fcn.00404f10
lea edx, [ebp - 0x2e]
mov eax, dword [ebp - 0x28]
add eax, eax
lea eax, [eax + eax*8]
add eax, 0x39
lea eax, [ebp + eax - 0xade]
mov ecx, 6
call fcn.00402d4c
lea eax, [ebp - 0xae4]
push eax
xor eax, eax
mov al, byte [ebp - 0x2e]
mov dword [ebp - 0xb14], eax
mov byte [ebp - 0xb10], 0
xor eax, eax
mov al, byte [ebp - 0x2d]
mov dword [ebp - 0xb0c], eax
mov byte [ebp - 0xb08], 0
xor eax, eax
mov al, byte [ebp - 0x2c]
mov dword [ebp - 0xb04], eax
mov byte [ebp - 0xb00], 0
xor eax, eax
mov al, byte [ebp - 0x2b]
mov dword [ebp - 0xafc], eax
mov byte [ebp - 0xaf8], 0
xor eax, eax
mov al, byte [ebp - 0x2a]
mov dword [ebp - 0xaf4], eax
mov byte [ebp - 0xaf0], 0
xor eax, eax
mov al, byte [ebp - 0x29]
mov dword [ebp - 0xaec], eax
mov byte [ebp - 0xae8], 0
lea edx, [ebp - 0xb14]
mov ecx, 5
mov eax, 0x49fbe0
call fcn.0040aa2c
mov edx, dword [ebp - 0xae4]
mov eax, dword [ebp - 4]
add eax, 8
call fcn.00404f64
lea eax, [ebp - 0x38]
push eax
xor eax, eax
mov al, byte [ebp - 0x2e]
mov dword [ebp - 0xb2c], eax
mov byte [ebp - 0xb28], 0
xor eax, eax
mov al, byte [ebp - 0x2d]
mov dword [ebp - 0xb24], eax
mov byte [ebp - 0xb20], 0
xor eax, eax
mov al, byte [ebp - 0x2c]
mov dword [ebp - 0xb1c], eax
mov byte [ebp - 0xb18], 0
lea edx, [ebp - 0xb2c]
mov ecx, 2
mov eax, 0x49fc0c
call fcn.0040aa2c
lea ecx, [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.0049f468
cmp dword [ebp - 0x34], 0
je 0x49fb3c
mov eax, dword [ebp - 4]
push dword [eax + 8]
push 0x49fc28
push dword [ebp - 0x34]
push 0x49fc34
mov eax, dword [ebp - 4]
add eax, 8
mov edx, 4
call fcn.004052ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49fb5a
mov eax, dword [ebp - 0xc]
push eax
call sub.wsock32.dll_closesocket
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49fbce
lea eax, [ebp - 0xae4]
call fcn.00404f10
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.00404f34
ret