Function at 0x1008ff50
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x100bf673
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
push edi
push 0x14
call fcn.100ad15d
add esp, 4
mov dword [esp + 0x10], eax
xor esi, esi
cmp eax, esi
mov dword [esp + 0x30], esi
je 0x1008ff93
mov ecx, eax
call fcn.10029850
mov edi, eax
mov dword [esp + 0x10], edi
jmp 0x1008ff99
mov dword [esp + 0x10], esi
mov edi, esi
mov eax, dword [esp + 0x40]
or ebp, 0xffffffff
cmp eax, esi
mov dword [esp + 0x30], ebp
je 0x1008ffbf
mov ecx, dword [eax + 0x10]
cmp ecx, esi
jne 0x1008ffb3
xor eax, eax
jmp 0x1008ffb6
mov eax, dword [eax + 8]
push ecx
push eax
mov ecx, edi
call fcn.10029ff0
mov eax, dword [esp + 0x44]
test al, al
je 0x1008ffcf
push eax
mov ecx, edi
call fcn.10029b20
mov esi, dword [esp + 0x38]
lea ecx, [esp + 0x14]
mov dword [esp + 0x44], esi
call fcn.10029850
mov dword [esp + 0x30], 1
mov bl, byte [esi]
test bl, bl
je 0x10090203
mov eax, dword [edi + 0x10]
mov byte [esp + 0x40], 0
test eax, eax
jle 0x1009000f
jne 0x10090004
xor ecx, ecx
jmp 0x10090007
mov ecx, dword [edi + 8]
mov al, byte [ecx + eax - 1]
mov byte [esp + 0x40], al
mov ecx, dword [esp + 0x40]
push ecx
call fcn.1008fc20
add esp, 4
cmp bl, 0x61
jb 0x10090026
cmp bl, 0x7a
jbe 0x1009002f
cmp bl, 0x3b
jne 0x1009013c
cmp eax, 1
mov dword [esp + 0x24], 0
je 0x1009007e
xor esi, esi
cmp byte [esi + str.bcdfghijklmnpqrstuvwxyz], bl
jne 0x10090056
mov dl, byte [esi + 0x100e3028]
lea ecx, [esp + 0x14]
push edx
call fcn.10029b20
inc esi
cmp esi, 0x17
jb 0x1009003e
xor esi, esi
cmp byte [esi + str.hgjlkbrfzaoe], bl
jne 0x10090076
mov al, byte [esi + 0x100e3094]
lea ecx, [esp + 0x14]
push eax
call fcn.10029b20
inc esi
cmp esi, 0xc
jb 0x1009005e
jmp 0x1009009e
xor esi, esi
cmp byte [esi + str.abcddefghijklmnoopqrrsstuvvwwxyyz_], bl
jne 0x10090098
mov cl, byte [esi + 0x100e3064]
push ecx
lea ecx, [esp + 0x18]
call fcn.10029b20
inc esi
cmp esi, 0x22
jb 0x10090080
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x100901d5
mov edi, dword [esp + 0x1c]
jle 0x100901d1
cmp ebp, 1
jle 0x10090108
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0x10]
shr eax, 2
cmp eax, 0x64
jge 0x10090108
mov esi, 1
cmp ebp, esi
jle 0x10090108
mov ecx, dword [esp + 0x44]
lea ebx, [ecx + 1]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
push eax
push eax
mov al, byte [esi + edi]
push edx
push eax
call fcn.100905b0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x4c]
add esp, 0xc
push eax
push ecx
push edx
push ebx
call fcn.1008ff50
add esp, 0x14
inc esi
cmp esi, ebp
jl 0x100900d8
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov dl, byte [edi]
push eax
push ecx
push edx
call fcn.100905b0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
push eax
call fcn.10029b20
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x10]
or ebp, 0xffffffff
inc esi
mov dword [esp + 0x44], esi
jmp 0x1008ffe8
cmp eax, 1
je 0x100901eb
cmp bl, 0x30
jb 0x10090169
cmp bl, 0x39
ja 0x10090169
add bl, 0x11
xor ax, ax
mov al, bl
mov ecx, edi
push eax
call fcn.10029ae0
inc esi
mov dword [esp + 0x44], esi
jmp 0x1008ffe8
cmp bl, 0x5f
jne 0x10090181
push 0x5f
mov ecx, edi
call fcn.10029ae0
inc esi
mov dword [esp + 0x44], esi
jmp 0x1008ffe8
cmp bl, 0x41
jb 0x100901a5
cmp bl, 0x5a
ja 0x100901a5
add bl, 0x20
xor cx, cx
mov cl, bl
push ecx
mov ecx, edi
call fcn.10029ae0
inc esi
mov dword [esp + 0x44], esi
jmp 0x1008ffe8
mov dl, bl
and dl, 0x80
cmp dl, 0x80
jne 0x100901f9
inc esi
xor eax, eax
mov ecx, edi
mov ah, byte [esi]
mov al, bl
push eax
call fcn.10029ae0
push 0
mov ecx, edi
call fcn.10029b20
inc esi
mov dword [esp + 0x44], esi
jmp 0x1008ffe8
mov edi, dword [esp + 0x10]
test edi, edi
je 0x100901e1
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov dword [esp + 0x30], 0xffffffff
jmp 0x1009023d
test edi, edi
je 0x10090239
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
jmp 0x10090239
test edi, edi
je 0x10090239
mov edx, dword [edi]
push 1
jmp 0x10090235
mov ecx, dword [edi + 0x10]
mov eax, 1
cmp ecx, eax
jle 0x1009022e
mov dword [esp + 0x48], eax
push eax
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
push 0
call fcn.10029f50
mov ecx, dword [esp + 0x3c]
push edi
call fcn.10029b50
jmp 0x10090239
test edi, edi
je 0x10090239
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx]
mov dword [esp + 0x30], ebp
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0x100c1c18
call fcn.10029a50
mov ecx, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret