Function at 0x40577a
Capabilities:
Get number of processors

Disassembly:
push edi
push edx
add esp, 4
call 0x4055b4
add byte [edi], dh
dec esi
aaa
inc ebp
cmp byte ss:[edx + 0x46], cl
cmp eax, dword [ebx - 0x187efb3c]
pop ecx
mov byte [eax], 0
pop edi
push eax
or eax, 0x142b7
add eax, 0x14856
or eax, 0x522d
pop eax
lea ecx, [ebp - 0x1738]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc90], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push eax
push esi
add esp, 4
and eax, 0x5bc6
and eax, 0x1073c
or eax, 0x901d
or eax, 0xa65c
pop eax
push ecx
xor ecx, 0x184b9
or ecx, 0x15309
sub ecx, 0x150e8
pop ecx
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
mov dword [ebp - 0xc90], edx
mov ax, word [ebp - 0x1032]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc94]
mov dx, word [ecx]
mov word [ebp - 0x1034], dx
out dx, eax
invalid
dec dword [ebx - 0xc937b]
inc dword [ebx - 0x7a76fd40]
insb byte es:[edi], dx
invalid
invalid
jmp dword [esi - 0x75]
invalid
int3
out dx, eax
invalid
jmp dword [esi - 0x77]
invalid
hlt
invalid
invalid
call dword [esi + 0x56]
add esp, 4
or esi, 0x6856
and esi, 0x3399
add esi, 0x8d79
pop esi
push ecx
push ebx
add esp, 4
add ecx, 0x59ae
pop ecx
push esi
sub esi, 0x1225d
xor esi, 0x101d3
pop esi
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x4056e0
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x405743
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x4055ff
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x4055ff
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x40572d
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x40578c
push eax
and eax, 0x1494c
add eax, 0x115e5
and eax, 0xe76d
pop eax
push eax
push ecx
add esp, 4
sub eax, 0x4eed
call 0x40577a
add byte [eax + 0x4f], dl
xor al, 0x38
dec ebp
cmp eax, 0x4c48349
pop eax
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x4057f4
push edx
sub edx, 0xf7d2
jmp 0x40579c
xor al, 0x45
xor al, 0x47
or edx, 0x17ba8
pop edx
push edi
call 0x4057b2
add byte [edx], bh
xor eax, 0x3d424447
aas
dec ebp
add esp, 4
pop edi
push ecx
jmp 0x4057bd
pop ecx
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0xc98]
je 0x4057ea
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x4055a0
mov dword [ebp - 0x31c], 0
push ebx
and ebx, 0xa3e9
or ebx, 0x394c
pop ebx
push eax
push edx
add esp, 4
add eax, 0x16a1d
pop eax
push edx
sub edx, 0xbba4
pop edx
push ebx
and ebx, 0x12ebf
pop ebx
push ecx
or ecx, 0xbe68
pop ecx
cmp dword [ebp - 0x31c], 0
cld
invalid
inc dword [eax]
jne 0x40613f
mov edx, 0x6b
mov word [ebp - 0x1774], dx
mov eax, 0x65
mov word [ebp - 0x1772], ax
mov ecx, 0x72
mov word [ebp - 0x1770], cx
mov edx, 0x6e
mov word [ebp - 0x176e], dx
mov eax, 0x65
mov word [ebp - 0x176c], ax
mov ecx, 0x6c
mov word [ebp - 0x176a], cx
mov edx, 0x33
mov word [ebp - 0x1768], dx
mov eax, 0x32
mov word [ebp - 0x1766], ax
mov ecx, 0x2e
mov word [ebp - 0x1764], cx
mov edx, 0x64
mov word [ebp - 0x1762], dx
mov eax, 0x6c
mov word [ebp - 0x1760], ax
mov ecx, 0x6c
mov word [ebp - 0x175e], cx
xor edx, edx
mov word [ebp - 0x175c], dx
push ebx
push esi
add esp, 4
sub ebx, 0x114f9
add ebx, 0x10ea2
xor ebx, 0xd825
pop ebx
push esi
push eax
add esp, 4
add esi, 0x52b5
jmp 0x4058f7
or esi, 0x15b96
pop esi
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x6f
mov byte [ebp - 0x892], 0x61
mov byte [ebp - 0x891], 0x64
mov byte [ebp - 0x890], 0x4c
mov byte [ebp - 0x88f], 0x69
mov byte [ebp - 0x88e], 0x62
mov byte [ebp - 0x88d], 0x72
mov byte [ebp - 0x88c], 0x61
mov byte [ebp - 0x88b], 0x72
mov byte [ebp - 0x88a], 0x79
mov byte [ebp - 0x889], 0x57
mov byte [ebp - 0x888], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x195c], eax
mov ecx, dword [ebp - 0x195c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1960], edx
mov eax, dword [ebp - 0x1960]
mov dword [ebp - 0x15e4], eax
push edi
push esi
add esp, 4
sub edi, 0xdf99
call 0x405998
add byte [edi], bh
xor al, 0x50
cmp dword [ecx + 0x48], eax
aas
add esp, 4
or edi, 0xc6e3
pop edi
push ebx
jmp 0x4059ab
or ebx, 0x71c0
pop ebx
cmp dword [ebp - 0x15e4], 0
jne 0x4059ca
mov dword [ebp - 0x750], 0
jmp 0x405c86
mov ecx, dword [ebp - 0x15e4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push ecx
push edx
add esp, 4
call 0x4059ed
add byte [esi + 0x4f], cl
dec ecx
dec eax
inc ecx
add esp, 4
pop ecx
push edi
push ebx
add esp, 4
add edi, 0x11c41
pop edi
push eax
jmp 0x405a07
sub eax, 0xa271
pop eax
cmp dword [ebp - 0xca4], 0
jne 0x405a26
mov dword [ebp - 0x750], 0
jmp 0x405c86
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx