Function at 0x405857
Capabilities:
Get number of processors

Disassembly:
call dword [edi + 0x52]
add esp, 4
jmp 0x4055a4
add edi, 0xe0ef
pop edi
push eax
push edx
add esp, 4
and eax, 0x5609
pop eax
push ecx
add ecx, 0x3cff
add ecx, 0xf192
sub ecx, 0x833c
pop ecx
cmp dword [ebp - 0xc98], 0
mov ebp, 0xfffff368
add byte [ebp + 0xf], dh
mov dword [ebp - 0x31c], 0
jmp 0x405843
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push ebx
push ecx
add esp, 4
and ebx, 0x7c2d
sub ebx, 0xe85a
sub ebx, 0x37d2
pop ebx
push esi
push edx
add esp, 4
xor esi, 0x16dc5
jmp 0x40561a
and esi, 0x12bd1
pop esi
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
mov dword [ebp - 0x10c], edx
push ecx
xor ecx, 0xd17b
and ecx, 0xcbef
or ecx, 0x1153
pop ecx
push ecx
push esi
add esp, 4
jmp 0x40566d
and ecx, 0x14057
and ecx, 0xa6f5
or ecx, 0xfcbe
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
mov eax, dword [ebp - 0xc94]
add eax, 2
mov dword [ebp - 0xc94], eax
mov cx, word [ebp - 0x1034]
mov word [ebp - 0x10c], cx
push ecx
push edx
add esp, 4
add ecx, 0x95df
xor ecx, 0x6139
xor ecx, 0x52a8
pop ecx
push esi
sub esi, 0x911a
and esi, 0x1d7e
sub esi, 0x796f
add esi, 0x13c3e
pop esi
movzx edx, word [ebp - 0x10c]
test edx, edx
sal byte [ebp + 0x18], cl
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x405792
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x40564e
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x40564e
invalid
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x40577c
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x405786
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x4057db
push eax
and eax, 0x150d6
call 0x4057ae
add byte [eax + 0x38], dl
xor eax, 0x833a3539
les eax, [ecx + eax*4]
loopne 0x40574a
int3
push ecx
push ecx
add esp, 4
and ecx, 0xf35c
pop ecx
push esi
xor esi, 0x12d92
add dword [eax], eax
jmp 0x4057f4
call 0x405803
add byte [eax + 0x32], al
cmp al, 0x4d
cmp cl, byte [ecx + 0x32]
xor bh, byte [ebx]
add esp, 4
xor esi, 0xeeb6
pop esi
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 0x405839
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x4055ef
mov dword [ebp - 0x31c], 0
push edi
push eax
add esp, 4
call 0x405857
add byte [ebx + eax*2], dh
cmp edi, dword [edx]
dec ecx
xor al, 0x48
aaa
dec ebx
add esp, 4
sub edi, 0x397
add edi, 0x3419
jmp 0x40586c
pop edi
push edi
add edi, 0x73eb
pop edi
cmp dword [ebp - 0x31c], 0
jne 0x40618e
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
add byte [eax], al
add byte [esi - 0x77], ah
xchg ebp, eax
xchg edx, eax
invalid
invalid
invalid