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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b3b5f
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push esi
push edi
mov eax, dword [0x4d044c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x34], ecx
xor ebx, ebx
mov dword [ebp - 0x28], 0
xor esi, esi
mov dword [ebp - 0x20], 0
push ebx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x38], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
je 0x445a5c
cmp eax, 1
jne 0x446644
push 0x1000
push 0
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x18], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x446644
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], 0xfffffffe
push eax
push 0x4c95ec
push 1
push 0
push 0x4c95dc
mov edi, esi
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x446644
push 0xc
mov dword [ebp - 0x18], 0xfffffffd
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x3c], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x445afd
push str.ROOTCIMV2
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
je 0x4466c0
jmp 0x445b02
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x4466ca
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x2c]
push 0
mov esi, dword [eax]
push 0
push 0
push 0
mov esi, dword [esi + 0xc]
push 0
push 0
push dword [ecx]
mov ecx, esi
push eax
call dword [0x4b466c]
call esi
mov esi, dword [ebp - 0x2c]
or ecx, 0xffffffff
mov dword [ebp - 0x30], eax
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x445b93
mov ecx, dword [esi]
test ecx, ecx
je 0x445b6e
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x445b85
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
mov eax, dword [ebp - 0x30]
add esp, 8
test eax, eax
jne 0x446641
push eax
push eax
push 3
push 3
push eax
push eax
push 0xa
push dword [ebp - 0x20]
mov dword [ebp - 0x18], 0xfffffffc
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
jne 0x446641
push 0xc
mov dword [ebp - 0x18], 0xfffffffb
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x30], eax
add esp, 4
mov dword [ebp - 0x3c], esi
mov dword [ebp - 4], 2
test esi, esi
je 0x445bfd
push str.SELECT__FROM_Win32_BaseBoard
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004624d0
mov dword [esi], eax
jmp 0x445c02
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x4466d4
push 0xc
mov dword [ebp - 4], 3
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x40], esi
mov byte [ebp - 4], 4
test esi, esi
je 0x445c51
push 0x4c27f8
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004624d0
mov dword [esi], eax
jmp 0x445c56
xor esi, esi
mov dword [ebp - 0x2c], esi
mov byte [ebp - 4], 3
mov dword [ebp - 0x40], esi
test esi, esi
je 0x4466de
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x30]
push 0
mov esi, dword [eax]
push 0x30
push dword [ecx]
mov ecx, dword [ebp - 0x2c]
mov esi, dword [esi + 0x50]
push dword [ecx]
mov ecx, esi
push eax
call dword [0x4b466c]
call esi
mov esi, dword [ebp - 0x2c]
or ecx, 0xffffffff
mov dword [ebp - 0x3c], eax
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x445cd4
mov ecx, dword [esi]
test ecx, ecx
je 0x445cb2
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x445cc9
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
add esp, 8
mov esi, dword [ebp - 0x30]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x445d1e
mov eax, dword [esi]
test eax, eax
je 0x445cfc
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x445d13
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
add esp, 8
cmp dword [ebp - 0x3c], 0
jne 0x446641
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x445e9c
mov esi, dword [ecx]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov esi, dword [esi + 0x10]
push 1
push 0xffffffffffffffff
push ecx
mov ecx, esi
call dword [0x4b466c]
call esi
cmp dword [ebp - 0x1c], 0
je 0x445e99
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.Manufacturer
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x445db6
mov edx, dword [ebp - 0x48]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x445d87
sub ecx, esi
sar ecx, 1
add ebx, ecx
cmp ebx, 0xc00
jg 0x445e99
push edx
push str._lS
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.Product
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x445e1f
mov edx, dword [ebp - 0x48]
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x445df0
sub ecx, esi
sar ecx, 1
add ebx, ecx
cmp ebx, 0xc00
jg 0x445e99
push edx
push str._lS
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.SerialNumber
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x445e82
mov edx, dword [ebp - 0x48]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x445e57
sub ecx, esi
sar ecx, 1
add ebx, ecx
cmp ebx, 0xc00
jg 0x445e99
push edx
push str._lS
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x445d33
jmp 0x445e9c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4b466c]
call esi
push 0xc
mov dword [ebp - 0x18], 0xfffffffa
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x40], esi
mov dword [ebp - 4], 6
test esi, esi
je 0x445eec
push str.SELECT__FROM_Win32_BIOS
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004624d0
mov dword [esi], eax
jmp 0x445ef1
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x40], esi
test esi, esi
je 0x4466e8
push 0xc
mov dword [ebp - 4], 7
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x30], eax
add esp, 4
mov dword [ebp - 0x3c], esi
mov byte [ebp - 4], 8
test esi, esi
je 0x445f40
push 0x4c27f8
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004624d0
mov dword [esi], eax
jmp 0x445f45
xor esi, esi
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 7
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x4466f2
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x2c]
push 0
mov esi, dword [eax]
push 0x30
push dword [ecx]
mov ecx, dword [ebp - 0x30]
mov esi, dword [esi + 0x50]
push dword [ecx]
mov ecx, esi
push eax
call dword [0x4b466c]
call esi
mov esi, dword [ebp - 0x30]
or ecx, 0xffffffff
mov dword [ebp - 0x3c], eax
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x445fc3
mov ecx, dword [esi]
test ecx, ecx
je 0x445fa1
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x445fb8
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
add esp, 8
mov esi, dword [ebp - 0x2c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x44600d
mov eax, dword [esi]
test eax, eax
je 0x445feb
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x446002
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
add esp, 8
cmp dword [ebp - 0x3c], 0
jne 0x446641
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x446125
mov esi, dword [ecx]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov esi, dword [esi + 0x10]
push 1
push 0xffffffffffffffff
push ecx
mov ecx, esi
call dword [0x4b466c]
call esi
cmp dword [ebp - 0x1c], 0
je 0x446122
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.Name
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x4460a5
mov edx, dword [ebp - 0x48]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x446076
sub ecx, esi
sar ecx, 1
add ebx, ecx
cmp ebx, 0xc00
jg 0x446122
push edx
push str._lS
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.SerialNumber
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x44610b
mov edx, dword [ebp - 0x48]
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4460e0
sub ecx, esi
sar ecx, 1
add ebx, ecx
cmp ebx, 0xc00
jg 0x446122
push edx
push str._lS
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x446022
jmp 0x446125
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4b466c]
call esi
push 0xc
mov dword [ebp - 0x18], 0xfffffff9
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x40], esi
mov dword [ebp - 4], 0xa
test esi, esi
je 0x446175
push str.SELECT__FROM_Win32_Processor
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004624d0
mov dword [esi], eax
jmp 0x44617a
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x40], esi
test esi, esi
je 0x4466fc
push 0xc
mov dword [ebp - 4], 0xb
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x30], eax
add esp, 4
mov dword [ebp - 0x3c], esi
mov byte [ebp - 4], 0xc
test esi, esi
je 0x4461c9
push 0x4c27f8
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004624d0
mov dword [esi], eax
jmp 0x4461ce
xor esi, esi
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x446706
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x2c]
push 0
mov esi, dword [eax]
push 0x30
push dword [ecx]
mov ecx, dword [ebp - 0x30]
mov esi, dword [esi + 0x50]
push dword [ecx]
mov ecx, esi
push eax
call dword [0x4b466c]
call esi
mov esi, dword [ebp - 0x30]
or ecx, 0xffffffff
mov dword [ebp - 0x3c], eax
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x44624c
mov ecx, dword [esi]
test ecx, ecx
je 0x44622a
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x446241
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
add esp, 8
mov esi, dword [ebp - 0x2c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x446296
mov eax, dword [esi]
test eax, eax
je 0x446274
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x44628b
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
add esp, 8
cmp dword [ebp - 0x3c], 0
jne 0x446641
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x4463b5
nop dword [eax + eax]
mov esi, dword [ecx]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov esi, dword [esi + 0x10]
push 1
push 0xffffffffffffffff
push ecx
mov ecx, esi
call dword [0x4b466c]
call esi
cmp dword [ebp - 0x1c], 0
je 0x4463b2
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.Name
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x446333
mov edx, dword [ebp - 0x48]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x446304
sub ecx, esi
sar ecx, 1
add ebx, ecx
cmp ebx, 0xc00
jg 0x4463b2
push edx
push str._lS
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.ProcessorId
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x44639b
mov edx, dword [ebp - 0x48]
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x446370
sub ecx, esi
sar ecx, 1
add ebx, ecx
cmp ebx, 0xc00
jg 0x4463b2
push edx
push str._lS
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x4462b0
jmp 0x4463b5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4b466c]
call esi
push 0xc
mov dword [ebp - 0x18], 0xfffffff8
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x40], esi
mov dword [ebp - 4], 0xe
test esi, esi
je 0x446405
push str.SELECT__FROM_Win32_DiskDrive
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004624d0
mov dword [esi], eax
jmp 0x44640a
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x40], esi
test esi, esi
je 0x446710
push 0xc
mov dword [ebp - 4], 0xf
call fcn.004609df
mov esi, eax
mov dword [ebp - 0x30], eax
add esp, 4
mov dword [ebp - 0x3c], esi
mov byte [ebp - 4], 0x10
test esi, esi
je 0x446459
push 0x4c27f8
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.004624d0
mov dword [esi], eax
jmp 0x44645e
xor esi, esi
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x3c], esi
test esi, esi
je 0x44671a
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x2c]
push 0
mov esi, dword [eax]
push 0x30
push dword [ecx]
mov ecx, dword [ebp - 0x30]
mov esi, dword [esi + 0x50]
push dword [ecx]
mov ecx, esi
push eax
call dword [0x4b466c]
call esi
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
or eax, 0xffffffff
mov ecx, eax
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x4464e1
mov ecx, dword [esi]
test ecx, ecx
je 0x4464bc
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x4464d3
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
add esp, 8
or eax, 0xffffffff
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x446528
mov eax, dword [esi]
test eax, eax
je 0x446506
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x44651d
push eax
call fcn.00460a0f
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004609d1
add esp, 8
cmp dword [ebp - 0x3c], 0
jne 0x446641
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x446617
mov esi, dword [ecx]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
mov esi, dword [esi + 0x10]
push 1
push 0xffffffffffffffff
push ecx
mov ecx, esi
call dword [0x4b466c]
call esi
cmp dword [ebp - 0x1c], 0
je 0x446614
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.Model
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x4465bc
mov edx, dword [ebp - 0x48]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x446591
sub ecx, esi
sar ecx, 1
add ebx, ecx
cmp ebx, 0xc00
jg 0x446614
push edx
push str._lS
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
push 0
push 0
push ecx
mov esi, dword [eax]
push 0
push str.Signature
push eax
mov esi, dword [esi + 0x10]
mov ecx, esi
call dword [0x4b466c]
call esi
test eax, eax
jne 0x44660a
lea eax, [ebx + 8]
cmp eax, 0xc00
jg 0x446614
push dword [ebp - 0x48]
push 0x4c95d4
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4b466c]
call esi
mov esi, dword [ebp - 0x24]
mov ebx, 1
push 0
sub edi, esi
push edi
push esi
call fcn.0045fc70
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
jmp 0x446650
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x18]
mov dword [ecx], 0xdeadc0de
test esi, esi
je 0x446664
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x446682
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4b466c]
call esi
mov dword [ebp - 0x20], 0
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x4466a0
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x4b466c]
call esi
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x38], 0
je 0x4466ac
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
push 0x8007000e
call fcn.00462250
int3