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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47dc0d
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x49b180]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
push eax
push 0x482e20
push 1
push 0
push 0x482e30
mov dword [ebp - 0x24], 0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x42a43a
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x14]
push str.ROOTCIMV2
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
call fcn.00428d20
mov dword [ebp - 4], 0
mov eax, dword [eax]
test eax, eax
je 0x429f19
mov eax, dword [eax]
jmp 0x429f1b
xor eax, eax
lea ecx, [ebp - 0x24]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push dword [ebp - 0x2c]
call esi
mov dword [ebp - 4], 0xffffffff
or edi, 0xffffffff
mov esi, dword [ebp - 0x14]
mov ebx, eax
test esi, esi
je 0x429f87
mov ecx, edi
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x429f87
test esi, esi
je 0x429f87
mov eax, dword [esi]
test eax, eax
je 0x429f65
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x429f7c
push eax
call fcn.00453285
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0045350b
add esp, 8
test ebx, ebx
js 0x42a431
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x24]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x42a428
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x20], 0
push 0x48b3c0
mov eax, dword [eax]
mov ebx, dword [eax + 0x50]
call fcn.00428d20
mov dword [ebp - 4], 1
mov esi, dword [eax]
test esi, esi
je 0x429fdb
mov esi, dword [esi]
jmp 0x429fdd
xor esi, esi
push 0x48b440
lea ecx, [ebp - 0x1c]
call fcn.00428d20
mov byte [ebp - 4], 2
mov eax, dword [eax]
test eax, eax
je 0x429ff8
mov eax, dword [eax]
jmp 0x429ffa
xor eax, eax
lea ecx, [ebp - 0x20]
push ecx
push 0
push 0x20
push esi
push eax
push dword [ebp - 0x24]
call ebx
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test esi, esi
je 0x42a070
mov ecx, edi
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x42a061
test esi, esi
je 0x42a061
mov eax, dword [esi]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
test eax, eax
je 0x42a036
push eax
call ebx
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x42a04d
push eax
call fcn.00453285
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0045350b
add esp, 8
mov dword [ebp - 0x1c], 0
jmp 0x42a076
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0x1c], 0
jmp 0x42a076
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x42a0c3
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x42a0c3
test esi, esi
je 0x42a0c3
mov eax, dword [esi]
test eax, eax
je 0x42a0a1
push eax
call ebx
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x42a0b8
push eax
call fcn.00453285
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0045350b
add esp, 8
cmp dword [ebp - 0x18], 0
jl 0x42a142
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push edx
push 1
mov dword [ebp - 0x14], 0
mov eax, dword [ecx]
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x42a139
cmp dword [ebp - 0x14], 1
jne 0x42a139
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov eax, dword [ecx]
push 0
push str.UUID
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x42a130
cmp word [ebp - 0x40], 8
jne 0x42a126
push dword [ebp - 0x38]
mov ecx, 0x49bd78
call fcn.00406130
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x54]
push str.SELECT_SerialNumber_FROM_Win32_Bios
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x1c], eax
call fcn.00428d20
mov dword [ebp - 4], 3
mov esi, dword [eax]
test esi, esi
je 0x42a16b
mov esi, dword [esi]
jmp 0x42a16d
xor esi, esi
push 0x48b448
lea ecx, [ebp - 0x14]
call fcn.00428d20
mov byte [ebp - 4], 4
mov eax, dword [eax]
test eax, eax
je 0x42a188
mov eax, dword [eax]
jmp 0x42a18a
xor eax, eax
lea ecx, [ebp - 0x20]
push ecx
push 0
push 0x20
push esi
push eax
push dword [ebp - 0x24]
call dword [ebp - 0x1c]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
test esi, esi
je 0x42a1ea
mov ecx, edi
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x42a1e3
test esi, esi
je 0x42a1e3
mov eax, dword [esi]
test eax, eax
je 0x42a1c1
push eax
call ebx
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x42a1d8
push eax
call fcn.00453285
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0045350b
add esp, 8
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x42a237
mov eax, edi
lock xadd dword [esi + 8], eax
dec eax
jne 0x42a237
test esi, esi
je 0x42a237
mov eax, dword [esi]
test eax, eax
je 0x42a215
push eax
call ebx
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x42a22c
push eax
call fcn.00453285
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0045350b
add esp, 8
cmp dword [ebp - 0x18], 0
jl 0x42a2b6
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push edx
push 1
mov dword [ebp - 0x14], 0
mov eax, dword [ecx]
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x42a2ad
cmp dword [ebp - 0x14], 1
jne 0x42a2ad
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov eax, dword [ecx]
push 0
push 0x48b50c
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x42a2a4
cmp word [ebp - 0x40], 8
jne 0x42a29a
push dword [ebp - 0x38]
mov ecx, 0x49bd90
call fcn.00406130
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x1c]
push str.SELECT_SerialNumber_FROM_Win32_DiskDrive_WHERE_Index__0
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x54], eax
call fcn.00428d20
mov dword [ebp - 4], 5
mov esi, dword [eax]
test esi, esi
je 0x42a2df
mov esi, dword [esi]
jmp 0x42a2e1
xor esi, esi
push 0x48b544
lea ecx, [ebp - 0x14]
call fcn.00428d20
mov byte [ebp - 4], 6
mov eax, dword [eax]
test eax, eax
je 0x42a2fc
mov eax, dword [eax]
jmp 0x42a2fe
xor eax, eax
lea ecx, [ebp - 0x20]
push ecx
push 0
push 0x20
push esi
push eax
push dword [ebp - 0x24]
call dword [ebp - 0x54]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
test esi, esi
je 0x42a35e
mov ecx, edi
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x42a357
test esi, esi
je 0x42a357
mov eax, dword [esi]
test eax, eax
je 0x42a335
push eax
call ebx
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x42a34c
push eax
call fcn.00453285
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0045350b
add esp, 8
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x1c]
test esi, esi
je 0x42a3a9
lock xadd dword [esi + 8], edi
dec edi
jne 0x42a3a9
test esi, esi
je 0x42a3a9
mov eax, dword [esi]
test eax, eax
je 0x42a387
push eax
call ebx
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x42a39e
push eax
call fcn.00453285
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0045350b
add esp, 8
cmp dword [ebp - 0x54], 0
jl 0x42a428
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0x18]
push edx
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push edx
push 1
mov dword [ebp - 0x18], 0
mov eax, dword [ecx]
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x42a41f
cmp dword [ebp - 0x18], 1
jne 0x42a41f
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x50]
push 0
push 0
push edx
mov eax, dword [ecx]
push 0
push str.SerialNumber
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x42a416
cmp word [ebp - 0x50], 8
jne 0x42a40c
push dword [ebp - 0x48]
mov ecx, 0x49bda8
call fcn.00406130
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00453277
mov esp, ebp
pop ebp
ret