Function at 0x4af360
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x628180
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov eax, dword [0xd0af88]
push esi
push edi
push eax
mov dword [esp + 0xc], 0
mov byte [0xa56cd0], 0
call fcn.004e6ba0
mov edx, dword [esp + 0x4c]
mov eax, 1
mov dword [0x6d71f4], eax
add esp, 4
cmp dword [edx + 8], eax
jne 0x4b1ad4
mov edi, 0x6593e0
or ecx, 0xffffffff
xor eax, eax
push ebp
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0xa56cd0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ax, word [edx + 0x14]
mov ebp, dword [edx + 0x14]
mov dword [esp + 0x4c], eax
and eax, 0xffff
shr ebp, 0x10
cmp eax, 0xea5e
jg 0x4b199b
je 0x4b1967
lea ecx, [eax - 1]
cmp ecx, 0x25f
ja 0x4b199b
xor edx, edx
mov dl, byte [ecx + 0x4b20e0]
jmp dword [edx*4 + 0x4b1cec]
mov edi, 0x6573e0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [0xcff8e0], eax
mov esi, edi
mov edx, ecx
mov edi, 0xa56cd0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4b19ae
push eax
push 0x6573c8
push 0xa56cd0
call fcn.006133d6
add esp, 0xc
mov eax, dword [0xd120b4]
pop ebp
cmp eax, 2
jne 0x4b1abb
mov eax, dword [esp + 0x48]
cmp ax, 0x34
je 0x4b19d7
cmp ax, 0x35
je 0x4b19d7
cmp ax, 0x36
jne 0x4b1abb
mov al, byte [esp + 0x48]
mov cl, byte [esp + 0x48]
xor esi, esi
mov byte [esp + 0x18], al
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov byte [esp + 0x28], cl
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov eax, dword [0xd12130]
lea edx, [esp + 0xc]
push edx
push eax
mov ecx, 0xa26378
mov dword [esp + 0x48], 1
call fcn.0048e370
mov edx, dword [esp + 0x2c]
test eax, eax
je 0x4b1a51
cmp edx, esi
mov edi, 0x62d4bc
je 0x4b1a31
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0xa56cd0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor esi, esi
mov dword [esp + 0x40], 0xffffffff
cmp edx, esi
je 0x4b1a7c
mov al, byte [edx - 1]
lea ecx, [edx - 1]
test al, al
je 0x4b1a73
cmp al, 0xff
je 0x4b1a73
dec al
mov byte [ecx], al
jmp 0x4b1a7c
push ecx
call fcn.006066eb
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], esi
cmp eax, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
je 0x4b1aad
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4b1aa4
cmp al, 0xff
je 0x4b1aa4
dec al
mov byte [ecx], al
jmp 0x4b1aad
push ecx
call fcn.006066eb
add esp, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jmp 0x4b1abd
xor esi, esi
cmp dword [0xa4f274], esi
je 0x4b1ad4
push 0
push 0xa56cd0
call fcn.00586e90
add esp, 8
mov eax, dword [0xa4efd4]
lea ecx, [eax - 2]
cmp ecx, 0x62
ja case.0x4b1ae9.6
xor edx, edx
mov dl, byte [ecx + 0x4b252c]
jmp dword [edx*4 + 0x4b2518]
cmp word [esp + 0x48], 0x3f
jne 0x4b1b48
mov dword [0xce806c], 1
xor esi, esi
cmp dword [0xd120b4], 2
jne 0x4b1c5c
mov edi, 0xa56cd0
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
push esi
dec ecx
push esi
push ecx
push 0xa56cd0
call fcn.004cbc90
add esp, 0x14
mov dword [0xd120b4], esi
pop edi
pop esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
cmp byte [0xce8058], 1
jne 0x4b1b5d
call fcn.004e5450
mov byte [0xce8058], 0
xor esi, esi
mov dword [0xcd5a24], esi
mov dword [0xce8054], esi
jmp 0x4b1c47
xor esi, esi
mov dword [0xce8248], 6
mov dword [0xce8054], esi
mov dword [0xcd5a24], esi
mov dword [0xa4efd8], esi
jmp 0x4b1b04
mov ecx, dword [esp + 0x48]
cmp cx, 0xb
je 0x4b1bee
cmp cx, 0x3e
je 0x4b1bee
cmp cx, 0x2b
je 0x4b1bee
cmp cx, 0x8c
je 0x4b1bee
cmp cx, 0x8d
je 0x4b1bee
cmp cx, 0x15
je 0x4b1bc3
cmp cx, 0x26
jne 0x4b1bd8
cmp byte [0xce8058], 1
jne 0x4b1bd8
call fcn.004e5450
mov byte [0xce8058], 0
xor esi, esi
mov dword [0xcd5a24], esi
mov dword [0xce8054], esi
mov dword [0xcd5a20], esi
jmp 0x4b1c47
xor esi, esi
mov dword [0xce8248], 6
mov dword [0xcd5a24], esi
jmp 0x4b1b04
mov ecx, dword [esp + 0x48]
cmp cx, 0x15
je 0x4b1c19
cmp cx, 0x26
jne case.0x4b1ae9.6
cmp byte [0xce8058], 1
jne 0x4b1c2e
call fcn.004e5450
mov byte [0xce8058], 0
xor esi, esi
mov dword [0xcd5a24], esi
mov dword [0xce8054], esi
mov dword [0xcd5a20], esi
call fcn.004efe30
mov eax, 1
mov dword [0xa4efd8], esi
mov dword [0xa4efd4], eax
jmp 0x4b1b04
cmp eax, 0x64
jne 0x4b1cb8
cmp word [esp + 8], 1
push esi
jne 0x4b1c88
push 0xa56cd0
call fcn.004fe420
add esp, 8
pop edi
pop esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
mov edi, 0xa56cd0
or ecx, 0xffffffff
xor eax, eax
push esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
push esi
push ecx
push 0xa56cd0
call fcn.004cbc90
add esp, 0x14
pop edi
pop esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret
cmp eax, 8
je 0x4b1cd9
mov eax, dword [0x6d6790]
push 0xa56cd0
add eax, 0x1388
mov dword [0x6d6204], eax
call fcn.004f0740
add esp, 4
mov ecx, dword [esp + 0x38]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x3c
ret