Function at 0x542e98
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x54311d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
add eax, 0x48
mov edx, dword [ebp - 8]
mov edx, dword [edx]
mov ecx, dword [0x5411dc]
call fcn.00406170
push 0
mov eax, dword [ebp - 4]
add eax, 0x48
mov ecx, 1
mov edx, dword [0x5411dc]
call fcn.00406128
add esp, 4
push 0
mov eax, dword [ebp + 8]
push eax
xor ecx, ecx
xor edx, edx
mov eax, 0x64
call fcn.00555c00
mov eax, dword [ebp - 4]
mov byte [eax + 4], bl
xor edx, edx
push ebp
push 0x5430e7
push dword fs:[edx]
mov dword fs:[edx], esp
mov esi, 1
mov ebx, 1
jmp 0x54306f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov al, byte [eax + ebx - 1]
sub al, 0xd
je 0x542f9a
sub al, 0x19
je 0x542f45
sub al, 0x16
je 0x542ff3
jmp 0x54306e
cmp esi, ebx
jge 0x542f55
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0054369c
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 8]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.00542cc0
cmp dword [ebp - 0x10], 0
je 0x542f81
mov eax, dword [ebp - 0x10]
call fcn.00404f4c
add ebx, eax
mov esi, ebx
dec ebx
jmp 0x54306e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
cmp byte [eax + ebx], 0x26
sete al
mov esi, eax
and esi, 0x7f
add esi, ebx
jmp 0x54306e
cmp byte [0x59a464], 0
je 0x54306e
cmp esi, ebx
jge 0x542fb7
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0054369c
mov esi, ebx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x34], 0
jne 0x542fdd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.0042c83c
mov edx, 0x543134
call fcn.0053a07c
mov edx, dword [ebp - 4]
mov dword [edx + 0x34], eax
mov eax, dword [ebp - 4]
call fcn.00543358
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp - 4]
mov dword [edx + 0x14], eax
jmp 0x54306e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
cmp byte [eax + ebx], 0x3c
je 0x54305b
cmp esi, ebx
jge 0x54300f
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0054369c
lea ecx, [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov edx, ebx
call fcn.005412ac
cmp dword [ebp - 0xc], 0
jne 0x54302a
inc ebx
mov esi, ebx
jmp 0x54306f
mov ecx, ebx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00541a60
test al, al
je 0x54304a
mov eax, dword [ebp - 0xc]
call fcn.00404f4c
add ebx, eax
mov esi, ebx
dec ebx
jmp 0x54306e
inc ebx
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0054369c
mov esi, ebx
jmp 0x54306e
cmp esi, ebx
jge 0x54306b
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0054369c
inc ebx
mov esi, ebx
inc ebx
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x10]
jle 0x542f26
cmp esi, ebx
jge 0x54308b
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0054369c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x28]
jle 0x54309f
mov edx, dword [ebp - 4]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x34]
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5430ee
push 0
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
xor ecx, ecx
call fcn.00555c00
mov eax, dword [ebp - 4]
mov byte [eax + 4], 0
ret