Function at 0x4e65e8
Capabilities:
Create udp socket
Initialize winsock library
Set socket configuration

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffe6c
mov esi, eax
mov edi, 0x53e16c
xor ebx, ebx
call fcn.004e63e0
test al, al
je 0x4e6615
mov eax, dword [0x53e168]
not eax
or eax, dword [0x53b32c]
mov dword [0x53b334], eax
call fcn.004e64b4
mov eax, dword [0x53e150]
cmp dword [eax + 8], 0
jne 0x4e6662
cmp dword [0x53b334], 0
je 0x4e6653
mov edx, dword [0x53b334]
mov eax, dword [0x53e150]
call fcn.004119bc
cmp dword [0x53b33c], 0
jne 0x4e6662
mov eax, dword [0x53b32c]
mov dword [0x53b33c], eax
jmp 0x4e6662
mov eax, 0x4e6830
call fcn.004589d8
jmp 0x4e681a
mov dword [esp], 1
lea eax, [esp + 4]
push eax
push 0x101
call sub.wsock32.dll_WSAStartup
test eax, eax
je 0x4e66a9
push 0x10
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov ecx, dword [eax + 0x90]
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov edx, dword [eax + 0xb0]
mov eax, dword [0x53be94]
mov eax, dword [eax]
call fcn.00451f74
jmp 0x4e681a
push 0
push 2
push 2
call sub.wsock32.dll_socket
mov dword [edi], eax
cmp dword [edi], 0xffffffff
jne 0x4e66ed
push 0x10
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov edx, dword [eax + 0xb0]
mov eax, dword [0x53be94]
mov eax, dword [eax]
call fcn.00451f74
mov eax, dword [edi]
push eax
call sub.wsock32.dll_closesocket
jmp 0x4e681a
mov word [0x53e158], 2
mov eax, dword [0x53e150]
cmp dword [eax + 8], 1
jne 0x4e670d
mov eax, dword [0x53b33c]
mov dword [0x53e15c], eax
jmp 0x4e6714
xor eax, eax
mov dword [0x53e15c], eax
mov ax, word [0x53e10c]
push eax
call sub.wsock32.dll_htons
mov word [0x53e15a], ax
push 4
lea eax, [esp + 4]
push eax
push 4
push 0xffff
mov eax, dword [edi]
push eax
call sub.wsock32.dll_setsockopt
push 0x10
push 0x53e158
mov eax, dword [edi]
push eax
call sub.wsock32.dll_bind
inc eax
jne 0x4e6780
push 0x10
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov edx, dword [eax + 0xb0]
mov eax, dword [0x53be94]
mov eax, dword [eax]
call fcn.00451f74
mov eax, dword [edi]
push eax
call sub.wsock32.dll_closesocket
jmp 0x4e681a
push 4
lea eax, [esp + 4]
push eax
push 0x20
push 0xffff
mov eax, dword [edi]
push eax
call sub.wsock32.dll_setsockopt
inc eax
jne 0x4e67c8
push 0x10
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov edx, dword [eax + 0xb0]
mov eax, dword [0x53be94]
mov eax, dword [eax]
call fcn.00451f74
mov eax, dword [edi]
push eax
call sub.wsock32.dll_closesocket
jmp 0x4e681a
push 0x23
push 0x500
mov eax, esi
call fcn.00439da0
push eax
mov eax, dword [edi]
push eax
call sub.wsock32.dll_WSAAsyncSelect
inc eax
jne 0x4e6811
push 0x10
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov eax, dword [0x53b780]
mov eax, dword [eax]
mov edx, dword [eax + 0xb0]
mov eax, dword [0x53be94]
mov eax, dword [eax]
call fcn.00451f74
mov eax, dword [edi]
push eax
call sub.wsock32.dll_closesocket
jmp 0x4e681a
mov bl, 1
mov byte [0x53b330], 1
mov eax, ebx
add esp, 0x194
pop edi
pop esi
pop ebx
ret