Function at 0x524a8e
Capabilities:
Get number of processors

Disassembly:
sub byte [ecx + 0x29], ah
sub dword [ebx + 0x76], edi
popal
jb 0x5247f8
bound edi, qword [0x65672e73]
je 0x524825
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x52485a
inc edx
jns 0x52483e
popal
dec esi
popal
insd dword es:[edi], dx
sub byte gs:[edx], ah
push 0x22646165
sub dword [ebx + 0x30], ebx
pop ebp
jl 0x524879
pop ebx
xor byte [ebp + 0x7c], bl
jl 0x524871
jae 0x52482d
outsd dx, dword fs:[esi]
outsd dx, dword fs:[esi]
arpl word [ebp + 0x6d], si
outsb dx, byte gs:[esi]
je 0x52484d
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x52483b
cmp eax, 0x72632e73
popal
je 0x52487e
inc ebp
insb byte es:[edi], dx
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x524849
and dh, byte [ebx + 0x63]
jb 0x52488f
imul esi, dword [eax + 0x74], 0x643b2922
jo 0x52489c
and ch, byte [ecx]
cmp esp, dword [esi + ebp + 0x74]
jns 0x5248a0
je 0x5248a8
je 0x5248a8
jo 0x524896
cmp eax, 0x78657422
cmp eax, 0x78657422
je 0x524867
push 0x61
jbe 0x52489d
popal
jae 0x5248a1
jb 0x5248a9
jo 0x5248b6
and bh, byte [ebx]
imul esp, dword [esi + 0x28], 0x75732e63
jae 0x5248c0
jo 0x5248bd
outsd dx, dword [esi]
jb 0x5248c4
jae 0x5248b6
jb 0x5248be
jo 0x5248cb
inc ebp
jbe 0x5248bb
insb byte es:[edi], dx
sub dword [esi + ebp + 0x61], esp
jo 0x5248d1
outsb dx, byte gs:[esi]
inc ebx
push 0x28646c69
jae 0x52489a
insb byte es:[edi], dx
sub byte fs:[ebx + 0x2e], dh
arpl word [edx + 0x65], si
popal
je 0x5248d7
push esp
push esp
js 0x5248ea
dec esi
outsd dx, dword [esi]
sub byte gs:[ecx + 0x29], ah
sub byte gs:[ecx + 0x29], ah
sub dword [ebx], edi
insb byte es:[edi], dx
cmp esp, dword [ebp + 0x6c]
jae 0x5248e8
and byte [esi + ebp + 0x74], ah
js 0x5248fe
cmp eax, 0x2e623b61
imul ebp, dword [esi + 0x73], 0x42747265
outsw dx, word gs:[esi]
jb 0x524900
sub byte gs:[esp + ebp + 0x62], ah
sub byte [esp + ebp + 0x62], ah
sub al, 0x62
sub al, 0x62
imul si, word cs:[edx + 0x73], 0x4374
imul si, word [edx + 0x73], 0x4374
imul esi, dword [edx + 0x73], 0x69684374
push 0x29646c69
cmp esp, dword [edx + 0x2e]
insb byte es:[edi], dx
sub dword fs:[ebx], edi
bound ebp, qword [esi]
jb 0x524915
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x524919
inc ebx
push 0x28646c69
sub dword fs:[ebp + 0x7d], edi
imul ebp, dword [esp + 0x28], 0x7d7d2964
sub dword [ebp + 0x7d], edi
jge 0x5248eb
sub al, 0x6e
outsb dx, byte [esi]
outsd dx, dword [esi]
dec esi
popal
insd dword es:[edi], dx
cmp ah, byte gs:[esi + 0x75]
outsb dx, byte [esi]
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
sub byte [ecx + 0x2c], ah
bound ebp, qword [ecx]
jnp 0x524949
popal
sub al, 0x62
sub dword [ebx + 0x72], edi
je 0x52494f
jb 0x52494a
and byte [ecx + 0x2e], ah
outsb dx, byte [esi]
outsd dx, dword [esi]
dec esi
popal
insd dword es:[edi], dx
popal
popal
outsb dx, byte cs:[esi]
outsb dx, byte [esi]
outsd dx, dword [esi]
dec esi
popal
insd dword es:[edi], dx
je 0x524965
push ebp
jo 0x524969
jb 0x52493f
popal
jae 0x524964
sub byte gs:[ecx], ch
sub byte [ecx], ch
sub dword [0x2e623d3d], edi
cmp eax, 0x2e623d3d
je 0x524977
push ebp
jo 0x52497b
jb 0x524951
popal
jae 0x524976
sub byte [ecx], ch
jge 0x524941
popal
arpl word [eax + 0x3a], bp
jne 0x52498b
cmp ah, byte [esi + 0x75]
outsb dx, byte [esi]
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
sub byte [ecx + 0x2c], ah
bound ebp, qword [esp]
sub dword [ebx + 0x76], edi
popal
jb 0x52494e
sub al, 0x65
cmp eax, 0x3d6a2c30
popal
insb byte es:[edi], dx
outsb dx, byte gs:[esi]
je 0x5249a6
sub al, 0x69
cmp eax, 0x3d3d3d6a
ja 0x5249c3
imul edi, dword [0x3d3d3d6a], 0x637c7c77
push 0x3d
cmp eax, 0x7c7c773d
arpl word [esi], bp
jl 0x5249ac
imul esi, dword cs:[ebx + 0x46], 0x74636e75
imul esi, dword [ebx + 0x46], 0x74636e75
outsb dx, byte [esi]
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
sub byte [ecx + 0x29], ah
cmp ebp, dword [ecx + 0x66]
sub byte [ecx + ebp + 0x69], ah
sub byte [ecx + 0x29], ch
imul ebp, dword [edi + 0x6e], 0x3b296128
imul esp, dword [esi + 0x28], 0x66692964
sub byte [ecx + 0x29], ch
outsw dx, word [esi]
jb 0x52498e
sub byte [esi + 0x20], ah
imul ebp, dword [esi + 0x20], 0x697b2961
and byte [ecx + 0x6e], ch
outsb dx, byte [esi]
and byte [ecx + 0x29], ah
jnp 0x5249d8
sub byte [edx + 0x2e], ah
popal
jo 0x5249e6
insb byte es:[edi], dx
jns 0x5249a1
popal
pop ebx
pop bp
sub al, 0xa
sub dword fs:[0x61663d3d], edi
insb byte es:[edi], dx
jae 0x5249ee
sub dword [edx + 0x72], esp
popal
jb 0x5249f2
popal
imul edi, dword [ebp + 0x65], 0x6c
jae 0x5249f9
and byte [esi + 0x6f], ah
jb 0x5249c1
cmp esp, dword [ebp + 0x3c]
push 0x3b
sub dword [ebx + 0x69], edi
sub byte [edx + 0x2e], ah
popal
jo 0x524a18
insb byte es:[edi], dx
jns 0x5249d3
popal
pop ebx
sub ebp, dword gs:[ebx]
pop ebp
sub al, 0x64
sub dword [0x61663d3d], edi
insb byte es:[edi], dx
jae 0x524a21
sub dword [edx + 0x72], esp
popal
imul edi, dword [ebp + 0x65], 0x6c
insb byte es:[edi], dx
jae 0x524a2c
and byte [ecx + 0x66], ch
sub byte [ecx + 0x29], ch
outsw dx, word [esi]
jb 0x5249f9
and byte [ecx + 0x6e], ch
and byte [ecx + 0x29], ah
imul ebp, dword [esi + 0x20], 0x697b2961
jnp 0x524a43
sub byte [edx + 0x2e], ah
arpl word [ecx + 0x6c], sp
insb byte es:[edi], dx
sub byte [ecx + 0x5b], ah
pop bp
pop ebp
sub al, 0x66
sub al, 0x61
pop ebx
pop bp
sub dword [0x61663d3d], edi
popaw
insb byte es:[edi], dx
jae 0x524a5c
sub dword [edx + 0x72], esp
popal
jb 0x524a60
popal
imul edi, dword [ebp + 0x65], 0x6c
jae 0x524a67
and byte [esi + 0x6f], ah
jb 0x524a2f
cmp eax, 0x5d305b61
cmp esp, dword [ebp + 0x3c]
push 0x26
bound ebp, qword es:[esi]
arpl word [ecx + 0x6c], sp
insb byte es:[edi], dx
sub byte [esp + ebp + 0x65], ah
sub al, 0x64
sub dword [ecx], esp
cmp eax, 0x6c61663d
jae 0x524a8d
cmp esp, dword [ebp + edi + 0x61]
pop ebx
sub ebp, dword [ebx]
pop ebp
sub dword [ebx], edi
jb 0x524a9a
je 0x524aac
jb 0x524aa7
and byte [ecx + 0x7d], ah
sub al, 0x74
jb 0x524aa9
insd dword es:[edi], dx
cmp ah, byte [esi + 0x75]
outsb dx, byte [esi]
jne 0x524ab3
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
sub byte [ecx + 0x29], ah
jnp 0x524ac1
je 0x524ac7
jb 0x524ac2
sub byte [ecx + 0x7c], ah
jl 0x524a7b
and ch, byte [ecx]
jb 0x524ac3
jb 0x524ac3
jo 0x524acc
popal
arpl word [ebp + 0x28], sp
push edi
popal
sub al, 0x22
and ch, byte [ecx]
jge 0x524a98
and ah, byte [edx]
sub dword [ebp + 0x2c], edi
insd dword es:[edi], dx
popal
imul esp, dword [ebp + 0x41], 0x72
jb 0x524ad5
jns 0x524ab0
jne 0x524ae7
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
sub byte [ecx + 0x2c], ah
bound ebp, qword [ecx]
jnp 0x524ae7
imul ebp, dword [edi + 0x6e], 0x622c6128
sub dword [ebx + 0x62], edi
cmp eax, 0x5b7c7c62
pop ebp
cmp ebp, dword [ecx + 0x66]
sub byte [ecx + 0x21], ah
insb byte es:[edi], dx
jae 0x524b29
jne 0x524b31
outsb dx, byte [esi]
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
sub byte [ecx + 0x29], ah
jl 0x524b49
je 0x524b48
jo 0x524b36
outsd dx, dword [esi]
and dword [0x7566223d], edi
je 0x524b33
dec edi
sub byte [ecx + 0x29], ah