Function at 0x1022d720
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1029dd49
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x1058ac14]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x64], edi
mov esi, dword [ebp + 8]
push esi
mov dword [ebp - 0x74], esi
push dword [esi + 4]
push dword [esi]
call fcn.102332c0
mov eax, dword [esi]
add esp, 0xc
mov dword [esi + 4], eax
xor eax, eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x78], eax
mov esi, dword [edi + 0x2c]
xor ecx, ecx
mov dword [ebp - 4], eax
mov eax, 0x51eb851f
mov dword [ebp - 0x48], ecx
mov ecx, dword [edi + 0x30]
sub ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1022dae1
xor edi, edi
mov dword [ebp - 0x5c], edi
lea eax, [edi + esi]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov ecx, 0x7fffffff
mov dword [ebp - 0x14], 0
cmp dword [eax + 0x14], 0x10
mov esi, dword [eax + 0x10]
mov dword [ebp - 0x44], eax
jb 0x1022d7d6
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
cmp esi, 0x10
jae 0x1022d7ec
movups xmm0, xmmword [eax]
mov edi, 0xf
mov dword [ebp - 0x4c], edi
movups xmmword [ebp - 0x28], xmm0
jmp 0x1022d854
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
cmova edi, ecx
mov dword [ebp - 0x4c], edi
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x1022d82e
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x1022dd44
push ecx
call fcn.10269f9d
add esp, 4
test eax, eax
je 0x1022dd49
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x1022d841
test eax, eax
je 0x1022d83f
push eax
call fcn.10269f9d
add esp, 4
mov ecx, eax
jmp 0x1022d841
xor ecx, ecx
lea eax, [esi + 1]
mov dword [ebp - 0x28], ecx
push eax
push dword [ebp - 0x44]
push ecx
call fcn.1026c360
add esp, 0xc
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], esi
cmp edi, 0x10
mov byte [ebp - 4], 1
lea edx, [ebp - 0x28]
cmovae edx, dword [ebp - 0x28]
test esi, esi
je 0x1022d88e
or ecx, 0xffffffff
lea eax, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x2e
je 0x1022d88a
nop
cmp ecx, edx
je 0x1022d88e
dec ecx
cmp byte [ecx], 0x2e
jne 0x1022d880
sub ecx, edx
jmp 0x1022d891
or ecx, 0xffffffff
cmp ecx, 0xffffffff
je 0x1022d982
inc ecx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x2c], 0xf
cmp esi, ecx
jb 0x1022dd3f
sub esi, ecx
lea eax, [ebp - 0x28]
or edi, 0xffffffff
cmp esi, 0xffffffff
cmovb edi, esi
cmp dword [ebp - 0x4c], 0x10
cmovae eax, dword [ebp - 0x28]
add eax, ecx
mov dword [ebp - 0x4c], eax
cmp edi, 0xf
ja 0x1022d8e6
push edi
push eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x30], edi
push eax
call fcn.1026cc00
mov byte [ebp + edi - 0x40], 0
jmp 0x1022d939
cmp edi, 0x7fffffff
ja 0x1022dd3a
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x1022d905
mov eax, 0x7fffffff
jmp 0x1022d910
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x40]
inc eax
push eax
call fcn.10004a30
push edi
push dword [ebp - 0x4c]
mov esi, eax
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x44]
push esi
mov dword [ebp - 0x2c], eax
call fcn.1026c360
mov byte [esi + edi], 0
mov dword [ebp - 0x40], esi
mov ecx, dword [ebp - 0x14]
add esp, 0xc
cmp ecx, 0x10
jb 0x1022d970
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1022d966
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1022dd49
push ecx
push edx
call fcn.1026a022
add esp, 8
movups xmm0, xmmword [ebp - 0x40]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [ebp - 0x30]
movq qword [ebp - 0x18], xmm0
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x6c]
je 0x1022da59
mov dword [ecx], 0
lea edi, [ebp - 0x28]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x18]
cmovae edi, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
cmp eax, 0x10
jae 0x1022d9d7
movups xmm0, xmmword [edi]
mov esi, 0xf
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], esi
add ecx, 0x18
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x7c], ecx
jmp 0x1022da72
mov esi, eax
mov eax, 0x7fffffff
or esi, 0xf
cmp esi, 0x7fffffff
cmova esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x1022da1b
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x1022dd44
push ecx
call fcn.10269f9d
add esp, 4
test eax, eax
je 0x1022dd49
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x1022da2e
test eax, eax
je 0x1022da2c
push eax
call fcn.10269f9d
add esp, 4
mov ecx, eax
jmp 0x1022da2e
xor ecx, ecx
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
inc eax
push eax
push edi
push ecx
call fcn.1026c360
mov ecx, dword [ebp - 0x58]
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], esi
add ecx, 0x18
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x7c], ecx
jmp 0x1022da72
lea eax, [ebp - 0x28]
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.10233920
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
cmp ecx, 0x10
jb 0x1022daaa
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1022daa0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1022dd49
push ecx
push edx
call fcn.1026a022
add esp, 8
mov eax, dword [ebp - 0x64]
mov edi, dword [ebp - 0x5c]
inc dword [ebp - 0x48]
add edi, 0x64
mov dword [ebp - 0x5c], edi
mov ecx, dword [eax + 0x30]
mov esi, dword [eax + 0x2c]
sub ecx, esi
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x48], eax
jb 0x1022d7a8
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x44], eax
mov esi, dword [ebp - 0x64]
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
mov eax, 0x66666667
mov ecx, dword [esi + 0x48]
mov edi, dword [esi + 0x44]
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1022dcc5
mov dword [ebp - 0x48], 0
nop
xor ecx, ecx
mov eax, 0x51eb851f
mov dword [ebp - 0x5c], ecx
mov ecx, dword [esi + 0x30]
mov esi, dword [esi + 0x2c]
mov dword [ebp - 0x54], ecx
sub ecx, esi
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1022dc99
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x68]
add ecx, edi
mov dword [ebp - 0x70], ecx
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edx + esi + 0x24]
mov edx, dword [ebp - 0x60]
je 0x1022db66
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
jmp 0x1022dc2d
cmp byte [ecx + 0x24], 0
je 0x1022dc14
push edx
lea ecx, [ebp - 0x40]
call fcn.10004730
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0x40]
lea edi, [ebp - 0x40]
mov eax, dword [ebp - 0x30]
lea esi, [ebp - 0x40]
cmovae ecx, edx
cmovae edi, edx
add eax, ecx
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x54], eax
cmovae esi, edx
cmp esi, eax
je 0x1022dbb9
sub edi, esi
movsx eax, byte [esi]
push eax
call fcn.10270e64
mov byte [edi + esi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x54]
jne 0x1022dba4
push dword [ebp - 0x70]
mov esi, dword [ebp - 0x40]
lea eax, [ebp - 0x40]
push eax
call fcn.10218ea0
mov cl, al
add esp, 8
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x4d], cl
cmp eax, 0x10
jb 0x1022dc06
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x1022dbf9
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1022dd49
push ecx
push esi
call fcn.1026a022
mov cl, byte [ebp - 0x4d]
add esp, 8
mov edx, dword [ebp - 0x64]
mov eax, dword [edx + 0x30]
mov esi, dword [edx + 0x2c]
mov edi, dword [edx + 0x44]
jmp 0x1022dc23
push ecx
push edx
call fcn.10218ea0
mov cl, al
add esp, 8
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x54], eax
test cl, cl
jne 0x1022dc5a
mov edx, dword [ebp - 0x60]
inc dword [ebp - 0x5c]
mov ecx, eax
add dword [ebp - 0x68], 0x64
add edx, 0x18
sub ecx, esi
mov dword [ebp - 0x60], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x5c], eax
jb 0x1022db44
jmp 0x1022dc99
mov eax, dword [ebp - 0x74]
add edi, dword [ebp - 0x48]
push edi
mov esi, dword [eax + 4]
cmp esi, dword [eax + 8]
je 0x1022dc91
mov ecx, esi
call fcn.10004730
mov eax, dword [edi + 0x18]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x1c], eax
mov eax, dword [edi + 0x20]
mov dword [esi + 0x20], eax
mov al, byte [edi + 0x24]
mov byte [esi + 0x24], al
mov esi, dword [ebp - 0x74]
add dword [esi + 4], 0x28
jmp 0x1022dc99
push esi
mov ecx, eax
call fcn.102336a0
mov esi, dword [ebp - 0x64]
mov eax, 0x66666667
inc dword [ebp - 0x4c]
add dword [ebp - 0x48], 0x28
mov ecx, dword [esi + 0x48]
mov edi, dword [esi + 0x44]
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x4c], eax
jb 0x1022db10
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x1022dd1d
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x58]
push eax
push esi
call fcn.10067490
mov ecx, dword [ebp - 0x6c]
mov eax, 0x2aaaaaab
sub ecx, esi
add esp, 0xc
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x1022dd13
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1022dd49
push ecx
push esi
call fcn.1026a022
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1026b168
mov esp, ebp
pop ebp
ret 4
call fcn.10001a70
call fcn.1005ea20
call fcn.100019f0
call fcn.10270999
int3