Function at 0x4ac634
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
mov dword [ebp - 4], eax
call fcn.00481c5c
cmp byte [eax + 4], 0
je 0x4ac93d
call fcn.00481c5c
call fcn.00481d8c
test al, al
je 0x4ac93d
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x24]
test ebx, ebx
je 0x4ac945
mov eax, ebx
call fcn.00439e38
push eax
call sub.user32.dll_GetDC
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jbe 0x4ac945
xor eax, eax
push ebp
push 0x4ac936
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x419c7c]
call fcn.0041fdec
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x4ac90c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edx, 0xffffff
mov eax, dword [ebp - 0xc]
call fcn.004214c4
mov dl, 1
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x34]
mov dword [ebp - 0x14], ebx
push 0xcc0020
push ebx
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
push eax
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.00420358
call fcn.0041be4c
push eax
call sub.gdi32.dll_BitBlt
test eax, eax
je 0x4ac8f6
mov dl, 1
mov eax, dword [0x419c7c]
call fcn.0041fdec
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x4ac8ef
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.00420358
call fcn.0041be4c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
push eax
push 0
push 0
mov eax, dword [ebp - 0x10]
call fcn.00420358
call fcn.0041be4c
push eax
call sub.gdi32.dll_BitBlt
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x142]
sub al, 2
jne 0x4ac7b8
mov bl, 4
jmp 0x4ac7d7
mov eax, dword [ebp - 4]
cmp byte [eax + 0x141], 0
je 0x4ac7d5
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x142]
sub al, 2
je 0x4ac7d5
mov bl, 3
jmp 0x4ac7d7
mov bl, 2
call fcn.00481c5c
lea ecx, [ebp - 0x24]
mov edx, ebx
call fcn.00482388
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
xor edx, edx
xor eax, eax
call fcn.00410250
lea eax, [ebp - 0x34]
push eax
push 0
mov eax, dword [ebp - 0x10]
call fcn.00420358
call fcn.0041be4c
push eax
call fcn.00481c5c
lea ecx, [ebp - 0x24]
pop edx
call fcn.00482610
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00410250
lea eax, [ebp - 0x34]
push eax
push 0x64
push 0
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
lea eax, [ebp - 0x44]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.00410250
lea edx, [ebp - 0x44]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
call fcn.004aba48
push 0xcc0020
push 0
push 0
mov eax, dword [ebp - 0xc]
call fcn.00420358
call fcn.0041be4c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
push eax
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x120]
call fcn.0041be4c
push eax
call sub.gdi32.dll_BitBlt
test eax, eax
jne 0x4ac8d9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x120]
xor ecx, ecx
xor edx, edx
call fcn.0041bb00
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ac8f6
mov eax, dword [ebp - 0x10]
call fcn.00402e9c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ac913
mov eax, dword [ebp - 0xc]
call fcn.00402e9c
ret
mov eax, dword [ebp - 4]
call fcn.0047fd24
mov eax, dword [ebp - 4]
cmp word [eax + 0x14a], 0
je 0x4ac964
mov ebx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x14c]
call dword [ebx + 0x148]
pop ebx
mov esp, ebp
pop ebp
ret