Function at 0x10049540
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x10162a5d
mov eax, dword fs:[0]
push eax
mov eax, 0x143c
call fcn.10100130
mov eax, dword [0x101b629c]
xor eax, esp
mov dword [esp + 0x1438], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b629c]
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 0x100495dc
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.100097c0
jmp 0x100497ac
jle 0x1004961b
cmp ecx, 0x64
jl 0x1004961b
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.100097c0
mov dword [esp + 0x14], ebp
mov byte [esp + 0x1458], bl
cmp dword [esp + 0x34], 0x10
jb 0x100497cb
mov eax, dword [esp + 0x20]
push eax
jmp 0x100497c3
cmp dword [eax + 0x228], ebx
je 0x1004962f
mov dword [eax + 0x224], 0x102beca8
jmp 0x10049641
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 0x10049687
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.100097c0
mov dword [esp + 0x14], ebp
mov byte [esp + 0x1458], bl
cmp dword [esp + 0x34], 0x10
jb 0x100497cb
mov edx, dword [esp + 0x20]
push edx
jmp 0x100497c3
mov eax, dword [esp + 0x146c]
cmp eax, ebx
jl 0x10049794
mov ecx, dword [ecx]
movzx edx, word [ecx + 0xe09c0]
cmp eax, edx
jge 0x10049794
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.10100160
push 0xfff
lea edx, [esp + 0x45d]
push ebx
push edx
mov byte [esp + 0x464], bl
call fcn.10100160
lea eax, [esp + 0x464]
push edi
push eax
call fcn.1003ef60
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.10100f40
add esp, 0x40
lea edx, [esp + 0x4c]
push edx
mov ecx, esi
call fcn.10009c90
mov dword [esp + 0x14], ebp
mov byte [esp + 0x1458], bl
lea ecx, [esp + 0x1c]
call fcn.10006120
jmp 0x100497d7
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.100097c0
mov dword [esp + 0x14], ebp
mov byte [esp + 0x1458], bl
cmp dword [esp + 0x34], 0x10
jb 0x100497cb
mov ecx, dword [esp + 0x20]
push ecx
call fcn.100ee0d8
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.100ff704
add esp, 0x1448
ret