Function at 0x713a9c
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x714354
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x30], 2
jne 0x713af2
mov eax, dword [ebp - 4]
cmp word [eax + 0x34], 4
je 0x713af2
mov eax, dword [ebp - 4]
cmp byte [eax + 0x10], 0
je 0x713af2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
cmp byte [eax + 0x24], 0
jne 0x713af6
xor eax, eax
jmp 0x713af8
mov al, 1
mov byte [ebp - 0x32], al
cmp byte [ebp - 0x32], 0
je 0x713b36
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 8]
dec ebx
test ebx, ebx
jl 0x713b36
inc ebx
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, esi
call fcn.0068165c
mov ax, word [eax + 8]
add eax, 0xffffff9a
sub ax, 2
jae 0x713b32
mov byte [ebp - 0x32], 0
jmp 0x713b36
inc esi
dec ebx
jne 0x713b12
mov eax, dword [ebp - 4]
cmp word [eax + 0x34], 4
jne 0x713b67
mov eax, dword [ebp - 4]
cmp dword [eax + 0x2c], 0
je 0x713b67
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
cmp byte [eax + 0x1e], 0
je 0x713b67
mov edx, 8
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
jmp 0x713b8c
cmp byte [ebp - 0x32], 0
je 0x713b7f
mov edx, 0x20
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
jmp 0x713b8c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 0x4a], 0
je 0x713bb0
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.0071511c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
add eax, 0x4c
call fcn.00404f10
jmp 0x713bbb
mov eax, dword [ebp - 4]
add eax, 0x4c
call fcn.00404ebc
mov edx, 0x65
mov eax, dword [0x67e4e0]
call fcn.0067e6ec
mov dword [ebp - 0x30], eax
xor edx, edx
push ebp
push 0x714220
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [ebp - 8], 0
je 0x714205
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x30]
cmp al, 2
jne 0x713e28
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 8]
dec ebx
test ebx, ebx
jl 0x713c3b
inc ebx
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, esi
call fcn.0068165c
mov eax, dword [eax + 0x40]
cmp eax, dword [ebp - 0x2c]
je 0x713c3b
inc esi
dec ebx
jne 0x713c22
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
cmp esi, dword [eax + 8]
jl 0x713c5a
mov ecx, 0x10c8
mov edx, 0x71436c
mov eax, 0x7143b0
call fcn.00404e18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, esi
call fcn.0068165c
call fcn.0071158c
mov edi, eax
cmp byte [ebp - 0x31], 1
jne 0x713d6b
mov eax, edi
call fcn.0068078c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x713d1a
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x10], 0
jne 0x713ca2
mov byte [ebp - 9], 3
mov al, byte [ebp - 9]
push eax
mov eax, dword [ebp - 0x10]
add eax, 0x16
push eax
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 8], 0
je 0x713e19
cmp byte [ebp - 9], 1
je 0x713e19
cmp byte [ebp - 9], 0
jne 0x713c8c
jmp 0x713e19
xor eax, eax
mov dword [ebp - 0x18], eax
push 3
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
jmp 0x713e19
cmp byte [ebp - 0x31], 2
jne 0x713e19
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, edi
call fcn.0068055c
mov al, byte [ebp - 9]
push eax
mov eax, dword [ebp - 0x10]
add eax, 0x16
push eax
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov dword [eax + 8], edx
mov eax, dword [edi + 0x1c]
cmp eax, dword [ebp - 0x18]
jbe 0x713ddb
lea edx, [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, edi
call fcn.0068060c
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.006806a0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
cmp dword [ebp - 8], 0
je 0x713e19
cmp byte [ebp - 9], 1
je 0x713e19
cmp byte [ebp - 9], 0
jne 0x713d7c
cmp dword [ebp - 8], 0
jne 0x713c11
jmp 0x714205
cmp al, 1
jne 0x7141fd
mov dword [ebp - 0x24], 0xfffff3c7
mov dword [ebp - 0x28], 0xfffff3c6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 8]
dec ebx
test ebx, ebx
jl 0x713fb7
inc ebx
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, esi
call fcn.0068165c
mov edi, eax
mov ax, word [edi + 8]
add eax, 0xfffffff3
sub ax, 2
jae 0x713faf
mov al, byte [edi + 0xa]
sub al, 1
je 0x713e82
sub al, 2
jne 0x713faf
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x18]
test al, al
jne 0x713faf
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x24]
je 0x713eb3
lea edx, [ebp - 0x3c]
mov eax, dword [0x7b603c]
call fcn.0040745c
mov eax, dword [ebp - 0x3c]
call fcn.00713a40
jmp 0x713fb7
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
mov eax, edi
call fcn.0071158c
mov edi, eax
test edi, edi
jne 0x713ef2
mov ecx, 0x110e
mov edx, 0x71436c
mov eax, 0x7143b0
call fcn.00404e18
mov eax, edi
call fcn.0068078c
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x713f81
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x10], 0
jne 0x713f18
mov byte [ebp - 9], 3
mov al, byte [ebp - 9]
push eax
mov eax, dword [ebp - 0x10]
add eax, 0x16
push eax
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 8], 0
je 0x713faf
cmp byte [ebp - 9], 1
je 0x713faf
cmp byte [ebp - 9], 0
jne 0x713f02
jmp 0x713faf
xor eax, eax
mov dword [ebp - 0x18], eax
push 3
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
inc esi
dec ebx
jne 0x713e53
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x24]
jne 0x714012
lea edx, [ebp - 0x40]
mov eax, dword [0x7b5054]
call fcn.0040745c
mov eax, dword [ebp - 0x40]
call fcn.00713a40
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x24]
jne 0x714012
xor eax, eax
mov dword [ebp - 0x18], eax
push 3
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x24]
je 0x713fdc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 8]
dec ebx
test ebx, ebx
jl 0x714161
inc ebx
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, esi
call fcn.0068165c
mov edi, eax
mov ax, word [edi + 8]
add eax, 0xfffffff3
sub ax, 2
jae 0x714159
mov al, byte [edi + 0xa]
add al, 0xfe
sub al, 2
jae 0x714159
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x28]
je 0x714076
lea edx, [ebp - 0x44]
mov eax, dword [0x7b5ccc]
call fcn.0040745c
mov eax, dword [ebp - 0x44]
call fcn.00713a40
jmp 0x714161
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
mov eax, edi
call fcn.0071158c
mov edi, eax
test edi, edi
jne 0x7140b5
mov ecx, 0x113e
mov edx, 0x71436c
mov eax, 0x7143b0
call fcn.00404e18
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x10]
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, edi
call fcn.0068055c
mov al, byte [ebp - 9]
push eax
mov eax, dword [ebp - 0x10]
add eax, 0x16
push eax
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
mov dword [eax + 8], edx
mov eax, dword [edi + 0x1c]
cmp eax, dword [ebp - 0x18]
jbe 0x71411b
lea edx, [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, edi
call fcn.0068060c
mov edx, dword [ebp - 0x10]
mov eax, edi
call fcn.006806a0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
cmp dword [ebp - 8], 0
je 0x714159
cmp byte [ebp - 9], 1
je 0x714159
cmp byte [ebp - 9], 0
jne 0x7140bc
inc esi
dec ebx
jne 0x714027
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x28]
jne 0x7141dc
lea edx, [ebp - 0x48]
mov eax, dword [0x7b6064]
call fcn.0040745c
mov eax, dword [ebp - 0x48]
call fcn.00713a40
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x28]
jne 0x7141dc
mov dword [ebp - 0x18], 0x64
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x31]
push eax
lea ecx, [ebp - 9]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714874
push 3
mov eax, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.007135ec
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x28]
je 0x714186
xor eax, eax
mov dword [ebp - 0x18], eax
push 3
push 0
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, 5
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00714a14
jmp 0x714205
mov eax, dword [ebp - 4]
call fcn.007118d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x714227
mov edx, dword [ebp - 0x30]
mov eax, dword [0x67e4e0]
call fcn.0067e708
ret