Function at 0x4ebf54
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 0x4ec8ba
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 0x4ec89f
mov eax, dword [ebp - 4]
call fcn.004ed3a4
xor eax, eax
push ebp
push 0x4ec88d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004ed374
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
xor eax, eax
push ebp
push 0x4ec870
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.004dc3b8
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x4ec0d3
mov eax, dword [ebp - 4]
call fcn.004edb70
cmp dword [eax + 8], 0
jle 0x4ec043
mov eax, dword [ebp - 4]
call fcn.004edb70
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
mov edi, eax
dec edi
test edi, edi
jl 0x4ec0d3
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x4ec0cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
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.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
inc ebx
dec edi
jne 0x4ec058
test byte [ebp - 5], 4
je 0x4ec2e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
mov edi, eax
dec edi
test edi, edi
jl 0x4ec1bd
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.004e6618
test al, al
je 0x4ec1b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x34]
call fcn.004e8de4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.004ebf3c
test al, al
jne 0x4ec1b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004e8d84
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.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
inc ebx
dec edi
jne 0x4ec0f6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
mov edi, eax
sub edi, 2
test edi, edi
jl 0x4ec2f7
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
cmp dword [eax + 0x34], 0
je 0x4ec2dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x34]
call fcn.004e8eec
add al, 0xfe
sub al, 2
jae 0x4ec2dd
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e9c8c
call fcn.004e6618
test al, al
jne 0x4ec2dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
lea edx, [ebp - 0x20]
call fcn.004e62d8
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e9c8c
lea edx, [ebp - 0x30]
call fcn.004e62d8
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.user32.dll_IntersectRect
test eax, eax
je 0x4ec2dd
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.user32.dll_EqualRect
test eax, eax
je 0x4ec294
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004e8efc
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.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
inc ebx
dec edi
jne 0x4ec1d8
jmp 0x4ec2f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x4ec3ca
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x4ec3d8
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x4ec321
dec esi
test esi, esi
jle 0x4ec351
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004e9c8c
cmp dword [eax + 0x34], 0
je 0x4ec351
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004e9c8c
mov eax, dword [eax + 0x34]
call fcn.004e8eec
cmp al, 3
je 0x4ec320
test esi, esi
jl 0x4ec376
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004e9c8c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
pop edx
call fcn.004e8398
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.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
dec ebx
test ebx, ebx
jne 0x4ec318
jmp 0x4ec3d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x4ec58b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4ec542
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
mov esi, eax
dec esi
cmp esi, 0
jl 0x4ec4f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004e5290
mov edx, dword [0x4d90bc]
call fcn.004050f8
test al, al
jne 0x4ec4d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004e5290
mov edx, dword [0x4d8c18]
call fcn.004050f8
test al, al
jne 0x4ec4d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004e5290
mov edx, dword [0x4d98d4]
call fcn.004050f8
test al, al
jne 0x4ec4d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004e5290
mov edx, dword [0x4d9a60]
call fcn.004050f8
test al, al
je 0x4ec4ed
test ebx, ebx
jg 0x4ec4d6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
dec eax
jne 0x4ec4ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004dc400
dec esi
cmp esi, 0xffffffff
jne 0x4ec428
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.004e55ac
test al, al
je 0x4ec538
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
test eax, eax
jne 0x4ec538
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.00404edc
dec ebx
cmp ebx, 0xffffffff
jne 0x4ec407
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.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
test byte [ebp - 5], 1
je 0x4ec6d2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4ec6e0
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.004e55ac
test al, al
jne 0x4ec6c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.004e6618
test al, al
je 0x4ec6c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x34]
call fcn.004e8ec0
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.004e7fe0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.004e55ac
test al, al
je 0x4ec67d
test ebx, ebx
jle 0x4ec670
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e9c8c
call fcn.004e6618
test al, al
je 0x4ec670
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e9c8c
mov eax, dword [eax + 0x34]
call fcn.004e8ec0
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e9c8c
mov eax, dword [eax + 0x34]
pop edx
call fcn.004e8ec8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004dc400
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.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
dec ebx
cmp ebx, 0xffffffff
jne 0x4ec5ac
jmp 0x4ec6e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x4ec816
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4ec7cd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
cmp dword [eax + 0x34], 0
je 0x4ec782
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.004e8ec0
test ax, ax
je 0x4ec74c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
dec eax
jne 0x4ec782
mov eax, esi
call fcn.004e8d78
test al, al
jne 0x4ec782
mov eax, esi
call fcn.004e8ed0
test al, al
jne 0x4ec782
mov eax, esi
call fcn.004e8eec
sub al, 2
jb 0x4ec77b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
dec eax
jne 0x4ec782
mov eax, esi
call fcn.00404edc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.004e55ac
test al, al
je 0x4ec7c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
mov eax, dword [eax + 0x30]
call fcn.004dc3b8
test eax, eax
jne 0x4ec7c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e9c8c
call fcn.00404edc
dec ebx
cmp ebx, 0xffffffff
jne 0x4ec70f
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.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ec877
call fcn.004042d8
test eax, eax
jne 0x4ec833
mov ebx, 0x64
jmp 0x4ec835
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.00432dfc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x510544]
call fcn.0040a188
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.00405168
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ec8c1
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00406abc
ret