Function at 0x479b4c
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 - 6], cl
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x47a401
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 0x47a3e6
mov eax, dword [ebp - 4]
call fcn.0047b958
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0041065c
xor eax, eax
push ebp
push 0x47a3df
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0040f788
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, 0x46dbc8
call fcn.00405cb8
mov eax, dword [ebp - 0x54]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403054
xor eax, eax
push ebp
push 0x47a3bf
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 + 0x24]
call fcn.00471f34
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x479cd0
mov eax, dword [ebp - 4]
call fcn.0047b374
cmp dword [eax + 8], 0
jle 0x479c40
mov eax, dword [ebp - 4]
call fcn.0047b374
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
mov edi, eax
dec edi
test edi, edi
jl 0x479cd0
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x479ccc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
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.0040f788
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, 0x46dbc8
call fcn.00405cb8
mov eax, dword [ebp - 0x58]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403054
inc esi
dec edi
jne 0x479c55
test byte [ebp - 5], 4
je 0x479ede
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
mov edi, eax
dec edi
test edi, edi
jl 0x479db7
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
cmp byte [eax + 0x34], 0
je 0x479daf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x38]
call fcn.004779e0
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.00479b34
test al, al
jne 0x479daf
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004779cc
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.0040f788
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, 0x46dbc8
call fcn.00405cb8
mov eax, dword [ebp - 0x5c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403054
inc esi
dec edi
jne 0x479cf3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
mov edi, eax
sub edi, 2
test edi, edi
jl 0x479eee
inc edi
xor esi, esi
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
cmp dword [eax + 0x38], 0
je 0x479ed4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x38]
call fcn.00477a78
add al, 0xfe
sub al, 2
jae 0x479ed4
lea edx, [esi + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.004784f0
cmp byte [eax + 0x34], 0
jne 0x479ed4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
lea edx, [ebp - 0x20]
call fcn.004753e8
lea edx, [esi + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.004784f0
lea edx, [ebp - 0x30]
call fcn.004753e8
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 0x479ed4
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.user32.dll_EqualRect
test eax, eax
je 0x479e8b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00477a88
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.0040f788
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, 0x46dbc8
call fcn.00405cb8
mov eax, dword [ebp - 0x60]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403054
inc esi
dec edi
jne 0x479dd2
jmp 0x479eee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x479fbd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
mov esi, eax
dec esi
cmp esi, 1
jl 0x479fcb
inc dword [ebp - 0xc]
mov ebx, esi
dec ebx
jmp 0x479f18
dec ebx
test ebx, ebx
jle 0x479f48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.004784f0
cmp dword [eax + 0x38], 0
je 0x479f48
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.004784f0
mov eax, dword [eax + 0x38]
call fcn.00477a78
cmp al, 3
je 0x479f17
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, ebx
call fcn.004784f0
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
pop edx
call fcn.004772a4
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.0040f788
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, 0x46dbc8
call fcn.00405cb8
mov eax, dword [ebp - 0x64]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403054
dec esi
test esi, esi
jne 0x479f0f
jmp 0x479fcb
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
add dword [ebp - 0xc], eax
test byte [ebp - 5], 1
je 0x47a10c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
mov esi, eax
dec esi
cmp esi, 0
jl 0x47a11a
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
call fcn.00474584
test al, al
jne 0x47a100
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
cmp byte [eax + 0x34], 0
je 0x47a100
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x38]
call fcn.00477a60
movzx ebx, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
call fcn.00476f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
call fcn.00474584
test al, al
je 0x47a0b7
test esi, esi
jle 0x47a0aa
mov edx, esi
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.004784f0
cmp byte [eax + 0x34], 0
je 0x47a0aa
mov edi, esi
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.004784f0
mov eax, dword [eax + 0x38]
call fcn.00477a60
add ax, bx
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.004784f0
mov eax, dword [eax + 0x38]
pop edx
call fcn.00477a68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.00471f64
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.0040f788
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, 0x46dbc8
call fcn.00405cb8
mov eax, dword [ebp - 0x68]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403054
dec esi
cmp esi, 0xffffffff
jne 0x479fec
jmp 0x47a11a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x47a342
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
mov esi, eax
dec esi
cmp esi, 0
jl 0x47a2f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x30]
call fcn.00471f34
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x47a239
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004742cc
mov edx, dword [0x46d528]
call fcn.00402ff0
test al, al
jne 0x47a218
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004742cc
mov edx, dword [0x46d468]
call fcn.00402ff0
test al, al
jne 0x47a218
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004742cc
mov edx, dword [0x46d720]
call fcn.00402ff0
test al, al
jne 0x47a218
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004742cc
mov edx, dword [0x46d7f4]
call fcn.00402ff0
test al, al
je 0x47a22f
test esi, esi
jg 0x47a218
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
dec eax
jne 0x47a22f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.00471f64
dec ebx
cmp ebx, 0xffffffff
jne 0x47a16a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
cmp dword [eax + 0x38], 0
je 0x47a2ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov ebx, dword [eax + 0x38]
mov eax, ebx
call fcn.00477a60
test ax, ax
je 0x47a276
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
dec eax
jne 0x47a2ac
mov eax, ebx
call fcn.004779c4
test al, al
jne 0x47a2ac
mov eax, ebx
call fcn.00477a70
test al, al
jne 0x47a2ac
mov eax, ebx
call fcn.00477a78
sub al, 2
jb 0x47a2a5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00471f34
dec eax
jne 0x47a2ac
mov eax, ebx
call fcn.00402e78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
call fcn.00474584
test al, al
je 0x47a2ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
mov eax, dword [eax + 0x30]
call fcn.00471f34
test eax, eax
jne 0x47a2ed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, esi
call fcn.004784f0
call fcn.00402e78
dec esi
cmp esi, 0xffffffff
jne 0x47a149
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.0040f788
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, 0x46dbc8
call fcn.00405cb8
mov eax, dword [ebp - 0x6c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403054
jmp 0x47a363
test byte [ebp - 5], 0x10
je 0x47a363
cmp byte [ebp - 6], 9
jne 0x47a363
lea edx, [ebp - 0x70]
mov eax, 0x46db90
call fcn.00405cb8
mov eax, dword [ebp - 0x70]
call fcn.0046dd78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47a3c6
call fcn.0040b0b0
test eax, eax
jne 0x47a380
mov esi, 0x64
jmp 0x47a382
xor esi, esi
mov eax, esi
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0040f788
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, 0x46dbc8
call fcn.00405cb8
mov eax, dword [ebp - 0x74]
push eax
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403054
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47a408
lea eax, [ebp - 0x74]
mov edx, 9
call fcn.00403bc4
ret