Function at 0x6a1ce8
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x6a2649
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x6a262e
mov eax, dword [ebp - 4]
call fcn.006a3148
xor eax, eax
push ebp
push 0x6a261c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.006a3110
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x54]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
xor eax, eax
push ebp
push 0x6a25ff
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x6a1e67
mov eax, dword [ebp - 4]
call fcn.006a3914
cmp dword [eax + 8], 0
jle 0x6a1dd7
mov eax, dword [ebp - 4]
call fcn.006a3914
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
mov edi, eax
dec edi
test edi, edi
jl 0x6a1e67
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x6a1e63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x58]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
inc ebx
dec edi
jne 0x6a1dec
test byte [ebp - 5], 4
je 0x6a2076
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
mov edi, eax
dec edi
test edi, edi
jl 0x6a1f51
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.0069c34c
test al, al
je 0x6a1f49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x34]
call fcn.0069eb10
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.006a1cd0
test al, al
jne 0x6a1f49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0069eab0
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x5c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
inc ebx
dec edi
jne 0x6a1e8a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
mov edi, eax
sub edi, 2
test edi, edi
jl 0x6a2086
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
cmp dword [eax + 0x34], 0
je 0x6a206c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x34]
call fcn.0069ec18
add al, 0xfe
sub al, 2
jae 0x6a206c
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0069f9c4
call fcn.0069c34c
test al, al
jne 0x6a206c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
lea edx, [ebp - 0x20]
call fcn.0069bf54
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0069f9c4
lea edx, [ebp - 0x30]
call fcn.0069bf54
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x20]
lea eax, [ebp - 0x40]
call fcn.00411470
test al, al
je 0x6a206c
lea edx, [ebp - 0x30]
lea eax, [ebp - 0x40]
call fcn.00411404
test al, al
je 0x6a2023
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0069ec28
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x60]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
inc ebx
dec edi
jne 0x6a1f6c
jmp 0x6a2086
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x6a2159
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x6a2167
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x6a20b0
dec esi
test esi, esi
jle 0x6a20e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0069f9c4
cmp dword [eax + 0x34], 0
je 0x6a20e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0069f9c4
mov eax, dword [eax + 0x34]
call fcn.0069ec18
cmp al, 3
je 0x6a20af
test esi, esi
jl 0x6a2105
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0069f9c4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
pop edx
call fcn.0069e0b8
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x64]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
dec ebx
test ebx, ebx
jne 0x6a20a7
jmp 0x6a2167
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x6a231a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x6a22d1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x30]
call fcn.00691e18
mov esi, eax
dec esi
cmp esi, 0
jl 0x6a2286
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0069af04
mov edx, dword [0x68e968]
call fcn.00408260
test al, al
jne 0x6a2265
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0069af04
mov edx, dword [0x68e570]
call fcn.00408260
test al, al
jne 0x6a2265
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0069af04
mov edx, dword [0x68f1ac]
call fcn.00408260
test al, al
jne 0x6a2265
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0069af04
mov edx, dword [0x68f34c]
call fcn.00408260
test al, al
je 0x6a227c
test ebx, ebx
jg 0x6a2265
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
dec eax
jne 0x6a227c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.00691e60
dec esi
cmp esi, 0xffffffff
jne 0x6a21b7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.0069b228
test al, al
je 0x6a22c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x30]
call fcn.00691e18
test eax, eax
jne 0x6a22c7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.00407f90
dec ebx
cmp ebx, 0xffffffff
jne 0x6a2196
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x68]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
test byte [ebp - 5], 1
je 0x6a2461
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x6a246f
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.0069b228
test al, al
jne 0x6a2455
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.0069c34c
test al, al
je 0x6a2455
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x34]
call fcn.0069ebec
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.0069dd04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.0069b228
test al, al
je 0x6a240c
test ebx, ebx
jle 0x6a23ff
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0069f9c4
call fcn.0069c34c
test al, al
je 0x6a23ff
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0069f9c4
mov eax, dword [eax + 0x34]
call fcn.0069ebec
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0069f9c4
mov eax, dword [eax + 0x34]
pop edx
call fcn.0069ebf4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00691e60
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x6c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
dec ebx
cmp ebx, 0xffffffff
jne 0x6a233b
jmp 0x6a246f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x6a25a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x6a255c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
cmp dword [eax + 0x34], 0
je 0x6a2511
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.0069ebec
test ax, ax
je 0x6a24db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
dec eax
jne 0x6a2511
mov eax, esi
call fcn.0069eaa4
test al, al
jne 0x6a2511
mov eax, esi
call fcn.0069ebfc
test al, al
jne 0x6a2511
mov eax, esi
call fcn.0069ec18
sub al, 2
jb 0x6a250a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00691e18
dec eax
jne 0x6a2511
mov eax, esi
call fcn.00407f90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.0069b228
test al, al
je 0x6a2552
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
mov eax, dword [eax + 0x30]
call fcn.00691e18
test eax, eax
jne 0x6a2552
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0069f9c4
call fcn.00407f90
dec ebx
cmp ebx, 0xffffffff
jne 0x6a249e
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.KERNEL32.DLL_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x70]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6a2606
call fcn.00406b48
test eax, eax
jne 0x6a25c2
mov ebx, 0x64
jmp 0x6a25c4
xor ebx, ebx
push ebx
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00411428
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x7740dc]
call fcn.0040dfc8
mov eax, dword [ebp - 0x74]
push eax
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call fcn.0040834c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6a2650
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00409dac
ret