Function at 0x65a390
Capabilities:
Get number of processors
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov cl, byte [0x65e037]
mov al, byte [0x65e030]
push ebx
xor cl, al
xor ebx, ebx
mov byte [0x65e037], cl
mov bl, cl
mov ecx, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov cl, byte [0x65e03e]
and al, cl
mov edx, dword [0x65e020]
mov byte [0x65e030], al
or al, 2
shr al, 1
and eax, 0xff
push esi
mov dword [ebp - 8], eax
mov esi, dword [0x65e024]
fild dword [ebp - 8]
lea edx, [edx + esi*2]
push edi
mov dword [0x65e020], edx
mov edx, dword [0x65e028]
fdivr qword [0x65e040]
and edx, 3
mov byte [0x65ec48], 0x41
imul edx, ebx
fadd qword [0x65b740]
add esi, edx
mov bl, 0x6c
mov dword [0x65e024], esi
mov byte [0x65ec49], bl
fstp qword [0x65ebd0]
mov eax, dword fs:[0x18]
mov ecx, dword [eax + 0x30]
xor dword [ebp - 4], ecx
mov edx, dword [0x65e024]
mov eax, dword [0x65e020]
xor edi, edi
lea ecx, [edx + edx]
mov dword [ebp - 0xc], edi
or ecx, eax
mov dword [ebp - 0x10], ecx
mov ecx, dword [0xa5ef38]
fild qword [ebp - 0x10]
cmp ecx, eax
fadd qword [0x65e040]
fstp qword [0x65e040]
je 0x65a460
xor eax, ecx
mov dword [0x65e020], eax
mov cl, byte [0x65e037]
mov dl, byte [0x65e036]
mov esi, dword [0x65e028]
mov eax, dword [0x65e02c]
xor dl, cl
mov byte [0x65ec4a], 0x70
mov byte [0x65e036], dl
mov edx, esi
shr edx, 1
add eax, edx
xor edx, edx
mov dword [0x65e02c], eax
and eax, 7
mov dl, cl
mov byte [0x65ec4b], 0x68
imul eax, edx
add esi, eax
mov dword [0x65e028], esi
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb0]
mov dword [ebp - 8], eax
mov al, byte [0x65e03d]
mov cl, byte [0x65e031]
or cl, al
mov eax, dword [0x65e020]
mov byte [0x65e031], cl
mov cl, byte [0x65e035]
mov dl, cl
mov esi, dword [0x65e024]
or dl, 2
mov byte [0x65ec4c], 0x61
shr dl, 1
and edx, 0xff
mov byte [0x65ec4d], 0x42
mov dword [ebp - 0xc], edx
lea edx, [eax*8]
fild dword [ebp - 0xc]
or edx, esi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edx
mov dl, byte [0x65e036]
fdivr qword [0x65e048]
and cl, dl
mov byte [0x65e035], cl
mov ecx, eax
shr ecx, 5
and esi, ecx
xor ecx, ecx
and eax, 8
mov cl, dl
mov dword [0x65e024], esi
imul eax, ecx
fadd qword [0x65b738]
or dword [0x65e02c], eax
fstp qword [0x65ebe0]
fild qword [ebp - 0x10]
fstp qword [0x65e048]
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xac]
mov eax, dword [ebp - 8]
xor eax, 0xfffffffe
shl eax, 0xe
or eax, edx
shl eax, 8
or eax, dword [ecx + 0xa8]
shl eax, 8
or eax, dword [ecx + 0xa4]
mov dword [ebp - 8], eax
mov dl, byte [0x65e03f]
mov al, byte [0x65e032]
xor al, dl
mov ecx, dword [0x65e028]
mov byte [0x65e032], al
mov al, byte [0x65e030]
or al, 0xc
mov byte [0x65ec4e], bl
shr al, 2
and eax, 0xff
mov byte [0x65ec4f], 0x65
mov dword [ebp + 8], eax
mov byte [0x65ec50], 0x6e
fild dword [ebp + 8]
mov byte [0x65ec51], 0x64
lea edx, [ecx + ecx]
fdivr qword [0x65ebd8]
fadd qword [0x65ebd0]
fstp qword [0x65ebd8]
mov eax, dword [0x65e02c]
mov bl, byte [0x65e034]
or edx, eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edx
mov dl, byte [0x65e039]
and bl, dl
mov edx, eax
shl edx, 4
and ecx, edx
mov byte [0x65e034], bl
mov dword [0x65e028], ecx
mov ecx, dword [0x65e024]
mov edx, ecx
xor ebx, ebx
mov bl, byte [0x65e035]
and edx, 8
imul edx, ebx
fild qword [ebp - 0x10]
fadd qword [0x65e040]
fstp qword [0x65e040]
mov bl, byte [0x65e033]
or eax, edx
mov dl, byte [0x65e03e]
mov dword [0x65e02c], eax
xor bl, dl
mov dl, byte [0x65e031]
or dl, 0xc
mov eax, dword [ebp - 8]
shr dl, 2
and edx, 0xff
mov dword [ebp - 0xc], edi
mov dword [ebp + 8], edx
mov edx, dword [0x65e020]
fild dword [ebp + 8]
add edx, edx
pop edi
shr eax, 0x10
fdivr qword [0x65ec40]
or edx, ecx
mov byte [0x65e033], bl
mov dword [ebp - 0x10], edx
pop esi
pop ebx
fadd qword [0x65ebe0]
fstp qword [0x65ec40]
fild qword [ebp - 0x10]
fadd qword [0x65e048]
fstp qword [0x65e048]
mov esp, ebp
pop ebp
ret