Function at 0x4bf8c8
Capabilities:
Create udp socket
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, 0x51a26c
mov esi, 0x51a264
mov edi, 0x51a260
cmp dword [ebp + 0x14], 1
jne 0x4bf8ef
mov dword [0x51a278], 2
jmp 0x4bf8f9
mov dword [0x51a278], 1
cmp dword [ebp + 0x10], 0
je 0x4bf907
mov eax, dword [ebp + 0x10]
mov word [eax], 0
mov dword [0x51a274], 0x100007f
push 0
call fcn.00444c50
test eax, eax
je 0x4bf94c
mov dword [0x51a27c], 0x10
push 0x51a27c
push 0x51a24c
mov edx, dword [0x4fe2b0]
push edx
call sub.WSOCK32.dll_getsockname
test eax, eax
jne 0x4bf94c
mov ecx, dword [0x51a250]
mov dword [0x51a274], ecx
movzx eax, word [ebp + 0xc]
movzx edx, word [ebp + 8]
sub eax, edx
mov dword [0x51a280], eax
test eax, eax
jbe 0x4bf984
inc dword [0x51a280]
call fcn.004bf798
xor edx, edx
div dword [0x51a280]
add dx, word [ebp + 8]
mov word [ebx], dx
mov ax, word [ebx]
mov word [0x51a270], ax
jmp 0x4bf991
mov ax, word [ebp + 8]
mov word [ebx], ax
mov word [0x51a270], ax
mov word [0x51a26e], 0
jmp 0x4bfc97
mov edx, dword [0x4f2764]
mov dword [esi], edx
jmp 0x4bf9f7
mov eax, dword [esi]
cmp dword [eax + 0x51c], 0
je 0x4bf9ed
mov dx, word [eax + 0x520]
cmp dx, word [ebx]
jne 0x4bf9ed
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4bf9d3
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x51a270]
je 0x4bfca5
mov ecx, dword [0x4f2764]
mov dword [esi], ecx
jmp 0x4bf9f7
mov eax, dword [esi]
mov edx, dword [eax + 0x870]
mov dword [esi], edx
cmp dword [esi], 0
jne 0x4bf9a9
mov ecx, dword [0x4fc1a4]
mov dword [edi], ecx
jmp 0x4bfa54
mov eax, dword [edi]
cmp dword [eax + 0x3fc], 0
je 0x4bfa4a
mov dx, word [eax + 0x40c]
cmp dx, word [ebx]
jne 0x4bfa4a
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4bfa30
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x51a270]
je 0x4bfca5
mov ecx, dword [0x4fc1a4]
mov dword [edi], ecx
jmp 0x4bfa54
mov eax, dword [edi]
mov edx, dword [eax + 0x450]
mov dword [edi], edx
cmp dword [edi], 0
jne 0x4bfa06
mov ecx, dword [0x4f6954]
mov dword [0x51a268], ecx
jmp 0x4bfac3
mov eax, dword [0x51a268]
cmp dword [eax + 0x3fc], 0
je 0x4bfab2
mov dx, word [eax + 0x404]
cmp dx, word [ebx]
jne 0x4bfab2
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4bfa94
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x51a270]
je 0x4bfca5
mov ecx, dword [0x4f6954]
mov dword [0x51a268], ecx
jmp 0x4bfac3
mov eax, dword [0x51a268]
mov edx, dword [eax + 0x43c]
mov dword [0x51a268], edx
cmp dword [0x51a268], 0
jne 0x4bfa67
mov ecx, dword [0x4fc5d0]
mov dword [0x51a25c], ecx
jmp 0x4bfb28
mov ax, word [eax + 0xca]
cmp ax, word [ebx]
jne 0x4bfb17
inc word [ebx]
mov dx, word [ebx]
cmp dx, word [ebp + 0xc]
jbe 0x4bfaf9
mov cx, word [ebp + 8]
mov word [ebx], cx
mov ax, word [ebx]
cmp ax, word [0x51a270]
je 0x4bfca5
mov edx, dword [0x4fc5d0]
mov dword [0x51a25c], edx
jmp 0x4bfb28
mov ecx, dword [0x51a25c]
mov eax, dword [ecx + 0x11c]
mov dword [0x51a25c], eax
mov eax, dword [0x51a25c]
test eax, eax
jne 0x4bfada
push 0
mov edx, dword [0x51a278]
push edx
push 2
call sub.WSOCK32.dll_socket
mov dword [0x51a284], eax
cmp dword [0x51a284], 0xffffffff
je 0x4bfca5
push 0x10
push 0
push 0x51a24c
call fcn.00401198
add esp, 0xc
mov word [0x51a24c], 2
mov ecx, dword [0x51a274]
mov dword [0x51a250], ecx
mov ax, word [ebx]
push eax
call sub.WSOCK32.dll_htons
mov word [0x51a24e], ax
push 0x10
push 0x51a24c
mov edx, dword [0x51a284]
push edx
call sub.WSOCK32.dll_bind
test eax, eax
jne 0x4bfc65
cmp dword [ebp + 0x14], 0
jne 0x4bfbbf
push 5
mov ecx, dword [0x51a284]
push ecx
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4bfc65
mov eax, dword [0x51a284]
push eax
call sub.WSOCK32.dll_closesocket
push 0
mov edx, dword [0x51a278]
push edx
push 2
call sub.WSOCK32.dll_socket
mov dword [0x51a284], eax
cmp dword [0x51a284], 0xffffffff
je 0x4bfca5
push 0x10
push 0
push 0x51a24c
call fcn.00401198
add esp, 0xc
mov word [0x51a24c], 2
xor ecx, ecx
mov dword [0x51a250], ecx
mov ax, word [ebx]
push eax
call sub.WSOCK32.dll_htons
mov word [0x51a24e], ax
push 0x10
push 0x51a24c
mov edx, dword [0x51a284]
push edx
call sub.WSOCK32.dll_bind
test eax, eax
jne 0x4bfc65
cmp dword [ebp + 0x14], 0
jne 0x4bfc4c
push 5
mov ecx, dword [0x51a284]
push ecx
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4bfc65
cmp dword [ebp + 0x10], 0
je 0x4bfc5b
mov eax, dword [ebp + 0x10]
mov dx, word [ebx]
mov word [eax], dx
mov eax, dword [0x51a284]
jmp 0x4bfd83
mov edx, dword [0x51a284]
push edx
call sub.WSOCK32.dll_closesocket
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4bfc84
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x51a270]
je 0x4bfca5
inc word [0x51a26e]
cmp word [0x51a26e], 0x1e
jb 0x4bf99f
cmp dword [ebp + 0x10], 0
jne 0x4bfcb3
or eax, 0xffffffff
jmp 0x4bfd83
push 0
mov edx, dword [0x51a278]
push edx
push 2
call sub.WSOCK32.dll_socket
mov ebx, eax
mov dword [0x51a284], ebx
cmp ebx, 0xffffffff
jne 0x4bfcd7
mov eax, ebx
jmp 0x4bfd83
push 0x10
push 0
push 0x51a24c
call fcn.00401198
add esp, 0xc
mov word [0x51a24c], 2
xor edx, edx
mov dword [0x51a250], edx
push 0
call sub.WSOCK32.dll_htons
mov word [0x51a24e], ax
push 0x10
push 0x51a24c
mov ecx, dword [0x51a284]
push ecx
call sub.WSOCK32.dll_bind
test eax, eax
jne 0x4bfd74
cmp dword [ebp + 0x14], 1
je 0x4bfd34
push 5
mov eax, dword [0x51a284]
push eax
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4bfd74
cmp dword [ebp + 0x10], 0
je 0x4bfd6d
mov dword [0x51a27c], 0x10
push 0x51a27c
push 0x51a24c
mov edx, dword [0x51a284]
push edx
call sub.WSOCK32.dll_getsockname
mov cx, word [0x51a24e]
push ecx
call sub.WSOCK32.dll_ntohs
mov edx, dword [ebp + 0x10]
mov word [edx], ax
mov eax, dword [0x51a284]
jmp 0x4bfd83
mov ecx, dword [0x51a284]
push ecx
call sub.WSOCK32.dll_closesocket
or eax, 0xffffffff
pop edi
pop esi
pop ebx
pop ebp
ret 0x10