Function at 0x448bc0
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 0x494850
mov eax, dword fs:[0]
push eax
sub esp, 0x178
mov eax, dword [0x4b4180]
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 0x44adc8
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x44adc8
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.00450430
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x48], eax
test ecx, ecx
je 0x448c78
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 0x44ad99
mov dword [ebp - 0xb0], 0
lea eax, [ebp - 0xb0]
push eax
push 0x4974a0
push 1
push 0
push 0x4974b0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x44ad7b
mov dword [ebp - 0xa8], 0
mov byte [ebp - 4], 4
mov edi, dword [ebp - 0xb0]
push 0xc
call fcn.0046baaa
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
mov byte [ebp - 4], 5
test esi, esi
je 0x448d1c
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 0x44ade6
jmp 0x448d1e
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0x80], esi
test esi, esi
je 0x44adf0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x448d4b
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 0x448dae
mov ecx, dword [esi]
test ecx, ecx
je 0x448d8c
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x448da3
push eax
call fcn.0046bbf8
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0046b748
add esp, 8
test edi, edi
js 0x44ad5d
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 0x44ad5d
lea eax, [ebp - 0xa8]
push str.os_architecture
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0xa0], eax
call fcn.00430f10
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 0x448e24
mov ebx, eax
nop
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x448e10
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.00450f30
mov eax, dword [eax + 4]
mov dword [ebp - 0xac], eax
test eax, eax
jne 0x448e53
mov eax, dword [esi + 4]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x448e8a
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x448e80
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edi
call fcn.0046b748
add esp, 8
mov edi, dword [ebp - 0xac]
cmp edi, dword [esi + 4]
je 0x448feb
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44adfa
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.004029f0
test al, al
jne 0x448ed7
push 0xe
push str.OSArchitecture
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 8
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae04
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.004029f0
test al, al
jne 0x448f19
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0xa
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae0e
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.0044afd0
mov byte [ebp - 4], 0xd
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x448f71
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 0x448f8f
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 0x448fad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x3c], 8
jne 0x448fdd
mov edx, dword [ebp - 0x34]
test edx, edx
jne 0x448fbf
xor ecx, ecx
jmp 0x448fd3
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x448fc4
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x449025
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x449014
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
test edi, edi
jne 0x449048
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x449082
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x449078
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x4491ea
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae18
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.004029f0
test al, al
jne 0x4490c9
push 0xb
push str.InstallDate
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x11
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae22
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.004029f0
test al, al
jne 0x44910b
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x13
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae2c
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.0044afd0
mov byte [ebp - 4], 0x16
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x449166
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 0x449184
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 0x4491a2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x4491d9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x4491ba
xor ecx, ecx
jmp 0x4491cf
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4491c0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x449224
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x449213
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
test edi, edi
jne 0x449247
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x449281
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x449277
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x4493ea
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae36
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.004029f0
test al, al
jne 0x4492c8
push 7
push str.Caption
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x1a
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae40
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.004029f0
test al, al
jne 0x44930a
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x1c
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae4a
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.0044afd0
mov byte [ebp - 4], 0x1f
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x449365
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 0x449383
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 0x4493a1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x4493d9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x4493b9
xor ecx, ecx
jmp 0x4493cf
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4493c0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x449424
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x449413
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
test edi, edi
jne 0x449447
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x449481
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x449477
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x4495ea
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae54
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.004029f0
test al, al
jne 0x4494c8
push 0x16
push str.TotalVirtualMemorySize
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x23
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae5e
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.004029f0
test al, al
jne 0x44950a
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x25
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae68
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.0044afd0
mov byte [ebp - 4], 0x28
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x449565
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 0x449583
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 0x4495a1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x4495d9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x4495b9
xor ecx, ecx
jmp 0x4495cf
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4495c0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x449624
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x449613
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
test edi, edi
jne 0x449647
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x449681
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x449677
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x4497ea
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae72
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.004029f0
test al, al
jne 0x4496c8
push 0x16
push str.TotalVisibleMemorySize
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x2c
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae7c
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.004029f0
test al, al
jne 0x44970a
push 0x15
push str.Win32_OperatingSystem
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x2e
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae86
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.0044afd0
mov byte [ebp - 4], 0x31
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x449765
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 0x449783
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 0x4497a1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x4497d9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x4497b9
xor ecx, ecx
jmp 0x4497cf
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4497c0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x449824
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x449813
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
test edi, edi
jne 0x449847
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x449881
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x449877
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x4499ea
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae90
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.004029f0
test al, al
jne 0x4498c8
push 4
push str.Name
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x35
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44ae9a
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.004029f0
test al, al
jne 0x44990a
push 0xf
push str.Win32_Processor
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x37
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aea4
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.0044afd0
mov byte [ebp - 4], 0x3a
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x449965
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 0x449983
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 0x4499a1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x4499d9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x4499b9
xor ecx, ecx
jmp 0x4499cf
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4499c0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x449a24
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x449a13
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
test edi, edi
jne 0x449a47
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x449a81
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x449a77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x449bea
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aeae
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.004029f0
test al, al
jne 0x449ac8
push 6
push str.Vendor
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x3e
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aeb8
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.004029f0
test al, al
jne 0x449b0a
push 0x1b
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x40
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aec2
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.0044afd0
mov byte [ebp - 4], 0x43
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x449b65
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 0x449b83
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 0x449ba1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x449bd9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x449bb9
xor ecx, ecx
jmp 0x449bcf
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449bc0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x449c24
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x449c13
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
test edi, edi
jne 0x449c47
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x449c81
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x449c77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x449dea
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aecc
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.004029f0
test al, al
jne 0x449cc8
push 7
push str.Version
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x47
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aed6
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.004029f0
test al, al
jne 0x449d0a
push 0x1b
push str.Win32_ComputerSystemProduct
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x49
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aee0
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.0044afd0
mov byte [ebp - 4], 0x4c
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x449d65
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 0x449d83
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 0x449da1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x449dd9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x449db9
xor ecx, ecx
jmp 0x449dcf
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449dc0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x449e24
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x449e13
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
test edi, edi
jne 0x449e47
mov edi, dword [esi + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x449e81
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x449e77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x449fea
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aeea
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.004029f0
test al, al
jne 0x449ec8
push 4
push str.Name
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x50
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aef4
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.004029f0
test al, al
jne 0x449f0a
push 0x15
push str.Win32_VideoController
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x52
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44aefe
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.0044afd0
mov byte [ebp - 4], 0x55
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x449f65
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 0x449f83
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 0x449fa1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x8c], 8
jne 0x449fd9
mov edx, dword [ebp - 0x84]
test edx, edx
jne 0x449fb9
xor ecx, ecx
jmp 0x449fcf
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x449fc0
sub ecx, esi
sar ecx, 1
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00402d20
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.00430f10
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 0x44a024
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x44a013
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
call fcn.00450f30
mov edi, dword [eax + 4]
mov dword [ebp - 0xac], edi
test edi, edi
jne 0x44a053
mov edi, dword [esi + 4]
mov dword [ebp - 0xac], edi
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44a08d
mov edx, dword [ebp - 0x2c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44a083
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edx
call fcn.0046b748
add esp, 8
cmp edi, dword [esi + 4]
je 0x44a82f
mov ecx, dword [0x4b9904]
cmp dword [ecx - 0xc], 0
je 0x44a82f
add ecx, 0xfffffff0
call fcn.00402bd0
lea esi, [eax + 0x10]
mov dword [ebp - 0x9c], esi
mov byte [ebp - 4], 0x58
mov edi, dword [eax + 4]
test edi, edi
js 0x44af7b
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, edi
or eax, ecx
jge 0x44a0e9
push edi
lea ecx, [ebp - 0x9c]
call fcn.00402cc0
mov esi, dword [ebp - 0x9c]
lea eax, [edi + 1]
push eax
push esi
call fcn.0047ae25
add esp, 8
cmp edi, dword [esi - 8]
jg 0x44af7b
xor eax, eax
mov dword [esi - 0xc], edi
mov word [esi + edi*2], ax
cmp dword [esi - 0xc], eax
jl 0x44a327
push str.INTEL
push esi
call fcn.0046cf83
add esp, 8
test eax, eax
je 0x44a327
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
je 0x44a327
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af08
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.004029f0
test al, al
jne 0x44a172
push 0x13
push str.TotalPhysicalMemory
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x5a
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af12
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.004029f0
test al, al
jne 0x44a1b4
push 0x14
push str.Win32_ComputerSystem
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x5c
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af1c
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.0044afd0
mov byte [ebp - 4], 0x5f
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x44a20c
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 0x44a22a
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 0x44a248
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x3c], 8
jne 0x44a31f
push dword [ebp - 0x34]
xorps xmm0, xmm0
lea ecx, [ebp - 0x2c]
movlpd qword [ebp - 0x84], xmm0
call fcn.00430f10
sub esp, 8
mov byte [ebp - 4], 0x62
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x184]
push eax
call fcn.0044bdb0
mov byte [ebp - 4], 0x64
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x44a2bd
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44a2b3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af26
push ecx
push edx
call fcn.0046b748
add esp, 8
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x184]
call fcn.0044c0b0
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 0x44a314
test cl, 6
jne 0x44a314
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.00402f90
add esp, 0x10
lea ecx, [ebp - 0x184]
call fcn.0044b580
lea eax, [ebp - 0x3c]
jmp 0x44a80d
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af2b
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.004029f0
test al, al
jne 0x44a365
push 0xb
push str.PNPDeviceID
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x66
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af35
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.004029f0
test al, al
jne 0x44a3a7
push 0x15
push str.Win32_VideoController
lea ecx, [ebp - 0x74]
call fcn.00402d20
mov byte [ebp - 4], 0x68
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af3f
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.0044afd0
mov byte [ebp - 4], 0x6b
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x44a3ff
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 0x44a41d
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 0x44a43b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x24], 8
jne 0x44a80a
mov edi, dword [ebp - 0x1c]
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af49
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.004029f0
test al, al
jne 0x44a49a
test edi, edi
jne 0x44a47c
xor ecx, ecx
jmp 0x44a490
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44a481
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x70]
call fcn.00402d20
mov byte [ebp - 4], 0x6f
mov edi, dword [ebp - 0x70]
mov edx, dword [edi - 0xc]
mov dword [ebp - 0xa4], edx
test edx, edx
js 0x44af7b
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, edx
or eax, ecx
jge 0x44a4d5
push edx
lea ecx, [ebp - 0x70]
call fcn.00402cc0
mov edi, dword [ebp - 0x70]
mov edx, dword [ebp - 0xa4]
lea eax, [edx + 1]
push eax
push edi
call fcn.00479b3e
mov eax, dword [ebp - 0xa4]
add esp, 8
cmp eax, dword [edi - 8]
jg 0x44af7b
xor ecx, ecx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], cx
cmp dword [edi - 0xc], ecx
je 0x44a7ef
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af53
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.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af5d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 0x71
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af67
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.004029f0
test al, al
jne 0x44a58b
push 0x4a
push str.SYSTEMControlSet001ControlClass4d36e968_e325_11ce_bfc1_08002be10318_
lea ecx, [ebp - 0x74]
call fcn.00402d20
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.00402f90
add esp, 0xc
lea eax, [ebp - 0x98]
lea edx, [ebp - 0x74]
lea ecx, [ebp - 0x80]
push eax
call fcn.0042dae0
add esp, 4
mov byte [ebp - 4], 0x74
lea edx, [ebp - 0x78]
push str.MatchingDeviceId
push dword [eax]
lea ecx, [ebp - 0x30]
call fcn.00422630
add esp, 8
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x75
call fcn.004031d0
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 0x44a611
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 0x44a62f
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 0x44af7b
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, ebx
or eax, ecx
jge 0x44a663
push ebx
lea ecx, [ebp - 0x94]
call fcn.00402cc0
mov esi, dword [ebp - 0x94]
lea eax, [ebx + 1]
push eax
push esi
call fcn.00479b3e
add esp, 8
cmp ebx, dword [esi - 8]
jg 0x44af7b
xor eax, eax
mov dword [esi - 0xc], ebx
mov word [esi + ebx*2], ax
cmp dword [esi - 0xc], eax
je 0x44a6a3
cmp dword [edi - 0xc], eax
jl 0x44a6a3
push esi
push edi
call fcn.0046cf83
add esp, 8
test eax, eax
je 0x44a6a3
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
jne 0x44a6c1
inc dword [ebp - 0xa4]
or ebx, 0xffffffff
cmp dword [esi - 0xc], 0
je 0x44a78f
mov esi, dword [ebp - 0xa4]
jmp 0x44a5a0
cmp dword [esi - 0xc], 0
je 0x44a78c
lea eax, [ebp - 0x98]
mov dword [ebp - 0xa4], 0
push eax
lea edx, [ebp - 0x74]
lea ecx, [ebp - 0x80]
call fcn.0042dae0
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 0x44a728
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x44a78f
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 0x44a78f
mov eax, dword [ebp - 0x78]
cmp eax, 0xb
je 0x44a76e
cmp eax, 3
jne 0x44a78f
push dword [ebp - 0x30]
mov eax, dword [ebp - 0xac]
push dword [ebp - 0x34]
push str._llu
push dword [eax + 0x20]
call fcn.00402f90
add esp, 0x10
jmp 0x44a78f
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 0x44a7ad
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 0x44a7ce
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 0x44a7e9
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 0x44a80a
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 0x44a82f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
push str.dsk_mbsec
lea ecx, [ebp - 0x2c]
call fcn.00430f10
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 0x44a874
mov ebx, eax
nop dword [eax]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x44a860
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.00450f30
mov eax, dword [eax + 4]
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x44a89d
mov eax, dword [esi + 4]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44a8d4
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x44a8ca
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edi
call fcn.0046b748
add esp, 8
mov edi, dword [ebp - 0x78]
cmp edi, dword [esi + 4]
je 0x44ab28
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af71
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.004029f0
test al, al
jne 0x44a927
push 0x15
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x94]
call fcn.00402d20
mov byte [ebp - 4], 0x77
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af85
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.004029f0
test al, al
jne 0x44a972
push 0xf
push str.DiskBytesPersec
lea ecx, [ebp - 0x98]
call fcn.00402d20
mov byte [ebp - 4], 0x79
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44af8f
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.004029f0
test al, al
jne 0x44a9bd
push 0x27
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x9c]
call fcn.00402d20
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.0044afd0
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 0x44aa06
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 0x44aa27
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 0x44aa48
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x24], 8
jne 0x44ab1a
push dword [ebp - 0x1c]
xorps xmm0, xmm0
lea ecx, [ebp - 0x44]
movlpd qword [ebp - 0x84], xmm0
call fcn.00430f10
sub esp, 8
mov byte [ebp - 4], 0x80
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x184]
push eax
call fcn.0044bdb0
mov byte [ebp - 4], 0x82
mov ecx, dword [ebp - 0x30]
cmp ecx, 7
jbe 0x44aabd
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x44aab3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af99
push ecx
push edx
call fcn.0046b748
add esp, 8
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x184]
call fcn.0044c0b0
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 0x44ab0f
test cl, 6
jne 0x44ab0f
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.00402f90
add esp, 0x10
lea ecx, [ebp - 0x184]
call fcn.0044b580
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.00430f10
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 0x44ab66
mov ebx, eax
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x44ab52
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x2c]
push edx
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00450f30
mov esi, dword [eax + 4]
test esi, esi
jne 0x44ab8d
mov eax, dword [ebp - 0x90]
mov esi, dword [eax + 4]
mov eax, dword [ebp - 0x18]
cmp eax, 7
jbe 0x44abc4
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x44abba
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44af9e
push ecx
push edi
call fcn.0046b748
add esp, 8
mov eax, dword [ebp - 0x90]
cmp esi, dword [eax + 4]
je 0x44ad5d
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44afa3
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.004029f0
test al, al
jne 0x44ac1a
push 0x15
push str.WHERE_Name____Total_
lea ecx, [ebp - 0x94]
call fcn.00402d20
mov byte [ebp - 4], 0x84
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44afad
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.004029f0
test al, al
jne 0x44ac65
push 0x13
push str.DiskTransfersPersec
lea ecx, [ebp - 0x98]
call fcn.00402d20
mov byte [ebp - 4], 0x86
call fcn.004038b0
mov ecx, eax
test ecx, ecx
je 0x44afb7
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.004029f0
test al, al
jne 0x44acb0
push 0x27
push str.Win32_PerfRawData_PerfDisk_PhysicalDisk
lea ecx, [ebp - 0x9c]
call fcn.00402d20
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.0044afd0
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 0x44acf9
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 0x44ad1a
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 0x44ad39
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp word [ebp - 0x24], 3
jne 0x44ad53
push dword [ebp - 0x1c]
push 0x4a4b28
push dword [esi + 0x20]
call fcn.00402f90
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 0x44ad7b
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 0x44ad99
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 0x44afc1
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x44adc8
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.0046b73a
mov esp, ebp
pop ebp
ret 4
push 0x8007000e
call fcn.0046b3d0
push 0x8007000e
call fcn.0046b3d0
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
call fcn.00470dbf
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80070057
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
call fcn.00470dbf
call fcn.00470dbf
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
push 0x80004005
call fcn.00403680
call fcn.00453d7e
int3