Function at 0x469e40
Capabilities:
Create udp socket
Get hostname
Resolve dns
Set socket configuration

Disassembly:
sub esp, 0x9c
push esi
push edi
push 0
push 2
mov esi, ecx
push 2
call sub.WSOCK32.dll_socket
cmp eax, 0xffffffff
mov dword [esi + 4], eax
jne 0x469e6a
pop edi
xor al, al
pop esi
add esp, 0x9c
ret 8
mov edi, dword [esp + 0xa8]
mov word [esp + 0x14], 2
push edi
call sub.WSOCK32.dll_htons
push 0
mov word [esp + 0x1a], ax
call sub.WSOCK32.dll_htonl
mov ecx, dword [esi + 4]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x14]
push 0x10
push eax
push ecx
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
jne 0x469f0b
mov eax, dword [esi + 0x20]
test eax, eax
je 0x469ee2
mov edx, dword [esi + 0x14]
mov eax, dword [edx]
push eax
call fcn.00672c80
mov ecx, dword [esi + 0x20]
add esp, 4
test ecx, ecx
jle 0x469edb
dec ecx
xor eax, eax
test ecx, ecx
mov dword [esi + 0x20], ecx
jle 0x469edb
mov ecx, dword [esi + 0x14]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [esi + 0x20]
cmp eax, ecx
jl 0x469ec9
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x469eaa
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x469efe
push eax
call sub.WSOCK32.dll_closesocket
mov dword [esi + 4], 0xffffffff
mov byte [esi + 0xa7e8], 0
pop edi
xor al, al
pop esi
add esp, 0x9c
ret 8
mov eax, dword [esp + 0xac]
lea ecx, [esp + 0x24]
push 0x80
push ecx
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
call sub.WSOCK32.dll_gethostname
lea edx, [esp + 0x24]
push edx
call sub.WSOCK32.dll_gethostbyname
mov edi, eax
mov eax, dword [esi + 0x20]
test eax, eax
je 0x469f72
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
push ecx
call fcn.00672c80
mov ecx, dword [esi + 0x20]
add esp, 4
test ecx, ecx
jle 0x469f6b
dec ecx
xor eax, eax
test ecx, ecx
mov dword [esi + 0x20], ecx
jle 0x469f6b
mov ecx, dword [esi + 0x14]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [esi + 0x20]
cmp eax, ecx
jl 0x469f59
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x469f3a
mov edi, dword [edi + 0xc]
mov dword [esp + 8], edi
mov eax, dword [edi]
test eax, eax
je 0x469fe4
push ebx
push ebp
lea edi, [esi + 0x10]
mov ebp, dword [eax]
mov eax, dword [esp + 0x10]
add eax, 4
push 4
mov dword [esp + 0x14], eax
call fcn.00672b70
mov ebx, eax
add esp, 4
mov dword [ebx], ebp
mov eax, dword [edi + 8]
cmp dword [edi + 0x10], eax
jl 0x469fc9
mov cl, byte [edi + 0xd]
test cl, cl
jne 0x469fb2
test eax, eax
jne 0x469fd8
mov ecx, dword [edi + 0x14]
test ecx, ecx
jle 0x469fd8
mov edx, dword [edi]
add ecx, eax
push 0
push ecx
mov ecx, edi
call dword [edx + 8]
test al, al
je 0x469fd8
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 4]
lea ecx, [eax + 1]
mov dword [edi + 0x10], ecx
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x469f84
pop ebp
pop ebx
mov edx, dword [esi + 4]
lea ecx, [esp + 0xc]
push 4
push ecx
push 0x80
xor eax, eax
push 0xffff
push edx
mov word [esp + 0x20], ax
mov word [esp + 0x22], ax
call sub.WSOCK32.dll_setsockopt
mov eax, dword [esi + 4]
push 4
push 0x7fadc0
push 0x1002
push 0xffff
push eax
call sub.WSOCK32.dll_setsockopt
mov ecx, dword [esi + 4]
push 4
push 0x7fadbc
push 0x1001
push 0xffff
push ecx
call sub.WSOCK32.dll_setsockopt
mov eax, dword [esi + 4]
lea edx, [esp + 0x10]
push edx
push 0x8004667e
push eax
mov dword [esp + 0x1c], 1
call sub.WSOCK32.dll_ioctlsocket
pop edi
mov al, 1
pop esi
add esp, 0x9c
ret 8