Function at 0x4cb44e
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, 0x559df4
mov esi, 0x559dec
mov edi, 0x559de8
cmp dword [ebp + 0x14], 0
jne 0x4cb475
mov dword [0x559e00], 1
jmp 0x4cb4a1
cmp dword [ebp + 0x14], 1
jne 0x4cb487
mov dword [0x559e00], 2
jmp 0x4cb4a1
cmp dword [ebp + 0x14], 2
jne 0x4cb499
mov dword [0x559e00], 1
jmp 0x4cb4a1
or eax, 0xffffffff
jmp 0x4cb90d
cmp dword [ebp + 0x10], 0
je 0x4cb4af
mov edx, dword [ebp + 0x10]
mov word [edx], 0
mov dword [0x559dfc], 0x100007f
push 0
call fcn.0043d398
test eax, eax
je 0x4cb4f3
mov dword [0x559e04], 0x10
push 0x559e04
push 0x559dd4
push dword [0x537b60]
call sub.WSOCK32.dll_getsockname
test eax, eax
jne 0x4cb4f3
mov ecx, dword [0x559dd8]
mov dword [0x559dfc], ecx
cmp dword [ebp + 0x18], 0
jne 0x4cb512
cmp dword [0x534ccc], 0
je 0x4cb82d
mov word [ebp + 8], 0x400
mov word [ebp + 0xc], 0xfde8
movzx eax, word [ebp + 0xc]
movzx edx, word [ebp + 8]
sub eax, edx
mov dword [0x559e08], eax
test eax, eax
jbe 0x4cb54a
inc dword [0x559e08]
call fcn.004cb244
xor edx, edx
div dword [0x559e08]
add dx, word [ebp + 8]
mov word [ebx], dx
mov ax, word [ebx]
mov word [0x559df8], ax
jmp 0x4cb557
mov ax, word [ebp + 8]
mov word [ebx], ax
mov word [0x559df8], ax
mov word [0x559df6], 0
jmp 0x4cb81f
inc word [0x559df6]
cmp dword [ebp + 0x18], 0
jne 0x4cb5aa
mov ax, word [ebx]
cmp ax, word [0x52c430]
jb 0x4cb5aa
cmp ax, word [0x52c432]
ja 0x4cb5aa
call fcn.004cb244
xor edx, edx
div dword [0x559e08]
add dx, word [ebp + 8]
mov word [ebx], dx
mov cx, word [ebx]
mov word [0x559df8], cx
jmp 0x4cb81f
mov eax, dword [0x529f18]
mov dword [esi], eax
jmp 0x4cb601
mov eax, dword [esi]
cmp dword [eax + 0x51c], 0
je 0x4cb5f7
mov dx, word [eax + 0x520]
cmp dx, word [ebx]
jne 0x4cb5f7
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4cb5dd
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x559df8]
je 0x4cb82d
mov ecx, dword [0x529f18]
mov dword [esi], ecx
jmp 0x4cb601
mov eax, dword [esi]
mov edx, dword [eax + 0x87c]
mov dword [esi], edx
cmp dword [esi], 0
jne 0x4cb5b3
mov ecx, dword [0x5357ac]
mov dword [edi], ecx
jmp 0x4cb65e
mov eax, dword [edi]
cmp dword [eax + 0x404], 0
je 0x4cb654
mov dx, word [eax + 0x414]
cmp dx, word [ebx]
jne 0x4cb654
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4cb63a
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x559df8]
je 0x4cb82d
mov ecx, dword [0x5357ac]
mov dword [edi], ecx
jmp 0x4cb65e
mov eax, dword [edi]
mov edx, dword [eax + 0x470]
mov dword [edi], edx
cmp dword [edi], 0
jne 0x4cb610
mov ecx, dword [0x52e838]
mov dword [0x559df0], ecx
jmp 0x4cb6cd
mov eax, dword [0x559df0]
cmp dword [eax + 0x404], 0
je 0x4cb6bc
mov dx, word [eax + 0x410]
cmp dx, word [ebx]
jne 0x4cb6bc
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4cb69e
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x559df8]
je 0x4cb82d
mov ecx, dword [0x52e838]
mov dword [0x559df0], ecx
jmp 0x4cb6cd
mov eax, dword [0x559df0]
mov edx, dword [eax + 0x458]
mov dword [0x559df0], edx
cmp dword [0x559df0], 0
jne 0x4cb671
mov ecx, dword [0x535bbc]
mov dword [0x559de4], ecx
jmp 0x4cb732
mov ax, word [eax + 0xca]
cmp ax, word [ebx]
jne 0x4cb721
inc word [ebx]
mov dx, word [ebx]
cmp dx, word [ebp + 0xc]
jbe 0x4cb703
mov cx, word [ebp + 8]
mov word [ebx], cx
mov ax, word [ebx]
cmp ax, word [0x559df8]
je 0x4cb82d
mov edx, dword [0x535bbc]
mov dword [0x559de4], edx
jmp 0x4cb732
mov ecx, dword [0x559de4]
mov eax, dword [ecx + 0x124]
mov dword [0x559de4], eax
mov eax, dword [0x559de4]
test eax, eax
jne 0x4cb6e4
push 0
push dword [0x559e00]
push 2
call sub.WSOCK32.dll_socket
mov dword [0x559e0c], eax
cmp dword [0x559e0c], 0xffffffff
je 0x4cb82d
mov dx, word [ebx]
push edx
push dword [0x559e0c]
call fcn.004cb3a4
test eax, eax
je 0x4cb7f5
cmp dword [ebp + 0x14], 0
jne 0x4cb78a
push 5
push dword [0x559e0c]
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4cb7f5
push dword [0x559e0c]
call sub.WSOCK32.dll_closesocket
push 0
push dword [0x559e00]
push 2
call sub.WSOCK32.dll_socket
mov dword [0x559e0c], eax
cmp dword [0x559e0c], 0xffffffff
je 0x4cb82d
mov cx, word [ebx]
push ecx
push dword [0x559e0c]
call fcn.004cb3a4
test eax, eax
je 0x4cb7f5
cmp dword [ebp + 0x14], 0
jne 0x4cb7dc
push 5
push dword [0x559e0c]
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4cb7f5
cmp dword [ebp + 0x10], 0
je 0x4cb7eb
mov eax, dword [ebp + 0x10]
mov dx, word [ebx]
mov word [eax], dx
mov eax, dword [0x559e0c]
jmp 0x4cb90d
push dword [0x559e0c]
call sub.WSOCK32.dll_closesocket
inc word [ebx]
mov dx, word [ebx]
cmp dx, word [ebp + 0xc]
jbe 0x4cb813
mov cx, word [ebp + 8]
mov word [ebx], cx
mov ax, word [ebx]
cmp ax, word [0x559df8]
je 0x4cb82d
cmp word [0x559df6], 0x32
jb 0x4cb565
cmp dword [ebp + 0x18], 2
jne 0x4cb83b
or eax, 0xffffffff
jmp 0x4cb90d
push 0
push dword [0x559e00]
push 2
call sub.WSOCK32.dll_socket
mov ebx, eax
mov dword [0x559e0c], ebx
cmp ebx, 0xffffffff
jne 0x4cb85e
mov eax, ebx
jmp 0x4cb90d
cmp dword [ebp + 0x14], 1
je 0x4cb86a
cmp dword [ebp + 0x14], 2
jne 0x4cb88c
cmp dword [0x534cd0], 0
je 0x4cb87c
cmp byte [0x534cd4], 0
jne 0x4cb88c
cmp dword [ebp + 0x10], 0
jne 0x4cb88c
mov eax, dword [0x559e0c]
jmp 0x4cb90d
push 0
push dword [0x559e0c]
call fcn.004cb3a4
test eax, eax
je 0x4cb8ff
cmp dword [ebp + 0x14], 1
je 0x4cb8c0
cmp dword [ebp + 0x14], 2
je 0x4cb8c0
cmp dword [ebp + 0x14], 0
jne 0x4cb8ff
push 5
push dword [0x559e0c]
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4cb8ff
cmp dword [ebp + 0x10], 0
je 0x4cb8f8
mov dword [0x559e04], 0x10
push 0x559e04
push 0x559dd4
push dword [0x559e0c]
call sub.WSOCK32.dll_getsockname
mov dx, word [0x559dd6]
push edx
call sub.WSOCK32.dll_ntohs
mov ecx, dword [ebp + 0x10]
mov word [ecx], ax
mov eax, dword [0x559e0c]
jmp 0x4cb90d
push dword [0x559e0c]
call sub.WSOCK32.dll_closesocket
or eax, 0xffffffff
pop edi
pop esi
pop ebx
pop ebp
ret 0x14