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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9ac
mov eax, dword [0x498d74]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [ebx]
push edi
xor edi, edi
push 0xff
mov dword [ebp - 0x998], eax
lea eax, [ebp - 0x103]
push edi
push eax
mov dword [ebp - 0x9a8], edi
mov dword [ebp - 0x994], esi
mov byte [ebp - 0x104], 0
call fcn.004424b0
lea eax, [esi + 0x2c4]
mov esi, dword [eax]
mov dword [ebp - 0x9ac], edi
mov eax, dword [eax]
add esp, 0xc
mov dword [ebp - 0x9a4], edi
mov dword [ebp - 0x99c], edi
mov dword [ebp - 0x98c], edi
cmp eax, edi
je 0x437765
push eax
call fcn.00444890
pop ecx
cmp eax, 1
jbe 0x437765
push esi
call fcn.00444890
pop ecx
cmp eax, 0x16
jae 0x437644
push 0x16
pop eax
jmp 0x43764b
push esi
call fcn.00444890
pop ecx
inc eax
push 1
push eax
call dword [0x498d20]
pop ecx
pop ecx
mov dword [ebp - 0x98c], eax
cmp eax, edi
jne 0x437669
push 0x1b
pop eax
jmp 0x437c09
cmp byte [esi], 0x3a
jne 0x437676
mov dword [ebp - 0x990], esi
jmp 0x4376ac
push 0x3a
push esi
call fcn.00449b80
pop ecx
pop ecx
mov dword [ebp - 0x990], eax
cmp eax, edi
je 0x43769e
sub eax, esi
push eax
push esi
push dword [ebp - 0x98c]
call fcn.00447000
add esp, 0xc
jmp 0x4376ac
push esi
push dword [ebp - 0x98c]
call fcn.0044af70
pop ecx
pop ecx
cmp dword [ebp - 0x990], edi
je 0x437721
push 0x3a
push dword [ebp - 0x990]
call fcn.00449b80
mov esi, eax
pop ecx
pop ecx
cmp esi, edi
je 0x437721
push 0xa
lea eax, [esi + 1]
push edi
push eax
call fcn.0044b293
movzx eax, ax
push 0x2d
push esi
mov dword [ebp - 0x9a4], eax
call fcn.00449b80
add esp, 0x14
cmp eax, edi
je 0x4376ff
push 0xa
inc eax
push edi
push eax
call fcn.0044b293
add esp, 0xc
movzx eax, ax
jmp 0x437706
movzx eax, word [ebp - 0x9a4]
mov dword [ebp - 0x99c], eax
cmp word [ebp - 0x9a4], ax
jbe 0x437721
mov dword [ebp - 0x99c], edi
mov dword [ebp - 0x9a4], edi
mov eax, dword [ebp - 0x98c]
cmp byte [eax], 0
je 0x43775b
push 0x401
lea ecx, [ebp - 0x508]
push ecx
push eax
mov eax, dword [ebx + 0x38]
push dword [eax + 4]
call fcn.00440cb4
add esp, 0x10
test eax, eax
jne 0x437753
mov eax, dword [ebp - 0x98c]
jmp 0x43775d
lea eax, [ebp - 0x508]
jmp 0x43775d
xor eax, eax
cmp eax, edi
jne 0x4377f3
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x988]
push eax
push dword [ebx + 0xd4]
mov dword [ebp - 0x9a0], 0x80
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x4377ca
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push ebx
call fcn.00440a93
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x994]
call fcn.00430598
add esp, 0x14
cmp dword [ebp - 0x98c], edi
je 0x4377c3
push dword [ebp - 0x98c]
call dword [0x498d14]
pop ecx
push 0x1e
jmp 0x437663
push 0x401
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x984]
push eax
movzx eax, word [ebp - 0x988]
push eax
call fcn.0043237d
add esp, 0x10
lea eax, [ebp - 0x508]
lea ecx, [ebp - 0x9ac]
push ecx
push edi
push eax
push ebx
call fcn.00428c5f
add esp, 0x10
cmp eax, 1
jne 0x437819
lea eax, [ebp - 0x9ac]
push eax
push ebx
call fcn.004329cc
pop ecx
pop ecx
mov eax, dword [ebp - 0x9ac]
cmp eax, edi
je 0x437835
mov esi, dword [eax]
push eax
push dword [ebp - 0x994]
call fcn.00428dc1
pop ecx
pop ecx
jmp 0x437837
xor esi, esi
cmp dword [ebp - 0x98c], edi
je 0x43784c
push dword [ebp - 0x98c]
call dword [0x498d14]
pop ecx
cmp esi, edi
jne 0x437866
push str.Curl_resolv_failed__we_can_not_recover_
push dword [ebp - 0x994]
call fcn.00430598
pop ecx
jmp 0x4377c2
mov dword [ebp - 0x990], edi
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [esi + 8], 0
jne 0x437881
mov eax, dword [ebx + 0x80]
mov dword [esi + 8], eax
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x98c], eax
cmp eax, 0xffffffff
jne 0x4378aa
call edi
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0x990], eax
test esi, esi
jne 0x437872
test esi, esi
jne 0x4378d3
push dword [ebp - 0x990]
push ebx
call fcn.00440a93
push eax
push str.socket_failure:__s
push dword [ebp - 0x994]
call fcn.00430598
add esp, 0x14
jmp 0x4377c3
push dword [esi + 0x10]
lea eax, [ebp - 0x988]
push dword [esi + 0x18]
push eax
call fcn.00444920
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x9a0], eax
mov eax, dword [ebp - 0x9a4]
movzx ecx, ax
add esp, 0xc
mov dword [ebp - 0x990], ecx
cmp ax, word [ebp - 0x99c]
ja 0x4379f4
cmp word [ebp - 0x988], 2
jne 0x43792a
push dword [ebp - 0x990]
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x986], ax
push dword [ebp - 0x9a0]
lea eax, [ebp - 0x988]
push eax
push dword [ebp - 0x98c]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x4379e4
call fcn.0044b957
cmp dword [eax], 0x2741
jne 0x4379b4
call edi
push eax
push ebx
call fcn.00440a93
push eax
movzx eax, word [ebp - 0x990]
push eax
push str.bind_port_i__failed:__s
push dword [ebp - 0x994]
call fcn.00430598
add esp, 0x18
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x988]
push eax
push dword [ebx + 0xd4]
mov dword [ebp - 0x9a0], 0x80
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x437a08
movzx eax, word [ebp - 0x9a4]
mov dword [ebp - 0x990], eax
jmp 0x4379d7
call fcn.0044b957
cmp dword [eax], 0x2740
je 0x4379cb
call fcn.0044b957
cmp dword [eax], 0xd
jne 0x437a36
inc dword [ebp - 0x990]
mov eax, dword [ebp - 0x990]
cmp ax, word [ebp - 0x99c]
jbe 0x43790d
mov ax, word [ebp - 0x99c]
cmp word [ebp - 0x990], ax
jbe 0x437a5d
push str.bind___failed__we_ran_out_of_ports_
push dword [ebp - 0x994]
call fcn.00430598
pop ecx
pop ecx
jmp 0x437a25
call edi
push eax
push ebx
call fcn.00440a93
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x994]
call fcn.00430598
add esp, 0x14
push dword [ebp - 0x98c]
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x4377c3
call edi
push eax
push ebx
call fcn.00440a93
push eax
movzx eax, word [ebp - 0x990]
push eax
push str.bind_port_i__failed:__s
push dword [ebp - 0x994]
call fcn.00430598
add esp, 0x18
jmp 0x437a25
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x988]
push eax
push dword [ebp - 0x98c]
mov dword [ebp - 0x9a0], 0x80
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x437a08
push 1
push dword [ebp - 0x98c]
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x437aab
call edi
push eax
push ebx
call fcn.00440a93
push eax
push str.socket_failure:__s
jmp 0x437a17
push 0x100
lea eax, [ebp - 0x104]
push eax
push esi
call fcn.00428a48
add esp, 0xc
push 2
pop edi
jmp 0x437b1b
cmp byte [ebx + 0x139], 0
jne 0x437ad7
cmp dword [ebp - 0x998], 0
je 0x437b15
cmp dword [ebp - 0x998], 1
jne 0x437ae9
cmp word [ebp - 0x988], di
jne 0x437b15
movzx eax, word [ebp - 0x988]
sub eax, edi
jne 0x437b15
push dword [ebp - 0x986]
call dword [sym.imp.WS2_32.dll_ntohs]
cmp dword [ebp - 0x998], 0
movzx esi, ax
je 0x437b28
cmp dword [ebp - 0x998], 1
je 0x437b63
inc dword [ebp - 0x998]
cmp dword [ebp - 0x998], edi
jne 0x437ac5
jmp 0x437bc8
movzx eax, si
push eax
lea eax, [ebp - 0x104]
push eax
xor eax, eax
cmp word [ebp - 0x988], di
setne al
inc eax
push eax
push str.EPRT
push str._s__d_s_d
push ebx
call fcn.00436f57
add esp, 0x18
mov dword [ebp - 0x9a8], eax
test eax, eax
je 0x437bc8
jmp 0x437c09
lea ecx, [ebp - 0x908]
lea edx, [ebp - 0x104]
mov al, byte [edx]
test al, al
je 0x437b84
cmp al, 0x2e
jne 0x437b7e
mov byte [ecx], 0x2c
jmp 0x437b80
mov byte [ecx], al
inc ecx
inc edx
jne 0x437b6f
movzx eax, si
mov edx, eax
and edx, 0xff
push edx
shr eax, 8
push eax
push str.__d__d
push 0x14
push ecx
mov byte [ecx], 0
call fcn.004317b4
lea eax, [ebp - 0x908]
push eax
push str.PORT
push str._s__s
push ebx
call fcn.00436f57
add esp, 0x24
mov dword [ebp - 0x9a8], eax
test eax, eax
jne 0x437c03
mov eax, dword [ebp - 0x998]
mov dword [ebx + 0x320], eax
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x437be6
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x98c]
mov dword [ebx + 0xd8], eax
push 0x1a
pop eax
mov ecx, ebx
mov byte [ebx + 0x131], 1
call fcn.00436a33
mov eax, dword [ebp - 0x9a8]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0044249e
leave
ret