Function at 0x10003a20
Capabilities:
Get socket status
Print debug messages
Send data
Send data on socket
Set socket configuration

Disassembly:
sub esp, 0x658
mov eax, dword [0x10027400]
xor eax, esp
mov dword [esp + 0x654], eax
push esi
push edi
mov edi, dword [esp + 0x664]
push str.IPInterface::broadcast______n
mov esi, ecx
mov dword [esp + 0x10], edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [esi + 0x18], 0
jne 0x10003a5e
mov eax, 0xffffffe0
jmp 0x10003d54
test edi, edi
jne 0x10003a6c
mov eax, 0xffffffdc
jmp 0x10003d54
mov eax, dword [esi + 0x14]
test eax, eax
push ebx
mov dword [esp + 0x14], 1
je 0x10003ab7
mov edi, 1
cmp dword [eax], edi
jb 0x10003ab7
mov ebx, dword [sym.imp.WSOCK32.dll_setsockopt]
jmp 0x10003a90
mov edx, dword [eax + edi*4]
push 4
lea ecx, [esp + 0x18]
push ecx
push 0x20
push 0xffff
push edx
call ebx
cmp eax, 0xffffffff
je 0x10003b7a
mov eax, dword [esi + 0x14]
add edi, 1
cmp edi, dword [eax]
jbe 0x10003a90
mov ebx, dword [esi + 0xc]
xor eax, eax
push ebp
mov dword [esp + 0x24c], eax
push 0xa1
xor ebp, ebp
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], eax
mov word [esp + 0x250], 2
call dword [sym.imp.WSOCK32.dll_htons]
push str.255.255.255.255
mov word [esp + 0x252], ax
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov dword [esp + 0x250], eax
xor eax, eax
xor edi, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 2
mov dword [esp + 0x30], 0x11
mov eax, dword [eax]
xor ecx, ecx
cmp eax, edi
jbe 0x10003c6a
lea edx, [esi + 0x20]
cmp dword [edx], 0x17
je 0x10003b84
add ecx, 1
add edx, 4
cmp ecx, eax
jb 0x10003b66
jmp 0x10003c6a
mov eax, 0xffffffda
jmp 0x10003d53
mov eax, dword [0x10028714]
cmp eax, edi
mov dword [esp + 0x25c], 0x313631
jne 0x10003ba3
push edi
call fcn.10003720
mov dword [0x10028714], eax
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x264]
push ecx
push str.FF02::1
call eax
mov edi, eax
push edi
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
cmp edi, 0x2afc
jne 0x10003c07
lea edx, [esp + 0x25c]
push edx
push str.FF02::1
lea eax, [esp + 0x26c]
push str.getaddrinfo__s___s_...__failed__WSANO_DATA__n
push eax
call fcn.1000e4d5
add esp, 0x10
lea ecx, [esp + 0x264]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffffd8
jmp 0x10003d52
test edi, edi
je 0x10003c68
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10003c2d
mov esi, eax
mov eax, dword [0x1002871c]
test eax, eax
jne 0x10003c2a
push 2
call fcn.10003720
mov dword [0x1002871c], eax
push esi
call eax
push edi
lea edx, [esp + 0x260]
push edx
push str.FF02::1
lea eax, [esp + 0x270]
push str.getaddrinfo__s___s_...__failed__rc___d_n
push eax
call fcn.1000e4d5
add esp, 0x14
lea ecx, [esp + 0x264]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, 0xffffffd8
jmp 0x10003d52
xor edi, edi
cmp ebx, edi
jl 0x10003d21
mov edx, dword [esi + 0x14]
cmp edx, edi
je 0x10003cbb
mov dword [esp + 0x44], edi
mov dword [esp + 0x148], edi
mov eax, edx
mov ecx, dword [eax]
mov dword [esp + 0x44], ecx
mov eax, dword [eax]
mov dword [esp + 0x148], eax
xor eax, eax
cmp dword [edx], edi
jbe 0x10003cbb
mov ecx, edx
add ecx, 4
mov edi, dword [ecx]
mov dword [esp + eax*4 + 0x48], edi
mov edi, dword [ecx]
mov dword [esp + eax*4 + 0x14c], edi
add eax, 1
add ecx, 4
cmp eax, dword [edx]
jb 0x10003ca0
xor edi, edi
mov ecx, dword [esi + 8]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x14c]
push eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x4c]
push ecx
push edi
push edi
mov dword [esp + 0x34], edi
call dword [sym.imp.WSOCK32.dll_select]
cmp eax, 0xffffffff
jne 0x10003cfa
push str.select___returned_error____n
mov ebp, 0xffffffdb
sub ebx, 1
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x10003d19
cmp eax, 1
jge 0x10003d14
push str.select___timed_out_n
mov ebp, 0xffffffdb
sub ebx, 1
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x10003d19
cmp dword [esi + 0x14], edi
jne 0x10003d6d
cmp ebx, edi
jge 0x10003c72
mov esi, dword [esp + 0x10]
cmp esi, edi
je 0x10003d45
mov eax, dword [0x1002871c]
cmp eax, edi
jne 0x10003d3e
push 2
call fcn.10003720
mov dword [0x1002871c], eax
push esi
call eax
mov dword [esp + 0x10], edi
push str.___IPInterface::broadcast___n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, ebp
pop ebp
pop ebx
mov ecx, dword [esp + 0x65c]
pop edi
pop esi
xor ecx, esp
call fcn.1000e6bf
add esp, 0x658
ret 8
mov eax, dword [esi + 0x14]
mov edi, 1
cmp dword [eax], edi
jb 0x10003e1b
mov ebx, dword [esp + 0x670]
mov ebp, dword [sym.imp.WSOCK32.dll_sendto]
lea edx, [esi + 0x20]
mov dword [esp + 0x25c], edx
mov edx, dword [eax + edi*4]
lea ecx, [esp + 0x44]
push ecx
push edx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x10003e05
mov eax, dword [esp + 0x25c]
cmp dword [eax], 2
jne 0x10003dd8
push str.broadcasting_on_IPv4__255.255.255.255_..._n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0x14]
push 0x10
lea ecx, [esp + 0x250]
push ecx
mov ecx, dword [eax + edi*4]
push 0
push ebx
push edx
push ecx
jmp 0x10003dfe
push str.Multicasting_on_IPv6__FF02::1_..._n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esi + 0x14]
push eax
mov eax, dword [edx + edi*4]
push 0
push ebx
push ecx
push eax
call ebp
cmp eax, 0xffffffff
je 0x10003e55
mov eax, dword [esi + 0x14]
add dword [esp + 0x25c], 4
add edi, 1
cmp edi, dword [eax]
jbe 0x10003d94
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10003e43
mov eax, dword [0x1002871c]
test eax, eax
jne 0x10003e38
push 2
call fcn.10003720
mov dword [0x1002871c], eax
push esi
call eax
mov dword [esp + 0x10], 0
push str.___IPInterface::broadcast___n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x10003d52
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
lea ecx, [esp + 0x268]
push str.sendto___returned_error:__d_n
push ecx
call fcn.1000e4d5
add esp, 0xc
lea edx, [esp + 0x264]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10003ea1
mov esi, eax
mov eax, dword [0x1002871c]
test eax, eax
jne 0x10003e9e
push 2
call fcn.10003720
mov dword [0x1002871c], eax
push esi
call eax
mov eax, 0xffffffd9
jmp 0x10003d52