Function at 0x462f20
Capabilities:
Connect to wmi namespace via wbemlocator
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov eax, dword [0x4de4e4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push ebx
mov dword [ebp - 0xc8], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x462f5e
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049510d
mov esp, ebp
pop ebp
ret
push edi
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
jns 0x462f8c
cmp eax, 0x80010119
je 0x462f8c
mov esi, 0xfffffffe
jmp 0x463299
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc0], ebx
push eax
push 0x4cdf88
push 1
push 0
push 0x4cdf78
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov ecx, dword [ebp - 0xc0]
test eax, eax
js 0x46328a
test ecx, ecx
je 0x463294
lea edx, [ebp - 0xbc]
mov dword [ebp - 0xbc], ebx
mov eax, dword [ecx]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push str.rootcimv2
push ecx
call dword [eax + 0xc]
test eax, eax
js 0x463267
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x463277
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push eax
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x46303c
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x463026
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, 0xfffffffb
jmp 0x463299
mov eax, dword [ebp - 0xbc]
lea edx, [ebp - 0xb8]
push edx
push 0
push 0x30
push str.SELECT__FROM_Win32_BaseBoard
mov dword [ebp - 0xb8], ebx
mov ecx, dword [eax]
push 0x4c0ddc
push eax
call dword [ecx + 0x50]
test eax, eax
mov eax, dword [ebp - 0xb8]
js 0x463256
test eax, eax
je 0x463256
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc8], ebx
nop dword [eax + eax]
mov ecx, dword [eax]
lea edx, [ebp - 0xc8]
push edx
lea edx, [ebp - 0xc4]
push edx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp dword [ebp - 0xc8], 0
je 0x463242
cmp dword [ebp - 0xc4], 0
je 0x463242
lea eax, [ebp - 0xd8]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0xd8], xmm0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0xc4]
lea edx, [ebp - 0xd8]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SerialNumber
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4631c3
cmp word [ebp - 0xd8], 8
jne 0x4631e1
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x4631e1
lea ecx, [ebp - 0x84]
push 0xfde9
mov dword [ebp - 0x88], ecx
lea ecx, [ebp - 0x88]
push eax
call fcn.00462b20
push dword [ebp - 0x88]
mov ecx, esi
call fcn.00402110
mov eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x46316b
push eax
call fcn.0049a905
add esp, 4
push 0x53
push str.d:webapps_b_build_slave_repo_build_srcwow_basewinwow_machine_info_utils_win.cc
call fcn.004230c0
add esp, 8
test eax, eax
js 0x4631b0
push 0
push 0x6b
push str.d:webapps_b_build_slave_repo_build_srcwow_basewinwow_machine_info_utils_win.cc
lea ecx, [ebp - 0xb4]
or ebx, 1
call fcn.00422790
push esi
add eax, 8
push str.mainboard_sn:
push eax
call fcn.00401950
add esp, 8
push eax
call fcn.00406e30
add esp, 8
test bl, 1
je 0x4631c3
lea ecx, [ebp - 0xb4]
and ebx, 0xfffffffe
call fcn.00422910
lea eax, [ebp - 0xd8]
push eax
call edi
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x463090
xor esi, esi
jmp 0x463299
push 0x53
push str.d:webapps_b_build_slave_repo_build_srcwow_basewinwow_machine_info_utils_win.cc
call fcn.004230c0
add esp, 8
test eax, eax
js 0x46321c
push 0
push 0x6d
push str.d:webapps_b_build_slave_repo_build_srcwow_basewinwow_machine_info_utils_win.cc
lea ecx, [ebp - 0xb4]
or ebx, 2
call fcn.00422790
add eax, 8
push str.mainboard_query_failed.
push eax
call fcn.00401950
add esp, 8
test bl, 2
je 0x46322c
lea ecx, [ebp - 0xb4]
call fcn.00422910
lea eax, [ebp - 0xd8]
mov esi, 0xfffffff9
push eax
call edi
mov eax, dword [ebp - 0xb8]
jmp 0x46325b
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x463252
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor esi, esi
jmp 0x463299
mov esi, 0xfffffffa
test eax, eax
je 0x463299
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x463299
mov ecx, dword [ebp - 0xbc]
test ecx, ecx
je 0x463277
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, 0xfffffffc
jmp 0x463299
test ecx, ecx
je 0x463294
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov esi, 0xfffffffd
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0049510d
mov esp, ebp
pop ebp
ret