Function at 0x56c7a0
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x64a236
mov eax, dword fs:[0]
push eax
mov eax, 0x1934
call fcn.0063fe40
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6a9fa4]
xor eax, esp
push eax
lea eax, [esp + 0x1948]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x195c]
mov ebx, ecx
mov edi, edx
lea eax, [esp + 0x24]
mov dword [esp + 0xca4], eax
xor eax, eax
mov ecx, 0x64
mov dword [esp + 0xca8], eax
mov dword [esp + 0xcac], ecx
mov dword [esp + 0x1950], eax
lea edx, [esp + 0xcb4]
mov dword [esp + 0x1934], edx
mov dword [esp + 0x1938], eax
mov dword [esp + 0x193c], ecx
mov byte [esp + 0x1950], 1
mov eax, dword [ebx + 0xc84]
lea esi, [esp + 0x24]
call fcn.0056c4b0
mov eax, dword [ebx + 0xc84]
mov ecx, dword [esp + 0xca4]
mov dword [esp + 0xca8], eax
shl eax, 5
push eax
mov eax, dword [ebx + 0xc80]
push eax
push ecx
call fcn.0062bd80
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0xc]
add edx, eax
add esp, 0xc
mov dword [esp + 0x18], eax
mov eax, dword [edi + 4]
fild dword [esp + 0x18]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xcb4]
add ecx, eax
push edx
push ecx
fstp dword [esp]
xor ebx, ebx
push ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ecx
call fcn.005a6500
fild dword [esp + 0x20]
mov eax, esi
push eax
push ecx
fstp dword [esp]
push 1
lea esi, [esp + 0xcc0]
mov dword [esp + 0xcb4], ebx
call fcn.005a6500
fild dword [esp + 0x1c]
mov ecx, esi
push ecx
push ecx
fstp dword [esp]
push ebx
lea esi, [esp + 0x30]
mov dword [esp + 0x1944], ebx
call fcn.005a6590
fild dword [esp + 0x14]
mov edx, esi
push edx
push ecx
fstp dword [esp]
push 1
lea esi, [esp + 0xcc0]
mov dword [esp + 0xcb4], ebx
call fcn.005a6590
mov eax, dword [esp + 0xca8]
cmp eax, 3
jb 0x56ca1b
mov ecx, dword [esp + 0x1958]
cmp ecx, 6
jne 0x56c91d
lea edi, [esp + 0x24]
mov eax, ebp
call fcn.0056c550
jmp 0x56ca1b
cmp ecx, 4
jne 0x56ca1b
add eax, 0xfffffffe
cmp eax, ebx
jbe 0x56ca1b
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xca4]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc88]
cmp dword [ebp + 0xc84], eax
jne 0x56c957
add eax, eax
mov esi, ebp
call fcn.0056c4b0
mov edi, dword [ebp + 0xc84]
mov esi, dword [esp + 0x14]
shl edi, 5
add edi, dword [ebp + 0xc80]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0xca4]
add dword [ebp + 0xc84], 1
mov ecx, dword [ebp + 0xc84]
lea eax, [ebx + edx + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc88]
cmp ecx, eax
jne 0x56c9a0
add eax, eax
mov esi, ebp
call fcn.0056c4b0
mov edi, dword [ebp + 0xc84]
mov esi, dword [esp + 0x14]
shl edi, 5
add edi, dword [ebp + 0xc80]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0xca4]
add dword [ebp + 0xc84], 1
mov ecx, dword [ebp + 0xc84]
lea eax, [ebx + edx + 0x40]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc88]
cmp ecx, eax
jne 0x56c9e9
add eax, eax
mov esi, ebp
call fcn.0056c4b0
mov edi, dword [ebp + 0xc84]
mov esi, dword [esp + 0x14]
shl edi, 5
add edi, dword [ebp + 0xc80]
mov ecx, 8
mov eax, 1
rep movsd dword es:[edi], dword [esi]
add dword [ebp + 0xc84], eax
add ebx, 0x20
sub dword [esp + 0x18], eax
jne 0x56c935
mov eax, dword [esp + 0x1934]
lea ecx, [esp + 0xcb4]
cmp eax, ecx
je 0x56ca36
push eax
call fcn.0062414c
add esp, 4
mov eax, dword [esp + 0xca4]
lea edx, [esp + 0x24]
cmp eax, edx
je 0x56ca4e
push eax
call fcn.0062414c
add esp, 4
mov ecx, dword [esp + 0x1948]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1940
ret