Function at 0x44cee0
Capabilities:
Authenticate hmac
Connect to wmi namespace via wbemlocator
Encode data using xor
Hash data using fnv
Parse pe header
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49ea00
mov eax, dword fs:[0]
push eax
sub esp, 0x178
mov eax, dword [0x4c0180]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
cmp dword [eax + 8], 0
je 0x44f0e8
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x44f0e8
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xdc], vtable.std::_Func_impl_no_alloc_class__lambda_702c41efecad5351a2fad07605b88e4f___void___.0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x48], 0
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 1
call fcn.00454750
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x48], eax
test ecx, ecx
je 0x44cf98
mov edx, dword [ecx]
lea eax, [ebp - 0xdc]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0xb8], 0
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
mov dword [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
js 0x44f0b9
mov dword [ebp - 0xb0], 0
lea eax, [ebp - 0xb0]
push eax
push 0x4a24e0
push 1
push 0
push 0x4a24f0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x44f09b
mov dword [ebp - 0xa8], 0
mov byte [ebp - 4], 4
mov edi, dword [ebp - 0xb0]
push 0xc
call fcn.00470c26
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
mov byte [ebp - 4], 5
test esi, esi
je 0x44d03c
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 0x44f106
jmp 0x44d03e
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0x80], esi
test esi, esi
je 0x44f110
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x44d06b
mov dword [ebp - 0xa8], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [edi]
lea ecx, [ebp - 0xa8]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esi]
push edi
call dword [eax + 0xc]
or ebx, 0xffffffff
mov byte [ebp - 4], 4
mov edi, eax
mov ecx, ebx
lock xadd dword [esi + 8], ecx
dec ecx
jne 0x44d0ce
mov ecx, dword [esi]
test ecx, ecx
je 0x44d0ac
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x44d0c3
push eax
call fcn.004710bf
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.00470c18
add esp, 8
test edi, edi
js 0x44f07d
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0xa8]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x44f07d
lea eax, [ebp - 0xa8]
push str.os_architecture
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0xa0], eax
call fcn.00433fb0
cmp dword [ebp - 0x18], 7
lea esi, [ebp - 0x2c]
mov edi, dword [ebp - 0x2c]
mov edx, 0x811c9dc5
mov eax, dword [ebp - 0x1c]
cmova esi, edi
xor ecx, ecx
add eax, eax
je 0x44d144
mov ebx, eax
nop
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x44d130
or ebx, 0xffffffff
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov eax, dword [eax + 4]
mov dword [ebp - 0xac], eax
test eax, eax
jne 0x44d173
mov eax, dword [esi + 4]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44d1aa
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x44d1a0
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edi
call fcn.00470c18
add esp, 8
mov edi, dword [ebp - 0xac]
cmp edi, dword [esi + 4]
je 0x44d30b
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f11a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.OSArchitecture
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 7
call fcn.004044c0
test al, al
jne 0x44d1f7
push 0xe
push str.OSArchitecture
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 8
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f124
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 9
call fcn.004044c0
test al, al
jne 0x44d239
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0xa
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f12e
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0xd
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44d291
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44d2af
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44d2cd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x3c], 8
jne 0x44d2fd
mov edx, dword [ebp - 0x34]
test edx, edx
jne 0x44d2df
xor ecx, ecx
jmp 0x44d2f3
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44d2e4
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.os_installdate
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44d345
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44d334
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
test edi, edi
jne 0x44d368
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44d3a2
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44d398
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44d50a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f138
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.InstallDate
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x10
call fcn.004044c0
test al, al
jne 0x44d3e9
push 0xb
push str.InstallDate
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x11
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f142
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x12
call fcn.004044c0
test al, al
jne 0x44d42b
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x13
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f14c
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x16
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44d486
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44d4a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44d4c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x44d4f9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x44d4da
xor ecx, ecx
jmp 0x44d4ef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44d4e0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.os_name
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44d544
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44d533
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
test edi, edi
jne 0x44d567
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44d5a1
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44d597
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44d70a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f156
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.Caption
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x19
call fcn.004044c0
test al, al
jne 0x44d5e8
push 7
push str.Caption
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x1a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f160
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1b
call fcn.004044c0
test al, al
jne 0x44d62a
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x1c
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f16a
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x1f
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44d685
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x20
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44d6a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x21
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44d6c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x44d6f9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x44d6d9
xor ecx, ecx
jmp 0x44d6ef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44d6e0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.os_virtmem
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44d744
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44d733
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
test edi, edi
jne 0x44d767
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44d7a1
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44d797
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44d90a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f174
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.TotalVirtualMemorySize
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x22
call fcn.004044c0
test al, al
jne 0x44d7e8
push 0x16
push str.TotalVirtualMemorySize
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x23
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f17e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x24
call fcn.004044c0
test al, al
jne 0x44d82a
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x25
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f188
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x28
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44d885
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x29
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44d8a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2a
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44d8c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x44d8f9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x44d8d9
xor ecx, ecx
jmp 0x44d8ef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44d8e0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.os_mem
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44d944
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44d933
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
test edi, edi
jne 0x44d967
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44d9a1
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44d997
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44db0a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f192
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.TotalVisibleMemorySize
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x2b
call fcn.004044c0
test al, al
jne 0x44d9e8
push 0x16
push str.TotalVisibleMemorySize
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x2c
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f19c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2d
call fcn.004044c0
test al, al
jne 0x44da2a
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x2e
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1a6
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x31
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44da85
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x32
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44daa3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x33
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44dac1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x44daf9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x44dad9
xor ecx, ecx
jmp 0x44daef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44dae0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.cpu_name
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44db44
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44db33
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
test edi, edi
jne 0x44db67
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44dba1
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44db97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44dd0a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1b0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.Name
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x34
call fcn.004044c0
test al, al
jne 0x44dbe8
push 4
push str.Name
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x35
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1ba
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_Processor
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x36
call fcn.004044c0
test al, al
jne 0x44dc2a
push 0xf
push str.Win32_Processor
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x37
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1c4
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x38
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x3a
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44dc85
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x3b
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44dca3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x3c
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44dcc1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x44dcf9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x44dcd9
xor ecx, ecx
jmp 0x44dcef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44dce0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.pc_vendor
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44dd44
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44dd33
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
test edi, edi
jne 0x44dd67
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44dda1
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44dd97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44df0a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1ce
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.Vendor
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x3d
call fcn.004044c0
test al, al
jne 0x44dde8
push 6
push str.Vendor
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x3e
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1d8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x3f
call fcn.004044c0
test al, al
jne 0x44de2a
push 0x1b
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x40
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1e2
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x41
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x43
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44de85
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x44
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44dea3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x45
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44dec1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x44def9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x44ded9
xor ecx, ecx
jmp 0x44deef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44dee0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.pc_version
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44df44
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44df33
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
test edi, edi
jne 0x44df67
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44dfa1
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44df97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44e10a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1ec
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.Version
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x46
call fcn.004044c0
test al, al
jne 0x44dfe8
push 7
push str.Version
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x47
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f1f6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x48
call fcn.004044c0
test al, al
jne 0x44e02a
push 0x1b
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x49
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f200
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x4a
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x4c
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44e085
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4d
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e0a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4e
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e0c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x44e0f9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x44e0d9
xor ecx, ecx
jmp 0x44e0ef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44e0e0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.gpu_name
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44e144
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44e133
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
test edi, edi
jne 0x44e167
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44e1a1
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44e197
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44e30a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f20a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.Name
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x4f
call fcn.004044c0
test al, al
jne 0x44e1e8
push 4
push str.Name
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x50
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f214
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_VideoController
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x51
call fcn.004044c0
test al, al
jne 0x44e22a
push 0x15
push str.Win32_VideoController
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x52
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f21e
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x78], esi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x53
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x55
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44e285
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x56
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e2a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x57
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e2c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x44e2f9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x44e2d9
xor ecx, ecx
jmp 0x44e2ef
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44e2e0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.004047f0
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.gpu_ram
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 7
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x2c]
xor ecx, ecx
lea edi, [eax + eax]
test edi, edi
je 0x44e344
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44e333
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov edi, dword [eax + 4]
mov dword [ebp - 0xac], edi
test edi, edi
jne 0x44e373
mov edi, dword [esi + 4]
mov dword [ebp - 0xac], edi
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44e3ad
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44e3a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edx
call fcn.00470c18
add esp, 8
cmp edi, dword [esi + 4]
je 0x44eb4f
mov ecx, dword [0x4c6024]
cmp dword [ecx - 0xc], 0
je 0x44eb4f
add ecx, 0xfffffff0
call fcn.004046a0
lea esi, [eax + 0x10]
mov dword [ebp - 0x9c], esi
mov byte [ebp - 4], 0x58
mov edi, dword [eax + 4]
test edi, edi
js 0x44f29b
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, edi
or eax, ecx
jge 0x44e409
push edi
lea ecx, [ebp - 0x9c]
call fcn.00404790
mov esi, dword [ebp - 0x9c]
lea eax, [edi + 1]
push eax
push esi
call fcn.004821cd
add esp, 8
cmp edi, dword [esi - 8]
jg 0x44f29b
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
cmp dword [esi - 0xc], eax
jl 0x44e647
push str.INTEL
push esi
call fcn.00472443
add esp, 8
test eax, eax
je 0x44e647
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x44e647
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f228
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.TotalPhysicalMemory
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x59
call fcn.004044c0
test al, al
jne 0x44e492
push 0x13
push str.TotalPhysicalMemory
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x5a
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f232
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_ComputerSystem
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x5b
call fcn.004044c0
test al, al
jne 0x44e4d4
push 0x14
push str.Win32_ComputerSystem
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x5c
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f23c
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x78], edi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x5d
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x5f
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x44e52c
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x60
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e54a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x61
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e568
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x3c], 8
jne 0x44e63f
push dword [ebp - 0x34]
xorps xmm0, xmm0
lea ecx, [ebp - 0x2c]
movlpd qword [ebp - 0x84], xmm0
call fcn.00433fb0
sub esp, 8
mov byte [ebp - 4], 0x62
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x184]
push eax
call fcn.004500d0
mov byte [ebp - 4], 0x64
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x44e5dd
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44e5d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f246
push ecx
push edx
call fcn.00470c18
add esp, 8
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x184]
call fcn.004503d0
mov eax, dword [ebp - 0x184]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + eax - 0x178]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x44e634
test cl, 6
jne 0x44e634
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
shrd ecx, eax, 1
shr eax, 1
push eax
mov eax, dword [ebp - 0xac]
push ecx
push str._llu
push dword [eax + 0x20]
call fcn.00404a60
add esp, 0x10
lea ecx, [ebp - 0x184]
call fcn.0044f8a0
lea eax, [ebp - 0x3c]
jmp 0x44eb2d
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f24b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push str.PNPDeviceID
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x65
call fcn.004044c0
test al, al
jne 0x44e685
push 0xb
push str.PNPDeviceID
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x66
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f255
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.Win32_VideoController
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x67
call fcn.004044c0
test al, al
jne 0x44e6c7
push 0x15
push str.Win32_VideoController
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x68
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f25f
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x78], edi
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x69
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x6b
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x44e71f
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6c
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e73d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6d
mov eax, ebx
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e75b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x24], 8
jne 0x44eb2a
mov edi, dword [ebp - 0x1c]
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f269
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x70], eax
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x6e
call fcn.004044c0
test al, al
jne 0x44e7ba
test edi, edi
jne 0x44e79c
xor ecx, ecx
jmp 0x44e7b0
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44e7a1
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x70]
call fcn.004047f0
mov byte [ebp - 4], 0x6f
mov edi, dword [ebp - 0x70]
mov edx, dword [edi - 0xc]
mov dword [ebp - 0xa4], edx
test edx, edx
js 0x44f29b
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, edx
or eax, ecx
jge 0x44e7f5
push edx
lea ecx, [ebp - 0x70]
call fcn.00404790
mov edi, dword [ebp - 0x70]
mov edx, dword [ebp - 0xa4]
lea eax, [edx + 1]
push eax
push edi
call fcn.0047f335
mov eax, dword [ebp - 0xa4]
add esp, 8
cmp eax, dword [edi - 8]
jg 0x44f29b
xor ecx, ecx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], cx
cmp dword [edi - 0xc], ecx
je 0x44eb0f
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f273
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x94], eax
mov byte [ebp - 4], 0x70
xor esi, esi
mov dword [ebp - 0xa4], esi
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f27d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x71
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f287
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x74], eax
push str.SYSTEMControlSet001ControlClass4d36e968_e325_11ce_bfc1_08002be10318_
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x72
call fcn.004044c0
test al, al
jne 0x44e8ab
push 0x4a
push str.SYSTEMControlSet001ControlClass4d36e968_e325_11ce_bfc1_08002be10318_
lea ecx, [ebp - 0x74]
call fcn.004047f0
mov byte [ebp - 4], 0x73
mov dword [ebp - 0x78], reloc.OLEAUT32.dll_SysReAllocString
nop word [eax + eax]
push esi
lea eax, [ebp - 0x98]
push str._04d
push eax
call fcn.00404a60
add esp, 0xc
lea eax, [ebp - 0x98]
lea edx, [ebp - 0x74]
lea ecx, [ebp - 0x80]
push eax
call fcn.00430f10
add esp, 4
mov byte [ebp - 4], 0x74
lea edx, [ebp - 0x78]
push str.MatchingDeviceId
push dword [eax]
lea ecx, [ebp - 0x30]
call fcn.00423ec0
add esp, 8
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x75
call fcn.00404ca0
mov byte [ebp - 4], 0x74
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e931
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x73
mov eax, ebx
mov edx, dword [ebp - 0x80]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44e94f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x94]
mov ebx, dword [esi - 0xc]
test ebx, ebx
js 0x44f29b
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, ebx
or eax, ecx
jge 0x44e983
push ebx
lea ecx, [ebp - 0x94]
call fcn.00404790
mov esi, dword [ebp - 0x94]
lea eax, [ebx + 1]
push eax
push esi
call fcn.0047f335
add esp, 8
cmp ebx, dword [esi - 8]
jg 0x44f29b
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi + ebx*2], ax
cmp dword [esi - 0xc], eax
je 0x44e9c3
cmp dword [edi - 0xc], eax
jl 0x44e9c3
push esi
push edi
call fcn.00472443
add esp, 8
test eax, eax
je 0x44e9c3
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
jne 0x44e9e1
inc dword [ebp - 0xa4]
or ebx, 0xffffffff
cmp dword [esi - 0xc], 0
je 0x44eaaf
mov esi, dword [ebp - 0xa4]
jmp 0x44e8c0
cmp dword [esi - 0xc], 0
je 0x44eaac
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa4], 0
push eax
lea edx, [ebp - 0x74]
lea ecx, [ebp - 0x80]
call fcn.00430f10
add esp, 4
lea ecx, [ebp - 0xa4]
push ecx
push 0x20019
push 0
push dword [eax]
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edx, dword [ebp - 0x80]
or ebx, 0xffffffff
mov dword [ebp - 0x30], eax
add edx, 0xfffffff0
mov ecx, ebx
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x44ea48
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x44eaaf
mov dword [ebp - 0x78], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x80]
movlpd qword [ebp - 0x34], xmm0
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x80], 8
push eax
lea eax, [ebp - 0x78]
push eax
push 0
push str.HardwareInformation.qwMemorySize
push dword [ebp - 0xa4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x44eaaf
mov eax, dword [ebp - 0x78]
cmp eax, 0xb
je 0x44ea8e
cmp eax, 3
jne 0x44eaaf
push dword [ebp - 0x30]
mov eax, dword [ebp - 0xac]
push dword [ebp - 0x34]
push str._llu
push dword [eax + 0x20]
call fcn.00404a60
add esp, 0x10
jmp 0x44eaaf
or ebx, 0xffffffff
mov byte [ebp - 4], 0x71
mov eax, ebx
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44eacd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x70
mov eax, ebx
mov edx, dword [ebp - 0x98]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44eaee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6f
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44eb09
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x6d
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x44eb2a
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 4
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x44eb4f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push str.dsk_mbsec
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
cmp dword [ebp - 0x18], 7
lea esi, [ebp - 0x2c]
mov edi, dword [ebp - 0x2c]
mov edx, 0x811c9dc5
mov eax, dword [ebp - 0x1c]
cmova esi, edi
xor ecx, ecx
add eax, eax
je 0x44eb94
mov ebx, eax
nop dword [eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x44eb80
or ebx, 0xffffffff
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00455280
mov eax, dword [eax + 4]
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x44ebbd
mov eax, dword [esi + 4]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44ebf4
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x44ebea
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edi
call fcn.00470c18
add esp, 8
mov edi, dword [ebp - 0x78]
cmp edi, dword [esi + 4]
je 0x44ee48
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f291
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x94], eax
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x76
call fcn.004044c0
test al, al
jne 0x44ec47
push 0x15
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x94]
call fcn.004047f0
mov byte [ebp - 4], 0x77
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f2a5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x98], eax
push str.DiskBytesPersec
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x78
call fcn.004044c0
test al, al
jne 0x44ec92
push 0xf
push str.DiskBytesPersec
lea ecx, [ebp - 0x98]
call fcn.004047f0
mov byte [ebp - 4], 0x79
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f2af
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9c], eax
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x7a
call fcn.004044c0
test al, al
jne 0x44ecdd
push 0x27
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x9c]
call fcn.004047f0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x7b
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x7d
mov eax, ebx
mov edx, dword [ebp - 0x9c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44ed26
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7e
mov eax, ebx
mov edx, dword [ebp - 0x98]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44ed47
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7f
mov eax, ebx
mov edx, dword [ebp - 0x94]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44ed68
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x24], 8
jne 0x44ee3a
push dword [ebp - 0x1c]
xorps xmm0, xmm0
lea ecx, [ebp - 0x44]
movlpd qword [ebp - 0x84], xmm0
call fcn.00433fb0
sub esp, 8
mov byte [ebp - 4], 0x80
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x184]
push eax
call fcn.004500d0
mov byte [ebp - 4], 0x82
mov ecx, dword [ebp - 0x30]
cmp ecx, 7
jbe 0x44eddd
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44edd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2b9
push ecx
push edx
call fcn.00470c18
add esp, 8
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x184]
call fcn.004503d0
mov eax, dword [ebp - 0x184]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + eax - 0x178]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x44ee2f
test cl, 6
jne 0x44ee2f
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
shrd ecx, eax, 0x17
shr eax, 0x17
push eax
push ecx
push str._llu
push dword [edi + 0x20]
call fcn.00404a60
add esp, 0x10
lea ecx, [ebp - 0x184]
call fcn.0044f8a0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 4
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.dsk_iosec
lea ecx, [ebp - 0x2c]
call fcn.00433fb0
cmp dword [ebp - 0x18], 7
lea esi, [ebp - 0x2c]
mov edi, dword [ebp - 0x2c]
mov edx, 0x811c9dc5
mov eax, dword [ebp - 0x1c]
cmova esi, edi
xor ecx, ecx
add eax, eax
je 0x44ee86
mov ebx, eax
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x44ee72
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00455280
mov esi, dword [eax + 4]
test esi, esi
jne 0x44eead
mov eax, dword [ebp - 0x90]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44eee4
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x44eeda
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44f2be
push ecx
push edi
call fcn.00470c18
add esp, 8
mov eax, dword [ebp - 0x90]
cmp esi, dword [eax + 4]
je 0x44f07d
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f2c3
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x94], eax
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x83
call fcn.004044c0
test al, al
jne 0x44ef3a
push 0x15
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x94]
call fcn.004047f0
mov byte [ebp - 4], 0x84
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f2cd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x98], eax
push str.DiskTransfersPersec
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x85
call fcn.004044c0
test al, al
jne 0x44ef85
push 0x13
push str.DiskTransfersPersec
lea ecx, [ebp - 0x98]
call fcn.004047f0
mov byte [ebp - 4], 0x86
call fcn.00405150
mov ecx, eax
test ecx, ecx
je 0x44f2d7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x9c], eax
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x87
call fcn.004044c0
test al, al
jne 0x44efd0
push 0x27
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x9c]
call fcn.004047f0
lea eax, [ebp - 0x94]
mov byte [ebp - 4], 0x88
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0044f2f0
mov byte [ebp - 4], 0x8a
mov eax, ebx
mov edx, dword [ebp - 0x9c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44f019
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8b
mov eax, ebx
mov edx, dword [ebp - 0x98]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44f03a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8c
mov edx, dword [ebp - 0x94]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x44f059
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x24], 3
jne 0x44f073
push dword [ebp - 0x1c]
push 0x4b02f8
push dword [esi + 0x20]
call fcn.00404a60
add esp, 0xc
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x44f09b
mov dword [ebp - 0xa8], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x44f0b9
mov dword [ebp - 0xb0], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0x8d
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x44f2e1
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x44f0e8
mov edx, dword [ecx]
lea eax, [ebp - 0x6c]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00470c0a
mov esp, ebp
pop ebp
ret 4
push 0x8007000e
call fcn.004708a0
push 0x8007000e
call fcn.004708a0
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
call fcn.0047627f
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80070057
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
call fcn.0047627f
call fcn.0047627f
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
push 0x80004005
call fcn.00404f30
call fcn.00458302
int3