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

Disassembly:
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [eax + 0x18]
jae 0x4085c7
push edx
push esi
add esp, 4
and edx, 0x3ad4
pop edx
push eax
push ebx
add esp, 4
sub eax, 0x133c4
add eax, 0x1025d
pop eax
push ecx
sub ecx, 0x14292
xor ecx, 0xaef7
xor ecx, 0x4704
pop ecx
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x124], ecx
push ecx
or ecx, 0xa391
and ecx, 0x5e25
jmp 0x40835e
pop ecx
push eax
push edi
add esp, 4
xor eax, 0x12734
sub eax, 0x1040d
sub eax, 0x16d0b
add eax, 0x9fb9
pop eax
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x490]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x494]
mov eax, dword [ebp - 0x8c]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x498], eax
push ecx
push ebx
add esp, 4
sub ecx, 0x3f8a
add ecx, 0xc961
sub ecx, 0x635d
pop ecx
push eax
push esi
add esp, 4
sub eax, 0xc514
jmp 0x4083ce
jmp 0x4083d3
pop eax
mov dword [ebp - 0x2c], 0
jmp 0x4083e6
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x124]
add edx, dword [ebp - 0x2c]
movsx eax, byte [edx]
test eax, eax
je 0x408482
mov ecx, dword [ebp - 0x2c]
movsx edx, byte [ebp + ecx - 0x154]
test edx, edx
je 0x408482
push ecx
xor ecx, 0x1575a
xor ecx, 0x2c08
and ecx, 0x32f6
add ecx, 0x1246e
pop ecx
push esi
push edi
add esp, 4
sub esi, 0x11ef4
or esi, 0x12ace
add esi, 0xc952
pop esi
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x2c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x2c]
movsx eax, byte [ebp + edx - 0x154]
cmp ecx, eax
je 0x408474
mov ecx, dword [ebp - 0x124]
add ecx, dword [ebp - 0x2c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x2c]
movsx ecx, byte [ebp + eax - 0x154]
cmp edx, ecx
jne 0x40847b
jmp 0x4083dd
jmp 0x408482
push edi
push ecx
add esp, 4
add edi, 0xbc60
pop edi
push eax
push ebx
add esp, 4
sub eax, 0xf973
pop eax
push ebx
push esi
add esp, 4
or ebx, 0x13ae1
retf
loope 0x4084dd
add dword [eax], eax
and ebx, 0xc058
pop ebx
push eax
sub eax, 0x42f1
inc edx
add byte [eax], al
pop eax
mov edx, dword [ebp - 0x124]
add edx, dword [ebp - 0x2c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x2c]
movsx edx, byte [ebp + ecx - 0x154]
cmp eax, edx
jne 0x4084de
mov dword [ebp - 0x1fc], 0
jmp 0x408579
push esi
call fcn.004084eb
add byte [ebx + 0x4c], cl
cmp al, 0x3e
dec eax
add esp, 4
add esp, 4
add esp, 4
call 0x4084fa
add byte [edx + 0x49], al
inc eax
inc ebx
inc esp
aaa
add esp, 4
pop esi
push ebx
push edx
add esp, 4
sub ebx, 0x1354
sub ebx, 0xa3ea
pop ebx
mov eax, dword [ebp - 0x124]
add eax, dword [ebp - 0x2c]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x2c]
movsx eax, byte [ebp + edx - 0x154]
or eax, 0x20
cmp ecx, eax
jge 0x40853d
mov dword [ebp - 0x1fc], 0xffffffff
jmp 0x408579
push edx
push ebx
add esp, 4
or edx, 0xabf7
sub edx, 0x12f52
pop edx
push edx
sub edx, 0x10e4b
call 0x408565
add byte [esi + 0x3a], cl
inc edx
inc edi
aas
cmp eax, 0x83373834
les eax, [ecx + eax*4]
retf 0x6516
cmp dword [ebp - 0x1fc], 0
jne 0x4085c2
push esi
push edi
add esp, 4
call 0x408596
add byte [edi + 0x34], cl
xor ecx, dword [ebx + 0x50]
dec eax
inc edx
dec edx
dec esi
add esp, 4
xor esi, 0x127fd
pop esi
push edx
or edx, 0x16d42
xor edx, 0x9124
or edx, 0x141f0
pop edx
mov ecx, dword [ebp - 0x498]
mov dword [ebp - 0x98], ecx
jmp 0x4085d3
jmp 0x4082da
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x98], edx