Function at 0x432320
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x582d58
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x60db70]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.0045381d
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x432368
push 0x80004005
call fcn.00402620
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x38], 0
mov ecx, dword [ebx + 0xc]
mov dl, byte [ecx + 1]
mov ecx, 0x616020
mov byte [esp + 0x13], dl
call fcn.0041cfd0
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x13]
cmp al, byte [0x615a60]
jne 0x432a2e
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov ecx, dword [eax + ecx]
call fcn.007bef8b
pop ds
add eax, 4
push ecx
mov dword [ebx + 8], eax
call edi
lea eax, [eax + eax*4]
mov dword [esp + 0x14], eax
cmp eax, 5
jb 0x43242c
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov cl, byte [eax + edx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x43242c
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 1
call edi
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
push ecx
mov ecx, dword [ebx]
push ecx
call fcn.007b8b3a
movsd dword es:[edi], dword [esi]
test esi, esi
je 0x43242c
mov edx, dword [esp + 0x28]
push edx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x19
jb 0x432493
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x432493
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 2
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push ecx
push eax
call fcn.007b8b3a
cmp eax, dword [ebp - 0x74f28b0a]
dec esp
and al, 0x28
push ecx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x32
jb 0x4324fa
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov cl, byte [eax + edx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x4324fa
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 3
call edi
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
push ecx
mov ecx, dword [ebx]
push ecx
call fcn.007b8b3a
popal
test esi, esi
je 0x4324fa
mov edx, dword [esp + 0x28]
push edx
call fcn.0055354d
add esp, 4
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x68], 3
jb 0x43263d
cmp dword [esp + 0x14], 0x3c
jb 0x43256f
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x43256f
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 4
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push ecx
push eax
call fcn.007b8b3a
xchg edi, eax
test esi, esi
je 0x43256f
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x50
jb 0x4325d6
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov cl, byte [eax + edx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x4325d6
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 5
call edi
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
push ecx
mov ecx, dword [ebx]
push ecx
call fcn.007b8b3a
pop ebp
test esi, esi
je 0x4325d6
mov edx, dword [esp + 0x28]
push edx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x5a
jb 0x43263d
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x43263d
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 6
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push ecx
push eax
call fcn.007b8b3a
xor eax, dword [ebp - 0x74f28b0a]
dec esp
and al, 0x28
push ecx
call fcn.0055354d
add esp, 4
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x68], 6
jb 0x432786
cmp dword [esp + 0x14], 0x64
jb 0x4326b2
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x4326b2
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 7
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push ecx
push eax
call fcn.007b8b3a
cdq
test esi, esi
je 0x4326b2
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0xc8
jb 0x43271c
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov cl, byte [eax + edx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x43271c
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 8
call edi
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
push ecx
mov ecx, dword [ebx]
push ecx
call fcn.007b8b3a
jne 0x8b509c06
push esp
and al, 0x28
push edx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x12c
jb 0x432786
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x432786
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 9
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push ecx
push eax
call fcn.007b8b3a
adc eax, 0xd74f685
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0055354d
add esp, 4
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x68], 8
jb 0x4328d2
cmp dword [esp + 0x14], 0x15e
jb 0x4327fe
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x4327fe
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 0xa
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push ecx
push eax
call fcn.007b8b3a
sub eax, dword [ebp - 0x74f28b0a]
dec esp
and al, 0x28
push ecx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x190
jb 0x432868
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov cl, byte [eax + edx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x432868
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 0xb
call edi
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
push ecx
mov ecx, dword [ebx]
push ecx
call fcn.007b8b3a
rol dword [ebp - 0x74f28b0a], 1
push esp
and al, 0x28
push edx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x1c2
jb 0x4328d2
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x4328d2
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 0xc
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push ecx
push eax
call fcn.007b8b3a
xchg dword [ebp - 0x74f28b0a], eax
dec esp
and al, 0x28
push ecx
call fcn.0055354d
add esp, 4
mov edx, dword [esp + 0x18]
cmp dword [edx + 0x68], 0xa
jb 0x432a1a
cmp dword [esp + 0x14], 0x1f4
jb 0x43294a
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x43294a
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 0xd
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push ecx
push eax
call fcn.007b8b3a
int 0x85
div byte [ebp + ecx - 0x75]
dec esp
and al, 0x28
push ecx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x2bc
jb 0x4329b4
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov cl, byte [eax + edx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x4329b4
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 0xe
call edi
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
push 0
lea eax, [esi + 4]
push eax
push ecx
mov ecx, dword [ebx]
push ecx
call fcn.007b8b3a
and eax, dword [ebp - 0x74f28b0a]
push esp
and al, 0x28
push edx
call fcn.0055354d
add esp, 4
cmp dword [esp + 0x14], 0x320
jb 0x432a1a
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x432a1a
mov ax, word [0x615a62]
lea esi, [esp + 0x24]
call fcn.00405650
push 0xf
call edi
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], eax
call fcn.0041ea80
mov esi, dword [esp + 0x24]
push esi
call edi
mov edi, dword [esp + 0x28]
mov dword [edi], eax
push 0
lea eax, [esi + 4]
push eax
mov eax, dword [ebx]
push edi
push eax
call fcn.007b8b3a
or dword [ebp + 0x570974f6], eax
call fcn.0055354d
add esp, 4
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
jmp 0x432ab2
cmp al, byte [0x615a62]
jne 0x432aa7
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov cl, byte [eax + ecx]
inc eax
mov dword [ebx + 8], eax
test cl, cl
jne 0x432a96
lea edx, [esp + 0x1c]
push 0x5e1ae0
push edx
call fcn.00402050
mov eax, dword [esp + 0x24]
add esp, 4
add eax, 0xfffffff0
mov dword [esp + 0x24], esp
mov esi, esp
push eax
call fcn.00401e50
add eax, 0x10
mov dword [esi], eax
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.0044dbe0
mov eax, dword [esp + 0x20]
add esp, 8
cmp dword [eax + 0x35c], 2
jne 0x432a96
mov dword [eax + 0x35c], 0
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
jmp 0x432ab2
mov dword [esp + 0x38], 0xffffffff
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432acb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret