Function at 0x631eb71d
Capabilities:
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov dword [ebp - 0x2c], 1
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
cmp dword [ebp + 8], 0
je 0x631eb798
mov dword [esp + 4], 0x3a
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.631e0d69
test eax, eax
je 0x631eb774
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Opening_IP6_socket:___s_:_i_n
mov dword [esp], 0x1e
call fcn.631a9790
jmp 0x631eb7b3
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Opening_IP6_socket:__s:_i_n
mov dword [esp], 0x1e
call fcn.631a9790
jmp 0x631eb7b3
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Opening_IP6_socket:__::_:_i_n
mov dword [esp], 0x1e
call fcn.631a9790
mov dword [esp + 8], 0x11
mov dword [esp + 4], 2
mov dword [esp], 0x17
mov eax, dword [sym.imp.WSOCK32.DLL_socket]
call eax
sub esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x631eb810
mov eax, dword [sym.imp.WSOCK32.DLL_WSAGetLastError]
call eax
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
call fcn.631e9415
mov dword [esp + 8], eax
mov dword [esp + 4], str.WARNING:_NET_IP6Socket:_socket:__s_n
mov dword [esp], 0x1e
call fcn.631a9790
mov eax, dword [ebp - 0xc]
jmp 0x631eba09
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x8004667e
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_ioctlsocket]
call eax
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x631eb879
call fcn.631e9415
mov dword [esp + 8], eax
mov dword [esp + 4], str.WARNING:_NET_IP6Socket:_ioctl_FIONBIO:__s_n
mov dword [esp], 0x1e
call fcn.631a9790
mov eax, dword [sym.imp.WSOCK32.DLL_WSAGetLastError]
call eax
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_closesocket]
call eax
sub esp, 4
mov eax, 0xffffffff
jmp 0x631eba09
mov dword [ebp - 0x30], 1
mov dword [esp + 0x10], 4
lea eax, [ebp - 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1b
mov dword [esp + 4], 0x29
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_setsockopt]
call eax
sub esp, 0x14
cmp eax, 0xffffffff
jne 0x631eb8d1
call fcn.631e9415
mov dword [esp + 8], eax
mov dword [esp + 4], str.WARNING:_NET_IP6Socket:_setsockopt_IPV6_V6ONLY:__s_n
mov dword [esp], 0x1e
call fcn.631a98f0
cmp dword [ebp + 8], 0
je 0x631eb8e1
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
test al, al
jne 0x631eb909
mov word [ebp - 0x28], 0x17
mov eax, dword [0x633fd390]
mov dword [ebp - 0x20], eax
mov eax, dword [0x633fd394]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x633fd398]
mov dword [ebp - 0x18], eax
mov eax, dword [0x633fd39c]
mov dword [ebp - 0x14], eax
jmp 0x631eb949
mov dword [esp + 0xc], 0x17
mov dword [esp + 8], 0x1c
lea eax, [ebp - 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.631e9d37
test eax, eax
jne 0x631eb949
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_closesocket]
call eax
sub esp, 4
mov eax, 0xffffffff
jmp 0x631eba09
cmp dword [ebp + 0xc], 0xffffffff
jne 0x631eb957
mov word [ebp - 0x26], 0
jmp 0x631eb96e
mov eax, dword [ebp + 0xc]
movzx eax, ax
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_htons]
call eax
sub esp, 4
mov word [ebp - 0x26], ax
mov dword [esp + 8], 0x1c
lea eax, [ebp - 0x28]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_bind]
call eax
sub esp, 0xc
cmp eax, 0xffffffff
jne 0x631eb9d4
call fcn.631e9415
mov dword [esp + 8], eax
mov dword [esp + 4], str.WARNING:_NET_IP6Socket:_bind:__s_n
mov dword [esp], 0x1e
call fcn.631a9790
mov eax, dword [sym.imp.WSOCK32.DLL_WSAGetLastError]
call eax
mov edx, eax
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.WSOCK32.DLL_closesocket]
call eax
sub esp, 4
mov eax, 0xffffffff
jmp 0x631eba09
cmp dword [ebp + 0x10], 0
je 0x631eba06
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x28]
mov dword [eax], edx
mov edx, dword [ebp - 0x24]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x20]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x14]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x10]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0xc]
leave
ret