Function at 0x40977b
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [ebp - 0x76c]
add eax, 1
mov dword [ebp - 0x76c], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x76c]
cmp edx, dword [ecx + 0x18]
jae 0x4096fa
mov eax, dword [ebp - 0x76c]
mov ecx, dword [ebp - 0x19a8]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x76c]
mov ecx, dword [ebp - 0x19ac]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19b0]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19b4], ecx
mov dword [ebp - 0x1cc], 0
jmp 0x40955e
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x1cc]
invalid
dec dword [edi]
mov esi, 0xfc98508
invalid
wait
add byte [eax], al
invalid
invalid
xchg ebp, eax
invalid
push eax
dec edi
cmp al, 0x4c
inc ebx
inc eax
cmp dword [esi - 0x7d], eax
les eax, [ebx + ebp*8]
add al, 0x33
cmp dword [edx], esi
inc edi
pop eax
push esi
jmp 0x4095b0
add esi, 0xc674
or esi, 0xe556
pop esi
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x1cc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1cc]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
je 0x409602
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x1cc]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1cc]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x409609
jmp 0x40954f
jmp 0x409610
push esi
or esi, 0xe001
pop esi
push esi
and esi, 0xfeb8
jmp 0x409627
or esi, 0x15af0
pop esi
push esi
add esi, 0x1660d
or esi, 0x1716a
and esi, 0x809d
pop esi
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x1cc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
jne 0x40966f
mov dword [ebp - 0xccc], 0
jmp 0x4096de
push esi
xor esi, 0x146a2
or esi, 0x17ce2
sub esi, 0x12bde
pop esi
push ebx
push edx
add esp, 4
sub ebx, 0x1096c
add ebx, 0x164b6
or ebx, 0x3e1e
sub ebx, 0x389a
pop ebx
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x1cc]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1cc]
movsx ecx, byte [ebp + eax - 0x87c]
or ecx, 0x20
cmp edx, ecx
jge 0x4096d4
mov dword [ebp - 0xccc], 0xffffffff
jmp 0x4096de
mov dword [ebp - 0xccc], 1
cmp dword [ebp - 0xccc], 0
jne 0x4096f5
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x50c], edx
jmp 0x409706
jmp 0x4094df
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x7a0], ecx
push eax
push esi
add esp, 4
add eax, 0xfd73
pop eax
push edi
push esi
add esp, 4
sub edi, 0x26c4
and edi, 0x8e17
pop edi
push ebx
add ebx, 0xf223
xor ebx, 0x42c0
add ebx, 0x17fb9
pop ebx
mov edx, dword [ebp - 0x3fc]
add edx, 0xe
mov dword [ebp - 0x1a04], edx
push edi
add edi, 0x147dc
or edi, 0x512f
and edi, 0x1488c
pop edi
push esi
add esi, 0x13dc5
call 0x40977b
add byte [eax + 0x41], cl
inc eax
dec ebx
inc ecx
xor eax, 0x4c4834f
or esi, 0x60df
pop esi
cmp dword [ebp - 0x3fc], 0
je 0x409797
cmp dword [ebp - 0xae4], 0
jne 0x4097dd
push ebx
push ebx
add esp, 4
call 0x4097ab
add byte [esi + 0x3b], cl
inc eax
aaa
cmp al, 0x3e
dec edx
cmp eax, dword [ebx - 0x147efb3c]
mov eax, dword [0x810000f5]
push ss
dec ecx
add byte [eax], al
sub ebx, 0x122b2
pop ebx
push ebx
jmp 0x4097c8
pop ebx
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x19b8], eax
push 0
call dword [ebp - 0x19b8]
mov dword [ebp - 0x2058], 0xa
push edx
sub edx, 0x65e9
sub edx, 0x18465
add edx, 0x9784
pop edx
push esi
push ecx
add esp, 4
and esi, 0x298
pop esi
push ecx
push edx
add esp, 4
add ecx, 0xfe21
add ecx, 0xd9f8
pop ecx
mov ecx, dword [ebp - 0x3fc]
mov dl, byte [ecx + 0xa]
mov byte [ebp - 0x3b0], dl
mov eax, dword [ebp - 0xae4]
sub eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x16a4], eax
mov dword [ebp - 0xcfc], 0
push ecx
push ebx
add esp, 4
or ecx, 0x4d44
and ecx, 0x16745
and ecx, 0x46b4
pop ecx
push eax
add eax, 0x2665
invalid
enter 0xffffffffffff8680, 0