Function at 0x7407cc
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0x124]
test al, al
jne 0x740c30
xor edx, edx
push ebp
push 0x740c26
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0x124]
test al, al
jne 0x740c12
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
cmp byte [eax + 0x46d], 0
je 0x740c12
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4c0], 0
jl 0x740c12
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.00611314
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x4c0]
jle 0x740c12
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.0062cd08
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.0062cc80
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
test eax, eax
jl 0x740c12
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.0062cd4c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.0062ccc4
pop edx
xchg edx, eax
sub eax, edx
cdq
xor eax, edx
sub eax, edx
test eax, eax
jl 0x740c12
xor edx, edx
push ebp
push 0x740c0b
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.00882dbc
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x3f8]
jne 0x7408e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xc4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c4]
xor edx, edx
call fcn.006829f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov dl, 1
call fcn.0044f21c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c4]
mov edx, 0x64
call fcn.006829c8
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x5d4], edx
mov eax, dword [ebp - 4]
push eax
push 0x735bbc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0x11c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x10]
cmp al, 1
sete al
test al, al
je 0x740ac5
xor edx, edx
push ebp
push 0x740abe
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
mov cl, 1
mov edx, 0x740c40
call fcn.005ed150
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov dl, 5
call fcn.00646794
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
cmp eax, 0x64
jg 0x7409f3
push 0x40100000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
call fcn.006061b4
jmp 0x740a86
cmp eax, 0xc8
jg 0x740a16
push 0x40140000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
call fcn.006061b4
jmp 0x740a86
push 0x4003
push 0xa0000000
push 0
push 0x4001
push 0xe0000000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
sub eax, 0x12c
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fdiv dword [0x740c48]
fmul dword [0x740c4c]
fadd dword [0x740c4c]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004327a0
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004326b4
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
call fcn.006061b4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x740b85
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov dl, 1
call fcn.00646794
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
mov byte [eax + 0x30], 1
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
cmp eax, 0x64
jg 0x740af2
push 0x40240000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
call fcn.006061b4
jmp 0x740b85
cmp eax, 0xc8
jg 0x740b15
push 0x402e0000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
call fcn.006061b4
jmp 0x740b85
push 0x4004
push 0xc8000000
push 0
push 0x4003
push 0xb0000000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
sub eax, 0x12c
mov dword [ebp - 8], eax
fild dword [ebp - 8]
fdiv dword [0x740c48]
fmul dword [0x740c50]
fadd dword [0x740c54]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004327a0
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004326b4
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
call fcn.00637aa0
call fcn.006061b4
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00739b10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
cmp byte [eax + 0x46d], 0
je 0x740ba8
mov dl, 1
call fcn.0062f484
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x740c12
call fcn.00882ddc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
xor edx, edx
call fcn.0044f21c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c4]
xor edx, edx
call fcn.006829f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c4]
mov edx, 0x64
call fcn.006829c8
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x310]
mov edx, dword [eax]
call dword [edx + 0x11c]
mov eax, dword [ebp - 4]
call fcn.0073556c
ret
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0073c4c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x740c30
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret