Function at 0x5b3bc8
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov byte [eax - 5], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
mov edx, dword [ebp + 8]
add eax, dword [edx - 0x10]
cmp eax, 0x64
jne 0x5b3d19
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
dec eax
sub eax, 0x63
jae 0x5b3d19
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov edx, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 0xd0]
cmp word [edx + eax*8 + 0x22], 0
jne 0x5b3d19
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x18]
cmp dword [eax + 0xc], 2
jge 0x5b3d19
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
call fcn.005cdebc
test al, al
je 0x5b3d19
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x14]
mov eax, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x14]
mov eax, dword [esi + 0xd0]
mov ebx, dword [eax + ecx*8]
test ebx, ebx
je 0x5b3cc5
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
push ebx
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0xd0]
lea eax, [eax + ecx*8 + 0xc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
mov edx, eax
shl eax, 8
sub eax, edx
mov ecx, 0x64
cdq
idiv ecx
push eax
push 0xff
mov eax, dword [ebp + 8]
lea edx, [eax - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 0x18]
call fcn.00548520
jmp 0x5b423e
mov eax, dword [ebp + 8]
mov eax, dword [esi + 0x198]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0xd0]
lea eax, [eax + ecx*8 + 0xc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
mov edx, eax
shl eax, 8
sub eax, edx
mov ecx, 0x64
cdq
idiv ecx
push eax
push 0xff
mov eax, dword [ebp + 8]
lea edx, [eax - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx - 0x18]
call fcn.00548520
jmp 0x5b423e
mov eax, dword [ebp + 8]
lea esi, [eax - 0x28]
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
cmp dword [eax - 0xc], 0
jle 0x5b3ef9
mov eax, dword [ebp + 8]
cmp byte [eax - 0x29], 0
je 0x5b3da5
mov eax, dword [ebp + 8]
cmp dword [eax - 0x14], 0xffffffff
jle 0x5b3ea8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0xd4]
call fcn.004088c8
mov edx, dword [ebp + 8]
cmp eax, dword [edx - 0x14]
jle 0x5b3ea8
mov eax, dword [ebp + 8]
add eax, 0xffffff9c
push eax
push 0
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00460284
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
lea edx, [edx + edx*2]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xd4]
mov ecx, dword [ecx + edx*4]
lea edx, [ebp - 0x24]
call fcn.005bd0cc
mov eax, dword [ebp + 8]
mov byte [eax - 5], 1
jmp 0x5b3ea8
mov eax, dword [ebp + 8]
cmp dword [eax - 0x14], 0xffffffff
jle 0x5b3ea8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0xd0]
call fcn.004088c8
mov edx, dword [ebp + 8]
cmp eax, dword [edx - 0x14]
jle 0x5b3ea8
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov edx, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 0xd0]
movzx edx, word [edx + eax*8 + 0x1e]
test dl, dl
je 0x5b3e3e
mov edx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 0xd0]
lea edx, [edx + eax*8]
push edx
mov edx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 0xd0]
movsx eax, word [edx + eax*8 + 0x22]
mov edx, dword [0x6a19c4]
movzx eax, byte [edx + eax]
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax - 0x88]
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.005bd734
jmp 0x5b3ea1
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 0x14]
mov eax, ebx
add ebx, ebx
add ebx, ebx
add ebx, ebx
sub ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0xd0]
lea eax, [eax + ebx*8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0xd0]
movsx eax, word [eax + ebx*8 + 0x22]
mov edx, dword [0x6a19c4]
movzx eax, byte [edx + eax]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00460284
mov edx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 0xd0]
mov ecx, dword [edx + ebx*8]
lea edx, [ebp - 0x24]
call fcn.005bd0cc
mov eax, dword [ebp + 8]
mov byte [eax - 5], 1
cmp dword [ebp - 0x1c], 0xffffffff
je 0x5b3ef9
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00460384
cmp al, 7
jne 0x5b3ed9
push 0xff
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x8c]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
lea edx, [ebp - 0x24]
call fcn.0059ffd0
jmp 0x5b3ef9
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00460284
call fcn.0045a64c
mov edx, dword [ebp + 8]
mov ecx, dword [edx - 0x8c]
lea edx, [ebp - 0x24]
call fcn.005b7470
mov eax, dword [ebp + 8]
cmp dword [eax - 0x10], 0
jle 0x5b4130
mov eax, dword [ebp + 8]
cmp byte [eax - 5], 0
je 0x5b4090
mov eax, dword [ebp + 8]
add eax, 0xffffffd8
mov dl, 1
call fcn.005df3b4
push eax
mov eax, dword [ebp + 8]
add eax, 0xffffffd8
mov dl, 1
call fcn.005df3a0
pop edx
call fcn.005bcb7c
mov dword [ebp - 0xc], eax
xor ecx, ecx
push ebp
push 0x5b4089
push dword fs:[ecx]
mov dword fs:[ecx], esp
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
test eax, eax
je 0x5b3f6b
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x5b3f6b
mov eax, dword [ebp + 8]
mov edx, dword [eax - 4]
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
call fcn.00406558
test eax, eax
je 0x5b3f74
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x5b3faf
push 0
push 0
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ae20
lea edx, [ebp - 0x44]
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.005479b4
jmp 0x5b3ffa
mov eax, dword [ebp - 0xc]
call fcn.00460384
cmp al, 7
jne 0x5b3fd9
push 0xff
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x8c]
mov eax, dword [ebp + 8]
lea edx, [eax - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.0059ffd0
jmp 0x5b3ffa
mov eax, dword [ebp - 0xc]
call fcn.00460284
call fcn.0045a64c
mov edx, dword [ebp + 8]
mov ecx, dword [edx - 0x8c]
mov edx, dword [ebp + 8]
add edx, 0xffffffd8
call fcn.005b7470
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
mov edx, eax
shl eax, 8
sub eax, edx
mov ecx, 0x64
cdq
idiv ecx
cmp eax, 0xff
jl 0x5b401b
mov eax, 0xff
test eax, eax
jle 0x5b4023
mov ebx, eax
jmp 0x5b4025
xor ebx, ebx
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0040ae20
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x28]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x24]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
mov ecx, ebx
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.005b97ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5b4130
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [ebp - 0xc], edx
call fcn.004050e8
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
test eax, eax
je 0x5b40b6
mov edx, eax
sub edx, 0xa
cmp word [edx], 2
je 0x5b40b6
mov eax, dword [ebp + 8]
mov edx, dword [eax - 4]
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
call fcn.00406558
test eax, eax
je 0x5b40bf
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x5b40df
push 0
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x18]
mov eax, dword [ebp + 8]
lea edx, [eax - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.005479b4
jmp 0x5b4130
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00460384
cmp al, 7
jne 0x5b410d
push 0xff
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x8c]
mov eax, dword [ebp + 8]
lea edx, [eax - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.0059ffd0
jmp 0x5b4130
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.00460284
call fcn.0045a64c
mov edx, dword [ebp + 8]
mov ecx, dword [edx - 0x8c]
mov edx, dword [ebp + 8]
add edx, 0xffffffd8
call fcn.005b7470
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
add eax, dword [edx - 0xc]
sub eax, 1
jb 0x5b4176
sub eax, 0x63
jae 0x5b423e
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x8c]
push eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax - 0x10]
mov eax, dword [ebp + 8]
add cl, byte [eax - 0xc]
mov eax, dword [ebp + 8]
lea edx, [eax - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.0059fe50
jmp 0x5b423e
mov eax, dword [ebp + 8]
cmp byte [eax - 0x68], 0
jne 0x5b4220
mov eax, dword [ebp + 8]
cmp dword [eax - 0x90], 0
je 0x5b4220
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x90]
sub eax, 1
jb 0x5b41a8
sub eax, 0x63
je 0x5b41b9
jmp 0x5b41cd
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x7c]
mov edx, dword [ebp + 8]
mov dword [edx - 0x94], eax
jmp 0x5b4200
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x8c]
mov edx, dword [ebp + 8]
mov dword [edx - 0x94], eax
jmp 0x5b4200
mov eax, dword [ebp + 8]
fild dword [eax - 0x90]
fdiv dword [0x5b4248]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x7c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x8c]
call fcn.005bcc60
mov edx, dword [ebp + 8]
mov dword [edx - 0x94], eax
push 0xff
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x94]
mov eax, dword [ebp + 8]
lea edx, [eax - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.0059ffd0
jmp 0x5b423e
push 0xff
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x8c]
mov eax, dword [ebp + 8]
lea edx, [eax - 0x28]
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.0059ffd0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret