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

Disassembly:
add esp, 4
jmp 0x508e2f
pop esi
push ebx
push eax
add esp, 4
xor ebx, 0x17027
pop ebx
cmp dword [ebp - 0xc3c], 0
jne 0x508e54
mov dword [ebp - 0x2e0], 0
jmp 0x50909f
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push ecx
push esi
add esp, 4
call 0x508e72
add byte [ebx], dh
inc edx
inc esi
xor al, 0x36
dec esi
add esp, 4
pop ecx
push eax
jmp 0x508e7f
xor eax, 0x6d12
and eax, 0x68e1
add eax, 0x577b
pop eax
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ebx
push edx
add esp, 4
or ebx, 0x86d9
and ebx, 0x8ba7
call 0x508edb
add byte [edi + 0x37], al
xor eax, 0x3e374546
dec ebx
add esp, 4
jmp 0x508ee5
pop ebx
push ecx
and ecx, 0x558
pop ecx
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push ebx
push eax
add esp, 4
xor ebx, 0x4a10
jmp 0x508f59
pop ebx
push esi
push ebx
add esp, 4
jmp 0x508f64
pop esi
push edi
push edi
add esp, 4
xor edi, 0x828c
or edi, 0x6b16
pop edi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x508f94
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x508fee
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x508ebc
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x508ebc
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x508fd8
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x508fe2
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x509037
push ecx
and ecx, 0x35c
or ecx, 0xd6a3
jmp 0x50900c
pop ecx
push eax
xor eax, 0xded8
xor eax, 0xb283
add eax, 0xaeeb
pop eax
push eax
and eax, 0x15586
pop eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x50909f
push edi
push ebx
add esp, 4
jmp 0x509043
sub edi, 0xe2c1
or edi, 0x10733
pop edi
push ebx
push eax
add esp, 4
sub ebx, 0x7fd2
jmp 0x509062
or ebx, 0x11aa6
pop ebx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x509095
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x508e60
mov dword [ebp - 0x2e0], 0
inc dword [eax]
add byte [eax], al
add byte [esi - 0x7f], dl
out dx, al
mov edi, 0x810000c0
invalid
push esi
sub esi, 0xc0bf
add esi, 0x8aeb
xor esi, 0xc15c
xor esi, 0x157d6
pop esi
push ebx
push esi
add esp, 4
add ebx, 0xaf45
pop ebx
push edx
push ecx
add esp, 4
xor edx, 0x132a4
pop edx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push ebx
or ebx, 0x4c88
call 0x5090f4
add byte [esi + 0x32], cl
cmp dword [0x8347373c], esi
les eax, [ebx + ebp*8]
add al, 0x39
inc edx
xor al, 0x81
jecxz 0x50909a
mov esi, 0x565b0000
and esi, 0xeebc
add esi, 0x14a05
pop esi
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x509142
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x509433
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x50916a
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x509433
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x50919c
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x509433
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x5091c1
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x509433
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x50921b
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 0x509427
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 0x50928b
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 0x50933d
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x50933d
push esi
push ebx
add esp, 4
or esi, 0x12558
add esi, 0x116d0
pop esi
push ecx
push edi
add esp, 4
jmp 0x5092d7
or ecx, 0x83c2
sub ecx, 0x52e
and ecx, 0x6236
pop ecx
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 0x50932f
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 0x509336
jmp 0x50927c
jmp 0x50933d
push esi
push esi
add esp, 4
or esi, 0x3fe3
pop esi
push eax
push ecx
add esp, 4
add eax, 0x7512
jmp 0x50935a
pop eax
push eax
or eax, 0x5d08
or eax, 0x18114
and eax, 0x622f
pop eax
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 0x50939c
mov dword [ebp - 0xc40], 0
jmp 0x50940b
push edx
push esi
add esp, 4
call 0x5093ad
add byte [ebx], bh
cmp al, 0x35
aaa
dec ebp
cmp eax, dword [ebx + 0x9e804c4]
add byte [eax], al
add byte [eax], al
dec edi
inc ecx
inc edi
xor edx, dword [eax + 0x3f]
inc esp
xor eax, dword [ebx + 0x575a04c4]
push ebx
add esp, 4
jmp 0x5093cd
pop edi
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 0x509401
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x50940b
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x509422
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x509433
jmp 0x50920c
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax