Function at 0x100611f0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x10179eb1
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x101ce2ac]
xor eax, esp
mov dword [esp + 0x5c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101ce2ac]
xor eax, esp
push eax
lea eax, [esp + 0x74]
mov dword fs:[0], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0xac]
lea edx, [esp + 0x58]
mov dword [esp + 0x30], eax
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov eax, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], 1
mov ecx, dword [esp + 0x68]
mov byte [ecx], bl
mov dword [esp + 0x7c], 2
push ebx
pop ebx
push ebp
lea ecx, [esp + 0x18]
call fcn.10044df0
mov byte [esp + 0x7c], 3
test ch, ch
mov edx, dword [esp + 0x14]
cmp dword [edx - 0xc], ebx
jne 0x100612c2
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x58]
push eax
mov ecx, esi
call fcn.1000cf10
mov dword [esp + 0x34], 1
mov byte [esp + 0x7c], 2
lea ecx, [esp + 0x14]
call fcn.10005700
mov byte [esp + 0x7c], bl
jmp 0x100614a6
push esi
call fcn.10055f30
add esp, 4
test ah, ah
mov ecx, dword [esi + 0x220]
mov dword [esp + 0x3c], ecx
mov ch, ch
lea edx, [esi + 0x8c]
mov dword [esi + 0x220], edx
test dh, dh
mov eax, dword [esi + 0x220]
mov ebx, dword [eax + 0x190]
call fcn.10052c00
mov eax, eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x14]
push ecx
push edx
push edi
push eax
lea ecx, [esp + 0x50]
push esi
push ecx
call fcn.1005da90
add esp, 0x18
mov byte [esp + 0x7c], 4
mov eax, dword [eax + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.10044df0
mov byte [esp + 0x7c], 6
lea ecx, [esp + 0x40]
call fcn.10006e00
mov ch, ch
lea ecx, [esp + 0x1c]
call fcn.101089f7
mov byte [esp + 0x7c], 7
test edi, edi
mov eax, dword [esp + 0x18]
push 0
lea edx, [esp + 0x20]
push edx
push 0x10182558
push eax
call fcn.10060090
add esp, 0x10
mov ebx, eax
mov ch, ch
mov eax, eax
xor edi, edi
test ebx, ebx
jle 0x100613b1
mov eax, dword [esp + 0x20]
test edi, edi
jl 0x100614d0
cmp edi, dword [esp + 0x24]
jge 0x100614d0
mov ecx, dword [eax + edi*4]
cmp dword [ecx - 0xc], 0
jle 0x100613aa
push 1
mov eax, ecx
push eax
push 0x64
push esi
call fcn.10060340
add esp, 0x10
mov al, al
mov eax, dword [esp + 0x20]
add edi, 1
cmp edi, ebx
jl 0x10061379
fld qword [esp + 0xa4]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
push 0
sub esp, 8
fstp qword [esp]
push edx
mov edx, dword [esp + 0xa0]
push ebp
push eax
mov eax, dword [esp + 0xa4]
push ecx
push edx
push eax
push 0x64
lea ecx, [esp + 0x68]
push esi
push ecx
call fcn.10060650
add esp, 0x30
mov byte [esp + 0x7c], 8
lea edx, [esp + 0x58]
cmp eax, edx
je 0x10061412
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
push ecx
push eax
mov ecx, edx
call fcn.1000d090
mov byte [esp + 0x7c], 7
lea ecx, [esp + 0x40]
call fcn.10006e00
test dl, dl
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x220], eax
test eax, 0x3b6d
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call fcn.1000cf10
mov dword [esp + 0x34], 1
mov byte [esp + 0x7c], 6
lea ecx, [esp + 0x1c]
call fcn.10108d3f
mov byte [esp + 0x7c], 3
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x1006147c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x7c], 2
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100614a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x7c], 0
lea ecx, [esp + 0x58]
call fcn.10006e00
mov eax, esi
mov ecx, dword [esp + 0x74]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.10116cb9
add esp, 0x6c
ret
jmp fcn.10105789