Function at 0x4dc9b4
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 0x4dd31a
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 0x4dd2ff
mov eax, dword [ebp - 4]
call fcn.004dde04
xor eax, eax
push ebp
push 0x4dd2ed
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004dddd4
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
xor eax, eax
push ebp
push 0x4dd2d0
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.004cce18
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x4dcb33
mov eax, dword [ebp - 4]
call fcn.004de5d0
cmp dword [eax + 8], 0
jle 0x4dcaa3
mov eax, dword [ebp - 4]
call fcn.004de5d0
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
mov edi, eax
dec edi
test edi, edi
jl 0x4dcb33
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x4dcb2f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
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.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
inc ebx
dec edi
jne 0x4dcab8
test byte [ebp - 5], 4
je 0x4dcd47
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
mov edi, eax
dec edi
test edi, edi
jl 0x4dcc1d
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.004d7078
test al, al
je 0x4dcc15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x34]
call fcn.004d9844
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.004dc99c
test al, al
jne 0x4dcc15
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004d97e4
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.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
inc ebx
dec edi
jne 0x4dcb56
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
mov edi, eax
sub edi, 2
test edi, edi
jl 0x4dcd57
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
cmp dword [eax + 0x34], 0
je 0x4dcd3d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x34]
call fcn.004d994c
add al, 0xfe
sub al, 2
jae 0x4dcd3d
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004da6ec
call fcn.004d7078
test al, al
jne 0x4dcd3d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
lea edx, [ebp - 0x20]
call fcn.004d6d38
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004da6ec
lea edx, [ebp - 0x30]
call fcn.004d6d38
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 0x4dcd3d
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.user32.dll_EqualRect
test eax, eax
je 0x4dccf4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004d995c
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.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
inc ebx
dec edi
jne 0x4dcc38
jmp 0x4dcd57
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x4dce2a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x4dce38
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x4dcd81
dec esi
test esi, esi
jle 0x4dcdb1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004da6ec
cmp dword [eax + 0x34], 0
je 0x4dcdb1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004da6ec
mov eax, dword [eax + 0x34]
call fcn.004d994c
cmp al, 3
je 0x4dcd80
test esi, esi
jl 0x4dcdd6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004da6ec
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
pop edx
call fcn.004d8df8
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.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
dec ebx
test ebx, ebx
jne 0x4dcd78
jmp 0x4dce38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x4dcfeb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4dcfa2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x30]
call fcn.004cce18
mov esi, eax
dec esi
cmp esi, 0
jl 0x4dcf57
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004d5cf0
mov edx, dword [0x4c9b1c]
call fcn.0040500c
test al, al
jne 0x4dcf36
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004d5cf0
mov edx, dword [0x4c9678]
call fcn.0040500c
test al, al
jne 0x4dcf36
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004d5cf0
mov edx, dword [0x4ca334]
call fcn.0040500c
test al, al
jne 0x4dcf36
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004d5cf0
mov edx, dword [0x4ca4c0]
call fcn.0040500c
test al, al
je 0x4dcf4d
test ebx, ebx
jg 0x4dcf36
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
dec eax
jne 0x4dcf4d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004cce60
dec esi
cmp esi, 0xffffffff
jne 0x4dce88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.004d600c
test al, al
je 0x4dcf98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x30]
call fcn.004cce18
test eax, eax
jne 0x4dcf98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.00404df0
dec ebx
cmp ebx, 0xffffffff
jne 0x4dce67
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.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
test byte [ebp - 5], 1
je 0x4dd132
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4dd140
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.004d600c
test al, al
jne 0x4dd126
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.004d7078
test al, al
je 0x4dd126
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x34]
call fcn.004d9920
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.004d8a40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.004d600c
test al, al
je 0x4dd0dd
test ebx, ebx
jle 0x4dd0d0
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004da6ec
call fcn.004d7078
test al, al
je 0x4dd0d0
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004da6ec
mov eax, dword [eax + 0x34]
call fcn.004d9920
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004da6ec
mov eax, dword [eax + 0x34]
pop edx
call fcn.004d9928
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004cce60
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.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
dec ebx
cmp ebx, 0xffffffff
jne 0x4dd00c
jmp 0x4dd140
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x4dd276
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4dd22d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
cmp dword [eax + 0x34], 0
je 0x4dd1e2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.004d9920
test ax, ax
je 0x4dd1ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
dec eax
jne 0x4dd1e2
mov eax, esi
call fcn.004d97d8
test al, al
jne 0x4dd1e2
mov eax, esi
call fcn.004d9930
test al, al
jne 0x4dd1e2
mov eax, esi
call fcn.004d994c
sub al, 2
jb 0x4dd1db
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004cce18
dec eax
jne 0x4dd1e2
mov eax, esi
call fcn.00404df0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.004d600c
test al, al
je 0x4dd223
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
mov eax, dword [eax + 0x30]
call fcn.004cce18
test eax, eax
jne 0x4dd223
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004da6ec
call fcn.00404df0
dec ebx
cmp ebx, 0xffffffff
jne 0x4dd16f
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.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4dd2d7
call fcn.0040426c
test eax, eax
jne 0x4dd293
mov ebx, 0x64
jmp 0x4dd295
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.004306d8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x4f77dc]
call fcn.00409ba0
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.0040507c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4dd321
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.004069b8
ret