Function at 0x45c990
Capabilities:
Get local ipv4 addresses

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov eax, dword [0x62aabc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0xd4]
push esi
push edi
push eax
xor esi, esi
mov dword [ebp - 0xd4], 0
push esi
push esi
xor edi, edi
push 0xa
mov dword [ebp - 0xcc], edi
mov edi, dword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
push esi
call edi
cmp eax, 0x6f
jne 0x45ca26
push dword [ebp - 0xd4]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [ebp - 0xd0], eax
test eax, eax
jne 0x45ca03
pop edi
lea eax, [esi - 0x68]
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0054f742
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0xd4]
push ecx
push eax
push 0
push 0xa
push 0
call edi
test eax, eax
je 0x45ca3c
push dword [ebp - 0xd0]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
pop edi
pop esi
mov eax, 0xffffff97
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0054f742
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x45caad
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ca45
sub ecx, edx
cmp ecx, 0xb4
jbe 0x45ca7b
push dword [ebp - 0xd0]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
pop edi
pop esi
mov eax, 0xffffff87
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0054f742
mov esp, ebp
pop ebp
ret
push 0xb4
push 0
push 0x62d0b0
call sub.VCRUNTIME140.dll_memset
push 0xb3
push ebx
push 0x62d0b0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, 1
add esp, 0x18
mov dword [ebp - 0xcc], eax
jmp 0x45caaf
xor eax, eax
mov ebx, dword [ebp - 0xd0]
test byte [ebx + 0x38], 0x10
jne 0x45cc55
cmp dword [ebx + 0x44], 1
jne 0x45cc55
mov edi, dword [ebx + 0x28]
push 0xb4
test eax, eax
jne 0x45caff
push edi
push 0xb4
push 0x62d0b0
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstombs_s]
push 0
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, 1
add esp, 0x18
mov dword [ebp - 0xcc], edi
jmp 0x45cb57
lea eax, [ebp - 0xb8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0xb4
push edi
push 0xb4
lea eax, [ebp - 0xb8]
push eax
push 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstombs_s]
push 0
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push 0xb4
lea eax, [ebp - 0xb8]
push eax
push 0x62d0b0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov edi, dword [ebp - 0xcc]
add esp, 0x30
test eax, eax
jne 0x45cc5b
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x45cbb3
nop
mov ecx, dword [edx + 0xc]
movzx eax, word [ecx]
sub eax, 2
je 0x45cb98
sub eax, 0x15
je 0x45cb7c
test esi, esi
jne 0x45cba6
mov dword [ebp - 0xcc], esi
jmp 0x45cba6
cmp byte [ecx + 8], 0xfe
jne 0x45cba6
mov al, byte [ecx + 9]
and al, 0xc0
cmp al, 0x80
jne 0x45cba6
movups xmm0, xmmword [ecx + 8]
movups xmmword [ebp - 0xc8], xmm0
jmp 0x45cba1
mov eax, dword [ecx + 4]
mov dword [ebp - 0xd8], eax
mov esi, 1
mov edx, dword [edx + 8]
test edx, edx
jne 0x45cb60
mov edi, dword [ebp - 0xcc]
cmp esi, 1
jne 0x45cc5b
mov eax, dword [ebx + 4]
mov dword [0x627664], eax
push dword [ebp - 0xd0]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
test edi, edi
je 0x45ca65
test esi, esi
je 0x45ca65
push 0x16
push 0x62d164
lea eax, [ebp - 0xd8]
push eax
push 2
call sub.WS2_32.dll_inet_ntop
push 0x41
push 0x62d198
lea eax, [ebp - 0xc8]
push eax
push 0x17
call sub.WS2_32.dll_inet_ntop
push 0x62d1e0
push 0x62d198
push 0x62d164
push dword [0x627664]
push 0x62d0b0
push str.Interface_name_s__index_d__v4_s__v6_s__ULA_or_GUA_v6_s_n
push 0xf95
push str.D:UsersphiliDropboxDevelopmentlibpupnppupnpupnp_src_apiupnpapi.c
push 6
push 2
call fcn.00417540
mov ecx, dword [ebp - 4]
add esp, 0x28
xor ecx, ebp
xor eax, eax
pop edi
pop esi
pop ebx
call fcn.0054f742
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0xcc]
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x45cbc4
mov eax, dword [ebp - 0xcc]
jmp 0x45cab5