Function at 0x48bb44
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 0x48c4aa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x48c48f
mov eax, dword [ebp - 4]
call fcn.0048ce94
xor eax, eax
push ebp
push 0x48c47d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.0048ce6c
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
xor eax, eax
push ebp
push 0x48c460
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.0047fe9c
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x48bcc3
mov eax, dword [ebp - 4]
call fcn.0048d67c
cmp dword [eax + 8], 0
jle 0x48bc33
mov eax, dword [ebp - 4]
call fcn.0048d67c
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
mov edi, eax
dec edi
test edi, edi
jl 0x48bcc3
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x48bcbf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
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.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
inc ebx
dec edi
jne 0x48bc48
test byte [ebp - 5], 4
je 0x48bed7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
mov edi, eax
dec edi
test edi, edi
jl 0x48bdad
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.00487a6c
test al, al
je 0x48bda5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x34]
call fcn.00489fe4
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.0048bb2c
test al, al
jne 0x48bda5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.00489fc0
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.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
inc ebx
dec edi
jne 0x48bce6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
mov edi, eax
sub edi, 2
test edi, edi
jl 0x48bee7
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
cmp dword [eax + 0x34], 0
je 0x48becd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x34]
call fcn.0048a0dc
add al, 0xfe
sub al, 2
jae 0x48becd
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0048ab98
call fcn.00487a6c
test al, al
jne 0x48becd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
lea edx, [ebp - 0x20]
call fcn.0048779c
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0048ab98
lea edx, [ebp - 0x30]
call fcn.0048779c
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 0x48becd
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.user32.dll_EqualRect
test eax, eax
je 0x48be84
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0048a0ec
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.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
inc ebx
dec edi
jne 0x48bdc8
jmp 0x48bee7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x48bfba
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x48bfc8
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x48bf11
dec esi
test esi, esi
jle 0x48bf41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0048ab98
cmp dword [eax + 0x34], 0
je 0x48bf41
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0048ab98
mov eax, dword [eax + 0x34]
call fcn.0048a0dc
cmp al, 3
je 0x48bf10
test esi, esi
jl 0x48bf66
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0048ab98
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
pop edx
call fcn.00489790
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.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
dec ebx
test ebx, ebx
jne 0x48bf08
jmp 0x48bfc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x48c17b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x48c132
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
mov esi, eax
dec esi
cmp esi, 0
jl 0x48c0e7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004867d0
mov edx, dword [0x47f1ac]
call fcn.004046f4
test al, al
jne 0x48c0c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004867d0
mov edx, dword [0x47f0f8]
call fcn.004046f4
test al, al
jne 0x48c0c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004867d0
mov edx, dword [0x47f38c]
call fcn.004046f4
test al, al
jne 0x48c0c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004867d0
mov edx, dword [0x47f450]
call fcn.004046f4
test al, al
je 0x48c0dd
test ebx, ebx
jg 0x48c0c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
dec eax
jne 0x48c0dd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.0047fee4
dec esi
cmp esi, 0xffffffff
jne 0x48c018
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.00486af0
test al, al
je 0x48c128
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
test eax, eax
jne 0x48c128
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.00404568
dec ebx
cmp ebx, 0xffffffff
jne 0x48bff7
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.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
test byte [ebp - 5], 1
je 0x48c2c2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x48c2d0
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.00486af0
test al, al
jne 0x48c2b6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.00487a6c
test al, al
je 0x48c2b6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x34]
call fcn.0048a0c0
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.004893d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.00486af0
test al, al
je 0x48c26d
test ebx, ebx
jle 0x48c260
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0048ab98
call fcn.00487a6c
test al, al
je 0x48c260
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0048ab98
mov eax, dword [eax + 0x34]
call fcn.0048a0c0
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0048ab98
mov eax, dword [eax + 0x34]
pop edx
call fcn.0048a0c8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0047fee4
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.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
dec ebx
cmp ebx, 0xffffffff
jne 0x48c19c
jmp 0x48c2d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x48c406
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x48c3bd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
cmp dword [eax + 0x34], 0
je 0x48c372
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.0048a0c0
test ax, ax
je 0x48c33c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
dec eax
jne 0x48c372
mov eax, esi
call fcn.00489fb4
test al, al
jne 0x48c372
mov eax, esi
call fcn.0048a0d0
test al, al
jne 0x48c372
mov eax, esi
call fcn.0048a0dc
sub al, 2
jb 0x48c36b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
dec eax
jne 0x48c372
mov eax, esi
call fcn.00404568
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.00486af0
test al, al
je 0x48c3b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
mov eax, dword [eax + 0x30]
call fcn.0047fe9c
test eax, eax
jne 0x48c3b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.0048ab98
call fcn.00404568
dec ebx
cmp ebx, 0xffffffff
jne 0x48c2ff
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.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48c467
call fcn.004030b4
test eax, eax
jne 0x48c423
mov ebx, 0x64
jmp 0x48c425
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.0041efd0
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x66098c]
call fcn.00407b3c
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.00404764
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48c4b1
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.004054f0
ret