Function at 0x4ab660
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x527d5a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ebp, 1
push esi
lea ecx, [esp + 0x64]
mov dword [esi + 0x19c], ebp
call fcn.00505a96
xor ebx, ebx
mov ecx, esi
mov dword [esp + 0x7c], ebx
call fcn.0044ea00
mov edx, dword [eax]
push ebx
push esi
mov ecx, eax
call dword [edx + 0xd0]
push eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x48]
call fcn.00467540
push ebx
lea ecx, [esp + 0x54]
push ecx
push ebx
push 0x30
mov byte [esp + 0x8c], 1
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov edx, dword [esi]
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call dword [edx + 0x19c]
cmp dword [esi + 0x1ac], ebx
mov dword [esp + 0x24], ebx
je 0x4ab734
mov ecx, esi
call fcn.0044ea00
push ebx
push ebx
sub esp, 0x10
mov edi, eax
mov dword [esp + 0x28], esp
mov eax, esp
push ebx
push eax
call dword [sym.imp.USER32.dll_CopyRect]
mov edx, dword [edi]
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call dword [edx + 0xac]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x34]
add ecx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
cmp dword [esi + 0xec], ebp
jne 0x4ab7b8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c4]
push ebx
lea ecx, [esp + 0x34]
push ecx
push 0x142
mov ecx, esi
call fcn.0044ec10
mov ecx, dword [esi + 0xf0]
push eax
lea edx, [esp + 0x70]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.004a4360
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
sub eax, ecx
push edx
mov ecx, edx
push eax
sub ecx, ebp
push ecx
mov ecx, dword [esp + 0x3c]
push ecx
lea edx, [esi + 0x1b0]
push edx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x19c], ebx
mov esi, dword [esp + 0x84]
mov dword [esi], eax
mov dword [esi + 4], ecx
jmp 0x4ab9ad
cmp dword [esp + 0x88], ebx
jne 0x4ab80c
mov ecx, esi
xor edi, edi
call fcn.0044f640
test eax, eax
jle 0x4ab7fb
mov edi, edi
push edi
mov ecx, esi
call fcn.0044f650
cmp eax, ebx
je 0x4ab7ef
cmp dword [eax + 0xf8], esi
jne 0x4ab7ef
mov edx, dword [eax]
push ebx
mov ecx, eax
call dword [edx + 0x9c]
mov ecx, esi
inc edi
call fcn.0044f640
cmp edi, eax
jl 0x4ab7d0
mov ecx, esi
call fcn.004aabb0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c4]
mov ecx, dword [esi + 0xf0]
push 0x23be
call fcn.004a3c10
mov edi, eax
mov eax, dword [esi + 0x1a0]
xor ebp, ebp
cmp eax, ebx
je 0x4ab8e0
mov ecx, esi
call fcn.0044ea00
mov edx, dword [eax]
push ebx
push ebx
push esi
push ebx
push 1
lea ecx, [esp + 0x74]
push ecx
lea ecx, [esp + 0x40]
push ecx
mov ecx, eax
call dword [edx + 0xa4]
mov ebp, dword [eax + 4]
mov ecx, dword [esp + 0x3c]
mov edx, dword [eax]
add ecx, ebp
cmp edi, ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x3c], ecx
jne 0x4ab8d2
push 0x164
call fcn.00500fa3
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
cmp edi, ebx
mov byte [esp + 0x7c], 2
je 0x4ab8ac
mov ecx, edi
call fcn.004b0d60
mov dword [edi], 0x555720
mov dword [edi + 0x1c], 0x5556c0
mov dword [edi + 0xf4], 1
mov dword [edi + 0xd0], 0x5a
jmp 0x4ab8ae
xor edi, edi
mov ecx, dword [esi + 0xf0]
push 1
push 0xffffffffffffffff
push 0x532820
push 0x23be
push edi
mov byte [esp + 0x90], 1
call fcn.004a4e20
mov edi, eax
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 0x8c]
jmp 0x4ab8f0
cmp edi, ebx
je 0x4ab8f0
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx + 0x8c]
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0x30]
push eax
push ecx
mov ecx, dword [esi + 0xf0]
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0x24]
push eax
call fcn.004a3570
cmp dword [esi + 0x1a0], ebx
je 0x4ab968
mov edx, dword [edi]
push ebx
mov ecx, edi
call dword [edx + 0x8c]
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
sub eax, ebx
mov ebx, dword [edi]
lea ecx, [eax + ebp]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x18]
sub ecx, edx
mov edx, dword [esp + 0x30]
sub esp, 0x10
mov ebp, esp
mov dword [ebp], edx
mov edx, dword [esp + 0x98]
mov dword [ebp + 4], eax
mov dword [ebp + 8], ecx
mov ecx, edi
mov dword [ebp + 0xc], edx
call dword [ebx + 0x74]
xor ebx, ebx
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
push edx
sub eax, ebp
push eax
mov eax, dword [esp + 0x38]
mov ecx, edx
sub ecx, edi
push ecx
push eax
lea ecx, [esi + 0x1b0]
push ecx
call dword [sym.imp.USER32.dll_SetRect]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x19c], ebx
mov esi, dword [esp + 0x84]
mov dword [esi], edx
mov dword [esi + 4], eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x7c], bl
call fcn.00467590
lea ecx, [esp + 0x60]
mov dword [esp + 0x7c], 0xffffffff
call fcn.00505af1
mov ecx, dword [esp + 0x74]
pop edi
mov eax, esi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x70
ret 0xc