Function at 0x450650
Capabilities:
Connect to wmi namespace via wbemlocator
Encode data using xor
Hash data using fnv
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a2f76
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x188
mov eax, dword [0x4c6180]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x84], eax
cmp dword [eax + 8], 0
je 0x452b1d
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x452b1d
lea eax, [ebp - 0xf0]
mov dword [ebp - 0xf0], vtable.std::_Func_impl_no_alloc_class__lambda_702c41efecad5351a2fad07605b88e4f___void___.0
mov dword [ebp - 0xcc], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x70]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x4c], 0
push eax
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 1
call fcn.004581f0
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x4c], eax
test ecx, ecx
je 0x450713
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
lea eax, [ebp - 0xf0]
cmp ecx, eax
setne al
push eax
call edx
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 0x452aee
mov dword [ebp - 0xb0], 0
lea eax, [ebp - 0xb0]
push eax
push 0x4a6520
push 1
push 0
push 0x4a6530
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x452ad0
mov dword [ebp - 0xa4], 0
mov esi, dword [ebp - 0xb0]
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x74], eax
push 0xc
mov byte [ebp - 4], 6
call fcn.00474a76
mov edi, eax
add esp, 4
mov dword [ebp - 0x8c], edi
mov byte [ebp - 4], 8
test edi, edi
je 0x4507c2
push str.ROOTCIMV2
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
je 0x452b3d
jmp 0x4507c4
xor edi, edi
mov byte [ebp - 4], 6
mov dword [ebp - 0x8c], edi
test edi, edi
je 0x452b47
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 9
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [edi]
push esi
call dword [ebp - 0x74]
mov esi, eax
mov byte [ebp - 4], 6
or ecx, 0xffffffff
lock xadd dword [edi + 8], ecx
dec ecx
jne 0x450839
mov ecx, dword [edi]
test ecx, ecx
je 0x450817
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x45082e
push eax
call fcn.00474f0f
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.00474a68
add esp, 8
test esi, esi
js 0x452ab2
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0xa4]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
test eax, eax
js 0x452ab2
push 0xf
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x20], 0
xorps xmm0, xmm0
mov dword [ebp - 0xa0], eax
push str.os_architecture
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov edi, dword [ebp - 0x30]
mov edx, 0x811c9dc5
mov eax, dword [ebp - 0x20]
cmova esi, edi
xor ecx, ecx
add eax, eax
je 0x4508c4
mov edi, eax
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x4508b0
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x4508f1
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x450928
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x45091e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edi
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x450aac
mov byte [ebp - 4], 0xe
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b51
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0xf
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b5b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.OSArchitecture
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x10
call fcn.00409810
test al, al
jne 0x45099b
push 0xe
push str.OSArchitecture
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x11
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b65
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x12
call fcn.00409810
test al, al
jne 0x4509df
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
or edi, 0xffffffff
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450a1e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450a38
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x450a53
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0xc0], 8
jne 0x450a99
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0xb8]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x450a71
xor ecx, ecx
jmp 0x450a90
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x450a80
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x450aaf
or edi, 0xffffffff
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.os_installdate
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x450b02
nop
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x450af0
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x450b2f
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x450b69
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x450b5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x450ce1
mov byte [ebp - 4], 0x18
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b6f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x19
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b79
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.InstallDate
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x1a
call fcn.00409810
test al, al
jne 0x450bdc
push 0xb
push str.InstallDate
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x1b
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b83
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x1c
call fcn.00409810
test al, al
jne 0x450c20
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450c5c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450c76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x21
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x450c91
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x98], 8
jne 0x450cd0
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x450caf
xor ecx, ecx
jmp 0x450cc7
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x450cb7
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.os_name
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x450d33
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x450d21
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x450d60
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x450d9a
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x450d90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x450f1a
mov byte [ebp - 4], 0x22
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b8d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x23
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b97
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.Caption
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x24
call fcn.00409810
test al, al
jne 0x450e0d
push 7
push str.Caption
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x25
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452ba1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x26
call fcn.00409810
test al, al
jne 0x450e51
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450e8d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x450ea7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2b
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x450ec2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x98], 8
jne 0x450f09
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x450ee0
xor ecx, ecx
jmp 0x450f00
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x450ef0
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.os_virtmem
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x450f72
nop word [eax + eax]
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x450f60
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x450f9f
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x450fd9
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x450fcf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x451151
mov byte [ebp - 4], 0x2c
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452bab
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x2d
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452bb5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.TotalVirtualMemorySize
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x2e
call fcn.00409810
test al, al
jne 0x45104c
push 0x16
push str.TotalVirtualMemorySize
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x2f
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452bbf
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x30
call fcn.00409810
test al, al
jne 0x451090
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4510cc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4510e6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x35
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x451101
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x98], 8
jne 0x451140
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x45111f
xor ecx, ecx
jmp 0x451137
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x451127
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.os_mem
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x4511a3
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x451191
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x4511d0
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x45120a
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x451200
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x45138a
mov byte [ebp - 4], 0x36
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452bc9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x37
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452bd3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.TotalVisibleMemorySize
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x38
call fcn.00409810
test al, al
jne 0x45127d
push 0x16
push str.TotalVisibleMemorySize
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x39
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452bdd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x3a
call fcn.00409810
test al, al
jne 0x4512c1
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x3b
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4512fd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451317
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x3f
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x451332
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x98], 8
jne 0x451379
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x451350
xor ecx, ecx
jmp 0x451370
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x451360
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.cpu_name
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x4513e2
nop word [eax + eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x4513d0
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45140f
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x451449
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x45143f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x4515c1
mov byte [ebp - 4], 0x40
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452be7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x41
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452bf1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.Name
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x42
call fcn.00409810
test al, al
jne 0x4514bc
push 4
push str.Name
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x43
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452bfb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_Processor
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x44
call fcn.00409810
test al, al
jne 0x451500
push 0xf
push str.Win32_Processor
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x45
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45153c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451556
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x49
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x451571
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x98], 8
jne 0x4515b0
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x45158f
xor ecx, ecx
jmp 0x4515a7
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x451597
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.pc_vendor
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x451613
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x451601
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x451640
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x45167a
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x451670
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x4517fa
mov byte [ebp - 4], 0x4a
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c05
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x4b
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c0f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.Vendor
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x4c
call fcn.00409810
test al, al
jne 0x4516ed
push 6
push str.Vendor
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x4d
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c19
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x4e
call fcn.00409810
test al, al
jne 0x451731
push 0x1b
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x4f
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45176d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451787
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x53
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4517a2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x98], 8
jne 0x4517e9
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x4517c0
xor ecx, ecx
jmp 0x4517e0
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4517d0
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.pc_version
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x451852
nop word [eax + eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x451840
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x45187f
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x4518b9
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4518af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x451a31
mov byte [ebp - 4], 0x54
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c23
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x55
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c2d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.Version
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x56
call fcn.00409810
test al, al
jne 0x45192c
push 7
push str.Version
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x57
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c37
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x58
call fcn.00409810
test al, al
jne 0x451970
push 0x1b
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x59
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4519ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4519c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5d
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4519e1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x98], 8
jne 0x451a20
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x4519ff
xor ecx, ecx
jmp 0x451a17
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x451a07
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.gpu_name
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x451a83
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x451a71
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
test esi, esi
jne 0x451ab0
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov dword [ebp - 0x80], esi
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x451aea
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x451ae0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x451c6a
mov byte [ebp - 4], 0x5e
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c41
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x5f
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c4b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.Name
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x60
call fcn.00409810
test al, al
jne 0x451b5d
push 4
push str.Name
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x61
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c55
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_VideoController
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x62
call fcn.00409810
test al, al
jne 0x451ba1
push 0x15
push str.Win32_VideoController
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x63
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451bdd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451bf7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x67
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x451c12
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x98], 8
jne 0x451c59
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x90]
mov esi, dword [eax + 0x20]
test edx, edx
jne 0x451c30
xor ecx, ecx
jmp 0x451c50
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x74], eax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x451c40
sub ecx, dword [ebp - 0x74]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.00409a50
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 7
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.gpu_ram
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x74], eax
je 0x451cc2
nop word [eax + eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x74]
jb 0x451cb0
mov esi, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
mov ecx, esi
push eax
call fcn.00407070
mov ecx, dword [eax + 4]
mov dword [ebp - 0x9c], ecx
test ecx, ecx
jne 0x451cf1
mov eax, dword [esi + 4]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x451d2b
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x451d21
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x9c]
cmp eax, dword [esi + 4]
je 0x452537
mov ecx, dword [0x4cc424]
cmp dword [ecx - 0xc], 0
je 0x452537
add ecx, 0xfffffff0
call fcn.004064d0
lea edi, [eax + 0x10]
mov dword [ebp - 0x80], edi
mov byte [ebp - 4], 0x68
mov esi, dword [eax + 4]
test esi, esi
js 0x452cbe
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, esi
or eax, ecx
jge 0x451d84
push esi
lea ecx, [ebp - 0x80]
call fcn.004099f0
mov edi, dword [ebp - 0x80]
lea eax, [esi + 1]
push eax
push edi
call fcn.0048614d
add esp, 8
cmp esi, dword [edi - 8]
jg 0x452cbe
xor eax, eax
mov dword [edi - 0xc], esi
mov word [edi + esi*2], ax
cmp dword [edi - 0xc], eax
jl 0x451ffe
push str.INTEL
push edi
call fcn.00476293
add esp, 8
test eax, eax
je 0x451ffe
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
je 0x451ffe
mov byte [ebp - 4], 0x69
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c5f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x6a
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c69
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.TotalPhysicalMemory
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x6b
call fcn.00409810
test al, al
jne 0x451e33
push 0x13
push str.TotalPhysicalMemory
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x6c
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c73
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_ComputerSystem
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x6d
call fcn.00409810
test al, al
jne 0x451e77
push 0x14
push str.Win32_ComputerSystem
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x6e
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451eb4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x451ecf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x72
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x451eeb
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0xc0], 8
jne 0x451ff3
mov edx, dword [ebp - 0xb8]
xorps xmm0, xmm0
mov ecx, edx
movlpd qword [ebp - 0x90], xmm0
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x451f21
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x30]
call fcn.004074a0
sub esp, 8
mov byte [ebp - 4], 0x73
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x198]
push eax
call fcn.00453ac0
mov byte [ebp - 4], 0x75
mov ecx, dword [ebp - 0x1c]
cmp ecx, 7
jbe 0x451f8e
mov edx, dword [ebp - 0x30]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x451f84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452c7d
push ecx
push edx
call fcn.00474a68
add esp, 8
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x198]
call fcn.00453dc0
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + eax - 0x18c]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x451fe8
test cl, 6
jne 0x451fe8
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
shrd ecx, eax, 1
shr eax, 1
push eax
mov eax, dword [ebp - 0x9c]
push ecx
push str._llu
push dword [eax + 0x20]
call fcn.00409d20
add esp, 0x10
lea ecx, [ebp - 0x198]
call fcn.004532a0
lea eax, [ebp - 0xc0]
jmp 0x452512
mov byte [ebp - 4], 0x76
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b51
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 0x77
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c82
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.PNPDeviceID
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x78
call fcn.00409810
test al, al
jne 0x452062
push 0xb
push str.PNPDeviceID
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x79
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c8c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.Win32_VideoController
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x7a
call fcn.00409810
test al, al
jne 0x4520a6
push 0x15
push str.Win32_VideoController
lea ecx, [ebp - 0x7c]
call fcn.00409a50
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x7b
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x7c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4520e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x78]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4520fb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x7f
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x452119
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x28], 8
jne 0x45250f
mov edi, dword [ebp - 0x20]
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452b51
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push edi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x80
call fcn.00409810
test al, al
jne 0x45217a
test edi, edi
jne 0x45215c
xor ecx, ecx
jmp 0x452170
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x452161
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x78]
call fcn.00409a50
mov byte [ebp - 4], 0x81
mov edi, dword [ebp - 0x78]
mov edx, dword [edi - 0xc]
mov dword [ebp - 0x88], edx
test edx, edx
js 0x452cbe
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, edx
or eax, ecx
jge 0x4521b5
push edx
lea ecx, [ebp - 0x78]
call fcn.004099f0
mov edi, dword [ebp - 0x78]
mov edx, dword [ebp - 0x88]
lea eax, [edx + 1]
push eax
push edi
call fcn.004832bb
mov eax, dword [ebp - 0x88]
add esp, 8
cmp eax, dword [edi - 8]
jg 0x452cbe
xor ecx, ecx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], cx
cmp dword [edi - 0xc], ecx
je 0x4524f5
mov byte [ebp - 4], 0x82
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452c96
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x74], 0
mov byte [ebp - 4], 0x84
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452ca0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 0x85
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452caa
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.SYSTEMControlSet001ControlClass4d36e968_e325_11ce_bfc1_08002be10318_
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x86
call fcn.00409810
test al, al
jne 0x452274
push 0x4a
push str.SYSTEMControlSet001ControlClass4d36e968_e325_11ce_bfc1_08002be10318_
lea ecx, [ebp - 0x7c]
call fcn.00409a50
mov byte [ebp - 4], 0x87
xor eax, eax
mov dword [ebp - 0xc4], reloc.OLEAUT32.dll_SysReAllocString
push eax
lea eax, [ebp - 0x88]
push str._04d
push eax
call fcn.00409d20
add esp, 0xc
lea eax, [ebp - 0x88]
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0x8c]
push eax
call fcn.004349b0
add esp, 4
mov byte [ebp - 4], 0x88
lea edx, [ebp - 0xc4]
push str.MatchingDeviceId
push dword [eax]
lea ecx, [ebp - 0xb4]
call fcn.00427e50
add esp, 8
push eax
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x89
call fcn.00409ef0
mov edx, dword [ebp - 0xb4]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4522fd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x87
mov eax, esi
mov edx, dword [ebp - 0x8c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45231e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0xac]
mov edx, dword [esi - 0xc]
mov dword [ebp - 0xa8], edx
test edx, edx
js 0x452cbe
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x45235e
push edx
lea ecx, [ebp - 0xac]
call fcn.004099f0
mov esi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa8]
lea eax, [edx + 1]
push eax
push esi
call fcn.004832bb
mov eax, dword [ebp - 0xa8]
add esp, 8
cmp eax, dword [esi - 8]
jg 0x452cbe
xor ecx, ecx
mov dword [esi - 0xc], eax
mov word [esi + eax*2], cx
cmp dword [esi - 0xc], ecx
je 0x4523a4
cmp dword [edi - 0xc], ecx
jl 0x4523a4
push esi
push edi
call fcn.00476293
add esp, 8
test eax, eax
je 0x4523a4
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
jne 0x4523bd
mov eax, dword [ebp - 0x74]
inc eax
cmp dword [esi - 0xc], 0
mov dword [ebp - 0x74], eax
je 0x4524a2
or esi, 0xffffffff
jmp 0x452284
cmp dword [esi - 0xc], 0
je 0x4524a2
lea eax, [ebp - 0x88]
mov dword [ebp - 0x74], 0
push eax
lea edx, [ebp - 0x7c]
lea ecx, [ebp - 0x8c]
call fcn.004349b0
add esp, 4
lea ecx, [ebp - 0x74]
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 - 0x8c]
or ecx, 0xffffffff
mov dword [ebp - 0xb4], eax
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x452428
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x4524a2
mov dword [ebp - 0xa8], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x8c]
movlpd qword [ebp - 0xb8], xmm0
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x8c], 8
push eax
lea eax, [ebp - 0xa8]
push eax
push 0
push str.HardwareInformation.qwMemorySize
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x4524a2
mov eax, dword [ebp - 0xa8]
cmp eax, 0xb
je 0x452480
cmp eax, 3
jne 0x4524a2
push dword [ebp - 0xb4]
mov eax, dword [ebp - 0x9c]
push dword [ebp - 0xb8]
push str._llu
push dword [eax + 0x20]
call fcn.00409d20
add esp, 0x10
mov edx, dword [ebp - 0x7c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4524bd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x88]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4524db
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4524f5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov eax, esi
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x45250c
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x80]
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [edi - 0x10]
mov byte [ebp - 4], 6
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x452537
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.dsk_mbsec
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x8c], eax
je 0x452595
nop word [eax + eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x8c]
jb 0x452580
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
test esi, esi
jne 0x4525bc
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x4525f6
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4525ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x452871
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452cb4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x9c], eax
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x8a
call fcn.00409810
test al, al
jne 0x45264e
push 0x15
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x9c]
call fcn.00409a50
mov byte [ebp - 4], 0x8b
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452cc8
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x88], eax
push str.DiskBytesPersec
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x8c
call fcn.00409810
test al, al
jne 0x45269b
push 0xf
push str.DiskBytesPersec
lea ecx, [ebp - 0x88]
call fcn.00409a50
mov byte [ebp - 4], 0x8d
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452cd2
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x80], eax
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x8e
call fcn.00409810
test al, al
jne 0x4526df
push 0x27
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x80]
call fcn.00409a50
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x8f
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x80]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45271e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x88]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45273b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x93
mov eax, edi
mov edx, dword [ebp - 0x9c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45275c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x28], 8
jne 0x452863
mov edx, dword [ebp - 0x20]
xorps xmm0, xmm0
mov ecx, edx
movlpd qword [ebp - 0xb8], xmm0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
lea eax, [ecx + 2]
mov dword [ebp - 0x8c], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x452792
sub ecx, dword [ebp - 0x8c]
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x48]
call fcn.004074a0
sub esp, 8
mov byte [ebp - 4], 0x94
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0x198]
push eax
call fcn.00453ac0
mov byte [ebp - 4], 0x96
mov ecx, dword [ebp - 0x34]
cmp ecx, 7
jbe 0x452803
mov edx, dword [ebp - 0x48]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4527f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452cdc
push ecx
push edx
call fcn.00474a68
add esp, 8
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x198]
call fcn.00453dc0
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + eax - 0x18c]
mov eax, ecx
shr eax, 2
test al, 1
jne 0x452858
test cl, 6
jne 0x452858
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xb4]
shrd ecx, eax, 0x17
shr eax, 0x17
push eax
push ecx
push str._llu
push dword [esi + 0x20]
call fcn.00409d20
add esp, 0x10
lea ecx, [ebp - 0x198]
call fcn.004532a0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 6
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 9
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
push str.dsk_iosec
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], 0
movups xmmword [ebp - 0x30], xmm0
call fcn.004074a0
cmp dword [ebp - 0x1c], 7
lea esi, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov edx, 0x811c9dc5
cmova esi, dword [ebp - 0x30]
xor ecx, ecx
add eax, eax
mov dword [ebp - 0x8c], eax
je 0x4528c9
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, dword [ebp - 0x8c]
jb 0x4528b4
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x30]
push edx
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00407070
mov esi, dword [eax + 4]
test esi, esi
jne 0x4528f0
mov eax, dword [ebp - 0x84]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
cmp eax, 7
jbe 0x45292a
mov edx, dword [ebp - 0x30]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x452920
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x452ce1
push ecx
push edx
call fcn.00474a68
add esp, 8
mov eax, dword [ebp - 0x84]
cmp esi, dword [eax + 4]
je 0x452ab2
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452ce6
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x9c], eax
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x97
call fcn.00409810
test al, al
jne 0x452982
push 0x15
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x9c]
call fcn.00409a50
mov byte [ebp - 4], 0x98
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452cf0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x88], eax
push str.DiskTransfersPersec
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x99
call fcn.00409810
test al, al
jne 0x4529cf
push 0x13
push str.DiskTransfersPersec
lea ecx, [ebp - 0x88]
call fcn.00409a50
mov byte [ebp - 4], 0x9a
call fcn.0040a3a0
mov ecx, eax
test ecx, ecx
je 0x452cfa
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x80], eax
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x9b
call fcn.00409810
test al, al
jne 0x452a13
push 0x27
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x80]
call fcn.00409a50
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x9c
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00452d10
mov edx, dword [ebp - 0x80]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x452a52
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x88]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x452a6f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa0
mov edx, dword [ebp - 0x9c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x452a8e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x28], 3
jne 0x452aa8
push dword [ebp - 0x20]
push 0x4b388c
push dword [esi + 0x20]
call fcn.00409d20
add esp, 0xc
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 0xa1
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
je 0x452ad0
mov dword [ebp - 0xa4], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xa2
mov ecx, dword [ebp - 0xb0]
test ecx, ecx
je 0x452aee
mov dword [ebp - 0xb0], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xa3
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x452d04
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x452b1d
mov edx, dword [ecx]
lea eax, [ebp - 0x70]
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
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00474a5a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x8007000e
call fcn.004746f0
push 0x8007000e
call fcn.004746f0
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
call fcn.0047a0cf
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80070057
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
call fcn.0047a0cf
call fcn.0047a0cf
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
push 0x80004005
call fcn.00407590
call fcn.0045bc5c
int3