Function at 0x4053c4
Capabilities:
Connect to wmi namespace via wbemlocator
Reference absolute stream path on windows

Disassembly:
push 0x688
mov eax, 0x41a383
call fcn.00409e37
mov esi, 0x206
push esi
xor eax, eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
xor edi, edi
push edi
push eax
call fcn.004087d0
push esi
xor eax, eax
mov word [ebp - 0x628], ax
push edi
lea eax, [ebp - 0x626]
push eax
call fcn.004087d0
sub esp, 0xffffffe8
lea eax, [ebp - 0x630]
push eax
push 0x41e540
push 1
push edi
push 0x41e610
mov dword [ebp - 0x630], edi
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, edi
jge 0x405437
or eax, 0xffffffff
jmp 0x4058bf
push str.ROOTCIMV2
mov dword [ebp - 0x62c], edi
lea ecx, [ebp - 0x640]
call fcn.00404c0a
mov eax, dword [eax]
mov dword [ebp - 4], edi
cmp eax, edi
je 0x40545a
mov ecx, dword [eax]
jmp 0x40545c
xor ecx, ecx
mov eax, dword [ebp - 0x630]
mov edx, dword [eax]
lea ebx, [ebp - 0x62c]
push ebx
push edi
push edi
push edi
push edi
push edi
push edi
push ecx
push eax
call dword [edx + 0xc]
mov ebx, eax
mov ecx, dword [ebp - 0x640]
or dword [ebp - 4], 0xffffffff
cmp ecx, edi
je 0x40548b
call fcn.00404c57
cmp ebx, edi
jge 0x4054b4
mov eax, dword [ebp - 0x630]
cmp eax, edi
je 0x40549f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x62c]
cmp eax, edi
je 0x40542f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x40542f
push edi
push edi
push 3
push 3
push edi
push edi
push 0xa
push dword [ebp - 0x62c]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
or eax, eax
jns 0x4054e6
mov eax, dword [ebp - 0x62c]
cmp eax, edi
je 0x4054de
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x630]
jmp 0x4054a5
push esi
xor ebx, ebx
mov word [ebp - 0x218], bx
push edi
lea eax, [ebp - 0x216]
push eax
call fcn.004087d0
lea eax, [ebp - 0x218]
push dword [ebp + 8]
push str.._rootCIMV2:Win32_NetworkAdapterConfiguration.Index
push str._s_d
push eax
call fcn.00404804
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 0xffffffe4
lea eax, [ebp - 0x218]
push eax
call esi
push str.EnableStatic
mov dword [ebp - 0x664], eax
call esi
push str.Win32_NetworkAdapterConfiguration
mov dword [ebp - 0x634], eax
call esi
push edi
mov ebx, eax
lea edx, [ebp - 0x650]
push edx
push edi
mov eax, dword [ebp - 0x62c]
push edi
push ebx
mov dword [ebp - 0x650], edi
mov dword [ebp - 0x64c], edi
mov dword [ebp - 0x63c], edi
mov dword [ebp - 0x644], edi
mov ecx, dword [eax]
push eax
mov dword [ebp - 0x638], ebx
call dword [ecx + 0x18]
or eax, eax
jns 0x4055c3
mov eax, dword [ebp - 0x62c]
cmp eax, edi
je 0x40558d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x630]
cmp eax, edi
je 0x40559d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp ebx, edi
je 0x4055aa
push ebx
call esi
cmp dword [ebp - 0x634], edi
je 0x40542f
push dword [ebp - 0x634]
call esi
jmp 0x40542f
lea edx, [ebp - 0x64c]
mov eax, dword [ebp - 0x650]
mov ecx, dword [eax]
push edi
push edx
push edi
push dword [ebp - 0x634]
push eax
call dword [ecx + 0x4c]
test eax, eax
js 0x40557d
mov eax, dword [ebp - 0x64c]
lea edx, [ebp - 0x63c]
mov ecx, dword [eax]
push edx
push edi
push eax
call dword [ecx + 0x3c]
test eax, eax
js 0x40557d
lea eax, [ebp - 0x420]
push eax
push dword [ebp + 0xc]
call fcn.00402851
lea eax, [ebp - 0x628]
push eax
push dword [ebp + 0x10]
call fcn.00402851
add esp, 0x10
lea eax, [ebp - 0x420]
push eax
call esi
mov dword [ebp - 0x648], eax
lea eax, [ebp - 0x628]
push eax
call esi
mov esi, dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov ecx, 0x2008
mov dword [ebp - 0x640], eax
mov word [ebp - 0x674], cx
xor eax, eax
inc eax
lea ecx, [ebp - 0x660]
push ecx
push eax
push 8
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x65c], edi
mov dword [ebp - 0x654], edi
call esi
push dword [ebp - 0x648]
mov ebx, dword [sym.imp.OLEAUT32.dll_SafeArrayCopy]
lea ecx, [ebp - 0x654]
push ecx
push eax
mov dword [ebp - 0x66c], eax
call ebx
mov eax, 0x2008
mov word [ebp - 0x684], ax
lea eax, [ebp - 0x660]
push eax
push 1
push 8
call esi
lea ecx, [ebp - 0x654]
push dword [ebp - 0x640]
push ecx
push eax
mov dword [ebp - 0x67c], eax
call ebx
mov eax, dword [ebp - 0x63c]
lea edx, [ebp - 0x674]
mov ecx, dword [eax]
push edi
push edx
push edi
push str.IPAddress
push eax
call dword [ecx + 0x14]
test eax, eax
jns 0x405712
mov eax, dword [ebp - 0x62c]
cmp eax, edi
je 0x4056e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x630]
cmp eax, edi
je 0x4056f5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x638], edi
je 0x4055aa
push dword [ebp - 0x638]
jmp 0x4055a8
mov eax, dword [ebp - 0x63c]
lea edx, [ebp - 0x684]
mov ecx, dword [eax]
push edi
push edx
push edi
push str.SubnetMask
push eax
call dword [ecx + 0x14]
or eax, eax
mov eax, dword [ebp - 0x62c]
js 0x4056db
lea edx, [ebp - 0x644]
mov ebx, dword [ebp - 0x634]
mov ecx, dword [eax]
push edi
push edx
push dword [ebp - 0x63c]
push edi
push edi
push ebx
push dword [ebp - 0x664]
push eax
call dword [ecx + 0x60]
cmp eax, edi
jge 0x4057a1
mov eax, dword [ebp - 0x62c]
cmp eax, edi
je 0x40576d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x630]
cmp eax, edi
je 0x40577d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x638], edi
je 0x405793
push dword [ebp - 0x638]
call esi
cmp ebx, edi
je 0x40542f
push ebx
jmp 0x4055bc
push str.ReturnValue
lea ecx, [ebp - 0x658]
call fcn.00404c0a
mov eax, dword [eax]
cmp eax, edi
mov dword [ebp - 4], 1
je 0x4057c2
mov ecx, dword [eax]
jmp 0x4057c4
xor ecx, ecx
mov eax, dword [ebp - 0x644]
mov edx, dword [eax]
lea esi, [ebp - 0x694]
push edi
push edi
push esi
push edi
push ecx
push eax
call dword [edx + 0x10]
mov esi, eax
mov ecx, dword [ebp - 0x658]
or dword [ebp - 4], 0xffffffff
cmp ecx, edi
je 0x4057f6
call fcn.00404c57
mov dword [ebp - 0x658], edi
cmp esi, edi
jl 0x40575d
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x648], edi
je 0x405814
push dword [ebp - 0x648]
call esi
cmp dword [ebp - 0x640], edi
je 0x405824
push dword [ebp - 0x640]
call esi
cmp dword [ebp - 0x638], edi
je 0x405834
push dword [ebp - 0x638]
call esi
cmp ebx, edi
je 0x40583b
push ebx
call esi
mov eax, dword [ebp - 0x650]
cmp eax, edi
je 0x40584b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x64c]
cmp eax, edi
je 0x40585b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x644]
cmp eax, edi
je 0x40586b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x63c]
cmp eax, edi
je 0x40587b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x674]
push eax
call esi
lea eax, [ebp - 0x684]
push eax
call esi
lea eax, [ebp - 0x694]
push eax
call esi
mov eax, dword [ebp - 0x62c]
cmp eax, edi
je 0x4058ac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x630]
cmp eax, edi
je 0x4058bc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
inc eax
call fcn.00409e81
ret