Function at 0x6122a0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x647988
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push esi
push edi
mov eax, dword [0x6af168]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
sub esp, 0x50
mov esi, esp
mov ecx, esi
mov dword [ebp - 0x14], esp
call fcn.00613980
xor ebx, ebx
mov dword [esi + 0x2c], ebx
mov eax, 0xf
mov dword [esi + 0x30], eax
mov byte [esi + 0x1c], bl
mov dword [esi + 0x4c], eax
mov dword [esi + 0x48], ebx
mov byte [esi + 0x38], bl
lea esi, [edi + 4]
push 1
mov ecx, esi
call fcn.00611d50
mov eax, dword [ebp + 8]
push ebx
push eax
lea ecx, [ebp - 0x34]
push ecx
call fcn.004e7710
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 4]
cmp eax, ebx
mov dword [ebp - 4], ebx
je 0x612334
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x612339
call fcn.0062492b
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 0x10]
push 0xffffffffffffffff
push ebx
add ecx, 0x18
push edx
call fcn.00401d10
cmp dword [ebp - 0x1c], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x612364
mov eax, dword [ebp - 0x30]
push eax
call fcn.0062493b
add esp, 4
mov ecx, dword [ebp + 8]
push 1
push ecx
lea edx, [ebp - 0x34]
push edx
call fcn.004e7740
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 4]
cmp eax, ebx
mov dword [ebp - 4], 1
je 0x61239f
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x6123a4
call fcn.0062492b
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 0x10]
push 0xffffffffffffffff
push ebx
add ecx, 0x34
push edx
call fcn.00401d10
cmp dword [ebp - 0x1c], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x6123cf
mov eax, dword [ebp - 0x30]
push eax
call fcn.0062493b
add esp, 4
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x6123ee
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x6123f3
call fcn.0062492b
mov edx, dword [esi + 4]
push ebx
push 0x66f61c
lea ecx, [edi + 0x18]
mov dword [edi + 0x14], edx
call fcn.00402300
mov eax, dword [edi + 0x5c]
cmp dword [edi + 0x58], eax
lea esi, [edi + 0x54]
mov dword [ebp - 0x14], eax
jbe 0x61241a
call fcn.0062492b
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov dword [ebp - 0x10], eax
jbe 0x61242d
call fcn.0062492b
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
push ecx
push esi
push eax
push esi
lea edx, [ebp - 0x18]
push edx
mov ecx, esi
call fcn.00611040
push ebx
push 0x66f61c
lea ecx, [edi + 0x64]
call fcn.00402300
push ebx
push 0x66f61c
lea ecx, [edi + 0x80]
call fcn.00402300
mov esi, dword [ebp + 8]
mov ecx, dword [edi + 0x14]
push esi
mov dword [edi + 0x9c], ebx
call fcn.00613b90
cmp al, bl
mov byte [ebp + 0xb], al
jne 0x6124b5
cmp byte [ebp + 0xc], bl
je 0x6124b5
push esi
lea eax, [ebp - 0x50]
push str.Unable_to_open_file:
push eax
call fcn.0044cec0
add esp, 0xc
push 1
push ebx
push eax
mov ecx, edi
mov dword [ebp - 4], 2
call fcn.006108d0
cmp dword [ebp - 0x38], 0x10
jb 0x6124b2
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0062493b
add esp, 4
mov al, byte [ebp + 0xb]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8