Function at 0x402bb9
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1fffffff
sub esp, 0x10
bsr ecx, eax
push esi
xor esi, esi
inc esi
mov eax, esi
shl eax, cl
mov ecx, dword [ebp + 8]
push edi
cmp ecx, eax
jbe 0x402be2
push 0x40a688
call dword [0x40a1d4]
lea eax, [ecx - 1]
or eax, esi
bsr ecx, eax
mov eax, dword [0x40d7f4]
push eax
mov dword [ebp - 4], eax
lea ecx, [ecx + 1]
shl esi, cl
mov ecx, 0x40d7fc
lea eax, [esi + esi]
and bh, byte [edx]
and byte [ebx + 0xd], bh
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [edx], ah
inc ebp
js 0x402c7f
arpl word [ebp + 0x74], si
imul ebp, dword [edi + 0x6e], 0x6e756f43
je 0x402c48
cmp ah, byte [eax]
xor eax, 0x200a0d2c
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [edx], ah
dec esp
popal
jae 0x402cb5
inc ebp
js 0x402ca9
arpl word [ebp + 0x74], si
and bh, byte fs:[edx]
and bh, byte fs:[edx]
and byte [edx], ah
xor dh, byte [eax]
xor dh, byte [ebp + 0x302d3130]
cmp dword [ecx + esi + 0x36], edx
cmp dh, byte [ecx]
xor eax, 0x2231303a
or eax, 0x2020200a
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [ebp + 0x2c], bh
or eax, 0x2020200a
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [edx], ah
xor esi, dword [ecx]
aaa
and dh, byte [ebx]
xor dword [esi], esi
aaa
and bh, byte [edx]
and byte [ebx + 0xd], bh
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [edx], ah
inc ebp
js 0x402d03
arpl word [ebp + 0x74], si
imul ebp, dword [edi + 0x6e], 0x6e756f43
je 0x402ccc
and bh, byte [edx]
and byte [0x200a0d2c], dh
cmp ah, byte [eax]
xor eax, 0x200a0d2c
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [edx], ah
dec esp
popal
jae 0x402d39
inc ebp
js 0x402d2d
arpl word [ebp + 0x74], si
and bh, byte fs:[edx]
and bh, byte fs:[edx]
and byte [edx], ah
xor dh, byte [eax]
xor dh, byte [ebp + 0x302d3130]
cmp dword [ecx + esi + 0x36], edx
cmp dh, byte [ecx]
xor eax, 0x2232303a
or eax, 0x2020200a
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [ebp + 0x2c], bh
or eax, 0x2020200a
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [edx], ah
xor esi, dword [edx]
xor eax, 0x203a2234
and dh, byte [ebx]
xor dh, byte [0x203a2234]
jnp 0x402d1a
or ah, byte [eax]
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [edx], ah
inc ebp
js 0x402d87
and byte [eax], ah
and byte [eax], ah
and al, byte [ebp + 0x78]
arpl word gs:[ebp + 0x74], si
arpl word [ebp + 0x74], si
imul ebp, dword [edi + 0x6e], 0x6e756f43
je 0x402d50
and bh, byte [edx]
and byte [0x200a0d2c], dh
cmp ah, byte [eax]
xor eax, 0x200a0d2c
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and bh, byte fs:[edx]
and dh, byte [ebx]
xor dh, byte [esi]
xor byte [edx], ah