Function at 0x10049510
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x10162ead
mov eax, dword fs:[0]
push eax
mov eax, 0x143c
call fcn.10100520
mov eax, dword [0x101b7324]
xor eax, esp
mov dword [esp + 0x1438], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b7324]
xor eax, esp
push eax
lea eax, [esp + 0x1450]
mov dword fs:[0], eax
mov esi, dword [esp + 0x1460]
mov eax, dword [esp + 0x1464]
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov edi, 0xf
mov dword [esp + 0x18], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
mov ebp, 1
mov dword [esp + 0x1458], ebp
mov ecx, dword [esp + 0x1468]
cmp ecx, ebx
jge 0x100495ac
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x24]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push eax
mov ecx, esi
mov byte [esi + 4], bl
call fcn.10009790
jmp 0x1004977c
jle 0x100495eb
cmp ecx, 0x64
jl 0x100495eb
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x24]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push edx
mov ecx, esi
mov byte [esi + 4], bl
call fcn.10009790
mov dword [esp + 0x14], ebp
mov byte [esp + 0x1458], bl
cmp dword [esp + 0x34], 0x10
jb 0x1004979b
mov eax, dword [esp + 0x20]
push eax
jmp 0x10049793
cmp dword [eax + 0x228], ebx
je 0x100495ff
mov dword [eax + 0x224], 0x102bfd28
jmp 0x10049611
lea edx, [eax + 0x90]
mov dword [eax + 0x224], edx
mov dword [eax + 0x228], ebx
mov eax, dword [eax + 0x224]
cmp dword [eax + ecx*4], ebx
lea ecx, [eax + ecx*4]
jne 0x10049657
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x24]
push ecx
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
mov ecx, esi
mov byte [esi + 4], bl
call fcn.10009790
mov dword [esp + 0x14], ebp
mov byte [esp + 0x1458], bl
cmp dword [esp + 0x34], 0x10
jb 0x1004979b
mov edx, dword [esp + 0x20]
push edx
jmp 0x10049793
mov eax, dword [esp + 0x146c]
cmp eax, ebx
jl 0x10049764
mov ecx, dword [ecx]
movzx edx, word [ecx + 0xe09c0]
cmp eax, edx
jge 0x10049764
lea eax, [eax + eax*4]
push 0x3ff
lea edi, [ecx + eax*8]
lea ecx, [esp + 0x51]
push ebx
push ecx
mov byte [esp + 0x58], bl
call fcn.10100550
push 0xfff
lea edx, [esp + 0x45d]
push ebx
push edx
mov byte [esp + 0x464], bl
call fcn.10100550
lea eax, [esp + 0x464]
push edi
push eax
call fcn.1003ef30
mov al, 0x25
mov dl, 0x73
mov byte [esp + 0x59], dl
mov byte [esp + 0x5c], dl
mov byte [esp + 0x58], al
mov cl, 0x24
mov byte [esp + 0x5a], cl
mov byte [esp + 0x5b], al
mov byte [esp + 0x5d], cl
mov byte [esp + 0x5e], al
mov byte [esp + 0x61], al
mov byte [esp + 0x64], al
mov byte [esp + 0x66], cl
mov byte [esp + 0x67], al
mov byte [esp + 0x5f], 0x64
mov dl, 0x2e
mov byte [esp + 0x60], dl
mov byte [esp + 0x63], dl
mov byte [esp + 0x62], 0x64
mov byte [esp + 0x65], 0x64
mov byte [esp + 0x68], 0x64
mov byte [esp + 0x69], bl
movzx ecx, byte [edi + 0x27]
movzx edx, word [edi + 4]
movzx eax, byte [edi + 3]
push ecx
movzx ecx, byte [edi + 2]
push edx
push eax
push ecx
add edi, 0xc
push edi
lea edx, [esp + 0x480]
push edx
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.10101330
add esp, 0x40
lea edx, [esp + 0x4c]
push edx
mov ecx, esi
call fcn.10009c60
mov dword [esp + 0x14], ebp
mov byte [esp + 0x1458], bl
lea ecx, [esp + 0x1c]
call fcn.10006120
jmp 0x100497a7
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x24]
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push eax
mov ecx, esi
mov byte [esi + 4], bl
call fcn.10009790
mov dword [esp + 0x14], ebp
mov byte [esp + 0x1458], bl
cmp dword [esp + 0x34], 0x10
jb 0x1004979b
mov ecx, dword [esp + 0x20]
push ecx
call fcn.100ee4bd
add esp, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
mov eax, esi
mov ecx, dword [esp + 0x1450]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1438]
xor ecx, esp
call fcn.100ffae6
add esp, 0x1448
ret