Function at 0x6af7fc
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov ebx, ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x6afa81
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
add eax, 0x48
mov edx, dword [ebp - 0x10]
mov edx, dword [edx]
mov ecx, dword [0x6acde4]
call fcn.0040cbcc
mov eax, dword [ebp - 0xc]
add eax, 0x48
mov edx, dword [0x6acde4]
call fcn.0040cb88
push 0
mov eax, dword [ebp + 8]
push eax
xor ecx, ecx
xor edx, edx
mov eax, 0x64
call fcn.007136a8
mov eax, dword [ebp - 0xc]
mov byte [eax + 4], bl
xor edx, edx
push ebp
push 0x6afa4b
push dword fs:[edx]
mov dword fs:[edx], esp
mov esi, 1
mov ebx, 1
jmp 0x6af9d3
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
movzx eax, word [eax + ebx*2 - 2]
sub ax, 0xd
je 0x6af8fc
sub ax, 0x19
je 0x6af8a6
sub ax, 0x16
je 0x6af956
jmp 0x6af9d2
cmp esi, ebx
jge 0x6af8b6
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.006b0010
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 8]
mov ecx, ebx
mov eax, dword [ebp - 0xc]
call fcn.006af608
cmp dword [ebp - 8], 0
je 0x6af8e2
mov eax, dword [ebp - 8]
call fcn.0040ab48
add ebx, eax
mov esi, ebx
dec ebx
jmp 0x6af9d2
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
cmp word [eax + ebx*2], 0x26
sete al
mov esi, eax
and esi, 0x7f
add esi, ebx
jmp 0x6af9d2
mov eax, dword [0x7a94bc]
cmp byte [eax], 0
je 0x6af9d2
cmp esi, ebx
jge 0x6af91a
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.006b0010
mov esi, ebx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x34], 0
jne 0x6af940
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x4c]
call fcn.00509d18
mov edx, 0x6afa9c
call fcn.00719c38
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 0xc]
call fcn.006afcc4
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x14], eax
jmp 0x6af9d2
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
cmp word [eax + ebx*2], 0x3c
je 0x6af9bf
cmp esi, ebx
jge 0x6af973
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.006b0010
lea ecx, [ebp - 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
mov edx, ebx
call fcn.006ad384
cmp dword [ebp - 4], 0
jne 0x6af98e
inc ebx
mov esi, ebx
jmp 0x6af9d3
mov ecx, ebx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
call fcn.006adc38
test al, al
je 0x6af9ae
mov eax, dword [ebp - 4]
call fcn.0040ab48
add ebx, eax
mov esi, ebx
dec ebx
jmp 0x6af9d2
inc ebx
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.006b0010
mov esi, ebx
jmp 0x6af9d2
cmp esi, ebx
jge 0x6af9cf
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.006b0010
inc ebx
mov esi, ebx
inc ebx
mov eax, dword [ebp - 0xc]
cmp ebx, dword [eax + 0x10]
jle 0x6af880
cmp esi, ebx
jge 0x6af9ef
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.006b0010
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0xc]
cmp eax, dword [edx + 0x28]
jle 0x6afa03
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0xc]
add eax, dword [edx + 0x34]
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x2c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6afa52
push 0
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x28]
xor ecx, ecx
call fcn.007136a8
mov eax, dword [ebp - 0xc]
mov byte [eax + 4], 0
ret