Function at 0x4ebe70
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5d918f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
xor eax, eax
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x14], eax
mov cl, byte [esp + 0xf]
mov dword [esp + 0x78], 1
mov byte [esp + 0x2c], cl
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dl, byte [0x619c18]
mov ecx, 0xc
lea edi, [esp + 0x3d]
mov byte [esp + 0x3c], dl
rep stosd dword es:[edi], eax
push 6
push 0x60da68
lea ecx, [esp + 0x20]
mov byte [esp + 0x80], 2
stosb byte es:[edi], al
call fcn.00558100
mov esi, dword [ebp + 0xc]
mov byte [esp + 0x78], 3
cmp esi, 0x13
ja case.default.0x4ebef4
jmp dword [esi*4 + 0x4ec60c]
push 0xc
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
lea eax, [eax + eax*4]
shl eax, 3
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 5
lea ecx, [ebp + 0x10]
call fcn.00558380
cmp al, 0x7f
jbe 0x4ebf4f
push 0x60d2b8
push 5
lea ecx, [ebp + 0x10]
call fcn.00558380
push eax
mov ecx, ebx
call fcn.004ecaf0
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 5
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78f8]
fsub qword [0x5e78f0]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xa
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78e8]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xb
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78e0]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 3
lea ecx, [ebp + 0x10]
call fcn.00558380
cmp al, 0x7f
jbe 0x4ebff5
push 0x60d2b8
push 3
lea ecx, [ebp + 0x10]
call fcn.00558380
push eax
mov ecx, ebx
call fcn.004ecaf0
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 3
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jmp 0x4ec25f
push 4
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78d8]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 7
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78d0]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 6
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78c8]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xa
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
push 0xb
mov dword [esp + 0x14], eax
lea ecx, [ebp + 0x10]
fild dword [esp + 0x14]
fmul qword [0x5e78c0]
fstp qword [esp + 0x28]
call fcn.00558380
and eax, 0xff
push 0xa
mov dword [esp + 0x14], eax
lea ecx, [ebp + 0x10]
fild dword [esp + 0x14]
fstp qword [esp + 0x20]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [esp + 0x1c]
fmul qword [0x5e5a50]
fsubr qword [esp + 0x24]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 3
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78b8]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 3
lea ecx, [ebp + 0x10]
call fcn.00558380
cmp al, 9
jb 0x4ec14c
mov edi, str.xxxx
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4ec421
push 0x60d258
push 4
lea ecx, [ebp + 0x10]
call fcn.00558380
push eax
mov ecx, ebx
call fcn.004ecb10
fstp qword [esp + 0x1c]
push 3
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
lea ecx, [eax + eax*4]
lea eax, [eax + ecx*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
shl edx, 2
mov dword [esp + 0x10], edx
lea edx, [esp + 0x3c]
fild dword [esp + 0x10]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push str._.2f
push edx
jmp 0x4ec419
push 3
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 3
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul dword [0x5e78b4]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xc
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
lea eax, [eax + eax*4]
shl eax, 3
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 5
lea ecx, [ebp + 0x10]
call fcn.00558380
cmp al, 0x7f
jbe 0x4ec248
push 0x60d2b8
push 5
lea ecx, [ebp + 0x10]
call fcn.00558380
push eax
mov ecx, ebx
call fcn.004ecaf0
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 5
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78f8]
fsub qword [0x5e78f0]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xa
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78e8]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xb
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x5e78e0]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xa
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
push 0xb
mov dword [esp + 0x14], eax
lea ecx, [ebp + 0x10]
fild dword [esp + 0x14]
fmul qword [0x5e78c0]
fstp qword [esp + 0x20]
call fcn.00558380
and eax, 0xff
push 0xa
mov dword [esp + 0x14], eax
lea ecx, [ebp + 0x10]
fild dword [esp + 0x14]
fstp qword [esp + 0x28]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [esp + 0x24]
fmul qword [0x5e5a50]
fsubr qword [esp + 0x1c]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xc
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
lea ecx, [eax + eax*4]
shl ecx, 3
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fstp qword [esp + 0x1c]
jmp 0x4ec405
push 0xa
lea ecx, [ebp + 0x10]
call fcn.00558380
and eax, 0xff
push 0xb
mov dword [esp + 0x14], eax
lea ecx, [ebp + 0x10]
fild dword [esp + 0x14]
fmul qword [0x5e78c0]
fstp qword [esp + 0x20]
call fcn.00558380
and eax, 0xff
push 0xa
mov dword [esp + 0x14], eax
lea ecx, [ebp + 0x10]
fild dword [esp + 0x14]
fstp qword [esp + 0x28]
call fcn.00558380
and eax, 0xff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [esp + 0x24]
fmul qword [0x5e5a50]
fsubr qword [esp + 0x1c]
fstp qword [esp + 0x1c]
jmp 0x4ec405
mov edi, 0x609450
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x30]
push ebx
call fcn.004018c0
test al, al
je 0x4ec400
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov edx, ecx
mov esi, 0x609450
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x30]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x34], ebx
mov byte [eax + ebx], 0
cmp esi, 0xa
je 0x4ec421
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push ecx
push edx
lea eax, [esp + 0x44]
push str._.2f
push eax
call fcn.005bcf3d
add esp, 0x10
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4ec4c6
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x4ec447
call fcn.005bc520
mov edi, dword [esp + 0x30]
test edi, edi
je 0x4ec46f
mov al, byte [edi - 1]
test al, al
je 0x4ec46f
cmp al, 0xff
je 0x4ec46f
test ebx, ebx
jne 0x4ec498
dec al
push ebx
lea ecx, [esp + 0x30]
mov byte [edi - 1], al
call fcn.00401850
jmp 0x4ec4c6
test ebx, ebx
jne 0x4ec480
push 1
lea ecx, [esp + 0x30]
call fcn.00401850
jmp 0x4ec4c6
mov eax, dword [esp + 0x38]
cmp eax, 0x1f
ja 0x4ec48d
cmp eax, ebx
jae 0x4ec4a6
push 1
lea ecx, [esp + 0x30]
call fcn.00401850
push ebx
lea ecx, [esp + 0x30]
call fcn.004019e0
mov edi, dword [esp + 0x30]
mov ecx, ebx
lea esi, [esp + 0x3c]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov byte [eax + ebx], 0
mov ebx, dword [ebp + 8]
mov cl, byte [esp + 0x2c]
xor edi, edi
mov byte [ebx], cl
mov ecx, dword [esp + 0x34]
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
mov eax, dword [0x5e5150]
mov esi, ecx
cmp eax, esi
mov dword [esp + 0x10], esi
jae 0x4ec4f3
mov dword [esp + 0x10], eax
mov esi, eax
lea edx, [esp + 0x2c]
cmp ebx, edx
jne 0x4ec512
push eax
push esi
mov ecx, ebx
call fcn.00421610
push edi
push edi
mov ecx, ebx
call fcn.00421610
jmp 0x4ec59f
cmp esi, edi
jbe 0x4ec55e
cmp esi, ecx
jne 0x4ec55e
mov eax, dword [esp + 0x30]
cmp eax, edi
jne 0x4ec527
mov eax, 0x5e514c
cmp byte [eax - 1], 0xfe
jae 0x4ec55e
push 1
mov ecx, ebx
call fcn.00401850
mov eax, dword [esp + 0x30]
cmp eax, edi
jne 0x4ec543
mov eax, 0x5e514c
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4ec59f
push 1
push esi
mov ecx, ebx
call fcn.004018c0
test al, al
je 0x4ec59f
mov eax, dword [esp + 0x30]
cmp eax, edi
jne 0x4ec579
mov eax, 0x5e514c
mov edi, dword [ebx + 4]
mov ecx, esi
mov esi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 4]
add eax, ecx
mov dword [ebx + 8], ecx
xor edi, edi
mov byte [eax], 0
mov dword [esp + 0x14], 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 2
call fcn.005581a0
mov eax, dword [esp + 0x30]
cmp eax, edi
je 0x4ec5da
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4ec5d1
cmp al, 0xff
je 0x4ec5d1
dec al
mov byte [ecx], al
jmp 0x4ec5da
push ecx
call fcn.005bc500
add esp, 4
lea ecx, [ebp + 0x10]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov byte [esp + 0x78], 0
call fcn.005581a0
mov ecx, dword [esp + 0x70]
pop edi
mov eax, ebx
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc