Function at 0x6de62c
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 0x6def92
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 0x6def77
mov eax, dword [ebp - 4]
call fcn.006dfa7c
xor eax, eax
push ebp
push 0x6def65
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.006dfa4c
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
xor eax, eax
push ebp
push 0x6def48
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.006cea90
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x6de7ab
mov eax, dword [ebp - 4]
call fcn.006e0248
cmp dword [eax + 8], 0
jle 0x6de71b
mov eax, dword [ebp - 4]
call fcn.006e0248
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
mov edi, eax
dec edi
test edi, edi
jl 0x6de7ab
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x6de7a7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
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.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
inc ebx
dec edi
jne 0x6de730
test byte [ebp - 5], 4
je 0x6de9bf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
mov edi, eax
dec edi
test edi, edi
jl 0x6de895
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.006d8cf0
test al, al
je 0x6de88d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x34]
call fcn.006db4bc
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.006de614
test al, al
jne 0x6de88d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.006db45c
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.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
inc ebx
dec edi
jne 0x6de7ce
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
mov edi, eax
sub edi, 2
test edi, edi
jl 0x6de9cf
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
cmp dword [eax + 0x34], 0
je 0x6de9b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x34]
call fcn.006db5c4
add al, 0xfe
sub al, 2
jae 0x6de9b5
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006dc364
call fcn.006d8cf0
test al, al
jne 0x6de9b5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
lea edx, [ebp - 0x20]
call fcn.006d89b0
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006dc364
lea edx, [ebp - 0x30]
call fcn.006d89b0
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 0x6de9b5
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.user32.dll_EqualRect
test eax, eax
je 0x6de96c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.006db5d4
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.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
inc ebx
dec edi
jne 0x6de8b0
jmp 0x6de9cf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x6deaa2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x6deab0
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x6de9f9
dec esi
test esi, esi
jle 0x6dea29
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.006dc364
cmp dword [eax + 0x34], 0
je 0x6dea29
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.006dc364
mov eax, dword [eax + 0x34]
call fcn.006db5c4
cmp al, 3
je 0x6de9f8
test esi, esi
jl 0x6dea4e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.006dc364
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
pop edx
call fcn.006daa70
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.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
dec ebx
test ebx, ebx
jne 0x6de9f0
jmp 0x6deab0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x6dec63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x6dec1a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x30]
call fcn.006cea90
mov esi, eax
dec esi
cmp esi, 0
jl 0x6debcf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.006d7968
mov edx, dword [0x6cb794]
call fcn.00405c10
test al, al
jne 0x6debae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.006d7968
mov edx, dword [0x6cb2f0]
call fcn.00405c10
test al, al
jne 0x6debae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.006d7968
mov edx, dword [0x6cbfac]
call fcn.00405c10
test al, al
jne 0x6debae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.006d7968
mov edx, dword [0x6cc138]
call fcn.00405c10
test al, al
je 0x6debc5
test ebx, ebx
jg 0x6debae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
dec eax
jne 0x6debc5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.006cead8
dec esi
cmp esi, 0xffffffff
jne 0x6deb00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.006d7c84
test al, al
je 0x6dec10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x30]
call fcn.006cea90
test eax, eax
jne 0x6dec10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.004059f4
dec ebx
cmp ebx, 0xffffffff
jne 0x6deadf
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.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
test byte [ebp - 5], 1
je 0x6dedaa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x6dedb8
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.006d7c84
test al, al
jne 0x6ded9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.006d8cf0
test al, al
je 0x6ded9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x34]
call fcn.006db598
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.006da6b8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.006d7c84
test al, al
je 0x6ded55
test ebx, ebx
jle 0x6ded48
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006dc364
call fcn.006d8cf0
test al, al
je 0x6ded48
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006dc364
mov eax, dword [eax + 0x34]
call fcn.006db598
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006dc364
mov eax, dword [eax + 0x34]
pop edx
call fcn.006db5a0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006cead8
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.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
dec ebx
cmp ebx, 0xffffffff
jne 0x6dec84
jmp 0x6dedb8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x6deeee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x6deea5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
cmp dword [eax + 0x34], 0
je 0x6dee5a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.006db598
test ax, ax
je 0x6dee24
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
dec eax
jne 0x6dee5a
mov eax, esi
call fcn.006db450
test al, al
jne 0x6dee5a
mov eax, esi
call fcn.006db5a8
test al, al
jne 0x6dee5a
mov eax, esi
call fcn.006db5c4
sub al, 2
jb 0x6dee53
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.006cea90
dec eax
jne 0x6dee5a
mov eax, esi
call fcn.004059f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.006d7c84
test al, al
je 0x6dee9b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
mov eax, dword [eax + 0x30]
call fcn.006cea90
test eax, eax
jne 0x6dee9b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.006dc364
call fcn.004059f4
dec ebx
cmp ebx, 0xffffffff
jne 0x6dede7
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.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6def4f
call fcn.0040461c
test eax, eax
jne 0x6def0b
mov ebx, 0x64
jmp 0x6def0d
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.0043e3fc
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x74f2c0]
call fcn.0040b6e8
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.00405c80
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6def99
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00407eac
ret