Function at 0x4f4370
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x55ab08
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
mov eax, dword [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
push edi
mov ebp, 1
xor edi, edi
cmp eax, ebp
mov dword [esp + 0x10], edi
mov dword [ebx + 0x10], edi
jne 0x4f43d8
push 0x1a
mov ecx, ebx
call fcn.00477ff0
mov edi, dword [esp + 0x40]
push edi
call fcn.00478c70
add esp, 4
mov esi, eax
mov ecx, ebx
push esi
call fcn.00478020
push esi
push edi
mov ecx, ebx
call fcn.004785b0
mov dword [esp + 0x10], ebp
jmp 0x4f477d
mov esi, dword [esp + 0x40]
push esi
call fcn.00478b40
add esp, 4
cmp eax, ebp
jne 0x4f43fb
push 0x16
mov ecx, ebx
call fcn.00477ff0
mov dword [esp + 0x10], ebp
jmp 0x4f477d
lea ecx, [esp + 0x1c]
call fcn.00477cf0
mov al, byte [esi]
mov dword [esp + 0x38], edi
cmp al, 0x20
jne 0x4f4416
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x4f440e
mov al, byte [esi]
mov dword [esp + 0x14], edi
cmp al, 0x22
jne 0x4f4465
mov dword [esp + 0x14], ebp
inc esi
mov al, byte [esi]
mov ebp, esi
test al, al
je 0x4f465a
test al, 0x80
je 0x4f4644
mov cl, byte [esi + 1]
inc esi
test cl, cl
je 0x4f4656
xor edx, edx
mov dh, al
mov dl, cl
mov eax, edx
cmp ax, 0xa1b0
je 0x4f445d
cmp ax, 0xa1b1
jne 0x4f464a
lea edi, [esi - 1]
jmp 0x4f464a
test al, 0x80
je 0x4f448f
xor ecx, ecx
mov ch, al
mov cl, byte [esi + 1]
mov edi, ecx
cmp di, 0xa1b0
mov dword [esp + 0x44], edi
je 0x4f4484
cmp di, 0xa1b1
jne 0x4f4493
add esi, 2
mov dword [esp + 0x14], ebp
xor edi, edi
jmp 0x4f4425
mov edi, dword [esp + 0x44]
test al, al
je 0x4f45e9
mov bl, byte [esp + 0x48]
mov cl, al
inc esi
mov byte [esp + 0x40], cl
mov eax, dword [esp + 0x40]
and eax, 0xff
shr eax, 7
cmp eax, 1
jne 0x4f44f5
mov bl, byte [esi]
inc esi
test bl, bl
je 0x4f45e0
xor edx, edx
mov dh, cl
mov dl, bl
mov dword [esp + 0x44], edx
mov edi, edx
cmp cl, 0x81
jb 0x4f44dc
cmp cl, 0xa0
jbe 0x4f45c6
cmp cl, 0xaa
jae 0x4f45c6
cmp cl, 0xa9
jne 0x4f4516
cmp bl, 0x60
je 0x4f45c6
jmp 0x4f453e
test eax, eax
jne 0x4f44ce
cmp cl, 0x20
jae 0x4f4503
mov byte [esp + 0x40], 0x20
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x1c]
push eax
call fcn.00477ff0
jmp 0x4f45d6
cmp cl, 0xa4
jne 0x4f452b
cmp bl, 0xa1
jb 0x4f453e
cmp bl, 0xf3
jbe 0x4f45c6
jmp 0x4f453e
cmp cl, 0xa5
jne 0x4f453e
cmp bl, 0xa1
jb 0x4f453e
cmp bl, 0xf6
jbe 0x4f45c6
cmp di, 0xa1a1
jne 0x4f4555
push 0x20
lea ecx, [esp + 0x20]
call fcn.00477ff0
jmp 0x4f45d6
cmp di, 0xa1ae
je 0x4f45b9
cmp di, 0xa1af
je 0x4f45b9
cmp di, 0xa1a3
jne 0x4f4577
push 0x2e
lea ecx, [esp + 0x20]
call fcn.00477ff0
jmp 0x4f45d6
movzx di, bl
movzx cx, cl
shl edi, 8
or ecx, edi
push ecx
call fcn.004e66f0
add esp, 4
mov byte [esp + 0x40], al
test al, al
je 0x4f45a9
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x1c]
push edx
call fcn.00477ff0
mov edi, dword [esp + 0x44]
jmp 0x4f45d6
push edi
lea ecx, [esp + 0x20]
call fcn.00477fb0
mov edi, dword [esp + 0x44]
jmp 0x4f45d6
push 0x27
lea ecx, [esp + 0x20]
call fcn.00477ff0
jmp 0x4f45d6
xor eax, eax
mov ah, bl
mov al, cl
lea ecx, [esp + 0x1c]
push eax
call fcn.00477fb0
mov al, byte [esi]
test al, al
jne 0x4f449f
mov ebx, dword [esp + 0x48]
mov ebp, 1
push 0
lea ecx, [esp + 0x20]
call fcn.00477ff0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
neg esi
sbb esi, esi
and esi, edi
mov al, byte [esi]
inc esi
test ecx, ecx
je 0x4f466e
push 0x1a
mov ecx, ebx
call fcn.00477ff0
mov eax, dword [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.00478020
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x24]
mov eax, ecx
push ecx
neg eax
sbb eax, eax
mov ecx, ebx
and eax, esi
push eax
call fcn.004785b0
mov dword [esp + 0x10], ebp
jmp 0x4f4764
cmp al, 0x22
jne 0x4f464a
mov edi, esi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4f4431
test edi, edi
jne 0x4f465c
mov edi, esi
sub edi, ebp
lea ecx, [esp + 0x1c]
push edi
push ebp
call fcn.004785b0
jmp 0x4f45e4
cmp al, 0x5b
jne 0x4f46c4
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + esi - 1], 0x5d
jne 0x4f4764
mov byte [ecx + esi - 1], 0
lea ecx, [esp + 0x14]
push ecx
push esi
call fcn.004e5f30
add esp, 8
cmp eax, ebp
jne 0x4f4764
push 0x19
mov ecx, ebx
call fcn.00477ff0
lea edx, [esp + 0x14]
push 8
push edx
mov ecx, ebx
call fcn.004785b0
mov dword [esp + 0x10], ebp
jmp 0x4f4764
cmp al, 0x30
jb 0x4f46cc
cmp al, 0x39
jbe 0x4f470c
cmp al, 0x2e
je 0x4f470c
cmp al, 0x2d
je 0x4f470c
lea eax, [esp + 0x48]
dec esi
push eax
push esi
mov ecx, 0x5b1210
call fcn.0045d6b0
cmp eax, ebp
jne 0x4f4764
push 0x18
mov ecx, ebx
call fcn.00477ff0
mov ecx, dword [esp + 0x48]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
push ecx
mov ecx, ebx
call fcn.00477fb0
mov dword [esp + 0x10], ebp
jmp 0x4f4764
lea edx, [esi - 1]
push edx
call fcn.00511e52
mov al, byte [esi]
add esp, 4
fstp qword [esp + 0x14]
test al, al
mov dword [esp + 0x10], ebp
je 0x4f474d
inc esi
cmp al, 0x2d
je 0x4f4747
cmp al, 0x2e
je 0x4f4747
cmp al, 0x30
jb 0x4f4737
cmp al, 0x39
jbe 0x4f4747
cmp al, 0x44
je 0x4f4747
cmp al, 0x45
je 0x4f4747
cmp al, 0x64
je 0x4f4747
cmp al, 0x65
jne 0x4f479d
mov al, byte [esi]
test al, al
jne 0x4f4726
push 0x17
mov ecx, ebx
call fcn.00477ff0
lea eax, [esp + 0x14]
push 8
push eax
mov ecx, ebx
call fcn.004785b0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x1c], 0x55f890
call fcn.00477ef0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
neg eax
sbb eax, eax
pop edi
and al, 0xd4
pop esi
pop ebp
add eax, 0x2c
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret
mov dword [esp + 0x10], 0
jmp 0x4f4764