Function at 0x5219fc
Capabilities:
Get number of processors

Disassembly:
pop ebp
outsd dx, dword [esi]
lea eax, [ebp - 0x6b0]
insb byte es:[edi], dx
js 0x521a5d
inc si
push ecx
push edx
push ecx
test cl, 0x10
pop ecx
sub eax, 1
push 0x3a6
call 0x521a1d
lea esp, [esp + 2]
mov word [esp], ax
lahf
lock xchg word [esp], ax
lea esp, [esp - 4]
mov dword [esp], eax
call fcn.00521aa2
mov dword [ebp - 0x780], edx
push eax
jmp 0x521bf8
or dword [eax], eax
add byte [eax], al
push edi
pop ebx
dec edx
inc edi
dec ebp
imul eax, dword [ebp + 0x65], 0x5b
push 0
dec edi
pop ecx
pop eax
inc esp
push ebp
dec edi
push edx
dec ebx
arpl word gs:[ebp + 0x58], dx
bound ebx, qword [edi + 0x69]
js 0x521acf
push ebx
push 0x5f
lea eax, [ebp - 8]
je 0x521b99
int3
or byte [esi + 0x3b], ah
retf 0x4a55
pop ebp
bound ecx, qword [eax + 0x4d]
arpl word [ebx + ebp*2 + 0x44], ax
pushal
inc esi
inc edx
inc ecx
inc ebx
push esp
pop ebx
inc ebp
outsb dx, byte [esi]
push ecx
push eax
pop ebp
outsd dx, dword [esi]
inc ecx
pop ebp
push 0x526d6e53
push 0x4d795645
pop edi
dec cx
outsb dx, byte [esi]
outsb dx, byte [esi]
inc esp
pop edx
inc ecx
dec eax
pop ebp
arpl word [ebp + 0x47], sp
dec esp
push ecx
dec eax
dec edi
push edx
push 0x7b
dec ebp
push eax
inc ecx
pop ebp
dec edi
pop esp
pop ebx
push ebp
dec ebp
arpl word [edx + 0x63], bp
pop ebp
js 0x521c7d
imul ebp, dword [edi + 0x53], 0x4d7b6053
dec edi
jnp 0x521c83
push ebp
push eax
pop edi
dec ecx
push eax
push esi
push ebp
outsd dx, dword [esi]
pushal
inc ebx
inc eax
dec ebx
cmp dword [esp + 0x34], 0x4d55e05f
je 0x501fa6
push dword [ebp - 0xc]
cmp dword [esp + 0x38], 0xb7828ccb
je 0x5a584d
lea eax, [ebp - 0x30]
cmp dword [esp - 0x1c], 0x7f19c94d
jne 0x521cc3
pop esi
inc esi
add byte [ebx + 0x5d], al
mov eax, esi
arpl word [esi + 0x4b], ax
dec esp
pop ecx
dec ebx
mov dl, byte [eax]
jne 0x521c76
or eax, edx
ret 0x24
mov esp, ebp
ja 0x521c94
pop eax
pop edi
call fcn.005256d3
xor eax, eax
push edx
cmp al, byte [eax]
add byte [ebx], dh
shr byte [ecx + 0x60], 0x56
dec eax
bound edx, qword [ebp + 0x42]
imul esp, dword [eax + 0x56], 0x42556248
push edi
push ebx
push 0x65
mov edi, edi
add byte [ecx + 0x40], dl
mov dword [ebp - 0x574], eax
je 0x521cc8
test dword [edx + edi*8 + 0x2d74ffff], ecx
lea eax, [ebp - 0x970]
dec esi
inc edi
outsb dx, byte [esi]
ret
push dword [ebp - 8]
cmp dword [esp + 0x5c], 0x6d1bf13
je 0x5385ef
jl 0x521ced
and al, 0x5c
pop esp
adc edi, dword [edi - 0x7bf0f92f]
sbb ebp, dword [ecx + 1]
add bh, bh
jne 0x521cc7
push dword [ebp - 0x10]
cmp dword [esp - 4], 0xb28e416f
jne 0x521d2b
dec esp
pop esp
inc eax
arpl word [edi + 0x5c], bx
push edx
pop ebp
pop edx
inc edi
dec ebp
outsb dx, byte [esi]
inc eax
insd dword es:[edi], dx
push ebp
pop ebp
dec edx
push eax
push esi
insd dword es:[edi], dx
outsb dx, byte [esi]
push ebx
dec ebp
jnp 0x521d44
dec edx
pop ecx
jnp 0x521d45
js 0x521d68
dec eax
push ebp
dec edi
dec edx
dec esi
inc ebx
js 0x521d6a
inc esp
inc ebx
inc eax
push ebx
outsd dx, dword [esi]
inc esi
dec ecx
dec ebp
push ebp
pop edi
pop esi
pop ebx
pop ebx
pop esi
inc edx
inc edx
jnp 0x521d7f
bound esp, qword [ebp + 0x48]
push ebx
pushal
insd dword es:[edi], dx
jns 0x521d72
push ebp
jns 0x521d76
push edi
bound ebx, qword [esi + 0x50]
push eax
cmp edx, 0x11d9ebc1
cmove eax, ebp
call fcn.0051dda9
add esp, 0x10
push 0xffffffffffffffe0
push ecx
call 0x521dab
add byte [ecx + 0x7b], ah
pop ebp
popal
jnp 0x521da5
jnp 0x521daa
push edx
pop esp
push ecx
inc esi
push 0x4f
dec esp
dec edi
push ebx
dec edx
inc edi
push ebp
imul eax, dword [edi + 0x66], 0x5c4b4463
push 0x5c455963
pop ebp
insd dword es:[edi], dx
push ebx
pop ecx
popal
pop esp
push edx
inc eax
pop edi
dec edx
inc esp
push esp
push ecx
popal
pop edx
push edi
push 0x4d52695f
inc edi
push ebx
pop edx
pop ecx
imul edx, dword [edx + 0x4d], 0x595a5347
dec esp
pop edi
push ebp
dec ecx
inc eax
dec ebx
dec edi
inc edi
pop ebp
popal
insd dword es:[edi], dx
push esp
insb byte es:[edi], dx
push eax
pushal
push edi
bound esp, qword [ecx + 0x5d]
popal
pop ecx
push esi
outsd dx, dword [esi]
pop ebx
inc ecx
push ebx
js 0x521dfa
dec eax
bound eax, qword [edx + 0x4e]
push edi
dec ebp
push eax
push 0x42
push ecx
js 0x521dfd
push edi
outsb dx, byte [esi]
push esi
inc ebp
push ebp
inc esp
pushf
add dword [esp + 2], 0xfffff791
popf
ret 8
inc eax
pop esi
dec esi
push ebp
inc edx
bound ebp, qword [eax + 0x6c]
inc edx
imul eax, dword [eax + 0x62], 0x6e
pop eax
pop ebp
push 0x4e
inc edi
outsd dx, dword [esi]
pop esp
inc eax
insb byte es:[edi], dx
push edi
push esp
push edx
pushal
dec ebx
bound esp, qword [edx + 0x4f]
dec esp
inc eax
pop ecx
jnp 0x521e96
dec esi
jns 0x521e8b
pop esp
inc esi
pop edi
inc ebx
inc ecx
insd dword es:[edi], dx
dec edi
dec edi
inc eax
inc ebx
push ebx
arpl word [esi + 0x53], bx
pop edi
bound edi, qword [eax + 0x41]
push edi
push 0x49426563
pushal
imul ebp, dword [ecx + ebx*2 + 0x4b], 0x63
inc esi
push ebp
push edi
inc esp
pop edx
push ebx
dec ebx
push ebx
inc ebx
push 0x535b436f
pop edx
imul eax, dword [edx + 0x66], 0xd0458d64
cmp dword [esp + 0x30], 0xee24f9eb
jne 0x521e72
pop edi
dec edx
push esp
dec edx
jnp 0x521ece
dec eax
push ebx
pop ebx
dec esi
push edx
push esi
pop ebp
inc ebp
push esp
push dword [ebp - 8]
cmp edx, 0xa2e8c945
cmove ebx, eax
push dword [ebp - 0x10]
cmp esi, 0xa6c0c66f
jne 0x521eeb
push 0x43494255
inc edx
dec ecx
inc ebx
dec esp
leave
push dword [ebp + 0x28]
and dword [eax], 0xfffffffc
mov ecx, dword [ebp - 4]
bound esp, qword [ebx + 0x43]
pushal
inc edx
js 0x521ea5
ror byte [ecx + 0x5d], 0x62
mov ecx, dword [ebp - 0x14]
fldz
bound ecx, qword [ebx - 0x112613b3]
push edi
dec esp
inc eax
jns 0x521f15
bound eax, qword [esi + 0x7b]
push edx
dec ecx
add bp, word gs:[ebx + 0x6b]
outsd dx, dword [esi]
push esp
jnp 0x521efe
pushal
push esi
inc ebx
imul ecx, dword [edi + 0x7b], 0x5a
pop edi
outsd dx, dword [esi]
inc ecx
push dword [ebp + 0x10]
mov dword [esi + 0x24], ebx
mov cl, byte [eax + 1]
call fcn.0051ba29
jmp 0x51938229
push eax
cmp dword [esp + 0x1c], 0x870bebb1
cmove ecx, ebp
call 0x521f34
push edi
inc edi
inc edx
inc ecx
js 0x521f4d
jns 0x521f60
push 0x41535a69
inc ebp
push eax
insd dword es:[edi], dx
dec esp
push 0x5d47596d
insb byte es:[edi], dx
dec ecx
dec esp
dec esp
pop ebx
insd dword es:[edi], dx
inc edx
outsd dx, dword [esi]
inc eax
pop ecx
popal
arpl word [ebp + 0x5f], bp
pop esp
insd dword es:[edi], dx
dec ebx
jns 0x521f76
push edx
outsb dx, byte [esi]
arpl word [edx + 0x6b], sp
dec edx
inc esp
dec eax
push ebx
dec eax
push ebx
push eax
inc ebx
push 0x50
push dword [esp]
add dword [esp], 0xffef036a
add dword [esp + 4], 0x90
jns 0x521fa0
popal
inc eax
inc eax
dec edx
push eax
inc ebp
inc esp
arpl word [ebp + 0x59], sp
push 0x78
push 0x68436453
inc ebx
push 0x4a5d4c62
bound ecx, qword [ebp + ebx*2 + 0x4a]
inc esp
imul edi, dword [eax + 0x46], 0x786b485f
jns 0x521fc2
dec ebp
inc edx
push ebx
pop edx
pop edx
push ebp
dec edx
insd dword es:[edi], dx
outsb dx, byte [esi]
push ebp
push 0x5d5e6249
push ebp
push 0x4943506f
inc ebx
pop ebp
pop edx
dec ecx
push 0xc638a83
push 0x41e34c65
push edi
push ecx
push edi
push edi
call fcn.00522014
cmp dword [0x421f0c], 0
inc esp
inc edx
dec edi
cmp eax, 0x421f0c
add byte [edx + eax*2 + 0x4f], al
add esp, 0x14
push ebp
push 0x66
push 0x64
push esi
pop ebx
push 0x6f
push ebx
inc eax
inc esp
dec esi
inc eax
inc ebx
dec esi
inc edi
js 0x522016
je 0x521fc7
inc ebp
pop ebx
pop edx
push edx
pop eax
push ebp
push edi
pushal
mov eax, dword [ebp + 0xc]
ja 0x5220ad
test esi, esi
pushal
dec ebp
push 0x4904778b
pop ecx
lea edi, [esi + 2]
push ebp
inc esi
add eax, dword [eax]
mov byte [eax + 0x1c], 1
js 0x52202f
dec ebx
inc edx
insb byte es:[edi], dx
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0xc]
dec edi
inc edi
popal
jnp 0x522061
shr eax, 0x10
insd dword es:[edi], dx
push 1
inc ebp
inc edi
pop ebx
ret
add byte [eax], al
add byte [ebp + 0x66022464], cl
lea esp, [esp + 2]
mov word [esp], ax
cmp dword [esp + 0x38], 0x96edaa1
je 0x522099
push dword [ebp - 0xc]
cmp dword [esp + 0x58], 0xaf6b974d
cmove ebp, ecx
lea eax, [ebp - 0x30]
cmp ecx, 0xeadd119b
cmove edx, ebp
push dword [ebp - 8]
cmp dword [esp + 0x38], 0x29b95745
cmove ecx, ebx
push dword [ebp - 0x10]
cmp dword [esp - 0xc], 0x731f6cb3
jne 0x5220fa
hlt
je 0x521f62
lea eax, [ebp - 8]
dec ecx
mov byte [0x6e64d9dd], al
outsb dx, byte fs:[esi]
inc edx
mov ebp, esp
outsb dx, byte [esi]
dec esi
leave
movdqa xmmword [edi + 0x20], xmm5
bound ebx, qword [ecx - 0x3d]
sub edx, ecx
push eax
dec ecx
or dword [eax], eax
push esi
mov dword [ebp - 0x18], eax
push esi
popal
dec ecx
push esp
push edx
mov ebx, dword [esp + 0x14]
insd dword es:[edi], dx
push eax
dec ebx
dec eax
push 0x4f01778d
pop eax
pop edi
pop ebx
inc ecx
lea ecx, [ecx*2 + 2]
push edx
mov eax, dword [ebp + 0x20]
inc ebx
dec eax
outsd dx, dword [esi]
call fcn.00521138
push esi
mov dword [ebp - 0xc], ecx
push edi
push dword [ebp + 0x20]
push eax
cmp dword [esp - 0x20], 0xceafa70f
jne 0x522170
inc edx
insd dword es:[edi], dx
pop eax
pop ebp
pop ebp
inc ebp
inc esi
insb byte es:[edi], dx
dec ebx
pop ecx
dec edx
dec edi
bound eax, qword [ebx + 0x6f]
dec edx
push esi
push eax
dec edx
pop ebx
push edi
push 0x646b5e57
push esi
push ecx
pushal
popal
push ebx
inc esi
inc eax
imul esp, dword [edx + 0x48], 0x51
inc ebp
pop ebx
push edx
pop esp
inc edi
inc esi
push edx
dec ebx
pop esp
push ebx
push 0x64405747
push 0x6e525f46
dec ebp
inc edx
arpl word [edi + 0x4a], dx
pop ebp
pop edx
pop eax
inc edi
dec ecx
dec esp
arpl word [edi + 0x5b], cx
dec esi
bound ebx, qword [esi + ecx*2 + 0x52]
push 0x6e
jnp 0x5221b1
dec eax
push eax
popal
push edx
dec ebp
pop esi
inc edi
popal
outsd dx, dword [esi]
pop ecx
pop ecx
imul ebp, dword [ecx + 0x53], 0x535d684e
call fcn.004120a2
call 0x5221d7
inc ecx
push eax
push cx
inc eax
pop ecx
je 0x522188
pop edi
push ebp
outsd dx, dword [esi]
jns 0x5221ce
dec ebp
push ebx
pop ax
dec edx
push ebp
dec ecx
jnp 0x52211b
push es
push ebp
pop edx
movzx ecx, byte [edi]
pop ebx
jnp 0x522201
in al, dx
push cs
add byte [edi + 0x5c], ch
insd dword es:[edi], dx
pop ebx
push dword [ebp - 8]
pop edi
mov byte [ebp - 8], bl
dec esi
dec ebx
insd dword es:[edi], dx
push edi
pushal
dec edx
inc edi
pushal
push esi
jmp 0x49a06466
jg 0x5221d2
and cx, word [ebp - 4]
dec ebp
cld
arpl word [esi - 0x3d], cx
pushfd
add dword [esp + 4], 0xfffffbc0
lock xchg dword [esp], eax
mov ah, al
sahf
mov eax, dword [esp]
lea esp, [esp + 4]
ret
add byte [eax], al
add byte [ebx - 0x37], ch
cmp byte [ebx + 0x8247c], al
jmp 0xfb8d0a7
cdq
mov dword [0xd6440f2f], eax