Function at 0x451650
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4a89e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x1c], ecx
xor ebx, ebx
lea ecx, [esp + 0x10]
push ebx
mov dword [esp + 0x40], ebx
call fcn.00475930
push ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x40], 1
call fcn.00475930
mov al, byte [esp + 0x44]
mov dword [esp + 0x28], ebx
mov byte [esp + 0x24], al
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
push ebx
push ebx
push ebx
mov byte [esp + 0x48], 3
mov dword [esp + 0x2c], ebx
call fcn.0041ca50
mov edi, eax
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp edi, eax
mov ebp, eax
mov esi, edi
je 0x4516d4
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, ebp
jne 0x4516c5
push ecx
mov dword [esp + 0x30], edi
mov ecx, esp
mov dword [esp + 0x1c], esp
push ebx
call fcn.00475930
lea ecx, [esp + 0x14]
call fcn.00475ae0
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
push 4
push 0x4bc8e0
lea ecx, [esp + 0x20]
call fcn.004759a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 4
call fcn.00475a90
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call fcn.00475a40
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [0x4c4554]
push 2
call fcn.0040c120
test ax, ax
jne 0x4517c0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x451764
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451751
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, edi
mov dword [esp + 0x3c], 0xffffffff
je 0x4520ad
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x4517ac
jmp 0x4520a9
lea ecx, [esp + 0x14]
call fcn.00475d00
mov edi, eax
mov esi, 3
cmp di, si
jle 0x4517f3
push esi
lea ecx, [esp + 0x18]
call fcn.00475c70
test al, al
jbe 0x4517ed
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
inc esi
cmp si, di
jl 0x4517d5
push 1
lea ecx, [esp + 0x14]
call fcn.00475ce0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push edx
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.0041c400
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ebx
call fcn.00475930
lea ecx, [esp + 0x14]
call fcn.00475ae0
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
push 5
push 0x4bc8d8
lea ecx, [esp + 0x20]
call fcn.004759a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 5
call fcn.00475a90
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call fcn.00475a40
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [0x4c4554]
push 0x12
call fcn.0040c120
test ax, ax
jne 0x4518fb
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x45189f
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x45188c
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, edi
mov dword [esp + 0x3c], 0xffffffff
je 0x4520ad
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x4518e7
jmp 0x4520a9
lea ecx, [esp + 0x14]
call fcn.00475d00
mov edi, eax
mov esi, 4
cmp di, si
jle 0x45192e
push esi
lea ecx, [esp + 0x18]
call fcn.00475c70
test al, al
jbe 0x451928
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
inc esi
cmp si, di
jl 0x451910
push 1
lea ecx, [esp + 0x14]
call fcn.00475ce0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push edx
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.0041c400
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ebx
call fcn.00475930
lea ecx, [esp + 0x14]
call fcn.00475ae0
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
push 5
push 0x4bc8d0
lea ecx, [esp + 0x20]
call fcn.004759a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 6
call fcn.00475a90
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call fcn.00475a40
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [0x4c4554]
push 0x19
call fcn.0040c120
test ax, ax
jne 0x451a36
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x4519da
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x4519c7
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, edi
mov dword [esp + 0x3c], 0xffffffff
je 0x4520ad
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451a22
jmp 0x4520a9
lea ecx, [esp + 0x14]
call fcn.00475d00
mov edi, eax
mov esi, 4
cmp di, si
jle 0x451a69
push esi
lea ecx, [esp + 0x18]
call fcn.00475c70
test al, al
jbe 0x451a63
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
inc esi
cmp si, di
jl 0x451a4b
push 1
lea ecx, [esp + 0x14]
call fcn.00475ce0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push edx
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.0041c400
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ebx
call fcn.00475930
lea ecx, [esp + 0x14]
call fcn.00475ae0
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
push 4
push 0x4bc8c8
lea ecx, [esp + 0x20]
call fcn.004759a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 7
call fcn.00475a90
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call fcn.00475a40
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [0x4c4554]
push 0x39
call fcn.0040c120
test ax, ax
jne 0x451b71
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x451b15
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451b02
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, edi
mov dword [esp + 0x3c], 0xffffffff
je 0x4520ad
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451b5d
jmp 0x4520a9
lea ecx, [esp + 0x14]
call fcn.00475d00
mov edi, eax
mov esi, 3
cmp di, si
jle 0x451ba4
push esi
lea ecx, [esp + 0x18]
call fcn.00475c70
test al, al
jbe 0x451b9e
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
inc esi
cmp si, di
jl 0x451b86
push 1
lea ecx, [esp + 0x14]
call fcn.00475ce0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push edx
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.0041c400
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ebx
call fcn.00475930
lea ecx, [esp + 0x14]
call fcn.00475ae0
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
push 4
push 0x4bc8c0
lea ecx, [esp + 0x20]
call fcn.004759a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 8
call fcn.00475a90
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call fcn.00475a40
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [0x4c4554]
push 0x38
call fcn.0040c120
test ax, ax
jne 0x451cac
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x451c50
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451c3d
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, edi
mov dword [esp + 0x3c], 0xffffffff
je 0x4520ad
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451c98
jmp 0x4520a9
lea ecx, [esp + 0x14]
call fcn.00475d00
mov edi, eax
mov esi, 3
cmp di, si
jle 0x451cdf
push esi
lea ecx, [esp + 0x18]
call fcn.00475c70
test al, al
jbe 0x451cd9
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
inc esi
cmp si, di
jl 0x451cc1
push 1
lea ecx, [esp + 0x14]
call fcn.00475ce0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push edx
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.0041c400
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ebx
call fcn.00475930
lea ecx, [esp + 0x14]
call fcn.00475ae0
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
push 5
push 0x4bc8b8
lea ecx, [esp + 0x20]
call fcn.004759a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 9
call fcn.00475a90
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call fcn.00475a40
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [0x4c4554]
push 0x1a
call fcn.0040c120
test ax, ax
jne 0x451de7
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x451d8b
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451d78
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, edi
mov dword [esp + 0x3c], 0xffffffff
je 0x4520ad
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451dd3
jmp 0x4520a9
lea ecx, [esp + 0x14]
call fcn.00475d00
mov edi, eax
mov esi, 4
cmp di, si
jle 0x451e1a
push esi
lea ecx, [esp + 0x18]
call fcn.00475c70
test al, al
jbe 0x451e14
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
inc esi
cmp si, di
jl 0x451dfc
push 1
lea ecx, [esp + 0x14]
call fcn.00475ce0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push edx
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.0041c400
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ebx
call fcn.00475930
lea ecx, [esp + 0x14]
call fcn.00475ae0
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
push 4
push 0x4bc8b0
lea ecx, [esp + 0x20]
call fcn.004759a0
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x40], 0xa
call fcn.00475a90
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 3
call fcn.00475a40
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [0x4c4554]
push 0x3a
call fcn.0040c120
test ax, ax
jne 0x451f1d
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x451ec1
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x451eaf
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, edi
mov dword [esp + 0x3c], 0xffffffff
je 0x4520ad
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x451f09
jmp 0x4520a9
lea ecx, [esp + 0x14]
call fcn.00475d00
mov edi, eax
mov esi, 3
cmp di, si
jle 0x451f50
push esi
lea ecx, [esp + 0x18]
call fcn.00475c70
test al, al
jbe 0x451f4a
push ebx
lea ecx, [esp + 0x14]
call fcn.00475ce0
inc esi
cmp si, di
jl 0x451f32
push 1
lea ecx, [esp + 0x14]
call fcn.00475ce0
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x10]
push edx
push 1
push eax
lea ecx, [esp + 0x30]
call fcn.0041c400
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
lea ebp, [ecx + 0x18]
cmp di, 0x64
jle 0x451f83
xor edi, edi
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push ebp
call fcn.00475910
push 9
lea ecx, [esp + 0x50]
mov byte [esp + 0x48], 0xb
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
mov ecx, 0x4c45b8
inc edi
mov byte [esp + 0x48], 3
call fcn.0047b0e0
cmp ax, 2
je 0x4520be
xor esi, esi
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
jne 0x451fd6
xor eax, eax
jmp 0x451fdf
mov eax, dword [esp + 0x2c]
sub eax, ecx
sar eax, 2
movsx ecx, si
cmp ecx, eax
jae 0x451f7b
push ecx
lea ecx, [esp + 0x28]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x14]
call fcn.00475ae0
push 1
push 0x4c4538
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00475910
mov ecx, dword [0x4c4548]
call fcn.0043efc0
cmp ax, 1
jne 0x452032
inc esi
jmp 0x451fca
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x452055
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x452043
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, eax
mov dword [esp + 0x3c], 0xffffffff
mov edi, eax
je 0x4520ad
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x45209b
mov esi, dword [esp + 0x48]
push esi
call fcn.00498130
add esp, 4
xor ax, ax
jmp 0x452146
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
cmp esi, edi
mov byte [esp + 0x3c], 2
je 0x4520e1
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x4520cf
mov esi, dword [esp + 0x28]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x3c], 1
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], bl
call fcn.00475a40
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, eax
mov dword [esp + 0x3c], 0xffffffff
mov edi, eax
je 0x452139
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x452127
mov esi, dword [esp + 0x48]
push esi
call fcn.00498130
add esp, 4
mov ax, 1
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x30
ret 0x10