Function at 0x440d00
Capabilities:
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x495bb8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
mov dword [ebp - 0x24], ecx
mov ecx, str.RpcSs
push edi
call fcn.004404a0
mov ecx, str.RpcLocator
call fcn.004404a0
mov ecx, str.wmiApSrv
call fcn.004404a0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 3
push 4
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 0x49ba48
push 1
push 0
push 0x4a5ba4
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x440e64
mov ebx, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push str.ROOTCIMV2
mov dword [ebp - 0x18], 0
call ebx
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
jne 0x440dad
push 0x8007000e
call fcn.00401e50
mov dword [ebp - 4], 0
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
push edx
push 0
push 0
mov ecx, dword [eax]
push 0x80
push 0
push 0
push 0
push esi
push eax
call dword [ecx + 0xc]
mov edi, eax
mov dword [ebp - 4], 0xffffffff
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
jns 0x440e37
push str.ROOTCIMV
call ebx
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
jne 0x440dff
push 0x8007000e
call fcn.00401e50
mov dword [ebp - 4], 1
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
push edx
push 0
push 0
mov ecx, dword [eax]
push 0x80
push 0
push 0
push 0
push esi
push eax
call dword [ecx + 0xc]
mov edi, eax
mov dword [ebp - 4], 0xffffffff
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
js 0x440e5b
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x18]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x440e77
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.SELECT__FROM_Win32_BIOS
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x20], 0
call fcn.00412590
mov esi, eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x10]
push 0x4a6a84
call fcn.00412590
mov byte [ebp - 4], 3
mov esi, dword [esi]
test esi, esi
je 0x440eaf
mov esi, dword [esi]
jmp 0x440eb1
xor esi, esi
mov eax, dword [eax]
test eax, eax
je 0x440ebb
mov edx, dword [eax]
jmp 0x440ebd
xor edx, edx
mov eax, dword [ebp - 0x18]
lea edi, [ebp - 0x20]
push edi
push 0
push 0x30
mov ecx, dword [eax]
push esi
push edx
push eax
call dword [ecx + 0x50]
mov esi, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.00412620
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00412620
test esi, esi
js 0x440e52
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], 0
test ecx, ecx
je 0x441c1d
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
nop dword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x28]
push edx
lea edx, [ebp - 0x14]
push edx
push 1
push 0xffffffffffffffff
push ecx
call dword [eax + 0x10]
cmp dword [ebp - 0x28], 0
je 0x441c1d
xor esi, esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 4
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x14]
push esi
push esi
push edx
mov ecx, dword [eax]
push esi
push str.BiosCharacteristics
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
mov ebx, dword [ebp - 0x24]
test ax, ax
je 0x440f6a
cmp ax, 1
je 0x440f6a
mov eax, dword [ebp - 0x38]
mov dword [ebx], eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.BIOSVersion
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441004
cmp ax, 1
je 0x441004
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x440fb8
cmp dword [esi + 4], 0
jne 0x440fb3
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x440fba
xor ecx, ecx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x440fc0
sub ecx, edx
cmp ecx, 0x80
jae 0x440ffe
test esi, esi
je 0x440fea
cmp dword [esi + 4], 0
jne 0x440fe5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x440fec
xor eax, eax
push eax
lea eax, [ebx + 4]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.BuildNumber
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x44109e
cmp ax, 1
je 0x44109e
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441052
cmp dword [esi + 4], 0
jne 0x44104d
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441054
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441057
sub ecx, edx
cmp ecx, 0x80
jae 0x441098
test esi, esi
je 0x441081
cmp dword [esi + 4], 0
jne 0x44107c
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x441083
xor eax, eax
push eax
lea eax, [ebx + 0x84]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Caption
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441138
cmp ax, 1
je 0x441138
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4410ec
cmp dword [esi + 4], 0
jne 0x4410e7
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4410ee
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4410f1
sub ecx, edx
cmp ecx, 0x80
jae 0x441132
test esi, esi
je 0x44111b
cmp dword [esi + 4], 0
jne 0x441116
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44111d
xor eax, eax
push eax
lea eax, [ebx + 0x104]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.CodeSet
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4411d7
cmp ax, 1
je 0x4411d7
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441186
cmp dword [esi + 4], 0
jne 0x441181
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441188
xor ecx, ecx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441190
sub ecx, edx
cmp ecx, 0x80
jae 0x4411d1
test esi, esi
je 0x4411ba
cmp dword [esi + 4], 0
jne 0x4411b5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4411bc
xor eax, eax
push eax
lea eax, [ebx + 0x184]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.CurrentLanguage
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441242
cmp ax, 1
je 0x441242
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441225
cmp dword [esi + 4], 0
jne 0x441220
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x441227
xor eax, eax
push eax
lea eax, [ebx + 0x204]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Description
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4412dc
cmp ax, 1
je 0x4412dc
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441290
cmp dword [esi + 4], 0
jne 0x44128b
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441292
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441295
sub ecx, edx
cmp ecx, 0x80
jae 0x4412d6
test esi, esi
je 0x4412bf
cmp dword [esi + 4], 0
jne 0x4412ba
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4412c1
xor eax, eax
push eax
lea eax, [ebx + 0x284]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.IdentificationCode
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441377
cmp ax, 1
je 0x441377
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x44132a
cmp dword [esi + 4], 0
jne 0x441325
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x44132c
xor ecx, ecx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441330
sub ecx, edx
cmp ecx, 0x80
jae 0x441371
test esi, esi
je 0x44135a
cmp dword [esi + 4], 0
jne 0x441355
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44135c
xor eax, eax
push eax
lea eax, [ebx + 0x304]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.InstallableLanguages
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4413ad
cmp ax, 1
je 0x4413ad
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x384], eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.LanguageEdition
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441447
cmp ax, 1
je 0x441447
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4413fb
cmp dword [esi + 4], 0
jne 0x4413f6
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4413fd
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441400
sub ecx, edx
cmp ecx, 0x80
jae 0x441441
test esi, esi
je 0x44142a
cmp dword [esi + 4], 0
jne 0x441425
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44142c
xor eax, eax
push eax
lea eax, [ebx + 0x408]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.ListOfLanguages
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4414e7
cmp ax, 1
je 0x4414e7
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441495
cmp dword [esi + 4], 0
jne 0x441490
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441497
xor ecx, ecx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4414a0
sub ecx, edx
cmp ecx, 0x80
jae 0x4414e1
test esi, esi
je 0x4414ca
cmp dword [esi + 4], 0
jne 0x4414c5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4414cc
xor eax, eax
push eax
lea eax, [ebx + 0x488]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Manufacturer
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441587
cmp ax, 1
je 0x441587
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441535
cmp dword [esi + 4], 0
jne 0x441530
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441537
xor ecx, ecx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441540
sub ecx, edx
cmp ecx, 0x80
jae 0x441581
test esi, esi
je 0x44156a
cmp dword [esi + 4], 0
jne 0x441565
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44156c
xor eax, eax
push eax
lea eax, [ebx + 0x508]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x4a6a88
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441627
cmp ax, 1
je 0x441627
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4415d5
cmp dword [esi + 4], 0
jne 0x4415d0
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4415d7
xor ecx, ecx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4415e0
sub ecx, edx
cmp ecx, 0x80
jae 0x441621
test esi, esi
je 0x44160a
cmp dword [esi + 4], 0
jne 0x441605
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44160c
xor eax, eax
push eax
lea eax, [ebx + 0x588]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.OtherTargetOS
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4416c7
cmp ax, 1
je 0x4416c7
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441675
cmp dword [esi + 4], 0
jne 0x441670
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441677
xor ecx, ecx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441680
sub ecx, edx
cmp ecx, 0x80
jae 0x4416c1
test esi, esi
je 0x4416aa
cmp dword [esi + 4], 0
jne 0x4416a5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4416ac
xor eax, eax
push eax
lea eax, [ebx + 0x608]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.PrimaryBIOS
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4416fe
cmp ax, 1
je 0x4416fe
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0x688], eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.ReleaseDate
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441798
cmp ax, 1
je 0x441798
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x44174c
cmp dword [esi + 4], 0
jne 0x441747
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x44174e
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441751
sub ecx, edx
cmp ecx, 0x80
jae 0x441792
test esi, esi
je 0x44177b
cmp dword [esi + 4], 0
jne 0x441776
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44177d
xor eax, eax
push eax
lea eax, [ebx + 0x68c]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SerialNumber
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441837
cmp ax, 1
je 0x441837
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4417e6
cmp dword [esi + 4], 0
jne 0x4417e1
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4417e8
xor ecx, ecx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4417f0
sub ecx, edx
cmp ecx, 0x80
jae 0x441831
test esi, esi
je 0x44181a
cmp dword [esi + 4], 0
jne 0x441815
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44181c
xor eax, eax
push eax
lea eax, [ebx + 0x70c]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SMBIOSBIOSVersion
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4418d7
cmp ax, 1
je 0x4418d7
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441885
cmp dword [esi + 4], 0
jne 0x441880
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441887
xor ecx, ecx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441890
sub ecx, edx
cmp ecx, 0x80
jae 0x4418d1
test esi, esi
je 0x4418ba
cmp dword [esi + 4], 0
jne 0x4418b5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4418bc
xor eax, eax
push eax
lea eax, [ebx + 0x78c]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SMBIOSMajorVersion
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x44190d
cmp ax, 1
je 0x44190d
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x80c], eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SMBIOSMinorVersion
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441943
cmp ax, 1
je 0x441943
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x810], eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SMBIOSPresent
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x44197a
cmp ax, 1
je 0x44197a
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0x814], eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SoftwareElementID
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441a17
cmp ax, 1
je 0x441a17
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4419c8
cmp dword [esi + 4], 0
jne 0x4419c3
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4419ca
xor ecx, ecx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4419d0
sub ecx, edx
cmp ecx, 0x80
jae 0x441a11
test esi, esi
je 0x4419fa
cmp dword [esi + 4], 0
jne 0x4419f5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4419fc
xor eax, eax
push eax
lea eax, [ebx + 0x818]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SoftwareElementState
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441a4d
cmp ax, 1
je 0x441a4d
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x898], eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Status
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441ae7
cmp ax, 1
je 0x441ae7
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441a9b
cmp dword [esi + 4], 0
jne 0x441a96
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441a9d
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441aa0
sub ecx, edx
cmp ecx, 0x80
jae 0x441ae1
test esi, esi
je 0x441aca
cmp dword [esi + 4], 0
jne 0x441ac5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x441acc
xor eax, eax
push eax
lea eax, [ebx + 0x89c]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.TargetOperatingSystem
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441b1d
cmp ax, 1
je 0x441b1d
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x91c], eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Version
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441bb7
cmp ax, 1
je 0x441bb7
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441b6b
cmp dword [esi + 4], 0
jne 0x441b66
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441b6d
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441b70
sub ecx, edx
cmp ecx, 0x80
jae 0x441bb1
test esi, esi
je 0x441b9a
cmp dword [esi + 4], 0
jne 0x441b95
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x441b9c
xor eax, eax
push eax
lea eax, [ebx + 0x920]
push 0x80
push eax
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x441c12
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x441c0b
mov eax, dword [esi]
test eax, eax
je 0x441be9
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x441c00
push eax
call fcn.0044bc91
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0044b9fd
add esp, 8
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x440f10
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
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 ecx, dword [ebp - 0xc]
mov eax, 1
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret