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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49769a
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x4c5008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
push dword [ebx + 0xf2e0]
mov dword [ebx], vtable.CSystemC.0
call dword [0x4991c0]
push fcn.004597c0
push 5
push 0x18
lea eax, [ebx + 0xadfac]
mov dword [ebp - 4], 0
push eax
call fcn.0046152c
lea ecx, [ebx + 0xadb58]
mov dword [ebp - 4], 0xffffffff
call fcn.004401a0
mov esi, dword [ebx + 0xadb44]
test esi, esi
je 0x440303
mov ecx, dword [ebx + 0xadb4c]
mov eax, 0x66666667
sub ecx, esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.0042f1c0
mov dword [ebx + 0xadb44], 0
mov dword [ebx + 0xadb48], 0
mov dword [ebx + 0xadb4c], 0
lea ecx, [ebx + 0xadb14]
call fcn.00443490
push fcn.00408fb0
push 0x64
push 8
lea eax, [ebx + 0xad7f4]
push eax
call fcn.0046152c
push 0x4120d0
push 0x14
push 0x20
lea eax, [ebx + 0xad574]
push eax
call fcn.0046152c
push 0x4120d0
push 0x190
push 0x20
lea eax, [ebx + 0xaa374]
push eax
call fcn.0046152c
push 0x4120d0
push 0x28
push 0x20
lea eax, [ebx + 0xa9e74]
push eax
call fcn.0046152c
push 0x4120d0
push 0x1f40
push 0x20
lea eax, [ebx + 0x6b674]
push eax
call fcn.0046152c
push 0x4120d0
push 0x12c
push 0x20
lea eax, [ebx + 0x690f4]
push eax
call fcn.0046152c
lea ecx, [ebx + 0x3de78]
call fcn.00440000
mov ecx, dword [ebx + 0x3cdc8]
test ecx, ecx
je 0x4403da
mov eax, dword [ebx + 0x3cdd0]
sub eax, ecx
sar eax, 2
push eax
push ecx
call fcn.00406d10
mov dword [ebx + 0x3cdc8], 0
mov dword [ebx + 0x3cdcc], 0
mov dword [ebx + 0x3cdd0], 0
lea ecx, [ebx + 0x3cd18]
call fcn.00431a50
lea ecx, [ebx + 0x3cd10]
call fcn.004435c0
lea ecx, [ebx + 0x3cd08]
call fcn.004435c0
mov ecx, dword [ebx + 0x3bc58]
test ecx, ecx
je 0x440435
mov eax, dword [ebx + 0x3bc60]
sub eax, ecx
sar eax, 2
push eax
push ecx
call fcn.00406d10
mov dword [ebx + 0x3bc58], 0
mov dword [ebx + 0x3bc5c], 0
mov dword [ebx + 0x3bc60], 0
lea ecx, [ebx + 0x3bbf8]
mov dword [ebp - 4], 1
call fcn.004597c0
lea ecx, [ebx + 0x3bbdc]
call fcn.00443610
push fcn.004597c0
push 4
push 0x18
lea eax, [ebx + 0x3bb54]
push eax
call fcn.0046152c
lea ecx, [ebx + 0x3b968]
mov dword [ebp - 4], 0xffffffff
call fcn.004597c0
push 0x402b90
push 0x190
push 0xcc
lea eax, [ebx + 0x279f4]
push eax
call fcn.0046152c
lea ecx, [ebx + 0x279dc]
call fcn.004597c0
push 0x402b90
push 0x190
push 0xcc
lea eax, [ebx + 0x13a68]
push eax
call fcn.0046152c
lea ecx, [ebx + 0x13a50]
call fcn.004597c0
mov ecx, dword [ebx + 0x13990]
test ecx, ecx
je 0x440525
push dword [ebp - 0x10]
mov edx, dword [ebx + 0x13994]
push ecx
call fcn.00443720
mov esi, dword [ebx + 0x13990]
mov eax, 0x2e8ba2e9
mov ecx, dword [ebx + 0x13998]
add esp, 8
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.00443660
mov dword [ebx + 0x13990], 0
mov dword [ebx + 0x13994], 0
mov dword [ebx + 0x13998], 0
mov esi, dword [ebx + 0x13984]
test esi, esi
je 0x44056d
mov ecx, dword [ebx + 0x1398c]
mov eax, 0x2e8ba2e9
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.00443660
mov dword [ebx + 0x13984], 0
mov dword [ebx + 0x13988], 0
mov dword [ebx + 0x1398c], 0
mov esi, dword [ebx + 0x13978]
test esi, esi
je 0x4405b5
mov ecx, dword [ebx + 0x13980]
mov eax, 0x3e0f83e1
sub ecx, esi
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.004436c0
mov dword [ebx + 0x13978], 0
mov dword [ebx + 0x1397c], 0
mov dword [ebx + 0x13980], 0
push fcn.00451680
push 3
push 0x410
lea eax, [ebx + 0x12cf8]
push eax
call fcn.0046152c
lea ecx, [ebx + 0xf35c]
call fcn.00443f00
lea ecx, [ebx + 0xf348]
call fcn.00402930
lea ecx, [ebx + 0xf348]
call fcn.00402930
push dword [ebx + 0xf348]
call fcn.0046120c
add esp, 4
add ebx, 0xf2fc
mov ecx, ebx
call fcn.00405c30
lea edi, [ebx + 0x34]
push edi
call dword [0x499248]
mov ecx, ebx
call fcn.00406c10
lea ecx, [ebx + 0x1c]
call fcn.0045af20
push edi
mov dword [ebx + 0x14], 0xffffffff
mov dword [ebx + 0x18], 0xffffffff
mov byte [ebx + 0x30], 0
call dword [0x499244]
lea ecx, [ebx + 0x1c]
call fcn.0045adb0
mov ecx, ebx
call fcn.00406a90
push dword [ebx]
call fcn.0046120c
add esp, 4
mov dword [ebx], 0
mov dword [ebp - 4], 2
mov esi, dword [ebp - 0x10]
lea ecx, [esi + 0xf1bc]
call fcn.004597c0
lea ecx, [esi + 0xf1a0]
call fcn.00443610
push fcn.004597c0
push 4
push 0x18
lea eax, [esi + 0xf118]
push eax
call fcn.0046152c
lea ecx, [esi + 0xece4]
call fcn.004529c0
lea ecx, [esi + 0xeca4]
call fcn.00452850
lea ecx, [esi + 0xec94]
mov dword [ebp - 4], 3
mov dword [ecx], vtable.CSoundWrap.0
call fcn.00436e90
lea ecx, [esi + 0xec6c]
call fcn.00455ba0
lea ecx, [esi + 0xec5c]
mov dword [ebp - 4], 4
mov dword [ecx], vtable.CSoundWrap.0
call fcn.00436e90
lea ecx, [esi + 0xec4c]
mov dword [ebp - 4], 5
mov dword [ecx], vtable.CSoundWrap.0
call fcn.00436e90
lea ecx, [esi + 0xec3c]
mov dword [ebp - 4], 6
mov dword [ecx], vtable.CSoundWrap.0
call fcn.00436e90
lea ecx, [esi + 0xd888]
mov dword [ebp - 4], 0xffffffff
call fcn.00453290
lea ecx, [esi + 0xd468]
call fcn.00451680
lea ecx, [esi + 0xd18c]
call fcn.00437150
lea ecx, [esi + 0xcbbc]
call fcn.0044e700
push 0x44e390
push 6
push 0xc
lea eax, [esi + 0xcb74]
push eax
call fcn.0046152c
push fcn.00447570
push 0x46
push 0x2a0
lea eax, [esi + 0x13b4]
push eax
call fcn.0046152c
push fcn.0044d3e0
push 7
push 0x254
lea eax, [esi + 0x368]
push eax
call fcn.0046152c
lea ecx, [esi + 0x2f0]
call fcn.0044f8a0
lea ecx, [esi + 0x2d4]
call fcn.004597c0
lea ecx, [esi + 0x218]
mov dword [ecx], vtable.CMainWnd.0
call fcn.0045b320
mov ecx, esi
call fcn.0045e800
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret