Function at 0x4ecbe0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x6b4a27
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x20], ebp
mov al, byte [esp + 0x6c]
mov dword [esp + 0x60], 1
mov byte [esp + 0x24], al
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
push 6
push 0x704698
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 2
call fcn.0060ff10
push 4
lea ecx, [esp + 0x70]
mov byte [esp + 0x64], 3
call fcn.00610190
push 5
lea ecx, [esp + 0x70]
mov byte [esp + 0x1c], al
call fcn.00610190
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x18]
and eax, 0xff
cmp eax, 4
ja case.default.0x4ece1c
jmp dword [eax*4 + 0x4ed64c]
mov eax, dword [esp + 0x14]
and eax, 0xff
dec eax
jne case.default.0x4ece1c
add esi, 8
push 8
mov ecx, esi
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 7
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 6
call fcn.00610190
and eax, 0xff
mov ecx, esi
push eax
push 5
call fcn.00610190
and eax, 0xff
lea ecx, [esp + 0x50]
push eax
push str._02x_02x_02x_02x
push ecx
call fcn.00698355
lea edi, [esp + 0x5c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x4eccec
call fcn.0069788b
mov edi, dword [esp + 0x28]
test edi, edi
je 0x4ecd17
mov al, byte [edi - 1]
test al, al
je 0x4ecd17
cmp al, 0xff
je 0x4ecd17
test ebx, ebx
jne 0x4ecd43
dec al
push ebx
lea ecx, [esp + 0x28]
mov byte [edi - 1], al
call fcn.004138a0
jmp case.default.0x4ece1c
test ebx, ebx
jne 0x4ecd2b
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
jmp case.default.0x4ece1c
mov eax, dword [esp + 0x30]
cmp eax, 0x1f
ja 0x4ecd38
cmp eax, ebx
jae 0x4ecd51
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x28]
call fcn.00414870
mov edi, dword [esp + 0x28]
mov ecx, ebx
lea esi, [esp + 0x44]
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 + 0x28]
mov dword [esp + 0x2c], ebx
mov byte [eax + ebx], 0
jmp case.default.0x4ece1c
mov eax, dword [esp + 0x14]
and eax, 0xff
dec eax
je 0x4ecded
dec eax
je 0x4ecdce
dec eax
jne case.default.0x4ece1c
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul qword [0x6d03c8]
fstp qword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push edx
push eax
lea ecx, [esp + 0x4c]
push str._.2f
push ecx
call fcn.00698355
add esp, 0x10
jmp 0x4ecece
push 6
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul qword [0x6d1f40]
jmp 0x4ecda9
push 5
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jmp 0x4ecda3
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 0x18
ja case.default.0x4ece1c
jmp dword [eax*4 + 0x4ed660]
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x6c
push 0x62
push 5
call fcn.00610190
and al, 2
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x63
push 0x64
push 5
call fcn.00610190
and al, 4
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 8
jmp 0x4eceb1
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x63
push 0x64
push 5
call fcn.00610190
and al, 0x10
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x8b
push 0x8a
push 5
call fcn.00610190
and al, 0x20
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x66
push 0x65
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x40
push eax
mov ecx, esi
call fcn.004f11a0
push ebp
lea edx, [esp + 0x48]
push 0x703498
push edx
call fcn.00698355
add esp, 0xc
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
jne 0x4ed4dc
lea edi, [esp + 0x44]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x4ecef2
call fcn.0069788b
mov edi, dword [esp + 0x28]
test edi, edi
je 0x4ed485
mov al, byte [edi - 1]
test al, al
je 0x4ed485
cmp al, 0xff
je 0x4ed485
test ebx, ebx
jne 0x4ed4ae
dec al
push ebx
lea ecx, [esp + 0x28]
mov byte [edi - 1], al
call fcn.004138a0
jmp 0x4ed4dc
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x66
push 0x65
push 5
call fcn.00610190
and al, 0x80
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 1
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 2
jmp 0x4eceb1
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x6a
push 0x69
push 6
call fcn.00610190
and al, 4
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x6a
push 0x69
push 6
call fcn.00610190
and al, 8
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x10
jmp 0x4eceb1
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x63
push 0x64
push 7
call fcn.00610190
and al, 1
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 7
call fcn.00610190
and al, 2
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 7
lea ecx, [esi + 8]
call fcn.00610190
and al, 4
jmp 0x4eceb1
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 7
call fcn.00610190
and al, 8
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x67
push 7
call fcn.00610190
and al, 0x10
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x66
push 0x65
push 7
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x20
jmp 0x4eceb1
lea edx, [esp + 0x24]
push edx
push 0x64
push 0x63
push 7
jmp 0x4ecea7
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 8
call fcn.00610190
and al, 1
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x6a
push 0x69
push 8
lea ecx, [esi + 8]
call fcn.00610190
and al, 4
jmp 0x4eceb1
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x83
push 0x82
push 8
call fcn.00610190
and al, 0x10
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x83
push 0x82
push 8
call fcn.00610190
and al, 0x20
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x82
push 0x83
push 8
jmp 0x4ecea7
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x82
push 0x83
push 8
call fcn.00610190
and al, 0x80
jmp 0x4eceb1
mov eax, dword [esp + 0x14]
and eax, 0xff
dec eax
cmp eax, 0xb
ja case.default.0x4ece1c
jmp dword [eax*4 + 0x4ed6c4]
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 2
jmp 0x4eceb1
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 4
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x63
push 0x64
push 5
call fcn.00610190
and al, 8
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x10
jmp 0x4eceb1
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 5
call fcn.00610190
and al, 0x20
jmp 0x4eceb1
lea eax, [esp + 0x24]
push eax
push 0x64
push 0x63
jmp 0x4ecea5
lea ecx, [esp + 0x24]
push ecx
push 0x64
push 0x63
push 5
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x80
jmp 0x4eceb1
lea edx, [esp + 0x24]
lea ecx, [esi + 8]
push edx
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 4
jmp 0x4eceb1
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x66
push 0x65
push 6
call fcn.00610190
and al, 8
jmp 0x4eceb1
lea ecx, [esp + 0x24]
push ecx
push 0x6a
push 0x69
push 6
lea ecx, [esi + 8]
call fcn.00610190
and al, 0x20
jmp 0x4eceb1
lea edx, [esp + 0x24]
push edx
push 0x64
push 0x63
push 6
jmp 0x4ecea7
lea eax, [esp + 0x24]
lea ecx, [esi + 8]
push eax
push 0x64
push 0x63
push 6
call fcn.00610190
and al, 0x80
jmp 0x4eceb1
mov ecx, dword [esp + 0x14]
and ecx, 0xff
lea eax, [ecx - 1]
cmp eax, 5
ja case.default.0x4ece1c
jmp dword [eax*4 + 0x4ed6f4]
push 5
jmp 0x4ed282
push 6
jmp 0x4ed282
push 7
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
lea ebp, [eax + eax*4]
shl ebp, 1
jmp case.default.0x4ece1c
push 8
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
lea ecx, [eax + eax*4]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ebp, edx
jmp case.default.0x4ece1c
push 9
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
cmp eax, 3
ja case.default.0x4ed2d9
jmp dword [eax*4 + 0x4ed70c]
push 0xf4
jmp 0x4ed2fa
push 0xf6
jmp 0x4ed2fa
push 0xf5
jmp 0x4ed2fa
push 0xea
push 5
lea ecx, [esp + 0x18]
call fcn.006102b0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x38]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x60], 4
cmp edi, ebx
jae 0x4ed33b
mov ebx, edi
lea ecx, [esp + 0x24]
cmp ecx, esi
jne 0x4ed3b0
cmp dword [esp + 0x2c], ebx
jae 0x4ed34e
call fcn.00697ab7
lea ecx, [esp + 0x24]
call fcn.00414980
mov eax, dword [esp + 0x2c]
sub eax, ebx
cmp eax, edi
jae 0x4ed363
mov edi, eax
test edi, edi
jbe 0x4ed39e
mov edx, dword [esp + 0x28]
sub eax, edi
push eax
lea ecx, [edx + ebx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x38]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x24]
push 0
push esi
call fcn.00414210
test al, al
je 0x4ed39e
push esi
lea ecx, [esp + 0x28]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x2c]
call fcn.004140d0
jmp 0x4ed439
test ebx, ebx
jbe 0x4ed3fd
cmp ebx, eax
jne 0x4ed3fd
mov eax, dword [esi + 4]
test eax, eax
jne 0x4ed3c4
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4ed3fd
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4ed3e1
mov eax, 0x6ce1f8
mov dword [esp + 0x28], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x2c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x30], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4ed439
push 1
push ebx
lea ecx, [esp + 0x2c]
call fcn.00414210
test al, al
je 0x4ed439
mov esi, dword [esi + 4]
test esi, esi
jne 0x4ed419
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x28]
mov ecx, ebx
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 + 0x28]
mov dword [esp + 0x2c], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0x38]
mov byte [esp + 0x60], 3
test eax, eax
je case.default.0x4ece1c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4ed461
cmp al, 0xff
je 0x4ed461
dec al
mov byte [ecx], al
jmp case.default.0x4ece1c
push ecx
call fcn.00697880
add esp, 4
jmp case.default.0x4ece1c
push 0xa
lea ecx, [esi + 8]
call fcn.00610190
and eax, 0xff
mov ebp, eax
jmp case.default.0x4ece1c
test ebx, ebx
jne 0x4ed496
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
jmp 0x4ed4dc
mov eax, dword [esp + 0x30]
cmp eax, 0x1f
ja 0x4ed4a3
cmp eax, ebx
jae 0x4ed4bc
push 1
lea ecx, [esp + 0x28]
call fcn.004138a0
push ebx
lea ecx, [esp + 0x28]
call fcn.00414870
mov edi, dword [esp + 0x28]
mov ecx, ebx
lea esi, [esp + 0x44]
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 + 0x28]
mov dword [esp + 0x2c], ebx
mov byte [ecx + ebx], 0
mov ebp, dword [esp + 0x68]
mov dl, byte [esp + 0x24]
xor edi, edi
mov byte [ebp], dl
mov edx, dword [esp + 0x2c]
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov esi, dword [0x6ce1fc]
mov ebx, edx
cmp esi, ebx
jae 0x4ed504
mov ebx, esi
lea eax, [esp + 0x24]
cmp ebp, eax
jne 0x4ed563
cmp ebx, edi
jbe 0x4ed515
call fcn.00697ab7
mov ecx, ebp
call fcn.00414980
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x4ed527
mov esi, eax
cmp esi, edi
jbe 0x4ed55a
mov ecx, dword [ebp + 4]
sub eax, esi
add ebx, ecx
push eax
lea ecx, [ebx + esi]
push ecx
push ebx
call fcn.00698020
mov ebx, dword [ebp + 8]
add esp, 0xc
sub ebx, esi
mov ecx, ebp
push edi
push ebx
call fcn.00414210
test al, al
je 0x4ed55a
push ebx
mov ecx, ebp
call fcn.004141f0
mov ecx, ebp
call fcn.00414980
jmp 0x4ed5df
cmp ebx, edi
jbe 0x4ed5a4
cmp ebx, edx
jne 0x4ed5a4
mov eax, dword [esp + 0x28]
mov ecx, 0x6ce1f8
cmp eax, edi
je 0x4ed57a
mov ecx, eax
cmp byte [ecx - 1], 0xfe
jae 0x4ed5a4
cmp eax, edi
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
jne 0x4ed592
mov eax, 0x6ce1f8
mov dword [ebp + 8], edx
mov edx, dword [esp + 0x30]
mov dword [ebp + 4], eax
mov dword [ebp + 0xc], edx
inc byte [eax - 1]
jmp 0x4ed5df
push 1
push ebx
mov ecx, ebp
call fcn.00414210
test al, al
je 0x4ed5df
mov esi, dword [esp + 0x28]
cmp esi, edi
jne 0x4ed5bf
mov esi, 0x6ce1f8
mov edi, dword [ebp + 4]
mov ecx, ebx
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 eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add eax, ebx
xor edi, edi
mov byte [eax], 0
mov dword [esp + 0x20], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x60], 2
call fcn.0060ffb0
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x4ed61a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4ed611
cmp al, 0xff
je 0x4ed611
dec al
mov byte [ecx], al
jmp 0x4ed61a
push ecx
call fcn.00697880
add esp, 4
lea ecx, [esp + 0x6c]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0x60], 0
call fcn.0060ffb0
mov ecx, dword [esp + 0x58]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x54
ret 8