Function at 0x460310
Capabilities:
Create udp socket
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffea88
push edi
push esi
push ebx
push 0x4e36de
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call eax
mov dword [ebp - 0x20], eax
mov ebx, 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x20], 0
jne 0x46035a
push str.Cant_find_IP_Helper_API_DLL
push 1
call fcn.00409712
add esp, 8
push str.GetIfTable
push dword [ebp - 0x20]
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x460381
push str.Cant_find_GetIfTable_function
push 1
call fcn.00409712
add esp, 8
push 1
lea edi, [ebp - 0x40]
push edi
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
call eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x7a
je 0x4603a7
push str.Call_to_GetIfTable_gave_unexpected_return_code
push 1
call fcn.00409712
add esp, 8
push dword [ebp - 0x40]
call fcn.004a8093
mov dword [ebp - 0x34], eax
add esp, 4
cmp dword [ebp - 0x34], 0
jne 0x4603ca
push str.Insufficient_resources
push 1
call fcn.00409712
add esp, 8
push dword [ebp - 0x40]
push 0
push dword [ebp - 0x34]
call fcn.004a7ae0
sub esp, 0xfffffff4
push 1
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
call eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x460400
push str.Call_to_GetIfTable_failed
push 1
call fcn.00409712
add esp, 8
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
push dword [ebp - 0x34]
call fcn.004a7a46
add esp, 4
push dword [ebp - 0x20]
mov eax, dword [sym.imp.KERNEL32.dll_FreeLibrary]
call eax
mov word [ebp - 6], 0x202
lea eax, [ebp - 0x1558]
push eax
movzx edi, word [ebp - 6]
push edi
mov eax, dword [sym.imp.WS2_32.dll_WSAStartup]
call eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x46045c
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
push eax
push str.Error:_Failed_to_open_WinSock2_library__error_code__u
push 1
call fcn.00409712
add esp, 0xc
mov dword [ebp - 0x30], 0xffffffff
push 0
push 0
push 0
push 0
push 2
push 2
mov eax, dword [sym.imp.WS2_32.dll_WSASocketA]
call eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xffffffff
jne 0x460496
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
push eax
push str.Error:_Failed_to_open_the_query_socket__error_code__u
push 1
call fcn.00409712
add esp, 0xc
push 0x1388
push 0
lea eax, [ebp - 0x13c8]
push eax
call fcn.004a7ae0
add esp, 0xc
lea eax, [ebp - 0x13c8]
lea edi, [ebp - 0x3c]
push 0
push 0
push edi
push 0x1388
push eax
push 0
push 0
push 0x4004747f
push dword [ebp - 0x30]
mov eax, dword [sym.imp.WS2_32.dll_WSAIoctl]
call eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x4604f3
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
push eax
push str.Error:_Failed_to_query_WinSock2__error_code__u
push 1
call fcn.00409712
add esp, 0xc
mov edi, 0x4c
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov esi, 0
xor edx, edx
div edi
mov dword [ebp - 0x38], eax
jmp 0x460537
imul eax, esi, 0x4c
lea edx, [ebp + eax - 0x13c8]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
test dword [eax], 2
je 0x460534
cmp esi, dword [0x4fb850]
jle 0x460534
mov dword [0x4fb850], esi
jmp 0x46053c
sub esi, 0xffffffff
cmp esi, dword [ebp - 0x38]
jb 0x46050c
cmp esi, dword [ebp - 0x38]
jae 0x4605db
imul eax, esi, 0x4c
lea edi, [ebp - 0x1568]
lea edx, [ebp + eax - 0x13c8]
mov dword [ebp - 0x2c], edx
mov ebx, dword [ebp - 0x2c]
lea esi, [ebx + 4]
movsd dword es:[edi], dword [esi]
mov ebx, dword [ebp - 0x2c]
push 0x10
push 1
mov eax, dword [fcn.004092c1]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x34]
lea edi, [ebp - 0x1578]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call eax
mov esi, eax
lea eax, [ebp - 0x1568]
sub esp, 0xfffffff8
push 0x10
push eax
push esi
call fcn.004a86b0
add esp, 0xc
mov eax, dword [ebp - 0x1574]
not eax
or eax, dword [ebp - 0x1564]
mov byte [esi + 4], al
mov eax, dword [ebp - 0x1573]
not eax
or eax, dword [ebp - 0x1563]
mov byte [esi + 5], al
mov ebx, dword [ebp - 0x1572]
not ebx
or ebx, dword [ebp - 0x1562]
mov byte [esi + 6], bl
mov ebx, dword [ebp - 0x1571]
not ebx
or ebx, dword [ebp - 0x1561]
mov byte [esi + 7], bl
mov dword [ebp - 0x18], esi
push dword [ebp - 0x30]
mov eax, dword [sym.imp.WS2_32.dll_closesocket]
call eax
pop ebx
mov eax, dword [ebp - 0x18]
pop esi
pop edi
leave
ret