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

Disassembly:
sub esp, 0x298
mov eax, dword [0xeb80c0]
xor eax, esp
mov dword [esp + 0x294], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x2ac]
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], 0
mov ebx, dword [edi + 0x544]
mov eax, dword [edi + 0xc]
movzx esi, word [edi + 0x190]
mov ebp, dword [edi + 0x194]
mov dword [esp + 0x1c], eax
test ebx, ebx
jne 0xe5db46
test si, si
je 0xe5df28
push 0x80
lea eax, [esp + 0x28]
push 0
push eax
call fcn.00e7bf20
add esp, 0xc
test ebx, ebx
je 0xe5ddf8
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xe5db67
sub ecx, edx
cmp ecx, 0xff
jae 0xe5ddf8
push 0xff
mov byte [esp + 0xa8], al
lea eax, [esp + 0xa9]
push 0
push eax
call fcn.00e7bf20
mov edx, dword [0xeb8020]
add esp, 0xc
mov ecx, edx
mov byte [esp + 0x13], 0
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0xe5dbb0
sub ecx, dword [esp + 0x18]
push ecx
push ebx
push edx
call fcn.00e83fe0
add esp, 0xc
test eax, eax
jne 0xe5dd40
mov ecx, dword [0xeb8020]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xe5dbd7
sub ecx, edx
mov byte [esp + 0x13], 1
add ebx, ecx
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xa4]
push 0x100
push eax
push ebx
push dword [ecx + 0x54]
mov ecx, dword [esp + 0x2c4]
push dword [esp + 0x2c8]
push ecx
call fcn.00e45ec0
add esp, 0x18
sub eax, 0
je 0xe5ddb4
dec eax
je 0xe5ddaa
dec eax
je 0xe5dd87
cmp byte [esp + 0x13], 0
jne 0xe5ddd8
cmp dword [esp + 0x2b4], 2
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx + 0x100]
mov byte [esp + 0x13], al
jne 0xe5dc54
mov byte [ecx + 0x100], 1
lea eax, [esp + 0x14]
push eax
push 0
push 0
push ebx
push edi
call 0xe63610
add esp, 0x14
cmp eax, 1
jne 0xe5dc7a
lea eax, [esp + 0x14]
push eax
push edi
call 0xe53380
add esp, 8
mov ecx, dword [esp + 0x1c]
mov al, byte [esp + 0x13]
mov byte [ecx + 0x100], al
mov eax, dword [esp + 0x14]
test eax, eax
je 0xe5ddd8
push 0x100
lea ecx, [esp + 0xa8]
push ecx
push dword [eax]
call 0xe635e0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
push dword [eax + 4]
lea eax, [esp + 0xb4]
push eax
push dword [esp + 0x2c8]
push ebx
push 0xea4528
push edi
call fcn.00e5c3c0
push dword [esp + 0x38]
push edi
call 0xe63880
mov eax, dword [esp + 0x40]
add esp, 0x2c
mov ecx, dword [esp + 0x2b4]
mov eax, dword [eax]
cmp ecx, dword [eax + 4]
jne 0xe5ddaa
cmp dword [esp + 0x2b4], 2
jne 0xe5de06
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0xa8]
push eax
push 2
call 0xe730a0
add esp, 0xc
test eax, eax
jle 0xe5de06
mov eax, 2
push esi
mov word [esp + 0x28], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x26], ax
mov eax, 0x10
mov dword [esp + 0x20], eax
jmp 0xe5de08
mov edx, dword [0xeb8024]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x18], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0xe5dd50
sub ecx, dword [esp + 0x18]
push ecx
push ebx
push edx
call fcn.00e83fe0
add esp, 0xc
test eax, eax
jne 0xe5dbe7
mov ecx, dword [0xeb8024]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0xe5dd77
sub ecx, edx
add ebx, ecx
jmp 0xe5dc35
push dword [esp + 0x2b4]
lea eax, [esp + 0xa8]
push eax
push ebx
push 0xea44f4
push edi
call fcn.00e5c3c0
add esp, 0x14
jmp 0xe5dcef
mov eax, 1
jmp 0xe5df2a
cmp byte [esp + 0x13], 0
je 0xe5dc35
push ebx
push 0xea44d4
push edi
call fcn.00e5c2f0
add esp, 0xc
mov eax, 0x2d
jmp 0xe5df2a
push ebx
push 0xea4558
push edi
mov byte [edi + 0xce7], 0
call fcn.00e5c2f0
add esp, 0xc
mov eax, 0x2d
jmp 0xe5df2a
cmp dword [esp + 0x2b4], 2
je 0xe5dd1c
xor eax, eax
mov ebx, dword [esp + 0x2b0]
push eax
lea eax, [esp + 0x28]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
jns 0xe5de64
dec ebp
test ebp, ebp
jle 0xe5ded3
movzx eax, si
push eax
push 0xea45a8
push edi
call fcn.00e5c3c0
add esp, 0xc
inc esi
cmp word [esp + 0x24], 2
jne 0xe5de50
push esi
call dword [sym.imp.WS2_32.dll_ntohs]
mov word [esp + 0x26], ax
push dword [esp + 0x20]
lea eax, [esp + 0x28]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
js 0xe5de20
push 0x80
lea eax, [esp + 0xa8]
mov dword [esp + 0x1c], 0x80
push 0
push eax
call fcn.00e7bf20
add esp, 0xc
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0xa8]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jns 0xe5df0b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [esp + 0x1a4]
push 0x100
push eax
push esi
mov dword [edi + 0x954], esi
call fcn.00e72380
push eax
push esi
push 0xea4570
push edi
call fcn.00e5c2f0
add esp, 0x1c
mov eax, 0x2d
jmp 0xe5df2a
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [esp + 0xa4]
push 0x100
push eax
push esi
mov dword [edi + 0x954], esi
call fcn.00e72380
push eax
push esi
push 0xea45d4
push edi
call fcn.00e5c2f0
add esp, 0x1c
mov eax, 0x2d
jmp 0xe5df2a
movzx eax, si
push eax
push 0xea4598
push edi
call fcn.00e5c3c0
mov eax, dword [esp + 0x28]
add esp, 0xc
mov byte [eax + 0x26b], 1
xor eax, eax
mov ecx, dword [esp + 0x2a4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00e7a7f3
add esp, 0x298
ret