Function at 0x457c37
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
mov eax, 0x6bff5d
call fcn.00692bd4
mov eax, 0x10d0
call fcn.00693490
mov eax, dword [0x721bb0]
push ebx
push esi
xor esi, esi
push edi
push esi
push esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10bc], esi
mov dword [ebp - 0x10b8], esi
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jl 0x45819a
xor eax, eax
mov edx, 0x200
mov ecx, edx
lea edi, [ebp - 0x10a8]
rep stosd dword es:[edi], eax
mov ecx, edx
lea edi, [ebp - 0x8a8]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x10bc]
push eax
push 0x6e3e08
push 1
push esi
push 0x6e3ed8
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, esi
jl 0x45819a
push str._rootCIMV2
lea ecx, [ebp - 0x10c0]
call fcn.0045a386
mov eax, dword [ebp - 0x10bc]
mov edi, dword [ebp - 0x10c0]
mov ecx, dword [eax]
lea edx, [ebp - 0x10b8]
push edx
push esi
push esi
push esi
push esi
push esi
push esi
push edi
push eax
mov dword [ebp - 4], esi
call dword [ecx + 0xc]
test eax, eax
jge 0x457cf8
mov eax, dword [ebp - 0x10bc]
jmp 0x457d24
push esi
push esi
push 3
push 3
push esi
push esi
push 0xa
push dword [ebp - 0x10b8]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
cmp eax, esi
jge 0x457d36
mov eax, dword [ebp - 0x10bc]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10b8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
call dword [sym.imp.oleaut32.dll_SysFreeString]
jmp 0x45819a
push str.Win32_LogicalMemoryConfiguration
lea ecx, [ebp - 0x10ac]
mov dword [ebp - 0x10b0], esi
call fcn.0045a386
mov eax, dword [ebp - 0x10b8]
mov ecx, dword [eax]
lea edx, [ebp - 0x10b0]
push edx
push esi
push 0x30
push dword [ebp - 0x10ac]
mov byte [ebp - 4], 1
push eax
call dword [ecx + 0x48]
cmp eax, esi
push dword [ebp - 0x10ac]
jge 0x457d86
mov esi, dword [sym.imp.oleaut32.dll_SysFreeString]
call esi
push edi
call esi
jmp 0x45819a
mov ebx, dword [sym.imp.oleaut32.dll_SysFreeString]
call ebx
mov dword [ebp - 0x10c8], esi
mov eax, dword [ebp - 0x10b0]
mov ecx, dword [eax]
lea edx, [ebp - 0x10cc]
push edx
lea edx, [ebp - 0x10b4]
push edx
push 1
push 0xffffffffffffffff
push eax
mov byte [ebp - 4], 2
call dword [ecx + 0x10]
cmp eax, esi
jl 0x457e6a
cmp dword [ebp - 0x10cc], 1
jne 0x457e6a
mov dword [ebp - 0x10ac], esi
mov eax, dword [ebp - 0x10b4]
mov ecx, dword [eax]
lea edx, [ebp - 0x10ac]
push edx
push esi
push eax
mov byte [ebp - 4], 3
call dword [ecx + 0x34]
push dword [ebp - 0x10ac]
lea ecx, [ebp - 0xa8]
call fcn.0045a3ea
mov edx, dword [ebp - 0xa8]
lea eax, [ebp - 0x10a8]
mov esi, edx
sub eax, edx
mov cl, byte [esi]
mov byte [eax + esi], cl
inc esi
test cl, cl
jne 0x457e0a
lea eax, [ebp - 0x10a8]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457e1c
mov edi, dword [ebp + 8]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x457e29
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0xa4]
cmp edx, eax
rep movsb byte es:[edi], byte [esi]
je 0x457e50
push edx
call fcn.00694a31
pop ecx
mov eax, dword [ebp - 0x10b4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x10ac]
mov byte [ebp - 4], 2
call ebx
xor esi, esi
mov eax, dword [ebp - 0x10b0]
cmp eax, esi
je 0x457e80
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10b0], esi
push str.Win32_VideoController
lea ecx, [ebp - 0x10ac]
call fcn.0045a386
mov eax, dword [ebp - 0x10b8]
mov ecx, dword [eax]
lea edx, [ebp - 0x10b0]
push edx
push esi
push 0x30
push dword [ebp - 0x10ac]
mov byte [ebp - 4], 4
push eax
call dword [ecx + 0x48]
cmp eax, esi
push dword [ebp - 0x10ac]
jl 0x457ffc
mov byte [ebp - 4], 2
call ebx
mov eax, dword [ebp - 0x10b0]
mov ecx, dword [eax]
lea edx, [ebp - 0x10cc]
push edx
lea edx, [ebp - 0x10b4]
push edx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp eax, esi
mov dword [ebp - 0x10c4], eax
jl 0x457fa0
cmp dword [ebp - 0x10cc], 1
jne 0x457fa0
mov dword [ebp - 0x10ac], esi
mov eax, dword [ebp - 0x10b4]
mov ecx, dword [eax]
lea edx, [ebp - 0x10ac]
push edx
push esi
push eax
mov byte [ebp - 4], 5
call dword [ecx + 0x34]
cmp eax, esi
jl 0x457f88
push dword [ebp - 0x10ac]
lea ecx, [ebp - 0xa8]
call fcn.0045a3ea
mov edx, dword [ebp - 0xa8]
lea esi, [ebp - 0x8a8]
mov eax, edx
sub esi, edx
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x457f40
lea eax, [ebp - 0x8a8]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457f52
mov edi, dword [ebp + 8]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x457f5f
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0xa4]
cmp edx, eax
rep movsb byte es:[edi], byte [esi]
je 0x457f86
push edx
call fcn.00694a31
pop ecx
xor esi, esi
mov eax, dword [ebp - 0x10b4]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x10ac]
mov byte [ebp - 4], 2
call ebx
cmp dword [ebp - 0x10c4], esi
je 0x457ec4
mov eax, dword [ebp - 0x10b0]
cmp eax, esi
je 0x457fc2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10b0], esi
push str.Win32_PerfRawData_PerfOS_Memory
lea ecx, [ebp - 0x10ac]
call fcn.0045a386
mov eax, dword [ebp - 0x10b8]
mov ecx, dword [eax]
lea edx, [ebp - 0x10b0]
push edx
push esi
push 0x30
push dword [ebp - 0x10ac]
mov byte [ebp - 4], 6
push eax
call dword [ecx + 0x48]
cmp eax, esi
push dword [ebp - 0x10ac]
jge 0x458004
call ebx
push esi
jmp 0x458190
mov byte [ebp - 4], 2
call ebx
mov eax, dword [ebp - 0x10b0]
mov ecx, dword [eax]
lea edx, [ebp - 0x10c4]
push edx
lea edx, [ebp - 0x10ac]
push edx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp eax, esi
jl 0x458142
cmp dword [ebp - 0x10c4], 1
jne 0x458142
mov dword [ebp - 0x10b4], esi
mov eax, dword [ebp - 0x10ac]
mov ecx, dword [eax]
lea edx, [ebp - 0x10b4]
push edx
push esi
push eax
mov byte [ebp - 4], 7
call dword [ecx + 0x34]
cmp eax, esi
jl 0x45812a
lea eax, [ebp - 0x10dc]
push eax
call dword [sym.imp.oleaut32.dll_VariantInit]
call dword [0x714928]
push str.AvailableKBytes
lea ecx, [ebp - 0x10c8]
call fcn.0045a3b6
mov eax, dword [ebp - 0x10ac]
mov ecx, dword [eax]
push esi
push esi
lea edx, [ebp - 0x10dc]
push edx
push esi
push dword [ebp - 0x10c8]
push eax
call dword [ecx + 0x10]
cmp eax, esi
jl 0x45812a
push dword [ebp - 0x10d4]
lea ecx, [ebp - 0xa8]
call fcn.0045a3ea
sub esp, 0x84
push 0x21
pop ecx
mov edi, esp
lea eax, [ebp - 0x24]
push str._n_Available_Memory____s_KB___n
lea esi, [ebp - 0xa8]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.006935d4
lea eax, [ebp - 0x24]
add esp, 0x8c
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4580e7
mov ecx, dword [ebp + 8]
sub eax, edx
mov esi, edx
dec ecx
mov dl, byte [ecx + 1]
inc ecx
test dl, dl
jne 0x4580f6
mov edi, ecx
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0xa4]
cmp dword [ebp - 0xa8], eax
rep movsb byte es:[edi], byte [esi]
je 0x458128
push dword [ebp - 0xa8]
call fcn.00694a31
pop ecx
xor esi, esi
mov eax, dword [ebp - 0x10ac]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x10b4]
mov byte [ebp - 4], 2
call ebx
mov eax, dword [ebp - 0x10b0]
cmp eax, esi
je 0x458158
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10b0], esi
mov eax, dword [ebp - 0x10bc]
cmp eax, esi
je 0x45816e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10bc], esi
mov eax, dword [ebp - 0x10b8]
cmp eax, esi
je 0x458184
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x10b8], esi
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x10c8]
call ebx
push dword [ebp - 0x10c0]
call ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.00692fc7
pop edi
pop esi
pop ebx
leave
ret