Function at 0x4f18b0
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 0x4f2216
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 0x4f21fb
mov eax, dword [ebp - 4]
call fcn.004f2d00
xor eax, eax
push ebp
push 0x4f21e9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004f2cd0
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
xor eax, eax
push ebp
push 0x4f21cc
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.004e1d14
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x4f1a2f
mov eax, dword [ebp - 4]
call fcn.004f34cc
cmp dword [eax + 8], 0
jle 0x4f199f
mov eax, dword [ebp - 4]
call fcn.004f34cc
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
mov edi, eax
dec edi
test edi, edi
jl 0x4f1a2f
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x4f1a2b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
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.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
inc ebx
dec edi
jne 0x4f19b4
test byte [ebp - 5], 4
je 0x4f1c43
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
mov edi, eax
dec edi
test edi, edi
jl 0x4f1b19
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.004ebf74
test al, al
je 0x4f1b11
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x34]
call fcn.004ee740
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.004f1898
test al, al
jne 0x4f1b11
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004ee6e0
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.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
inc ebx
dec edi
jne 0x4f1a52
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
mov edi, eax
sub edi, 2
test edi, edi
jl 0x4f1c53
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
cmp dword [eax + 0x34], 0
je 0x4f1c39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x34]
call fcn.004ee848
add al, 0xfe
sub al, 2
jae 0x4f1c39
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004ef5e8
call fcn.004ebf74
test al, al
jne 0x4f1c39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
lea edx, [ebp - 0x20]
call fcn.004ebc34
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004ef5e8
lea edx, [ebp - 0x30]
call fcn.004ebc34
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 0x4f1c39
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.USER32.DLL_EqualRect
test eax, eax
je 0x4f1bf0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004ee858
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.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
inc ebx
dec edi
jne 0x4f1b34
jmp 0x4f1c53
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x4f1d26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x4f1d34
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x4f1c7d
dec esi
test esi, esi
jle 0x4f1cad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004ef5e8
cmp dword [eax + 0x34], 0
je 0x4f1cad
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004ef5e8
mov eax, dword [eax + 0x34]
call fcn.004ee848
cmp al, 3
je 0x4f1c7c
test esi, esi
jl 0x4f1cd2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004ef5e8
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
pop edx
call fcn.004edcf4
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.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
dec ebx
test ebx, ebx
jne 0x4f1c74
jmp 0x4f1d34
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x4f1ee7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4f1e9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x30]
call fcn.004e1d14
mov esi, eax
dec esi
cmp esi, 0
jl 0x4f1e53
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004eabec
mov edx, dword [0x4dea18]
call fcn.00460d18
test al, al
jne 0x4f1e32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004eabec
mov edx, dword [0x4de574]
call fcn.00460d18
test al, al
jne 0x4f1e32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004eabec
mov edx, dword [0x4df230]
call fcn.00460d18
test al, al
jne 0x4f1e32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004eabec
mov edx, dword [0x4df3bc]
call fcn.00460d18
test al, al
je 0x4f1e49
test ebx, ebx
jg 0x4f1e32
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
dec eax
jne 0x4f1e49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004e1d5c
dec esi
cmp esi, 0xffffffff
jne 0x4f1d84
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.004eaf08
test al, al
je 0x4f1e94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x30]
call fcn.004e1d14
test eax, eax
jne 0x4f1e94
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.00460afc
dec ebx
cmp ebx, 0xffffffff
jne 0x4f1d63
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.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
test byte [ebp - 5], 1
je 0x4f202e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4f203c
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.004eaf08
test al, al
jne 0x4f2022
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.004ebf74
test al, al
je 0x4f2022
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x34]
call fcn.004ee81c
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.004ed93c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.004eaf08
test al, al
je 0x4f1fd9
test ebx, ebx
jle 0x4f1fcc
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004ef5e8
call fcn.004ebf74
test al, al
je 0x4f1fcc
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004ef5e8
mov eax, dword [eax + 0x34]
call fcn.004ee81c
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004ef5e8
mov eax, dword [eax + 0x34]
pop edx
call fcn.004ee824
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004e1d5c
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.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
dec ebx
cmp ebx, 0xffffffff
jne 0x4f1f08
jmp 0x4f203c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x4f2172
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4f2129
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
cmp dword [eax + 0x34], 0
je 0x4f20de
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.004ee81c
test ax, ax
je 0x4f20a8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
dec eax
jne 0x4f20de
mov eax, esi
call fcn.004ee6d4
test al, al
jne 0x4f20de
mov eax, esi
call fcn.004ee82c
test al, al
jne 0x4f20de
mov eax, esi
call fcn.004ee848
sub al, 2
jb 0x4f20d7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004e1d14
dec eax
jne 0x4f20de
mov eax, esi
call fcn.00460afc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.004eaf08
test al, al
je 0x4f211f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
mov eax, dword [eax + 0x30]
call fcn.004e1d14
test eax, eax
jne 0x4f211f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004ef5e8
call fcn.00460afc
dec ebx
cmp ebx, 0xffffffff
jne 0x4f206b
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.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f21d3
call fcn.0045ff60
test eax, eax
jne 0x4f218f
mov ebx, 0x64
jmp 0x4f2191
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.0042c6c8
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x526474]
call fcn.00465a30
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.00460d88
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f221d
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.004626e0
ret