Function at 0x5979a0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6436c0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x6db1a4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
xor eax, eax
lea ecx, [edi + 0x20]
mov dword [edi + 0x18], eax
mov word [edi + 0x1c], ax
call fcn.004fd710
lea ecx, [edi + 0x24]
call fcn.004fd710
lea ecx, [edi + 0x54]
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0xffffff
mov dword [edi + 0x40], 0xffffff
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
call fcn.004fd710
lea ecx, [edi + 0x58]
mov dword [edi + 0x50], 0
call fcn.004fd710
xorps xmm0, xmm0
mov dword [edi + 0x1f4], 0
lea ecx, [edi + 0x5c]
movsd qword [edi + 0x1f8], xmm0
mov dword [edi + 0x16c], 0
mov dword [edi + 0x170], 0
call fcn.004fd710
xorps xmm0, xmm0
mov dword [edi + 0x204], 0
movsd qword [edi + 0x208], xmm0
lea ebx, [edi + 0x218]
mov dword [edi + 0x174], 0
lea esi, [edi + 0x84]
mov dword [edi + 0x178], 0
mov dword [edi + 0x21f4], 0
mov edi, 5
lea ecx, [esi - 4]
call fcn.004fd710
mov ecx, esi
call fcn.004fd710
mov dword [esi + 4], 0
lea ebx, [ebx + 0x10]
xorps xmm0, xmm0
mov dword [ebx - 0x14], 0
add esi, 0x30
movsd qword [ebx - 0x10], xmm0
sub edi, 1
jne 0x597ab1
mov edi, dword [ebp - 0x10]
mov dword [edi + 0x98], 0
lea ecx, [edi + 0x60]
mov dword [edi + 0x9c], 0
mov dword [edi + 0xc8], 0
mov dword [edi + 0xcc], 0
mov dword [edi + 0xf8], 0
mov dword [edi + 0xfc], 0
mov dword [edi + 0x128], 0
mov dword [edi + 0x12c], 0
mov dword [edi + 0x158], 0
mov dword [edi + 0x15c], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x184], 0
mov dword [edi + 0x188], 0
mov dword [edi + 0x18c], 0
mov dword [edi + 0x194], 0
mov dword [edi + 0x198], 0
mov dword [edi + 0x19c], 0
mov dword [edi + 0x1a4], 0
mov dword [edi + 0x1a8], 0
mov dword [edi + 0x1ac], 0
mov dword [edi + 0x1b4], 0
mov dword [edi + 0x1b8], 0
mov dword [edi + 0x1bc], 0
mov dword [edi + 0x1c4], 0
mov dword [edi + 0x1c8], 0
mov dword [edi + 0x1cc], 0
mov dword [edi + 0x1d4], 0
mov dword [edi + 0x1d8], 0
mov dword [edi + 0x1dc], 0
mov dword [edi + 0x1e4], 0
mov dword [edi + 0x1e8], 0
mov dword [edi + 0x1ec], 0
call fcn.004fd710
lea ecx, [edi + 0x64]
call fcn.004fd710
lea ecx, [edi + 0x6c]
call fcn.004fd710
mov edx, 3
lea esi, [edi + 0x70]
mov dword [ebp - 0x14], edx
or ebx, 0xffffffff
mov eax, dword [esi]
cmp dword [eax - 8], 0
je 0x597ca3
cmp dword [eax - 0xc], 0
lea ecx, [eax - 0xc]
jl 0x597c88
add eax, 0xfffffff4
cmp eax, dword [0x6ce010]
je 0x597ca3
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x597c7f
mov eax, dword [esi]
sub eax, 0xc
push eax
call fcn.005b9a8a
mov edx, dword [ebp - 0x14]
add esp, 4
mov eax, dword [0x6ce014]
mov dword [esi], eax
jmp 0x597ca3
push 0x64ca56
call dword [0x64c2e4]
push 0x64ca56
push eax
mov ecx, esi
call fcn.004fccc0
mov edx, dword [ebp - 0x14]
add esi, 4
sub edx, 1
mov dword [ebp - 0x14], edx
jne 0x597c47
lea ecx, [edi + 0x260]
mov dword [edi + 0x16c], 0
mov dword [edi + 0x170], 0
mov dword [edi + 0x174], 0
mov dword [edi + 0x178], 0
mov dword [edi + 0x17c], 0
call fcn.004fd710
mov dword [edi + 0x264], 0
mov dword [edi + 0x268], 0
mov eax, dword [edi + 0x270]
mov esi, dword [edi + 0x26c]
cmp esi, eax
je 0x597d29
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0x24
cmp esi, edi
jne 0x597d11
mov edi, dword [ebp - 0x10]
mov esi, dword [edi + 0x26c]
mov dword [edi + 0x270], esi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push 0x659190
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 0
call fcn.004f90a0
mov eax, dword [0x6ce014]
mov dword [ebp - 0x48], eax
push 0x659194
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.004f90a0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
push ecx
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x48]
call fcn.0051c300
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x6ce010]
je 0x597db1
lea ecx, [eax - 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x597db1
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff4
push eax
call fcn.005b9a8a
add esp, 4
mov eax, dword [edi + 0x27c]
lea ebx, [edi + 0x278]
mov esi, dword [ebx]
mov dword [ebp - 0x14], eax
cmp esi, eax
je 0x597ddc
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
push 0
call dword [eax]
add esi, 0xc
cmp esi, edi
jne 0x597dc8
mov esi, dword [ebx]
mov edi, dword [ebp - 0x10]
mov dword [ebx + 4], esi
mov ecx, dword [0x6ce014]
mov dword [ebp - 0x28], vtable.CSaveData::ScenairoFgFmt.0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [ebp - 0x34]
mov byte [ebp - 4], 4
cmp esi, dword [ebp - 0x30]
je 0x597ee2
mov edi, ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x24], 0
push esi
push eax
call fcn.0051c150
add esp, 8
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
mov byte [ebp - 4], 5
cmp edi, ecx
je 0x597e79
cmp dword [edi - 0xc], 0
lea edx, [edi - 0xc]
jge 0x597e39
lea eax, [edi - 0xc]
cmp eax, dword [0x6ce010]
jne 0x597e3f
cmp dword [ecx - 0xc], 0
jge 0x597e4d
push ecx
push dword [ecx - 8]
lea ecx, [ebp - 0x20]
call fcn.004fccc0
jmp 0x597e79
lea eax, [edi - 0xc]
cmp eax, dword [0x6ce010]
je 0x597e6d
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x597e6d
push edx
call fcn.005b9a8a
add esp, 4
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
lock inc dword [eax - 0xc]
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 4
lea ecx, [eax - 0xc]
cmp ecx, dword [0x6ce010]
je 0x597ea9
lea ecx, [eax - 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x597ea9
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff4
push eax
call fcn.005b9a8a
add esp, 4
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x28]
push ecx
push eax
cmp dword [ebx + 8], eax
je 0x597ec5
push ebx
call fcn.005974a0
add esp, 0xc
add dword [ebx + 4], 0xc
jmp 0x597ecc
mov ecx, ebx
call fcn.00596b00
add esi, 4
cmp esi, dword [ebp - 0x30]
je 0x597edc
mov edi, dword [ebp - 0x20]
jmp 0x597e04
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x10]
lea eax, [ecx - 0xc]
mov dword [edi + 0x21ec], 0
mov dword [edi + 0x21f0], 0
or ebx, 0xffffffff
mov dword [edi + 0x21f4], 0
mov dword [edi + 0x21d4], 0xffffffff
mov dword [edi + 0x21d8], 0xffffffff
cmp eax, dword [0x6ce010]
je 0x597f39
add ecx, 0xfffffff4
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x597f39
push ecx
call fcn.005b9a8a
add esp, 4
mov ecx, dword [ebp - 0x48]
lea eax, [ecx - 0xc]
cmp eax, dword [0x6ce010]
je 0x597f64
add ecx, 0xfffffff4
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x597f64
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff4
push eax
call fcn.005b9a8a
add esp, 4
mov eax, dword [ebp - 0x18]
lea ecx, [eax - 0xc]
cmp ecx, dword [0x6ce010]
je 0x597f8d
add eax, 0xfffffff4
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x597f8d
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
push eax
call fcn.005b9a8a
add esp, 4
lea ecx, [ebp - 0x34]
call fcn.004fa7c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret