Function at 0x6469c0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x750188
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
push esi
xor esi, esi
mov ecx, vtable.CBArray_struct_TNobleData__.0
mov eax, 1
push edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x24], vtable.CBArray_long_int_.0
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], esi
mov byte [esp + 0x68], 2
mov dword [esp + 0x10], esi
mov dword [esp + 8], esi
call fcn.006590f0
cmp eax, esi
mov dword [esp + 0x1c], eax
je 0x646cc9
lea ecx, [eax + 0x1a8]
mov eax, dword [ecx]
push ebx
xor ebx, ebx
mov dword [esp + 0x18], ebx
xor edi, edi
mov dword [esp + 0x1c], esi
call dword [eax + 0x24]
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x646cc8
push ebp
lea ecx, [ecx]
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x1a8]
add ecx, 0x1a8
lea eax, [esp + 0x14]
push eax
call dword [edx + 0x2c]
mov ebp, dword [eax]
cmp ebp, esi
je 0x646b2a
mov ecx, ebp
call fcn.005f3d90
test eax, eax
je 0x646b2a
cmp dword [ebp + 0x294], 1
jne 0x646b2a
cmp dword [ebp + 0x298], 2
jne 0x646b2a
cmp dword [ebp + 0x2b0], esi
jne 0x646b2a
mov dword [esp + 0x20], ebp
lea esi, [ebp + 0x1d0]
mov dword [esp + 0x1c], 9
mov ecx, dword [esi]
test ecx, ecx
je 0x646b1e
call fcn.0062ba00
test eax, eax
je 0x646b1e
mov ecx, dword [esi]
cmp dword [ecx + 0x2c], 0
jne 0x646b1e
mov dx, word [ebp + 0x20]
mov eax, dword [0x912e94]
cmp dx, word [eax + 0x1ac]
jne 0x646b0b
mov edx, dword [esp + 0x54]
push edi
lea ecx, [esp + 0x58]
call dword [edx + 0x14]
add edi, 1
jmp 0x646b1a
mov edx, dword [esp + 0x40]
push ebx
lea ecx, [esp + 0x44]
call dword [edx + 0x14]
add ebx, 1
mov ecx, dword [esi]
mov dword [eax], ecx
add esi, 4
sub dword [esp + 0x1c], 1
jne 0x646ad1
xor esi, esi
cmp dword [esp + 0x14], esi
jne 0x646a70
cmp edi, esi
mov dword [esp + 0x1c], ebx
jne 0x646b4e
cmp ebx, esi
je 0x646cc7
mov ebp, 0x64
jmp 0x646bfa
cmp ebx, esi
mov ecx, 0x64
jne 0x646b5b
xor ebp, ebp
jmp 0x646b9c
mov eax, 0x64
add ebx, edi
cdq
idiv ebx
mov ebp, eax
sub ecx, ebp
je 0x646b9c
cmp ecx, ebp
jg 0x646b89
mov eax, 0x66666667
imul ebp
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add ecx, eax
mov ebp, 0x64
sub ebp, ecx
cmp ecx, esi
je 0x646b9c
cmp ecx, 0x1e
jge 0x646b9c
mov ecx, 0x1e
mov ebp, 0x46
mov eax, ecx
cdq
idiv edi
xor esi, esi
test edi, edi
mov dword [esp + 0x28], edx
mov ebx, eax
jle 0x646bc5
lea ecx, [ecx]
mov edx, dword [esp + 0x2c]
push esi
lea ecx, [esp + 0x30]
call dword [edx + 0x14]
add esi, 1
cmp esi, edi
mov dword [eax], ebx
jl 0x646bb0
mov ecx, dword [0x912e94]
mov esi, dword [esp + 0x2c]
mov eax, dword [ecx]
push 0x81
push 0x7e85f0
lea edx, [edi - 1]
push edx
push 0
add esi, 0x14
call dword [eax + 0x40]
push eax
lea ecx, [esp + 0x30]
call dword [esi]
mov ecx, dword [esp + 0x28]
add dword [eax], ecx
mov ebx, dword [esp + 0x1c]
xor esi, esi
cmp ebx, esi
je 0x646c74
mov eax, ebp
cdq
idiv ebx
test ebx, ebx
mov dword [esp + 0x1c], edx
mov ebp, eax
jle 0x646c28
lea ecx, [ecx]
mov eax, dword [esp + 0x2c]
lea edx, [esi + edi]
push edx
lea ecx, [esp + 0x30]
call dword [eax + 0x14]
add esi, 1
cmp esi, ebx
mov dword [eax], ebp
jl 0x646c10
mov esi, dword [esp + 0x2c]
mov ecx, dword [0x912e94]
mov edx, dword [ecx]
add esi, 0x14
test edi, edi
je 0x646c52
push 0x8c
push 0x7e85f0
lea eax, [edi - 1]
push eax
push 0
call dword [edx + 0x40]
add eax, edi
jmp 0x646c65
push 0x8e
push 0x7e85f0
lea eax, [ebx - 1]
push eax
push 0
call dword [edx + 0x40]
lea ecx, [esp + 0x2c]
push eax
call dword [esi]
mov ecx, dword [esp + 0x1c]
add dword [eax], ecx
xor esi, esi
lea edx, [esp + 0x2c]
push edx
call fcn.007022c0
add esp, 4
cmp eax, esi
jl 0x646cc7
cmp eax, edi
jl 0x646ca7
sub eax, edi
push eax
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x44]
mov dword [esp + 0x1c], 1
call dword [eax + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x646cc7
mov edx, dword [esp + 0x54]
push eax
lea ecx, [esp + 0x58]
call dword [edx + 0x14]
mov eax, dword [eax]
xor ecx, ecx
cmp ebx, esi
setne cl
mov dword [esp + 0x10], eax
add ecx, 2
mov dword [esp + 0x18], ecx
pop ebp
pop ebx
mov eax, dword [esp + 0x70]
cmp eax, esi
je 0x646cd7
mov edx, dword [esp + 0x10]
mov dword [eax], edx
cmp dword [esp + 8], esi
jne 0x646d78
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x646d03
mov ax, word [eax + 0x20]
push esi
push eax
call fcn.00632140
add esp, 8
cmp eax, esi
mov dword [esp + 8], eax
jne 0x646e1d
mov edx, dword [0x923cb8]
mov edi, dword [edx + 0x1d4]
xor eax, eax
cmp edi, esi
jle 0x646d35
add edx, 0x44
mov ecx, dword [edx]
cmp ecx, esi
je 0x646d2b
cmp byte [ecx + 0x429], 1
je 0x646de6
add eax, 2
add edx, 8
cmp eax, edi
jl 0x646d18
mov esi, dword [esp + 0x1c]
mov edx, dword [esi + 0x24]
add esi, 0x24
mov ecx, esi
call dword [edx + 0x24]
test eax, eax
mov dword [esp + 0xc], eax
je 0x646d76
lea esp, [esp]
mov eax, dword [esi]
lea ecx, [esp + 0xc]
push ecx
mov ecx, esi
call dword [eax + 0x2c]
mov eax, dword [eax]
test eax, eax
je 0x646d6f
cmp dword [eax + 0x194], 1
je 0x646e00
cmp dword [esp + 0xc], 0
jne 0x646d50
xor esi, esi
mov eax, dword [esp + 0x28]
cmp eax, esi
mov byte [esp + 0x68], 1
mov dword [esp + 0x24], vtable.CBArray_long_int_.0
je 0x646d96
push eax
call fcn.0040fa80
add esp, 4
mov eax, dword [esp + 0x3c]
cmp eax, esi
mov edi, vtable.CBArray_struct_TNobleData__.0
mov byte [esp + 0x68], 0
mov dword [esp + 0x38], edi
je 0x646db5
push eax
call fcn.0040fa80
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [esp + 0x4c], edi
pop edi
cmp eax, esi
mov dword [esp + 0x64], 0xffffffff
pop esi
je 0x646dd4
push eax
call fcn.0040fa80
add esp, 4
mov ecx, dword [esp + 0x58]
mov eax, dword [esp]
mov dword fs:[0], ecx
add esp, 0x64
ret
push eax
call fcn.00631eb0
mov word [eax + 0x1c], si
add esp, 4
mov dword [esp + 8], eax
mov word [eax + 0x1c], si
jmp 0x646d78
mov dx, word [eax + 0x20]
push 0
push edx
call fcn.00632080
add esp, 8
xor esi, esi
test eax, eax
mov dword [esp + 8], eax
je 0x646d78
mov eax, dword [esp + 8]
mov word [eax + 0x1c], si
jmp 0x646d78