Function at 0x10061e10
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x1017b501
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x101ce00c]
xor eax, esp
mov dword [esp + 0x5c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101ce00c]
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
test al, al
push ebp
lea ecx, [esp + 0x18]
call fcn.10045f40
mov byte [esp + 0x7c], 3
push ecx
pop ecx
mov edx, dword [esp + 0x14]
cmp dword [edx - 0xc], ebx
jne 0x10061ee2
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x58]
push eax
mov ecx, esi
call fcn.10003dd0
mov dword [esp + 0x34], 1
mov byte [esp + 0x7c], 2
lea ecx, [esp + 0x14]
call fcn.10020020
mov byte [esp + 0x7c], bl
jmp 0x100620c6
push esi
call fcn.10056a60
add esp, 4
test ch, ch
mov ecx, dword [esi + 0x220]
mov dword [esp + 0x3c], ecx
mov ebp, ebp
lea edx, [esi + 0x8c]
mov dword [esi + 0x220], edx
push eax
pop eax
mov eax, dword [esi + 0x220]
mov ebx, dword [eax + 0x190]
call fcn.10053740
mov ecx, ecx
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.1005e6a0
add esp, 0x18
mov byte [esp + 0x7c], 4
mov eax, dword [eax + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.10045f40
mov byte [esp + 0x7c], 6
lea ecx, [esp + 0x40]
call fcn.10001dc0
mov edi, edi
lea ecx, [esp + 0x1c]
call fcn.10109303
mov byte [esp + 0x7c], 7
mov bl, bl
mov eax, dword [esp + 0x18]
push 0
lea edx, [esp + 0x20]
push edx
push 0x10181a24
push eax
call fcn.10060cc0
add esp, 0x10
mov ebx, eax
mov ch, ch
push eax
pop eax
xor edi, edi
test ebx, ebx
jle 0x10061fd4
mov eax, dword [esp + 0x20]
test edi, edi
jl 0x100620f0
cmp edi, dword [esp + 0x24]
jge 0x100620f0
mov ecx, dword [eax + edi*4]
cmp dword [ecx - 0xc], 0
jle 0x10061fcd
push 1
mov eax, ecx
push eax
push 0x64
push esi
call fcn.10060f60
add esp, 0x10
test eax, 0xd9e
mov eax, dword [esp + 0x20]
add edi, 1
cmp edi, ebx
jl 0x10061f99
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.10061270
add esp, 0x30
mov byte [esp + 0x7c], 8
lea edx, [esp + 0x58]
cmp eax, edx
je 0x10062035
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
push ecx
push eax
mov ecx, edx
call fcn.100070b0
mov byte [esp + 0x7c], 7
lea ecx, [esp + 0x40]
call fcn.10001dc0
mov edx, edx
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x220], eax
test dl, dl
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call fcn.10003dd0
mov dword [esp + 0x34], 1
mov byte [esp + 0x7c], 6
lea ecx, [esp + 0x1c]
call fcn.1010964b
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 0x1006209c
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 0x100620c1
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.10001dc0
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.101180ca
add esp, 0x6c
ret
jmp fcn.10106bf9