Function at 0x568f54
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov edi, dword [edi + 8]
mov edi, dword [edi + 8]
mov edi, dword [edi + 8]
add edi, 0xffffffe4
mov byte [ebp - 1], 0
xor eax, eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x784]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x784]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x1c], eax
xor edx, edx
push ebp
push 0x5697e3
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [edi]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx + 8]
cmp eax, dword [edx - 0x24]
jae 0x5694bd
mov eax, dword [edi]
cmp byte [eax], 0x7b
jne 0x5690ef
mov eax, dword [edi]
call fcn.0062c570
test al, al
je 0x5690da
mov eax, dword [edi]
add eax, 3
call fcn.0062c584
test al, al
je 0x5690da
lea edx, [ebp - 0x28]
mov eax, dword [edi]
add eax, 4
call fcn.0062c5b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x28]
mov dword [eax - 0x794], edx
mov edx, dword [ebp - 0x24]
mov dword [eax - 0x790], edx
mov edx, dword [ebp - 0x20]
mov dword [eax - 0x78c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c730
mov esi, eax
mov eax, esi
sub ax, 0xd6
je 0x56904c
sub ax, 0x60
je 0x569081
sub ax, 0x6a
jne 0x5690c5
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax - 0x790]
mov eax, esi
call fcn.0056afe8
pop ecx
mov bl, 3
cmp si, 0x1a0
jne 0x5694a6
mov bl, 5
jmp 0x5694a6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
or word [eax - 2], 0x1000
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax - 0x790]
mov eax, esi
call fcn.0056afe8
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
and word [eax - 2], 0xefff
jmp 0x5694a6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
push eax
call fcn.005624d8
pop ecx
jmp 0x5694a6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
push eax
call fcn.005624d8
pop ecx
jmp 0x5694a6
mov eax, dword [edi]
call fcn.0062c584
test al, al
je 0x56942d
lea edx, [ebp - 0x28]
mov eax, dword [edi]
inc eax
call fcn.0062c5b0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x28]
mov dword [eax - 0x794], edx
mov edx, dword [ebp - 0x24]
mov dword [eax - 0x790], edx
mov edx, dword [ebp - 0x20]
mov dword [eax - 0x78c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c730
movzx eax, ax
cmp eax, 0x138
jg 0x569192
je 0x56937f
cmp eax, 0x134
jg 0x569179
je 0x569314
sub eax, 0x1d
je 0x5691cf
sub eax, 0x6f
je 0x569305
sub eax, 0x49
je 0x569402
jmp 0x569419
sub eax, 0x135
je 0x569332
sub eax, 2
je 0x569350
jmp 0x569419
cmp eax, 0x13f
jg 0x5691b6
je 0x56940a
sub eax, 0x13a
je 0x5693ab
dec eax
je 0x5693c6
jmp 0x569419
sub eax, 0x1ea
je 0x5693e1
sub eax, 7
je 0x569412
jmp 0x569419
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c608
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x790]
inc eax
add dword [edi], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov dword [eax - 0x790], 0xffffffff
cmp dword [ebp - 0x10], 0
jle 0x5692fb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x7ac]
cmp eax, dword [ebp - 0x10]
jge 0x569276
mov eax, dword [ebp - 0x10]
lea eax, [eax + eax*2]
shr eax, 1
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx + 8]
mov dword [edx - 0x7ac], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x7a8]
call fcn.00401fac
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x7ac]
call fcn.00401e58
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx + 8]
mov dword [edx - 0x7a8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov esi, dword [eax - 0x7a8]
mov eax, dword [ebp - 0x10]
add eax, esi
mov dword [ebp - 0xc], eax
cmp esi, dword [ebp - 0xc]
jae 0x569419
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x24]
sub eax, dword [edi]
mov edx, dword [ebp - 0xc]
sub edx, esi
call fcn.00652c54
mov dword [ebp - 0x14], eax
mov edx, esi
mov eax, dword [edi]
mov ecx, dword [ebp - 0x14]
call fcn.004023c8
add esi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
add dword [edi], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x24]
sub eax, dword [edi]
cmp eax, 0x20
jge 0x5692f1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
push eax
call fcn.005607b4
pop ecx
cmp esi, dword [ebp - 0xc]
jb 0x569296
jmp 0x569419
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x569419
test bl, bl
jne 0x569419
mov bl, 1
jmp 0x569419
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c608
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x28], eax
jmp 0x569419
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c608
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x30], eax
jmp 0x569419
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c608
mov edx, eax
mov eax, 0x3e8
call fcn.00652c54
call fcn.00652c70
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x34], eax
jmp 0x569419
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c608
mov edx, eax
mov eax, 0x3e8
call fcn.00652c54
call fcn.00652c70
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x38], eax
jmp 0x569419
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c608
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x24], eax
jmp 0x569419
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c608
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x2c], eax
jmp 0x569419
test bl, bl
jne 0x5693e7
mov bl, 2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff86c
call fcn.0062c608
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x20], eax
jmp 0x569419
test bl, bl
jne 0x569419
mov bl, 3
jmp 0x569419
test bl, bl
jne 0x569419
mov bl, 4
jmp 0x569419
mov eax, dword [ebp - 0x1c]
mov byte [eax + 0x3c], 1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x790]
inc eax
add dword [edi], eax
jmp 0x56947d
mov eax, dword [edi]
mov al, byte [eax]
xor edx, edx
mov dl, al
mov ecx, dword [0x669558]
cmp byte [ecx + edx], 0xff
je 0x569473
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
lea edx, [eax - 0x7ac]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
add eax, 0xfffff858
call fcn.00562208
pop ecx
mov dword [ebp - 0x10], eax
jmp 0x5694bd
cmp al, 0x7d
jne 0x56947b
inc dword [edi]
jmp 0x5694bd
inc dword [edi]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x24]
sub eax, dword [edi]
cmp eax, 0x20
jge 0x5694a6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
push eax
call fcn.005607b4
pop ecx
mov eax, dword [edi]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx + 8]
mov edx, dword [edx + 8]
cmp eax, dword [edx - 0x24]
jb 0x568fc6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x784]
call fcn.0055b7e0
test al, al
je 0x569505
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x784]
mov eax, dword [eax + 0x24]
call fcn.004b067c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x784]
call fcn.0055b824
jmp 0x5697d9
test bl, bl
je 0x569521
cmp dword [ebp - 0x10], 0
jne 0x56952e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
cmp dword [eax - 0x7b0], 0
jne 0x56952e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5697f8
xor eax, eax
push ebp
push 0x5697c0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
dec eax
sub al, 2
jb 0x569556
je 0x56958d
dec al
je 0x569683
dec al
je 0x56958d
jmp 0x5696a9
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x4a], 0
mov eax, dword [ebp - 0x10]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax - 0x7a8]
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.005584e0
cmp bl, 2
sete al
mov edx, dword [ebp - 0x18]
mov byte [edx + 0x48], al
jmp 0x5696a9
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x4a], 2
cmp bl, 5
jne 0x5695a0
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x4a], 3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
cmp dword [eax - 0x7b0], 0
jne 0x5695d6
mov eax, dword [ebp - 0x10]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax - 0x7a8]
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.005584e0
jmp 0x5696a9
cmp bl, 5
jne 0x569620
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov edx, dword [eax - 0x7b0]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x7b4]
call fcn.0040834c
mov ebx, eax
mov eax, ebx
call fcn.00650c3c
push eax
push 0
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.005584e0
mov eax, ebx
call fcn.004028c0
jmp 0x56964b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x7b0]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax - 0x7b4]
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.005584e0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x7b4]
call fcn.00401fac
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
xor edx, edx
mov dword [eax - 0x7b4], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
xor edx, edx
mov dword [eax - 0x7b0], edx
jmp 0x5696a9
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x4a], 1
mov eax, dword [ebp - 0x10]
push eax
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov ecx, dword [eax - 0x7a8]
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.005584e0
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
jle 0x5696bf
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x30], 0
jg 0x5697b6
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.00558398
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x34], 0x64
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x38], 0x64
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x4a], 0
jne 0x569759
mov dl, 1
mov eax, dword [0x647300]
call fcn.006496a0
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x569752
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
mov byte [eax + 0x4a], 0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 8]
call fcn.00649c88
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x28]
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x1c]
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 8]
call fcn.0064a064
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56977d
mov eax, dword [ebp - 8]
call fcn.004028c0
ret
mov eax, dword [ebp - 0x18]
call fcn.0055869c
mov ebx, eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x28]
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x2c], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x1c]
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x2c]
mov edx, eax
shl eax, 4
sub eax, edx
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x30]
mov edx, eax
shl eax, 4
sub eax, edx
mov edx, dword [ebp - 0x1c]
mov dword [edx + 0x30], eax
call fcn.00534a14
test al, al
je 0x5697b6
mov dl, 1
mov eax, dword [ebp - 0x18]
call fcn.00558398
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5697d9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5697f4
mov byte [ebp - 1], 1
mov al, byte [ebp - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret