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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov ebx, 0x581440
mov esi, 0x581438
mov edi, 0x581434
cmp dword [ebp + 0x14], 0
jne 0x4e363c
mov dword [0x58144c], 1
jmp 0x4e3668
cmp dword [ebp + 0x14], 1
jne 0x4e364e
mov dword [0x58144c], 2
jmp 0x4e3668
cmp dword [ebp + 0x14], 2
jne 0x4e3660
mov dword [0x58144c], 1
jmp 0x4e3668
or eax, 0xffffffff
jmp 0x4e3b2a
cmp dword [ebp + 0x10], 0
je 0x4e3676
mov edx, dword [ebp + 0x10]
mov word [edx], 0
mov dword [0x581448], 0x100007f
push 0
call fcn.00447ae4
test eax, eax
je 0x4e36ba
mov dword [0x581450], 0x10
push 0x581450
push 0x581420
push dword [0x55bb40]
call sub.WSOCK32.dll_getsockname
test eax, eax
jne 0x4e36ba
mov ecx, dword [0x581424]
mov dword [0x581448], ecx
cmp dword [ebp + 0x18], 0
jne 0x4e36d9
cmp dword [0x5589d8], 0
je 0x4e3a4a
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 [0x581454], eax
test eax, eax
jbe 0x4e373c
inc dword [0x581454]
mov ecx, dword [0x581454]
mov dword [ebp - 8], ecx
xor eax, eax
mov dword [ebp - 4], eax
fild qword [ebp - 8]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e33f8
add esp, 0xfffffff4
fstp xword [esp]
call fcn.00542618
add esp, 0x18
movzx edx, word [ebp + 8]
mov dword [ebp - 0xc], edx
fild dword [ebp - 0xc]
faddp st(1)
call fcn.00542680
mov word [ebx], ax
mov dx, word [ebx]
mov word [0x581444], dx
jmp 0x4e3749
mov ax, word [ebp + 8]
mov word [ebx], ax
mov word [0x581444], ax
mov word [0x581442], 0
jmp 0x4e3a3c
inc word [0x581442]
cmp dword [ebp + 0x18], 0
jne 0x4e37c6
mov ax, word [ebx]
cmp ax, word [0x54f354]
jb 0x4e37c6
cmp ax, word [0x54f356]
ja 0x4e37c6
mov edx, dword [0x581454]
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 4], ecx
fild qword [ebp - 8]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e33f8
add esp, 0xfffffff4
fstp xword [esp]
call fcn.00542618
add esp, 0x18
movzx eax, word [ebp + 8]
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
faddp st(1)
call fcn.00542680
mov word [ebx], ax
mov dx, word [ebx]
mov word [0x581444], dx
jmp 0x4e3a3c
mov ecx, dword [0x54cbf4]
mov dword [esi], ecx
jmp 0x4e381e
mov eax, dword [esi]
cmp dword [eax + 0x51c], 0
je 0x4e3814
mov dx, word [eax + 0x520]
cmp dx, word [ebx]
jne 0x4e3814
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4e37fa
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x581444]
je 0x4e3a4a
mov ecx, dword [0x54cbf4]
mov dword [esi], ecx
jmp 0x4e381e
mov eax, dword [esi]
mov edx, dword [eax + 0x87c]
mov dword [esi], edx
cmp dword [esi], 0
jne 0x4e37d0
mov ecx, dword [0x559644]
mov dword [edi], ecx
jmp 0x4e387b
mov eax, dword [edi]
cmp dword [eax + 0x33c], 0
je 0x4e3871
mov dx, word [eax + 0x350]
cmp dx, word [ebx]
jne 0x4e3871
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4e3857
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x581444]
je 0x4e3a4a
mov ecx, dword [0x559644]
mov dword [edi], ecx
jmp 0x4e387b
mov eax, dword [edi]
mov edx, dword [eax + 0x3b4]
mov dword [edi], edx
cmp dword [edi], 0
jne 0x4e382d
mov ecx, dword [0x551b48]
mov dword [0x58143c], ecx
jmp 0x4e38ea
mov eax, dword [0x58143c]
cmp dword [eax + 0x33c], 0
je 0x4e38d9
mov dx, word [eax + 0x34c]
cmp dx, word [ebx]
jne 0x4e38d9
inc word [ebx]
mov cx, word [ebx]
cmp cx, word [ebp + 0xc]
jbe 0x4e38bb
mov ax, word [ebp + 8]
mov word [ebx], ax
mov dx, word [ebx]
cmp dx, word [0x581444]
je 0x4e3a4a
mov ecx, dword [0x551b48]
mov dword [0x58143c], ecx
jmp 0x4e38ea
mov eax, dword [0x58143c]
mov edx, dword [eax + 0x39c]
mov dword [0x58143c], edx
cmp dword [0x58143c], 0
jne 0x4e388e
mov ecx, dword [0x559a4c]
mov dword [0x581430], ecx
jmp 0x4e394f
mov ax, word [eax + 0xca]
cmp ax, word [ebx]
jne 0x4e393e
inc word [ebx]
mov dx, word [ebx]
cmp dx, word [ebp + 0xc]
jbe 0x4e3920
mov cx, word [ebp + 8]
mov word [ebx], cx
mov ax, word [ebx]
cmp ax, word [0x581444]
je 0x4e3a4a
mov edx, dword [0x559a4c]
mov dword [0x581430], edx
jmp 0x4e394f
mov ecx, dword [0x581430]
mov eax, dword [ecx + 0x124]
mov dword [0x581430], eax
mov eax, dword [0x581430]
test eax, eax
jne 0x4e3901
push 0
push dword [0x58144c]
push 2
call sub.WSOCK32.dll_socket
mov dword [0x581458], eax
cmp dword [0x581458], 0xffffffff
je 0x4e3a4a
mov dx, word [ebx]
push edx
push dword [0x581458]
call fcn.004e3568
test eax, eax
je 0x4e3a12
cmp dword [ebp + 0x14], 0
jne 0x4e39a7
push 5
push dword [0x581458]
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4e3a12
push dword [0x581458]
call sub.WSOCK32.dll_closesocket
push 0
push dword [0x58144c]
push 2
call sub.WSOCK32.dll_socket
mov dword [0x581458], eax
cmp dword [0x581458], 0xffffffff
je 0x4e3a4a
mov cx, word [ebx]
push ecx
push dword [0x581458]
call fcn.004e3568
test eax, eax
je 0x4e3a12
cmp dword [ebp + 0x14], 0
jne 0x4e39f9
push 5
push dword [0x581458]
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4e3a12
cmp dword [ebp + 0x10], 0
je 0x4e3a08
mov eax, dword [ebp + 0x10]
mov dx, word [ebx]
mov word [eax], dx
mov eax, dword [0x581458]
jmp 0x4e3b2a
push dword [0x581458]
call sub.WSOCK32.dll_closesocket
inc word [ebx]
mov dx, word [ebx]
cmp dx, word [ebp + 0xc]
jbe 0x4e3a30
mov cx, word [ebp + 8]
mov word [ebx], cx
mov ax, word [ebx]
cmp ax, word [0x581444]
je 0x4e3a4a
cmp word [0x581442], 0x32
jb 0x4e3757
cmp dword [ebp + 0x18], 2
jne 0x4e3a58
or eax, 0xffffffff
jmp 0x4e3b2a
push 0
push dword [0x58144c]
push 2
call sub.WSOCK32.dll_socket
mov ebx, eax
mov dword [0x581458], ebx
cmp ebx, 0xffffffff
jne 0x4e3a7b
mov eax, ebx
jmp 0x4e3b2a
cmp dword [ebp + 0x14], 1
je 0x4e3a87
cmp dword [ebp + 0x14], 2
jne 0x4e3aa9
cmp dword [0x5589dc], 0
je 0x4e3a99
cmp byte [0x5589e0], 0
jne 0x4e3aa9
cmp dword [ebp + 0x10], 0
jne 0x4e3aa9
mov eax, dword [0x581458]
jmp 0x4e3b2a
push 0
push dword [0x581458]
call fcn.004e3568
test eax, eax
je 0x4e3b1c
cmp dword [ebp + 0x14], 1
je 0x4e3add
cmp dword [ebp + 0x14], 2
je 0x4e3add
cmp dword [ebp + 0x14], 0
jne 0x4e3b1c
push 5
push dword [0x581458]
call sub.WSOCK32.dll_listen
test eax, eax
jne 0x4e3b1c
cmp dword [ebp + 0x10], 0
je 0x4e3b15
mov dword [0x581450], 0x10
push 0x581450
push 0x581420
push dword [0x581458]
call sub.WSOCK32.dll_getsockname
mov dx, word [0x581422]
push edx
call sub.WSOCK32.dll_ntohs
mov ecx, dword [ebp + 0x10]
mov word [ecx], ax
mov eax, dword [0x581458]
jmp 0x4e3b2a
push dword [0x581458]
call sub.WSOCK32.dll_closesocket
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14