Function at 0x41ac10
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4bbe73
mov eax, dword fs:[0]
push eax
sub esp, 0x318
mov eax, dword [0x4e44b4]
xor eax, esp
mov dword [esp + 0x310], eax
push ebx
push esi
push edi
mov eax, dword [0x4e44b4]
xor eax, esp
push eax
lea eax, [esp + 0x328]
mov dword fs:[0], eax
sub esp, 0x1c
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xe
mov esi, 7
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.47.89.0.4921.0
mov word [ecx + 4], bx
call fcn.00405680
sub esp, 0x1c
mov dword [esp + 0x368], ebx
mov ecx, esp
mov dword [esp + 0x50], esp
push 0xe
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CurrentVersion
mov byte [ecx + 4], bl
call fcn.00402d90
mov dword [esp + 0x368], 0xffffffff
call fcn.00401b00
add esp, 0x38
cmp dword [0x4e8f68], 1
mov byte [esp + 0x13], al
jne 0x41ad07
call fcn.004722e0
cmp eax, 3
jg 0x41ad07
cmp byte [esp + 0x13], bl
jne 0x41ad07
push 3
push 0x64
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetuppre_installcheck_current_version.cpp
lea ecx, [esp + 0x38]
call fcn.00473160
mov ecx, 1
add eax, 4
push str.Check_failed:_result.
mov dword [esp + 0x334], ecx
push eax
mov dword [esp + 0x1c], ecx
call fcn.004041d0
add esp, 8
mov dword [esp + 0x330], 0xffffffff
test byte [esp + 0x14], 1
je 0x41ad27
and dword [esp + 0x14], 0xfffffffe
lea ecx, [esp + 0x2c]
call fcn.00472c30
push 0xe
push str.47.89.0.4921.0
lea ecx, [esp + 0x100]
mov dword [esp + 0x118], esi
mov dword [esp + 0x114], ebx
mov word [esp + 0x104], bx
call fcn.00405680
mov dword [esp + 0x330], 2
call fcn.0041ab30
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 4
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push str.2052
mov word [ecx + 4], bx
call fcn.00405680
sub esp, 0x1c
mov byte [esp + 0x368], 3
mov ecx, esp
mov dword [esp + 0x54], esp
push edi
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CurrentLanguage
mov byte [ecx + 4], bl
call fcn.00402d90
mov byte [esp + 0x368], 2
call fcn.00401b00
add esp, 0x38
cmp dword [0x4e8f68], 1
mov byte [esp + 0x13], al
jne 0x41ae01
call fcn.004722e0
cmp eax, 3
jg 0x41ae01
cmp byte [esp + 0x13], bl
jne 0x41ae01
push 3
push 0x69
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetuppre_installcheck_current_version.cpp
lea ecx, [esp + 0x38]
call fcn.00473160
add eax, 4
push str.Check_failed:_result.
mov byte [esp + 0x334], 4
or dword [esp + 0x18], 2
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x330], 2
test byte [esp + 0x14], 2
je 0x41ae21
and dword [esp + 0x14], 0xfffffffd
lea ecx, [esp + 0x2c]
call fcn.00472c30
push 4
push str.2052
lea ecx, [esp + 0xc8]
mov dword [esp + 0xe0], esi
mov dword [esp + 0xdc], ebx
mov word [esp + 0xcc], bx
call fcn.00405680
lea ecx, [esp + 0x20]
mov byte [esp + 0x330], 5
call fcn.0047b890
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf0], ebx
mov word [esp + 0xe0], bx
push 0x20019
push str.SoftwareTencentQQ2009
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x33c], 7
call fcn.0047bc30
cmp eax, ebx
jne 0x41af9d
lea eax, [esp + 0xdc]
push eax
push str.version
lea ecx, [esp + 0x28]
call fcn.0047beb0
cmp eax, ebx
je 0x41af9d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
mov esi, 8
push esi
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.ResultOK
mov byte [ecx + 4], bl
call fcn.00402d90
sub esp, 0x1c
mov byte [esp + 0x368], 8
mov ecx, esp
mov dword [esp + 0x54], esp
push 0xb
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CheckResult
mov byte [ecx + 4], bl
call fcn.00402d90
mov byte [esp + 0x368], 7
call fcn.00401980
add esp, 0x38
cmp dword [esp + 0xf4], esi
jb 0x41af28
mov ecx, dword [esp + 0xe0]
push ecx
call fcn.00495fd1
add esp, 4
mov edi, 7
lea ecx, [esp + 0x20]
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf0], ebx
mov word [esp + 0xe0], bx
mov byte [esp + 0x330], 5
call fcn.0047bb30
cmp dword [esp + 0xd8], esi
jb 0x41af6d
mov edx, dword [esp + 0xc4]
push edx
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x110], esi
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], ebx
mov word [esp + 0xc4], bx
jb 0x41b4be
mov eax, dword [esp + 0xfc]
push eax
jmp 0x41b4b6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x100]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push edx
mov word [ecx + 4], bx
call fcn.004031a0
sub esp, 0x1c
mov byte [esp + 0x368], 9
mov ecx, esp
mov dword [esp + 0x54], esp
push 0xa
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.MsiVersion
mov byte [ecx + 4], bl
call fcn.00402d90
mov byte [esp + 0x368], 7
call fcn.00401b00
add esp, 0x38
cmp dword [0x4e8f68], 1
mov byte [esp + 0x13], al
jne 0x41b043
call fcn.004722e0
cmp eax, 3
jg 0x41b043
cmp byte [esp + 0x13], bl
jne 0x41b043
push 3
push 0x7b
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetuppre_installcheck_current_version.cpp
lea ecx, [esp + 0x38]
call fcn.00473160
add eax, 4
push str.Check_failed:_result.
mov byte [esp + 0x334], 0xa
or dword [esp + 0x18], 4
push eax
call fcn.004041d0
add esp, 8
mov dword [esp + 0x330], esi
test byte [esp + 0x14], 4
je 0x41b05f
and dword [esp + 0x14], 0xfffffffb
lea ecx, [esp + 0x2c]
call fcn.00472c30
push 0x206
lea eax, [esp + 0x11a]
push ebx
push eax
mov dword [esp + 0x34], 0x104
mov word [esp + 0x120], bx
call fcn.00499a30
add esp, 0xc
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x118]
push edx
push str.Language
push str.052CFB79_9D62_42E3_8A15_DE66C2C97C3E
call sub.Msi.dll_MsiGetPropertyW
sub esp, 0x1c
test eax, eax
mov ecx, esp
mov dword [esp + 0x34], esp
mov dword [ecx + 0x14], ebx
je 0x41b0f2
mov esi, 8
push esi
mov dword [ecx + 0x18], edi
push str.ResultOK
mov byte [ecx + 4], bl
call fcn.00402d90
sub esp, 0x1c
mov byte [esp + 0x368], 0xb
mov ecx, esp
mov dword [esp + 0x54], esp
push 0xb
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.CheckResult
mov byte [ecx + 4], bl
call fcn.00402d90
jmp 0x41b421
mov dword [ecx + 0x18], esi
lea eax, [esp + 0x130]
mov word [ecx + 4], bx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x41b103
sub eax, esi
sar eax, 1
push eax
lea eax, [esp + 0x134]
push eax
call fcn.00405680
sub esp, 0x1c
mov byte [esp + 0x368], 0xc
mov ecx, esp
mov dword [esp + 0x54], esp
push 0xb
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.MsiLanguage
mov byte [ecx + 4], bl
call fcn.00402d90
mov byte [esp + 0x368], 7
call fcn.00401b00
add esp, 0x38
cmp dword [0x4e8f68], 1
mov byte [esp + 0x13], al
jne 0x41b1ac
call fcn.004722e0
cmp eax, 3
jg 0x41b1ac
cmp byte [esp + 0x13], bl
jne 0x41b1ac
push 3
push 0x84
push str.R:BuildWorkTempQQ1.87HummerPack4921AutoProject_setup3HummerSetuppre_installcheck_current_version.cpp
lea ecx, [esp + 0x38]
call fcn.00473160
add eax, 4
push str.Check_failed:_result.
mov byte [esp + 0x334], 0xd
mov esi, 8
or dword [esp + 0x18], esi
push eax
call fcn.004041d0
add esp, 8
jmp 0x41b1b1
mov esi, 8
mov dword [esp + 0x330], 7
test byte [esp + 0x14], 8
je 0x41b1cc
lea ecx, [esp + 0x2c]
call fcn.00472c30
lea ecx, [esp + 0x14]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
mov dword [0x4edb2c], 1
push 0x17
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.DialogCheckSystemHandle
mov dword [esp + 0x3c], ebx
mov byte [ecx + 4], bl
call fcn.00402d90
call fcn.00401db0
mov ecx, dword [esp + 0x11c]
add esp, 0x20
neg al
sbb eax, eax
and eax, dword [esp + 0x14]
cmp dword [esp + 0x110], esi
mov edi, eax
jae 0x41b226
lea ecx, [esp + 0xfc]
cmp dword [esp + 0xf4], esi
mov eax, dword [esp + 0xe0]
jae 0x41b23d
lea eax, [esp + 0xe0]
call fcn.00404cd0
test eax, eax
lea eax, [esp + 0x114]
lea edx, [eax + 2]
jg 0x41b317
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x41b254
sub eax, edx
sar eax, 1
push eax
mov eax, dword [esp + 0xd8]
lea edx, [esp + 0x118]
push edx
push eax
push ebx
lea ecx, [esp + 0xd0]
call fcn.00411610
test eax, eax
jne 0x41b2b8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.ResultOK
call fcn.00402090
mov byte [esp + 0x34c], 0xe
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push str.CheckResult
call fcn.00402090
jmp 0x41aeff
push 0x44
push edi
mov edx, 0x4cafb0
mov ecx, 0x4ce3b8
call fcn.0043ff40
add esp, 8
sub esp, 0x1c
cmp eax, 6
mov ecx, esp
mov dword [esp + 0x34], esp
jne 0x41b2ef
push str.ResultOK
call fcn.00402090
mov byte [esp + 0x34c], 0xf
jmp 0x41b2a0
push str.ResultCancel
mov dword [0x4edad8], 2
mov dword [0x4edadc], 1
call fcn.00402090
mov byte [esp + 0x34c], 0x10
jmp 0x41b2a0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x41b317
sub eax, edx
mov edx, dword [esp + 0xd4]
sar eax, 1
push eax
lea ecx, [esp + 0x118]
push ecx
push edx
push ebx
lea ecx, [esp + 0xd0]
call fcn.00411610
test eax, eax
push 0x44
mov edx, 0x4cafb0
push edi
jne 0x41b3b9
mov ecx, 0x4ce414
call fcn.0043ff40
add esp, 8
sub esp, 0x1c
cmp eax, 6
mov ecx, esp
mov dword [esp + 0x34], esp
jne 0x41b38c
push str.ResultOK
mov dword [0x4edb30], 1
call fcn.00402090
mov byte [esp + 0x34c], 0x11
jmp 0x41b40e
mov eax, 2
push str.ResultCancel
mov dword [0x4edad8], eax
mov dword [0x4edadc], 1
mov dword [0x4edb30], eax
call fcn.00402090
mov byte [esp + 0x34c], 0x12
jmp 0x41b40e
mov ecx, 0x4ce450
call fcn.0043ff40
add esp, 8
sub esp, 0x1c
cmp eax, 6
mov ecx, esp
mov dword [esp + 0x34], esp
jne 0x41b3e8
push str.ResultOK
call fcn.00402090
mov byte [esp + 0x34c], 0x13
jmp 0x41b40e
push str.ResultCancel
mov dword [0x4edad8], 2
mov dword [0x4edadc], 1
call fcn.00402090
mov byte [esp + 0x34c], 0x14
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push str.CheckResult
call fcn.00402090
mov byte [esp + 0x368], 7
call fcn.00401980
add esp, 0x38
cmp dword [esp + 0xf4], esi
jb 0x41b44a
mov eax, dword [esp + 0xe0]
push eax
call fcn.00495fd1
add esp, 4
mov edi, 7
lea ecx, [esp + 0x20]
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf0], ebx
mov word [esp + 0xe0], bx
mov byte [esp + 0x330], 5
call fcn.0047bb30
cmp dword [esp + 0xd8], esi
jb 0x41b48f
mov ecx, dword [esp + 0xc4]
push ecx
call fcn.00495fd1
add esp, 4
cmp dword [esp + 0x110], esi
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], ebx
mov word [esp + 0xc4], bx
jb 0x41b4be
mov edx, dword [esp + 0xfc]
push edx
call fcn.00495fd1
add esp, 4
mov ecx, dword [esp + 0x328]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x310]
xor ecx, esp
call fcn.00495cb8
mov esp, ebp
pop ebp
ret 4