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

Disassembly:
mov eax, 0x6bfefb
call fcn.00692bd4
sub esp, 0x5c4
mov eax, dword [0x721bb0]
push ebx
xor ebx, ebx
push ebx
push ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x5ac], ebx
mov dword [ebp - 0x5a8], ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jl 0x457c22
push edi
push 0x40
pop ecx
push 0x40
xor eax, eax
lea edi, [ebp - 0x49c]
rep stosd dword es:[edi], eax
pop ecx
push 0x40
lea edi, [ebp - 0x59c]
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x39c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x5ac]
push eax
push 0x6e3e08
push 1
push ebx
push 0x6e3ed8
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
jl 0x457c21
push str._rootCIMV2
lea ecx, [ebp - 0x5b8]
call fcn.0045a386
mov eax, dword [ebp - 0x5ac]
mov edi, dword [ebp - 0x5b8]
mov ecx, dword [eax]
lea edx, [ebp - 0x5a8]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push edi
push eax
mov dword [ebp - 4], ebx
call dword [ecx + 0xc]
test eax, eax
jge 0x45781b
mov eax, dword [ebp - 0x5ac]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push edi
call dword [sym.imp.oleaut32.dll_SysFreeString]
jmp 0x457c21
push ebx
push ebx
push 3
push 3
push ebx
push ebx
push 0xa
push dword [ebp - 0x5a8]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
cmp eax, ebx
jge 0x457849
mov eax, dword [ebp - 0x5ac]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x5a8]
jmp 0x457809
push esi
push str.Win32_BaseBoard
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x5b4], ebx
call fcn.0045a386
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [eax]
lea edx, [ebp - 0x5b4]
push edx
push ebx
push 0x30
push dword [ebp - 0x5a0]
mov byte [ebp - 4], 1
push eax
call dword [ecx + 0x48]
test eax, eax
push dword [ebp - 0x5a0]
jge 0x457898
mov esi, dword [sym.imp.oleaut32.dll_SysFreeString]
call esi
push edi
jmp 0x457c1e
call dword [sym.imp.oleaut32.dll_SysFreeString]
mov dword [ebp - 0x5a4], ebx
mov edi, dword [sym.imp.oleaut32.dll_VariantInit]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x5b4]
mov ecx, dword [eax]
lea edx, [ebp - 0x5d0]
push edx
lea edx, [ebp - 0x5a0]
push edx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp eax, ebx
mov dword [ebp - 0x5b0], eax
jl 0x457a8e
cmp dword [ebp - 0x5d0], 1
jne 0x457a8e
mov dword [ebp - 0x5bc], ebx
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
lea edx, [ebp - 0x5bc]
push edx
push ebx
push eax
mov byte [ebp - 4], 3
call dword [ecx + 0x34]
cmp eax, ebx
jl 0x457a72
lea eax, [ebp - 0x5cc]
push eax
call edi
call dword [0x714928]
push str.Manufacturer
lea ecx, [ebp - 0x5a4]
call fcn.0045a3b6
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x5cc]
push edx
push ebx
push dword [ebp - 0x5a4]
push eax
call dword [ecx + 0x10]
test eax, eax
jl 0x457988
push dword [ebp - 0x5c4]
lea ecx, [ebp - 0x194]
call fcn.0045a3ea
mov esi, dword [ebp - 0x194]
lea edx, [ebp - 0x49c]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x45796d
lea eax, [ebp - 0x190]
cmp esi, eax
je 0x457988
push esi
call fcn.00694a31
pop ecx
lea eax, [ebp - 0x5cc]
push eax
call edi
push str.Product
lea ecx, [ebp - 0x5a4]
call fcn.0045a3b6
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x5cc]
push edx
push ebx
push dword [ebp - 0x5a4]
push eax
call dword [ecx + 0x10]
test eax, eax
jl 0x4579fd
push dword [ebp - 0x5c4]
lea ecx, [ebp - 0x218]
call fcn.0045a3ea
mov esi, dword [ebp - 0x218]
lea edx, [ebp - 0x59c]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x4579e2
lea eax, [ebp - 0x214]
cmp esi, eax
je 0x4579fd
push esi
call fcn.00694a31
pop ecx
lea eax, [ebp - 0x5cc]
push eax
call edi
push str.Version
lea ecx, [ebp - 0x5a4]
call fcn.0045a3b6
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x5cc]
push edx
push ebx
push dword [ebp - 0x5a4]
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jl 0x457a72
push dword [ebp - 0x5c4]
lea ecx, [ebp - 0x29c]
call fcn.0045a3ea
mov esi, dword [ebp - 0x29c]
lea edx, [ebp - 0x39c]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x457a57
lea eax, [ebp - 0x298]
cmp esi, eax
je 0x457a72
push esi
call fcn.00694a31
pop ecx
mov eax, dword [ebp - 0x5a0]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x5bc]
mov byte [ebp - 4], 2
call dword [sym.imp.oleaut32.dll_SysFreeString]
cmp dword [ebp - 0x5b0], ebx
je 0x4578ae
mov eax, dword [ebp - 0x5b4]
cmp eax, ebx
je 0x457ab0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x5b4], ebx
mov eax, dword [ebp - 0x5ac]
cmp eax, ebx
je 0x457ac6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x5ac], ebx
mov eax, dword [ebp - 0x5a8]
cmp eax, ebx
je 0x457adc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x5a8], ebx
lea eax, [ebp - 0x49c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x457ae5
sub eax, edx
mov dword [ebp - 0x5b0], eax
je 0x457b3e
lea eax, [ebp - 0x49c]
push eax
lea eax, [ebp - 0x110]
push str._MainBoard_Manufacturer_t:___s__n
push eax
call fcn.006935d4
lea eax, [ebp - 0x110]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x457b19
mov edi, dword [ebp + 8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x457b26
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x59c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x457b47
sub eax, edx
mov dword [ebp - 0x5b0], eax
je 0x457ba0
lea eax, [ebp - 0x59c]
push eax
lea eax, [ebp - 0x110]
push str._MainBoard_Product_t:___s__n
push eax
call fcn.006935d4
lea eax, [ebp - 0x110]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x457b7b
mov edi, dword [ebp + 8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x457b88
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x39c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x457ba9
sub eax, edx
mov dword [ebp - 0x5b0], eax
je 0x457c04
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x110]
push str._MainBoard_Version_t:___s__n
push eax
call fcn.006935d4
lea eax, [ebp - 0x110]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x457bdd
mov ecx, dword [ebp + 8]
sub eax, edx
mov esi, edx
dec ecx
mov dl, byte [ecx + 1]
inc ecx
cmp dl, bl
jne 0x457bec
mov edi, ecx
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x5a4]
mov esi, dword [sym.imp.oleaut32.dll_SysFreeString]
call esi
push dword [ebp - 0x5b8]
call esi
pop esi
pop edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.00692fc7
leave
ret