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

Disassembly:
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x408996
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19b4]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19b8]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19bc]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19c0], eax
mov dword [ebp - 0x198], 0
jmp 0x4087fa
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x4088ac
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x4088ac
push edi
add edi, 0x73ed
xor edi, 0xba34
jmp 0x40883b
pop edi
push edi
sub edi, 0x10140
call 0x40884f
add byte [esi], dh
push eax
inc eax
cmp eax, 0xc4834235
add al, 0x81
iretd
push esi
push ecx
add esp, 4
sub esi, 0x6d3d
pop esi
push ebx
push esi
add esp, 4
sub ebx, 0x71c3
or ebx, 0x4f99
and ebx, 0x1698c
pop ebx
push eax
sub eax, 0x11621
push ss
add dword [eax], eax
xor eax, 0x7b6f
pop eax
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x40890b
mov dword [ebp - 0xca8], 0
jmp 0x40897a
push eax
push eax
add esp, 4
xor eax, 0x111f5
xor eax, 0xb53d
pop eax
push ebx
push esi
add esp, 4
jmp 0x40892a
xor ebx, 0x5c2e
sub ebx, 0x1802c
sub ebx, 0x10210
pop ebx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x408970
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x40897a
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x408991
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x3f4], ecx
jmp 0x4089a2
jmp 0x40877b
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x408a7d
push edi
call 0x4089bf
add byte [ebp + 0x33], cl
xor al, 0x3c
dec esp
cmp dword [edx + 0x49], eax
cmp eax, 0x8104c483
out dx, eax
mov byte [0x8100006a], al
invalid
push esi
xor esi, 0x16ce0
call 0x408a93
add byte [edx + 0x46], al
inc ebp
xor eax, 0x50373c46
add esp, 4
call 0x408aa5
add byte [edi + 0x35], cl
aaa
dec edx
cmp byte [esi + esi + 0x38], al
inc edx
add esp, 4
and esi, 0xe692
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19cc], eax
mov ecx, dword [ebp - 0x19cc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19d0], edx
mov eax, dword [ebp - 0x19d0]
mov dword [ebp - 0x15fc], eax
push ecx
call 0x408ae6
add byte [eax + 0x36], dl
dec edi
inc edi
inc ebp
xor edi, dword [edi]
inc ecx
inc esp
add esp, 4
or ecx, 0xb00f
and ecx, 0x9365
and ecx, 0xc884
pop ecx
push esi
push ebx
add esp, 4
sub esi, 0x1196f
pop esi
cmp dword [ebp - 0x15fc], 0
jne 0x408b20
mov dword [ebp - 0x31c], 0
jmp 0x408dc7
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push esi
sub esi, 0x10f33
pop esi
push eax
push edx
add esp, 4
add eax, 0x59ee
call 0x408b52
add byte [edx + 0x48], cl
cmp al, byte [edi + 0x36]
cmp dword [ebx], esi
add esp, 4
and eax, 0xaca4
pop eax
push eax
add eax, 0x1160
pop eax
cmp dword [ebp - 0xcb4], 0
invalid