Function at 0x405890
Capabilities:
Get number of processors

Disassembly:
push ebp
push edi
push edi
js 0x405805
pop ecx
push esi
dec esi
inc edi
push edi
outsb dx, byte [esi]
push edx
dec edi
push esi
push esp
insb byte es:[edi], dx
pop ecx
push ebp
push 0x42
ja 0x40581a
push esi
imul esi, dword [edi + 0x61], 0x45
cmp dword [eax + 0x62], ebx
push ebp
push esi
xor al, 0x56
xor dh, byte [ecx]
outsd dx, dword [esi]
pop ecx
push esi
pop edx
jae 0x40582c
inc esi
push edx
push edi
popal
imul ebx, dword [edx + 0x33], 0x55
xor dword [edx + 0x53], ebx
arpl word [ecx], si
jo 0x40581e
dec esi
push esi
imul esp, dword fs:[ecx + 0x30], 0x6d564b70
xor dword [edi + 0x52], esi
xor cl, byte [ecx + 0x79]
push esp
pop eax
push 0x52475758
dec edi
push esi
insd dword es:[edi], dx
xor dword [ebx + 0x56], edx
push esi
insb byte es:[edi], dx
push ebp
push esp
insd dword es:[edi], dx
cmp dword [edx + 0x56], ebx
outsb dx, byte [esi]
inc edx
pop ecx
pop edx
inc ebp
push 0x4a56566b
push esi
dec edx
je 0x40586d
inc esp
push esi
pop edx
imul esi, dword gs:[0x4a6a5676], 0x4b
push ebx
inc esi
push esi
jne 0x40587b
inc esi
push esi
dec esi
push esi
outsb dx, byte [esi]
inc edx
jns 0x405877
insb byte es:[edi], dx
push edx
dec ebx
push ebx
xor dword [esi + 0x57], ecx
push edx
outsb dx, byte [esi]
inc esi
push esp
bound eax, qword [edi + 0x52]
outsd dx, dword [esi]
push esp
push esi
push 0x5a565643
pop eax
arpl word [ebp + 0x64], ax
push 0x4d
push esi
insb byte es:[edi], dx
xor al, 0x56
xor dh, byte [0x4a56594f]
je 0x4058aa
dec eax
inc edx
pop edx
push esi
inc ebp
pop edx
xor edx, dword [esi + 0x6c]
pop edx
imul edx, dword [esi + 0x31], 0x56
jb 0x4058a8
push esi
pop edx
dec esi
popal
jp 0x4058b5
dec ecx
push esi
insb byte es:[edi], dx
xor al, 0x61
xor dword [eax + ecx*2 + 0x53], esp
insb byte es:[edi], dx
pop edx
pop eax
push edi
inc esi
pop edx
jo 0x4058c6
insd dword es:[edi], dx
js 0x4058eb
insb byte es:[edi], dx
imul esi, dword [edi + 0x61], 0x48
ja 0x4058da
dec eax
pop eax
pop eax
bound eax, qword [esi + 0x70]
pop ecx
push esi
inc esi
push edx
inc edi
push esi
xor cl, byte [edx + 0x47]
push esi
push 0x52
push edi
popal
imul esi, dword [eax + 0x50], 0x55
push ebp
xor dword [ebx + ecx*2 + 0x52], esp
xor dword [eax + 0x46], esi
dec esi
push edi
insb byte es:[edi], dx
imul edx, dword [esi + 0x32], 0x6d563167
xor byte [edi + 0x64], dh
xor dl, byte [esi + 0x47]
push esp
pop eax
push 0x526d5261
pop eax
pop ecx
insd dword es:[edi], dx
jae 0x4058e5
push ebp
xor dword [edx + esi*2 + 0x61], ebp
inc ebp
dec esi
pop eax
push edx
insd dword es:[edi], dx
js 0x405939
push esi
xor bh, byte [eax + 0x77]
push esp
insb byte es:[edi], dx
dec edx
je 0x40591e
insb byte es:[edi], dx
jo 0x405926
dec ebp
inc esi
pop edx
jb 0x405927
imul edx, dword [ebp + 0x78], 0x63
imul esi, dword [0x68466157], 0x68
dec ebp
insd dword es:[edi], dx
push 0x6d4d2e68
push 0x5a315651
popal
push ebx
xor cl, byte [esi + 0x72]
dec esi
push esi
insb byte es:[edi], dx
push edx
bound eax, qword [edi + 0x52]
outsd dx, dword [esi]
pop ecx
push esp
dec esi
inc ebx
dec ebp
push esi
pop edx
inc edi
pop edx
inc esp
push edx
pop edx
push esi
xor dword [edx + 0x49], ecx
push esi
inc edi
je 0x405966
pop ecx
push esi
dec edx
je 0x40595f
outsb dx, byte [esi]
inc edx
push edi
bound ebx, qword [eax + 0x68]
xor edx, dword [ebp + 0x31]
pop edx
popal
arpl word [esi + 0x4a], dx
je 0x405969
push edi
insb byte es:[edi], dx
dec esi
push esi
outsb dx, byte [esi]
inc edx
pop edx
push esi
push esp
dec ecx
xor dword [ecx + esi + 0x64], edx
dec eax
xor dword [eax + ecx*2 + 0x53], esp
dec eax
push ebx
imul ebp, dword [eax + 0x6c], 0x52
xor byte [edx + 0x61], bl
push esi
imul edx, dword [esi + 0x77], 0x56
inc esi
pop edx
jb 0x405991
push edi
insd dword es:[edi], dx
inc esi
push 0x62
inc edi
push edx
xor byte [ebp + 0x6d], dl
xor dword [edi + 0x56], esi
xor al, byte [esi + 0x36]
push esi
pop eax
push edi
push edx
inc ebp
pop edx
jb 0x4059a6
imul ebx, dword [edx + 0x56], 0x65
push esi
dec esi
jae 0x4059b4
inc esi
push edx
imul edx, dword [ebx + 0x45], 0x57575a4a
dec edx
pop edx
push edi
push edi
je 0x4059c6
pop ecx
push edi
inc esi
inc edi
bound eax, qword [esi + 0x56]
push ebx
bound edx, qword [ebp + 0x5a]
push ebp
push ebp
insd dword es:[edi], dx
je 0x4059ec
inc esi
pop ecx
jns 0x4059df
inc ebp
cmp dword [eax + 0x52], ebp
push esp
inc esi
xor dword [ecx + 0x55], ebx
pop edx
outsd dx, dword [esi]
push esi
xor dword [edx + 0x74], ecx
push ebp
push 0x4e
push edi
popal
imul ebx, dword [edx + 0x68], 0x55
push ebp
push 0x46
imul esp, dword [ebx + 0x31], 0x64
jae 0x4059fb
inc edi
push 0x6858626c
push esi
push esi
imul ebx, dword [edx + 0x61], 0x61
xor dword [ebp + 0x77], edx
dec ebp
push ebp
push edi
bound ebp, qword [edx + ecx*2 + 0x73]
push ebp
insd dword es:[edi], dx
xor dword [ebx + 0x57], edx
push ebx
push edi
inc esi
push edx
pop eax
inc edi
inc esi
insb byte es:[edi], dx
push esi
insb byte es:[edi], dx
insb byte es:[edi], dx
xor eax, 0x30563059
push esi
xor byte [ecx], dh
push esi
bound eax, qword [edx + ebx*2 + 0x5a]
push esi
push edi
push edx
jbe 0x405a28
push 0x46
dec ebx
dec esi
insb byte es:[edi], dx
dec edx
jae 0x405a2e
insd dword es:[edi], dx
inc esi
push edi
push esi
outsb dx, byte [esi]
inc edx
outsd dx, dword [esi]
push edi
imul ebx, dword [edx + 0x61], 0x55
xor cl, byte [ebp + 0x78]
push esi
outsb dx, byte [esi]
push edx
push 0x70683352
push ebp
insd dword es:[edi], dx
xor eax, 0x5a6c5543
je 0x405a5f
inc esi
dec esi
push edx
dec ebp
push edi
js 0x405a59
push esi
inc esi
push 0x4a47576f
jb 0x405a58
push esi
insb byte es:[edi], dx
pop edx
push esi
inc ebp
jo 0x405a87
pop ecx
xor bh, byte [eax + 0x57]
inc edi
dec esi
push edx
insb byte es:[edi], dx
push 0x70456253
pop ecx
push esi
push 0x49
js 0x405a78
xor dword [edx + 0x73], edx
dec esp
jae 0x405a76
imul esi, dword [eax + 0x7a], 0x59
xor byte [edx + 0x43], dl
push esi
push edi
dec edx
inc edi
push esi
push esp
inc esi
push edi
popal
imul ebx, dword [edx + 0x4b], 0x5a
inc esp
dec edx
dec edi
push edx
push esi
inc esi
je 0x405a98
insb byte es:[edi], dx
push edi
bound ebp, qword [ebx + 0x4a]
xor eax, 0x76316d56
push esi
dec esi
jb 0x405aba
inc esi
push 0x70464d57
dec edx
push edi
dec ebp
inc esi
jo 0x405aa7
push edi
push esi
push esi
popal
popal
xor dword [edx + 0x73], edx
push ebx
outsb dx, byte [esi]
push esi
push edx
bound eax, qword [edi + 0x78]
pop eax
pop ecx
push edi
je 0x405abc
arpl word [edx + ebx*2 + 0x71], bp
push edx
imul esi, dword [edx + ebp*2 + 0x4d], 0x6b
xor eax, 0x646b5747
inc edi
push 0x4d
imul esi, dword [0x646b5747], 0x47
push ebp
xor byte [ecx], dh
jne 0x405ae7
inc esi
push esi
pop eax
push esi
insb byte es:[edi], dx
dec edx
dec ebx
push esp
insb byte es:[edi], dx
push ebp
xor dword [edx + 0x31], edx
jne 0x405aeb
imul esi, dword [0x68325254], 0x51
push esp
push edx
xor ch, byte [eax + 0x51]
push esi
push edi
xor dword [edx + edx*2], esi
xor byte [0x68585747], dh
push 0x58354553
push 0x35455368
pop eax
push ebp
push 0x42
push edi
dec esi
push esi
jo 0x405b0b
push edi
imul edi, dword [ecx], 0x58
bound eax, qword [esi + 0x70]
inc esi
jo 0x405b04
inc edi
pop ecx
outsb dx, byte [esi]
jo 0x405b04
push esi
xor byte [ecx], dh
inc edi
arpl word [edi + 0x68], ax
popal
push edx
push esi
push esi
xor al, 0x56
insd dword es:[edi], dx
jae 0x405b06
push esi
imul esi, dword [0x64564e56], 0x68
dec ebp
xor byte [ebp + 0x79], al
push esi
insd dword es:[edi], dx
xor dword [edi + 0x53], esi
xor byte [0x68585547], dh
push edi
push edi
inc edi
push 0x52475757
push edx
dec edi
push esi
insd dword es:[edi], dx
xor dword [edx*2 + 0x53556c31], esi
insd dword es:[edi], dx
cmp dword [eax + 0x52], ebx
insb byte es:[edi], dx
dec edx
pop ecx
push esp
insb byte es:[edi], dx
arpl word [0x744a3156], si
inc esi
je 0x405b6b
inc esi
push 0x59316158
pop ecx
ja 0x405b64
xor byte [edx + 0x5a], bl
xor dword fs:[edx + esi*2 + 0x61], esp
inc esi
push edi
dec ebp
xor ch, byte [eax + 0x79]
push edi
push esi
pop edx
popal
pop ecx
push esi
dec edx
jae 0x405b7d
outsb dx, byte [esi]
inc esi
push ebp
bound eax, qword [edi + 0x52]
pop eax
push esp
push esp
inc edx
dec ebx
push edx
inc esi
jae 0x405b8c
insd dword es:[edi], dx
inc esi
pop eax
bound edx, qword [esi + 0x5a]
dec ecx
push esi
inc edi
je 0x405ba2
pop ecx
push esi
dec edx
je 0x405b9b
outsb dx, byte [esi]
inc edx
push esi
bound ebx, qword [eax + 0x52]
xor ebx, dword [edx + 0x44]
inc esi
popal
inc edi
push edx
dec eax
inc ebp
cmp dword [ebx + 0x4d], edx
push esi
jo 0x405b93
push esi
push 0x49
xor dword [ebp + 0x32], edx
dec edx
inc edi
push ebx
push 0x5a
imul edx, dword [edx + 0x6d], 0x6d565652
push edx
push esi
push esi
insd dword es:[edi], dx
js 0x405bd2
dec ebp
xor dword [eax + 0x58], esi
inc esi
jo 0x405be5
push esi
xor dword [edx + 0x49], ebx
pop edx
inc ebp
pop edx
imul esp, dword [ecx + 0x56], 0x5a
push edi
popal
xor ebp, dword [eax + ebx*2 + 0x56]
xor edx, dword [edx + 0x68]
push edi
push esi
pop edx
popal
push 0x615a5657
inc esi
dec esi
jae 0x405bf8
inc edi
push 0x70464d53
push edi
jo 0x405bf4
push esi
insd dword es:[edi], dx
jo 0x405bf0
bound esi, qword [edx]
inc esi
inc edi
xor al, byte [esi + 0x47]
arpl word [ebp + 0x5a], ax
popal
push edx
insd dword es:[edi], dx
push edx
push ebp
push ebp
insb byte es:[edi], dx
push edx
jae 0x405c09
inc esi
insb byte es:[edi], dx
push esi
push edi
imul edi, dword [ecx], 0x68
push esi
imul esi, dword [0x706d5547], 0x4f
push esi
xor cl, byte [edx + 0x59]
popal
dec eax
inc esi
push ebp
push esi
insb byte es:[edi], dx
jo 0x405c1c
pop edx
push ebp
dec ebx
push edx
xor dword [eax + 0x47], esi
push ebp
insd dword es:[edi], dx
push 0x4a45574e
xor al, 0x56
insb byte es:[edi], dx
xor al, 0x62
xor dword [ebp + 0x79], edx
push edx
imul esp, dword [eax + ebx*2 + 0x62], 0x6b
pop edx
push esi
pop ecx
insb byte es:[edi], dx
push edx
jae 0x405c46
xor dword [edx + 0x57], edx
push edi
push edi
insd dword es:[edi], dx
inc esi
dec esi
push edx
insb byte es:[edi], dx
dec edx
pop eax
push esi
xor dh, byte [ecx]
xor byte [esi + 0x31], dl
dec edx
jb 0x405c69
dec eax
insb byte es:[edi], dx
pop edx
dec ebp
inc edi
push 0x646c567a
dec ebx
push edx
xor cl, byte [esi + 0x47]
push ecx
insb byte es:[edi], dx
dec esi
push edx
outsb dx, byte [esi]
inc edx
dec ebp
push esi
insd dword es:[edi], dx
xor byte [eax + 0x54], bh
xor dword [edx + 0x74], ecx
push edx
imul esp, dword [ecx + 0x52], 0x32
js 0x405c85
push ebp
insb byte es:[edi], dx
push esi
jb 0x405c96
xor dword [ecx + 0x79], ebx
inc esi
dec esi
push ebx
dec ebp
push esi
dec edx
xor byte [esi + 0x6d], dl
js 0x405cac
push esi
inc edi
dec edx
dec eax
inc edi
inc edi
cmp dword [esi + 0x62], edx
pop eax
push 0x466a594c
push ebx
push edi
inc edi
push esi
inc esi
inc esi
push edi
bound edx, qword [esi + 0x4a]
pop edx
push edi
imul edx, dword [esi + 0x2e], 0x6b
push edx
xor al, byte [ebp + 0x77]
dec ebp
push esi
push 0x52
push 0x52
insd dword es:[edi], dx
push 0x46545961
ja 0x405cca
inc esi
pop edx
jb 0x405cd1
inc ebp
je 0x405ccd
popal
jp 0x405cd3
pop ecx
push ebp
insd dword es:[edi], dx
js 0x405ced
popal
dec eax
push esp
dec edx
jp 0x405d25
push 0x46
insd dword es:[edi], dx
push edx
js 0x405d81
imul esp, dword [ecx + 0x56], 0x4e