Function at 0x47b5e8
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 0x47bbac
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1034], 0xffffffff
jne 0x47bb91
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 0x47b668
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.0047c67c
mov ecx, dword [ebp - 0x3c]
mov dl, 1
mov eax, dword [0x47aef4]
call fcn.0047b374
call fcn.00404524
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 0x47b676
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 0x47b68b
mov eax, dword [ebp - 4]
movzx eax, 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 0x47b724
call sub.wsock32.dll_WSAGetLastError
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x47b6e8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.0047bbbc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47b6fe
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0047c67c
mov ecx, dword [ebp - 0x40]
mov dl, 1
mov eax, dword [0x47aef4]
call fcn.0047b374
call fcn.00404524
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 0x47b7a9
call sub.wsock32.dll_WSAGetLastError
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x47b76d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.0047bbbc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47b783
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0047c67c
mov ecx, dword [ebp - 0x44]
mov dl, 1
mov eax, dword [0x47aef4]
call fcn.0047b374
call fcn.00404524
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x36]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
movzx ebx, byte [eax]
mov byte [edx + ecx + 0x11d4], bl
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 4
jne 0x47b7b1
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x32]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
movzx ebx, byte [eax]
mov byte [edx + ecx + 0x11d8], bl
inc dword [ebp - 8]
inc eax
cmp dword [ebp - 8], 6
jne 0x47b7d3
xor eax, eax
push ebp
push 0x47b816
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.0047c5e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47b883
xor eax, eax
push ebp
push 0x47b8ad
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
movzx edx, byte [eax + 0x11ec]
mov eax, dword [ebp - 4]
call fcn.0047c44c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47b91a
xor eax, eax
push ebp
push 0x47b944
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
movzx edx, byte [eax + 0x11c8]
mov eax, dword [ebp - 4]
call fcn.0047bec4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47b9b1
xor eax, eax
push ebp
push 0x47b9db
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
movzx edx, byte [eax + 0x11ca]
mov eax, dword [ebp - 4]
call fcn.0047bf70
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47ba48
xor eax, eax
push ebp
push 0x47ba72
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
movzx edx, byte [eax + 0x11d0]
mov eax, dword [ebp - 4]
call fcn.0047c020
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47badf
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 0x47bb91
xor eax, eax
push ebp
push 0x47bb4f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.0047bbbc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47bb65
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.0047c67c
mov ecx, dword [ebp - 0x48]
mov dl, 1
mov eax, dword [0x47aef4]
call fcn.0047b374
call fcn.00404524
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47bbb3
lea eax, [ebp - 0x48]
mov edx, 4
call fcn.00404bf8
ret