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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
xor edx, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4ab445
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov eax, dword [ebp - 4]
cmp word [eax + 0x29e], 0
je 0x4ab202
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x2a0]
call dword [ebx + 0x29c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x210]
mov edx, dword [0x585ebc]
mov edx, dword [edx]
call fcn.00403f98
jne 0x4ab257
mov dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c4]
push eax
call sub.wsock32.dll_getsockname
push dword [ebp - 0x20]
call sub.wsock32.dll_inet_ntoa
mov ebx, eax
lea edx, [ebp - 0x28]
mov eax, ebx
call fcn.00409ab4
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.004a719c
mov dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x190]
mov eax, dword [eax + 0x1c4]
push eax
call sub.wsock32.dll_getsockname
lea eax, [ebp - 0x28]
push eax
mov bx, word [ebp - 0x22]
mov eax, ebx
and ax, 0xff
movzx eax, ax
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x34], 0
shr bx, 8
movzx eax, bx
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x2c], 0
lea edx, [ebp - 0x38]
mov ecx, 1
mov eax, 0x4ab45c
call fcn.00409ffc
mov eax, dword [ebp - 0x28]
push eax
push 0
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x210]
mov ecx, 0x4ab46c
mov edx, 0x4ab478
call fcn.004537ac
mov edx, dword [ebp - 0x3c]
lea eax, [ebp - 0xc]
pop ecx
call fcn.00403ed4
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x2e6]
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 4]
mov byte [eax + 0x2e6], 0
xor edx, edx
push ebp
push 0x4ab418
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x28]
mov eax, 0x4a4aac
call fcn.00405c64
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0xc]
call fcn.00403e90
mov edx, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a728c
mov eax, dword [ebp - 4]
cmp word [eax + 0x17c], 0
jne 0x4ab341
call fcn.00403720
jmp 0x4ab41f
mov eax, dword [ebp - 4]
cmp word [eax + 0x17c], 0x226
jne 0x4ab3b0
lea edx, [ebp - 0x28]
mov eax, 0x4a4b0c
call fcn.00405c64
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x1bc]
call fcn.00404170
test eax, eax
jle 0x4ab3b0
lea edx, [ebp - 0x28]
mov eax, 0x4a4b0c
call fcn.00405c64
mov edx, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a728c
lea edx, [ebp - 0x28]
mov eax, 0x4a4aac
call fcn.00405c64
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0xc]
call fcn.00403e90
mov edx, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004a728c
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x17c]
cmp ax, 0xc8
je 0x4ab3d2
cmp ax, 0xe2
je 0x4ab3d2
cmp ax, 0x1f4
jge 0x4ab3d2
cmp ax, 0x1a5
jne 0x4ab3d8
cmp ax, 0x226
jne 0x4ab3e5
mov edx, 0xf
mov eax, dword [ebp - 4]
call fcn.004adae0
mov eax, dword [ebp - 4]
cmp word [eax + 0x17c], 0x18f
jle 0x4ab3fa
call fcn.00403720
jmp 0x4ab41f
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ab41f
mov eax, dword [ebp - 4]
mov dl, byte [ebp - 0xd]
mov byte [eax + 0x2e6], dl
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ab44c
lea eax, [ebp - 0x3c]
call fcn.00403c0c
lea eax, [ebp - 0x28]
call fcn.00403c0c
lea eax, [ebp - 0xc]
call fcn.00403c0c
ret