Function at 0x64bfa4
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x64c663
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.0064ccac
cmp eax, 7
jne 0x64c648
xor ecx, ecx
push ebp
push 0x64c63e
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp - 4]
mov dword [eax + 0x1730], 0
mov dword [eax + 0x1734], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x16bd], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x16b0], 0
jne 0x64c14d
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x461cc4]
call fcn.004647cc
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x16b0], ebx
mov eax, ebx
mov edx, 0x8000000f
call fcn.0044b0c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
xor edx, edx
call fcn.00465f24
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
mov byte [eax + 0x231], 0
xor edx, edx
call fcn.004665ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
mov edx, 0xa
call fcn.0044a660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
mov edx, 0xa
call fcn.0044a684
mov eax, 0x1a4
call fcn.00651abc
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.0044a6ac
mov eax, 0x64
call fcn.00651abc
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.0044a6d0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x16b0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x490]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x490]
mov dl, 5
call fcn.0044a404
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x490]
mov dl, 1
call fcn.0044ae44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x338]
call fcn.00479ab8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a0]
call fcn.00479ab8
pop edx
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x49c]
mov eax, dword [eax + 0x68]
call fcn.006530ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x68]
call fcn.006530ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x494]
mov eax, dword [eax + 0x68]
call fcn.006530ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
xor edx, edx
call fcn.005e096c
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x55]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [ebp - 0xc]
call fcn.005cdd04
mov esi, dword [ebp - 0x55]
add esi, dword [ebp - 0x4d]
sar esi, 1
jns 0x64c181
adc esi, 0
mov eax, dword [ebp - 0x49]
mov dword [ebp - 0x10], eax
mov edi, esi
mov ebx, dword [ebp - 0x51]
add ebx, eax
sar ebx, 1
jns 0x64c195
adc ebx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, edi
call fcn.005b372c
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x40]
mov edi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.005b38d0
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x44]
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 0x55]
call fcn.00651f54
mov dword [ebp - 0x1c], eax
mov edx, ebx
mov eax, edi
call fcn.00651f54
mov ebx, eax
cmp ebx, dword [ebp - 0x1c]
je 0x64c202
call fcn.00651fe8
cmp eax, dword [ebp - 0x1c]
jne 0x64c1f1
mov edi, dword [ebp - 0x1c]
jmp 0x64c214
cmp eax, ebx
jne 0x64c1f9
mov edi, ebx
jmp 0x64c214
call fcn.00651fe8
mov edi, eax
jmp 0x64c214
cmp dword [ebp - 0x1c], 0
jle 0x64c20d
mov edi, dword [ebp - 0x1c]
jmp 0x64c214
call fcn.00651fe8
mov edi, eax
mov ebx, dword [ebp - 0x51]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, esi
call fcn.005b372c
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [ebp - 0x10]
call fcn.005b38d0
push eax
mov eax, 0xa
call fcn.00651abc
pop edx
add edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, ebx
call fcn.005b38d0
mov ebx, eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x40]
add edx, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
mov ecx, dword [eax + 0x48]
sar ecx, 1
jns 0x64c278
adc ecx, 0
sub edx, ecx
call fcn.0044a660
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x44]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.0044a684
test edi, edi
jl 0x64c34a
mov eax, dword [0x671858]
mov eax, dword [eax]
call fcn.00469b9c
dec eax
cmp edi, eax
jg 0x64c34a
mov eax, dword [0x671858]
mov eax, dword [eax]
mov edx, edi
call fcn.00469b88
lea edx, [ebp - 0x35]
call fcn.004698c0
lea edx, [ebp - 0x45]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.0044a8b8
mov eax, dword [ebp - 0x39]
cmp eax, dword [ebp - 0x29]
jle 0x64c309
mov eax, 0x3c
call fcn.00651abc
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x44]
add edx, ebx
mov ecx, dword [ebp - 4]
mov esi, dword [ecx + 0x16b0]
sub edx, dword [esi + 0x4c]
sub edx, eax
mov eax, esi
call fcn.0044a684
mov eax, 8
call fcn.00651abc
mov ebx, eax
mov edx, dword [ebp - 0x2d]
sub edx, ebx
cmp edx, dword [ebp - 0x3d]
jge 0x64c330
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
sub edx, dword [eax + 0x48]
call fcn.0044a660
mov eax, dword [ebp - 0x35]
add eax, ebx
cmp eax, dword [ebp - 0x45]
jle 0x64c34a
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.0044a660
mov eax, dword [ebp - 4]
call fcn.00451704
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.00451704
pop edx
call fcn.00651bc0
push 0x88
push 0xffffffffffffffec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.00451704
push eax
call sub.user32.dll_SetWindowLongA
push 0x253
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x16b0]
mov eax, dword [ebx + 0x4c]
push eax
mov eax, dword [ebx + 0x48]
push eax
mov eax, dword [ebx + 0x44]
push eax
mov eax, dword [ebx + 0x40]
push eax
push 0xffffffffffffffff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.00451704
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
mov dword [eax + 0xc], 0x53557a7
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x4a0]
sub eax, dword [edx + 0x48]
sub eax, 4
xchg edx, eax
call fcn.0044a660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a0]
mov edx, 1
call fcn.0044a684
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x494]
mov edx, dword [eax + 0x4c]
sub edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4a0]
call fcn.0044a6d0
lea ecx, [ebp - 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
mov edx, dword [ebp - 0xc]
call fcn.005ccbd8
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x49c]
mov eax, dword [eax + 0x230]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
xor eax, eax
push ebp
push 0x64c47d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x68]
call fcn.00429794
cmp eax, 8
jle 0x64c473
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5dc]
mov eax, dword [eax + 0x68]
mov edx, 8
call fcn.004297b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c487
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.00468ad4
xor eax, eax
push ebp
push 0x64c4ea
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 5], 0
je 0x64c4b9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x49c]
call fcn.00438c6c
jmp 0x64c4e0
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x49c]
mov eax, ebx
call fcn.0049d87c
mov eax, dword [ebp - 0x60]
call fcn.004054c8
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0xf4]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c4f4
xor eax, eax
push ebp
push 0x64c520
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.00451704
push eax
call sub.user32.dll_SetForegroundWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c52a
xor eax, eax
push ebp
push 0x64c5fa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.00451704
call fcn.0065374c
test al, al
jne 0x64c5f0
xor eax, eax
push ebp
push 0x64c57e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.00451704
call fcn.00651cf0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c588
xor eax, eax
push ebp
push 0x64c5b0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6712e4]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_SetForegroundWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c5ba
xor eax, eax
push ebp
push 0x64c5e6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x16b0]
call fcn.00451704
push eax
call sub.user32.dll_SetForegroundWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c5f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c604
xor eax, eax
push ebp
push 0x64c62a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x49c]
call fcn.00651d44
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c634
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x64c648
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x64c66a
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.0040527c
ret