Function at 0x406eb0
Capabilities:
Get number of processors

Disassembly:
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x4070b0
invalid
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x406f14
invalid
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x406fc6
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x406fc6
push ecx
and ecx, 0xbc6c
add ecx, 0xe500
pop ecx
push edx
push edx
add esp, 4
and edx, 0x63dc
add edx, 0xca8a
and edx, 0x1310c
pop edx
push edi
push edi
add esp, 4
and edi, 0x1722d
pop edi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x406fb8
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x406fbf
jmp 0x406f05
jmp 0x406fc6
push ebx
push ebx
add esp, 4
add ebx, 0x14ca6
and ebx, 0x14e40
pop ebx
push eax
push edx
add esp, 4
or eax, 0x4db8
pop eax
push edx
sub edx, 0x138c4
sub edx, 0xd403
or edx, 0xc8b4
pop edx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x407025
mov dword [ebp - 0xc40], 0
jmp 0x407094
push ecx
push edi
add esp, 4
add ecx, 0x4380
sub ecx, 0x5a2
add ecx, 0x11cb7
pop ecx
push ecx
add ecx, 0xac57
sub ecx, 0x10fb6
add ecx, 0xbf0c
xor ecx, 0x93c9
pop ecx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x40708a
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x407094
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x4070ab
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x4070bc
jmp 0x406e95
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push eax
and eax, 0x9349
call 0x4070de
add byte [ecx + 0x3d], cl
cmp byte [esp + eax*2 + 0x4d], al
cmp dword [esi + 0x38], eax
add esp, 4
pop eax
push esi
push ebx
add esp, 4
add esi, 0x37c1
xor esi, 0x17ebd
or esi, 0x11e9c
pop esi
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push edx
and edx, 0xa64c
and edx, 0x40ab
sub edx, 0xb087
pop edx
push eax
push esi
add esp, 4
and eax, 0xdf9d
add eax, 0x655d
or eax, 0x120e0
or eax, 0x158a9
pop eax
cmp dword [ebp - 0x3cc], 0
je 0x40714d
cmp dword [ebp - 0xa5c], 0
jne 0x407193
push edx
jmp 0x407154
pop edx
push ecx
push esi
add esp, 4
sub ecx, 0xde1b
xor ecx, 0x16dd9
call 0x407175
add byte [eax], bh
xor al, byte [edx + 0x48]
dec esp
xor esi, dword [edi]
inc ebp
inc edx
add esp, 4
xor ecx, 0x5707
pop ecx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push esi
jmp 0x4071a5
and esi, 0xc4b8
add esi, 0x6ec3
pop esi
push edx
invalid
ret 0x701
invalid