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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9ac
mov eax, dword [0x49b854]
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.0045c380
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 0x451749
push eax
call fcn.0045f220
pop ecx
cmp eax, 1
jbe 0x451749
push esi
call fcn.0045f220
pop ecx
cmp eax, 0x16
jae 0x451628
push 0x16
pop eax
jmp 0x45162f
push esi
call fcn.0045f220
pop ecx
inc eax
push 1
push eax
call dword [0x49b83c]
pop ecx
pop ecx
mov dword [ebp - 0x98c], eax
cmp eax, edi
jne 0x45164d
push 0x1b
pop eax
jmp 0x451bed
cmp byte [esi], 0x3a
jne 0x45165a
mov dword [ebp - 0x990], esi
jmp 0x451690
push 0x3a
push esi
call fcn.00460a50
pop ecx
pop ecx
mov dword [ebp - 0x990], eax
cmp eax, edi
je 0x451682
sub eax, esi
push eax
push esi
push dword [ebp - 0x98c]
call fcn.00463250
add esp, 0xc
jmp 0x451690
push esi
push dword [ebp - 0x98c]
call fcn.00462c90
pop ecx
pop ecx
cmp dword [ebp - 0x990], edi
je 0x451705
push 0x3a
push dword [ebp - 0x990]
call fcn.00460a50
mov esi, eax
pop ecx
pop ecx
cmp esi, edi
je 0x451705
push 0xa
lea eax, [esi + 1]
push edi
push eax
call fcn.00463168
movzx eax, ax
push 0x2d
push esi
mov dword [ebp - 0x9a4], eax
call fcn.00460a50
add esp, 0x14
cmp eax, edi
je 0x4516e3
push 0xa
inc eax
push edi
push eax
call fcn.00463168
add esp, 0xc
movzx eax, ax
jmp 0x4516ea
movzx eax, word [ebp - 0x9a4]
mov dword [ebp - 0x99c], eax
cmp word [ebp - 0x9a4], ax
jbe 0x451705
mov dword [ebp - 0x99c], edi
mov dword [ebp - 0x9a4], edi
mov eax, dword [ebp - 0x98c]
cmp byte [eax], 0
je 0x45173f
push 0x401
lea ecx, [ebp - 0x508]
push ecx
push eax
mov eax, dword [ebx + 0x38]
push dword [eax + 4]
call fcn.00438104
add esp, 0x10
test eax, eax
jne 0x451737
mov eax, dword [ebp - 0x98c]
jmp 0x451741
lea eax, [ebp - 0x508]
jmp 0x451741
xor eax, eax
cmp eax, edi
jne 0x4517d7
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 0x4517ae
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push ebx
call fcn.0045aa6f
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x994]
call fcn.0044a513
add esp, 0x14
cmp dword [ebp - 0x98c], edi
je 0x4517a7
push dword [ebp - 0x98c]
call dword [0x49b830]
pop ecx
push 0x1e
jmp 0x451647
push 0x401
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x984]
push eax
movzx eax, word [ebp - 0x988]
push eax
call fcn.0044c361
add esp, 0x10
lea eax, [ebp - 0x508]
lea ecx, [ebp - 0x9ac]
push ecx
push edi
push eax
push ebx
call fcn.00442862
add esp, 0x10
cmp eax, 1
jne 0x4517fd
lea eax, [ebp - 0x9ac]
push eax
push ebx
call fcn.0044c9b0
pop ecx
pop ecx
mov eax, dword [ebp - 0x9ac]
cmp eax, edi
je 0x451819
mov esi, dword [eax]
push eax
push dword [ebp - 0x994]
call fcn.004429c4
pop ecx
pop ecx
jmp 0x45181b
xor esi, esi
cmp dword [ebp - 0x98c], edi
je 0x451830
push dword [ebp - 0x98c]
call dword [0x49b830]
pop ecx
cmp esi, edi
jne 0x45184a
push str.Curl_resolv_failed__we_can_not_recover_
push dword [ebp - 0x994]
call fcn.0044a513
pop ecx
jmp 0x4517a6
mov dword [ebp - 0x990], edi
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [esi + 8], 0
jne 0x451865
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 0x45188e
call edi
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0x990], eax
test esi, esi
jne 0x451856
test esi, esi
jne 0x4518b7
push dword [ebp - 0x990]
push ebx
call fcn.0045aa6f
push eax
push str.socket_failure:__s
push dword [ebp - 0x994]
call fcn.0044a513
add esp, 0x14
jmp 0x4517a7
push dword [esi + 0x10]
lea eax, [ebp - 0x988]
push dword [esi + 0x18]
push eax
call fcn.0045c010
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 0x4519d8
cmp word [ebp - 0x988], 2
jne 0x45190e
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 0x4519c8
call fcn.004638bc
cmp dword [eax], 0x2741
jne 0x451998
call edi
push eax
push ebx
call fcn.0045aa6f
push eax
movzx eax, word [ebp - 0x990]
push eax
push str.bind_port_i__failed:__s
push dword [ebp - 0x994]
call fcn.0044a513
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 0x4519ec
movzx eax, word [ebp - 0x9a4]
mov dword [ebp - 0x990], eax
jmp 0x4519bb
call fcn.004638bc
cmp dword [eax], 0x2740
je 0x4519af
call fcn.004638bc
cmp dword [eax], 0xd
jne 0x451a1a
inc dword [ebp - 0x990]
mov eax, dword [ebp - 0x990]
cmp ax, word [ebp - 0x99c]
jbe 0x4518f1
mov ax, word [ebp - 0x99c]
cmp word [ebp - 0x990], ax
jbe 0x451a41
push str.bind___failed__we_ran_out_of_ports_
push dword [ebp - 0x994]
call fcn.0044a513
pop ecx
pop ecx
jmp 0x451a09
call edi
push eax
push ebx
call fcn.0045aa6f
push eax
push str.getsockname___failed:__s
push dword [ebp - 0x994]
call fcn.0044a513
add esp, 0x14
push dword [ebp - 0x98c]
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x4517a7
call edi
push eax
push ebx
call fcn.0045aa6f
push eax
movzx eax, word [ebp - 0x990]
push eax
push str.bind_port_i__failed:__s
push dword [ebp - 0x994]
call fcn.0044a513
add esp, 0x18
jmp 0x451a09
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 0x4519ec
push 1
push dword [ebp - 0x98c]
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x451a8f
call edi
push eax
push ebx
call fcn.0045aa6f
push eax
push str.socket_failure:__s
jmp 0x4519fb
push pe_nt_image_headers32
lea eax, [ebp - 0x104]
push eax
push esi
call fcn.0044264b
add esp, 0xc
push 2
pop edi
jmp 0x451aff
cmp byte [ebx + 0x139], 0
jne 0x451abb
cmp dword [ebp - 0x998], 0
je 0x451af9
cmp dword [ebp - 0x998], 1
jne 0x451acd
cmp word [ebp - 0x988], di
jne 0x451af9
movzx eax, word [ebp - 0x988]
sub eax, edi
jne 0x451af9
push dword [ebp - 0x986]
call dword [sym.imp.WS2_32.dll_ntohs]
cmp dword [ebp - 0x998], 0
movzx esi, ax
je 0x451b0c
cmp dword [ebp - 0x998], 1
je 0x451b47
inc dword [ebp - 0x998]
cmp dword [ebp - 0x998], edi
jne 0x451aa9
jmp 0x451bac
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.00450f3b
add esp, 0x18
mov dword [ebp - 0x9a8], eax
test eax, eax
je 0x451bac
jmp 0x451bed
lea ecx, [ebp - 0x908]
lea edx, [ebp - 0x104]
mov al, byte [edx]
test al, al
je 0x451b68
cmp al, 0x2e
jne 0x451b62
mov byte [ecx], 0x2c
jmp 0x451b64
mov byte [ecx], al
inc ecx
inc edx
jne 0x451b53
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.0044b798
lea eax, [ebp - 0x908]
push eax
push str.PORT
push str._s__s
push ebx
call fcn.00450f3b
add esp, 0x24
mov dword [ebp - 0x9a8], eax
test eax, eax
jne 0x451be7
mov eax, dword [ebp - 0x998]
mov dword [ebx + 0x320], eax
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x451bca
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.00450a17
mov eax, dword [ebp - 0x9a8]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0045bc90
leave
ret