Function at 0x441c50
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 - 0x18], 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 - 0x20]
mov dword [ebp - 0x20], 0
push eax
push 0x49ba48
push 1
push 0
push 0x4a5ba4
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x441db4
mov ebx, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push str.ROOTCIMV2
mov dword [ebp - 0x1c], 0
call ebx
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
jne 0x441cfd
push 0x8007000e
call fcn.00401e50
mov dword [ebp - 4], 0
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
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 0x441d87
push str.ROOTCIMV
call ebx
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
jne 0x441d4f
push 0x8007000e
call fcn.00401e50
mov dword [ebp - 4], 1
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
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 0x441dab
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x1c]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jns 0x441dc7
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]
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_BaseBoard
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x24], 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 0x441dff
mov esi, dword [esi]
jmp 0x441e01
xor esi, esi
mov eax, dword [eax]
test eax, eax
je 0x441e0b
mov edx, dword [eax]
jmp 0x441e0d
xor edx, edx
mov eax, dword [ebp - 0x1c]
lea edi, [ebp - 0x24]
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 0x441da2
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
test ecx, ecx
je 0x442be3
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 0x442be3
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.Caption
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441f40
cmp ax, 1
je 0x441f40
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441edb
cmp dword [esi + 4], 0
jne 0x441ed6
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441edd
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441ee0
sub ecx, edx
cmp ecx, 0x38
jae 0x441f35
test esi, esi
je 0x441f1c
cmp dword [esi + 4], 0
jne 0x441f02
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
mov ebx, dword [ebp - 0x18]
push eax
push 0x38
push ebx
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
jmp 0x441f43
mov ebx, dword [ebp - 0x18]
xor eax, eax
push eax
push 0x38
push ebx
call fcn.0046f135
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
call edi
jmp 0x441f43
mov ebx, dword [ebp - 0x18]
lea eax, [ebp - 0x40]
push eax
call edi
jmp 0x441f43
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x40]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.ConfigOptions
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x441fd4
cmp ax, 1
je 0x441fd4
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x441f91
cmp dword [esi + 4], 0
jne 0x441f8c
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x441f93
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441f96
sub ecx, edx
cmp ecx, 0x38
jae 0x441fce
test esi, esi
je 0x441fbd
cmp dword [esi + 4], 0
jne 0x441fb8
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x441fbf
xor eax, eax
push eax
lea eax, [ebx + 0x38]
push 0x38
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.CreationClassName
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442065
cmp ax, 1
je 0x442065
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x442022
cmp dword [esi + 4], 0
jne 0x44201d
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x442024
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442027
sub ecx, edx
cmp ecx, 0x38
jae 0x44205f
test esi, esi
je 0x44204e
cmp dword [esi + 4], 0
jne 0x442049
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x442050
xor eax, eax
push eax
lea eax, [ebx + 0x70]
push 0x38
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.Depth
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
mov ebx, dword [ebp - 0x18]
test ax, ax
je 0x44209e
cmp ax, 1
je 0x44209e
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0xa8], 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.Description
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442132
cmp ax, 1
je 0x442132
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4420ec
cmp dword [esi + 4], 0
jne 0x4420e7
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4420ee
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4420f1
sub ecx, edx
cmp ecx, 0x38
jae 0x44212c
test esi, esi
je 0x442118
cmp dword [esi + 4], 0
jne 0x442113
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44211a
xor eax, eax
push eax
lea eax, [ebx + 0xac]
push 0x38
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.Height
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442168
cmp ax, 1
je 0x442168
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0xe4], 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.HostingBoard
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x44219f
cmp ax, 1
je 0x44219f
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0xe8], 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.HotSwappable
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4421d6
cmp ax, 1
je 0x4421d6
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0xec], 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.InstallDate
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442271
cmp ax, 1
je 0x442271
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x442224
cmp dword [esi + 4], 0
jne 0x44221f
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x442226
xor ecx, ecx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442230
sub ecx, edx
cmp ecx, 0x38
jae 0x44226b
test esi, esi
je 0x442257
cmp dword [esi + 4], 0
jne 0x442252
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x442259
xor eax, eax
push eax
lea eax, [ebx + 0xf0]
push 0x38
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 0x442305
cmp ax, 1
je 0x442305
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4422bf
cmp dword [esi + 4], 0
jne 0x4422ba
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4422c1
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4422c4
sub ecx, edx
cmp ecx, 0x38
jae 0x4422ff
test esi, esi
je 0x4422eb
cmp dword [esi + 4], 0
jne 0x4422e6
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4422ed
xor eax, eax
push eax
lea eax, [ebx + 0x128]
push 0x38
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.Model
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442399
cmp ax, 1
je 0x442399
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x442353
cmp dword [esi + 4], 0
jne 0x44234e
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x442355
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442358
sub ecx, edx
cmp ecx, 0x38
jae 0x442393
test esi, esi
je 0x44237f
cmp dword [esi + 4], 0
jne 0x44237a
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x442381
xor eax, eax
push eax
lea eax, [ebx + 0x160]
push 0x38
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 0x442431
cmp ax, 1
je 0x442431
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4423e7
cmp dword [esi + 4], 0
jne 0x4423e2
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4423e9
xor ecx, ecx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4423f0
sub ecx, edx
cmp ecx, 0x38
jae 0x44242b
test esi, esi
je 0x442417
cmp dword [esi + 4], 0
jne 0x442412
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x442419
xor eax, eax
push eax
lea eax, [ebx + 0x198]
push 0x38
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.OtherIdentifyingInfo
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4424c5
cmp ax, 1
je 0x4424c5
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x44247f
cmp dword [esi + 4], 0
jne 0x44247a
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x442481
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442484
sub ecx, edx
cmp ecx, 0x38
jae 0x4424bf
test esi, esi
je 0x4424ab
cmp dword [esi + 4], 0
jne 0x4424a6
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4424ad
xor eax, eax
push eax
lea eax, [ebx + 0x1d0]
push 0x38
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.PartNumber
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442559
cmp ax, 1
je 0x442559
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x442513
cmp dword [esi + 4], 0
jne 0x44250e
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x442515
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442518
sub ecx, edx
cmp ecx, 0x38
jae 0x442553
test esi, esi
je 0x44253f
cmp dword [esi + 4], 0
jne 0x44253a
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x442541
xor eax, eax
push eax
lea eax, [ebx + 0x208]
push 0x38
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.PoweredOn
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442590
cmp ax, 1
je 0x442590
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0x240], 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.Product
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442624
cmp ax, 1
je 0x442624
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4425de
cmp dword [esi + 4], 0
jne 0x4425d9
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4425e0
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4425e3
sub ecx, edx
cmp ecx, 0x38
jae 0x44261e
test esi, esi
je 0x44260a
cmp dword [esi + 4], 0
jne 0x442605
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44260c
xor eax, eax
push eax
lea eax, [ebx + 0x244]
push 0x38
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.Removable
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x44265b
cmp ax, 1
je 0x44265b
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0x27c], 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.Replaceable
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442692
cmp ax, 1
je 0x442692
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0x280], 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.RequirementsDescription
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442726
cmp ax, 1
je 0x442726
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4426e0
cmp dword [esi + 4], 0
jne 0x4426db
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4426e2
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4426e5
sub ecx, edx
cmp ecx, 0x38
jae 0x442720
test esi, esi
je 0x44270c
cmp dword [esi + 4], 0
jne 0x442707
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44270e
xor eax, eax
push eax
lea eax, [ebx + 0x284]
push 0x38
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.RequiresDaughterBoard
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x44275d
cmp ax, 1
je 0x44275d
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0x2bc], 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.SerialNumber
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x4427f1
cmp ax, 1
je 0x4427f1
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4427ab
cmp dword [esi + 4], 0
jne 0x4427a6
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4427ad
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4427b0
sub ecx, edx
cmp ecx, 0x38
jae 0x4427eb
test esi, esi
je 0x4427d7
cmp dword [esi + 4], 0
jne 0x4427d2
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4427d9
xor eax, eax
push eax
lea eax, [ebx + 0x2c0]
push 0x38
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 0x4abeb0
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442885
cmp ax, 1
je 0x442885
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x44283f
cmp dword [esi + 4], 0
jne 0x44283a
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x442841
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442844
sub ecx, edx
cmp ecx, 0x38
jae 0x44287f
test esi, esi
je 0x44286b
cmp dword [esi + 4], 0
jne 0x442866
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x44286d
xor eax, eax
push eax
lea eax, [ebx + 0x2f8]
push 0x38
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.SlotLayout
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442919
cmp ax, 1
je 0x442919
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x4428d3
cmp dword [esi + 4], 0
jne 0x4428ce
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4428d5
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4428d8
sub ecx, edx
cmp ecx, 0x38
jae 0x442913
test esi, esi
je 0x4428ff
cmp dword [esi + 4], 0
jne 0x4428fa
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x442901
xor eax, eax
push eax
lea eax, [ebx + 0x330]
push 0x38
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.SpecialRequirements
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442950
cmp ax, 1
je 0x442950
movsx eax, word [ebp - 0x38]
mov dword [ebx + 0x368], 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 0x4429e4
cmp ax, 1
je 0x4429e4
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x44299e
cmp dword [esi + 4], 0
jne 0x442999
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x4429a0
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4429a3
sub ecx, edx
cmp ecx, 0x38
jae 0x4429de
test esi, esi
je 0x4429ca
cmp dword [esi + 4], 0
jne 0x4429c5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x4429cc
xor eax, eax
push eax
lea eax, [ebx + 0x36c]
push 0x38
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 0x4a6c6c
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442a78
cmp ax, 1
je 0x442a78
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x442a32
cmp dword [esi + 4], 0
jne 0x442a2d
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x442a34
xor ecx, ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442a37
sub ecx, edx
cmp ecx, 0x38
jae 0x442a72
test esi, esi
je 0x442a5e
cmp dword [esi + 4], 0
jne 0x442a59
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x442a60
xor eax, eax
push eax
lea eax, [ebx + 0x3a4]
push 0x38
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.Version
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442b11
cmp ax, 1
je 0x442b11
push dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
call fcn.004403a0
mov esi, dword [ebp - 0x10]
test esi, esi
je 0x442aca
cmp dword [esi + 4], 0
jne 0x442ac5
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov ecx, dword [esi + 4]
jmp 0x442acc
xor ecx, ecx
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x442ad0
sub ecx, edx
cmp ecx, 0x38
jae 0x442b0b
test esi, esi
je 0x442af7
cmp dword [esi + 4], 0
jne 0x442af2
push dword [esi]
call fcn.0044b030
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x442af9
xor eax, eax
push eax
lea eax, [ebx + 0x3dc]
push 0x38
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.Weight
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442b47
cmp ax, 1
je 0x442b47
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x414], 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.Width
push eax
call dword [ecx + 0x10]
mov ax, word [ebp - 0x40]
test ax, ax
je 0x442b7d
cmp ax, 1
je 0x442b7d
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x418], eax
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 0x442bd8
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x442bd1
mov eax, dword [esi]
test eax, eax
je 0x442baf
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x442bc6
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 - 0x24]
test ecx, ecx
jne 0x441e60
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]
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