Function at 0x49153c
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x491afa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1034], 0xffffffff
jne 0x491adf
push 0x3e8
push 2
push 6
call sub.wsock32.dll_socket
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x1034], ebx
inc ebx
jne 0x4915bc
call sub.wsock32.dll_WSAGetLastError
push eax
call sub.wsock32.dll_WSAGetLastError
mov edx, eax
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.00492578
mov ecx, dword [ebp - 0x3c]
mov dl, 1
mov eax, dword [0x490e40]
call fcn.004912c0
call fcn.00404080
mov word [ebp - 0x2a], 6
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x28]
mov byte [eax], 0
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 4
jne 0x4915ca
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x24]
mov byte [eax], 0
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 6
jne 0x4915df
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x11de]
xchg al, ah
mov word [ebp - 0x1e], ax
push 0xe
lea eax, [ebp - 0x2a]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1034]
push eax
call sub.wsock32.dll_bind
inc eax
jne 0x491678
call sub.wsock32.dll_WSAGetLastError
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x49163c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00491b08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x491652
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00492578
mov ecx, dword [ebp - 0x40]
mov dl, 1
mov eax, dword [0x490e40]
call fcn.004912c0
call fcn.00404080
mov dword [ebp - 8], 0xe
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1034]
push eax
call sub.wsock32.dll_getsockname
inc eax
jne 0x4916fd
call sub.wsock32.dll_WSAGetLastError
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4916c1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00491b08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4916d7
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00492578
mov ecx, dword [ebp - 0x44]
mov dl, 1
mov eax, dword [0x490e40]
call fcn.004912c0
call fcn.00404080
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x36]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov bl, byte [eax]
mov byte [edx + ecx + 0x11d4], bl
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 4
jne 0x491705
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x32]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov bl, byte [eax]
mov byte [edx + ecx + 0x11d8], bl
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 6
jne 0x491726
xor eax, eax
push ebp
push 0x491768
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x11f4]
mov eax, dword [ebp - 4]
call fcn.004924dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4917d5
xor eax, eax
push ebp
push 0x4917fe
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x11ec]
mov eax, dword [ebp - 4]
call fcn.00492348
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49186b
xor eax, eax
push ebp
push 0x491894
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x11c8]
mov eax, dword [ebp - 4]
call fcn.00491dc0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x491901
xor eax, eax
push ebp
push 0x49192a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x11ca]
mov eax, dword [ebp - 4]
call fcn.00491e6c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x491997
xor eax, eax
push ebp
push 0x4919c0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x11d0]
mov eax, dword [ebp - 4]
call fcn.00491f1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x491a2d
mov dword [ebp - 8], 4
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 4]
add eax, 0x11cc
push eax
push 0x4006
push 0x3e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1034]
push eax
call sub.wsock32.dll_getsockopt
push 3
push 0x400
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1030]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1034]
push eax
call sub.wsock32.dll_WSAAsyncSelect
inc eax
jne 0x491adf
xor eax, eax
push ebp
push 0x491a9d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00491b08
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x491ab3
call sub.wsock32.dll_WSAGetLastError
push eax
call sub.wsock32.dll_WSAGetLastError
mov edx, eax
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.00492578
mov ecx, dword [ebp - 0x48]
mov dl, 1
mov eax, dword [0x490e40]
call fcn.004912c0
call fcn.00404080
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x491b01
lea eax, [ebp - 0x48]
mov edx, 4
call fcn.004046ec
ret