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

Disassembly:
push eax
add esp, 4
add esi, 0x5594
or esi, 0xc33e
pop esi
push ecx
sub ecx, 0x5985
pop ecx
mov dword [ebp - 0x3cc], 0
push edx
or edx, 0xbb38
add edx, 0xba00
sub edx, 0x16afb
pop edx
push edx
push esi
add esp, 4
add edx, 0x178ef
jmp 0x4085f8
and edx, 0x89f0
sub edx, 0x3402
pop edx
push ebx
push esi
add esp, 4
sub ebx, 0x152ff
sub ebx, 0x11f4f
add ebx, 0x182c0
pop ebx
push esi
sub esi, 0xb115
sub esi, 0x47bf
or esi, 0x85c7
sub esi, 0x16242
pop esi
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push edx
push esi
add esp, 4
call 0x40865f
add byte [ebp + 0x45], cl
cmp cl, byte [esi + 0x3f]
cmp dword [edx], edi
dec esp
add esp, 4
pop edx
push esi
push ecx
add esp, 4
and esi, 0x8c69
jmp 0x408677
add esi, 0xb9cd
pop esi
mov dword [ebp - 0x1fac], 0xffffffff
push ebx
or ebx, 0x13d29
pop ebx
push ebx
sub ebx, 0xe041
and ebx, 0x122f3
pop ebx
push esi
and esi, 0x2688
xor esi, 0xb0c9
sub esi, 0x118b2
jmp 0x4086b9
pop esi
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x4086d7
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push esi
add esi, 0x3d43
or esi, 0x11c7a
pop esi
push eax
xor eax, 0x17ae9
jmp 0x4086f1
call 0x4086ff
add byte [ebp + 0x46], cl
inc ebp
inc ebx
inc edi
inc ecx
inc ebx
inc edi
add esp, 4
sub eax, 0x599e
pop eax
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x408751
push edx
push eax
add esp, 4
sub edx, 0x8ed9
xor edx, 0xd074
xor edx, 0x18473
add bl, ch
invalid
pop edx
push esi
jmp 0x40873f
or esi, 0x1750c
sub esi, 0x9dd3
pop esi
jmp 0x40897f
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push ebx
push esi
add esp, 4
call 0x40877b
add byte [ebp + 0x46], cl
dec edx
dec ebp
cmp cl, byte [edx + 0x34]
aaa
inc esi
add esp, 4
and ebx, 0x12362
pop ebx
push ebx
push edi
add esp, 4
sub ebx, 0x9a18
pop ebx
push ebx
or ebx, 0x4ecc
pop ebx
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x408800
push ebx
xor ebx, 0x133c7
xor ebx, 0xfa54
jmp 0x4087d0
or ebx, 0x1230b
pop ebx
push esi
push edx
add esp, 4
add esi, 0x5142
sub esi, 0x4113
and esi, 0x416e
pop esi
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x408931
cmp dword [ebp - 0xc10], 0
jle 0x408925
push esi
push edi
add esp, 4
and esi, 0xa7c9
pop esi
push ebx
push ecx
add esp, 4
or ebx, 0x9ce7
and ebx, 0x147ec
add ebx, 0x9d5d
pop ebx
push esi
add esi, 0xa69d
sub esi, 0x5387
pop esi
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x4088c1
push ebx
add ebx, 0xdb6c
pop ebx
push eax
push edx
add esp, 4
call 0x40886f
add byte [ebx + 0x3e], al
inc edi
xor ecx, dword [edi + 0x46]
xor eax, dword [ebx - 0x177efb3c]
adc ebx, eax
add byte [eax], al
and eax, 0x123cf
pop eax
push edx
sub edx, 0xabad
pop edx
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x4088a9
mov dword [ebp - 0x14cc], 1
jmp 0x4088b3
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x408925
push eax
xor eax, 0x5860
or eax, 0x2569
call 0x4088db
add byte [ebp + 0x34], al
inc ecx
inc ecx
cmp byte [esi + 0x32], cl
add esp, 4
pop eax
push ebx
add ebx, 0x9130
add ebx, 0x12431
or ebx, 0x16c9e
pop ebx
mov edx, dword [ebp - 0xc10]
sub edx, 1
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xa60]
add eax, 1
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0x9f0], ecx
jmp 0x408800
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x40897a
push ecx
add ecx, 0xfb63
sub ecx, 0x15435
add ecx, 0xeca0
pop ecx
push edi
push eax
add esp, 4
sub edi, 0x4f0b
sub edi, 0x84a7
or edi, 0x12ed
sub edi, 0x971b
pop edi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x4089bb
jmp 0x4086c8
push eax
add eax, 0x9bff
jmp 0x40898d
sub eax, 0xc0f
and eax, 0xc905
pop eax
push edi
push eax
add esp, 4
jmp 0x4089a4
or edi, 0xe957
sub edi, 0x133a0
pop edi
mov dword [ebp - 0xa5c], 0
push eax
push ecx
add esp, 4
or eax, 0xd5fb
xor eax, 0xe68c
and eax, 0x7ec
pop eax
push edx
and edx, 0x130da
sub edx, 0x3a2a
xor edx, 0x175be
xor edx, 0x9eb
pop edx
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50