Function at 0x1004a3b0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x1015e5f1
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x5c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b23cc]
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
mov dl, dl
push ebp
lea ecx, [esp + 0x18]
call fcn.1002ebd0
mov byte [esp + 0x7c], 3
mov dl, dl
mov edx, dword [esp + 0x14]
cmp dword [edx - 0xc], ebx
jne 0x1004a482
mov esi, dword [esp + 0x30]
lea eax, [esp + 0x58]
push eax
mov ecx, esi
call fcn.10009650
mov dword [esp + 0x34], 1
mov byte [esp + 0x7c], 2
lea ecx, [esp + 0x14]
call fcn.1001d220
mov byte [esp + 0x7c], bl
jmp 0x1004a663
push esi
call fcn.1003f2d0
add esp, 4
push ecx
pop ecx
mov ecx, dword [esi + 0x228]
mov dword [esp + 0x3c], ecx
mov ch, ch
lea edx, [esi + 0x94]
mov dword [esi + 0x228], edx
mov ebp, ebp
mov eax, dword [esi + 0x228]
mov ebx, dword [eax + 0x190]
call fcn.1003bfc0
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.10046cc0
add esp, 0x18
mov byte [esp + 0x7c], 4
mov eax, dword [eax + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.1002ebd0
mov byte [esp + 0x7c], 6
lea ecx, [esp + 0x40]
call fcn.10006900
mov al, al
lea ecx, [esp + 0x1c]
call fcn.100ee1d8
mov byte [esp + 0x7c], 7
mov ch, ch
mov eax, dword [esp + 0x18]
push 0
lea edx, [esp + 0x20]
push edx
push 0x101664f0
push eax
call fcn.10049270
add esp, 0x10
mov ebx, eax
push edx
pop edx
xchg ebx, eax
xchg ebx, eax
xor edi, edi
test ebx, ebx
jle 0x1004a571
mov eax, dword [esp + 0x20]
test edi, edi
jl 0x1004a68d
cmp edi, dword [esp + 0x24]
jge 0x1004a68d
mov ecx, dword [eax + edi*4]
cmp dword [ecx - 0xc], 0
jle 0x1004a56a
push 1
mov eax, ecx
push eax
push 0x64
push esi
call fcn.10049510
add esp, 0x10
mov ch, ch
mov eax, dword [esp + 0x20]
add edi, 1
cmp edi, ebx
jl 0x1004a539
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.10049820
add esp, 0x30
mov byte [esp + 0x7c], 8
lea edx, [esp + 0x58]
cmp eax, edx
je 0x1004a5d2
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
push ecx
push eax
mov ecx, edx
call fcn.1000bc80
mov byte [esp + 0x7c], 7
lea ecx, [esp + 0x40]
call fcn.10006900
mov ah, ah
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x228], eax
mov bh, bh
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
call fcn.10009650
mov dword [esp + 0x34], 1
mov byte [esp + 0x7c], 6
lea ecx, [esp + 0x1c]
call fcn.100ee520
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 0x1004a639
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 0x1004a65e
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.10006900
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.100fc49a
add esp, 0x6c
ret
jmp fcn.100eaf69