Function at 0x4f13b8
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd50
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea esi, [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4f1896
test eax, eax
jne 0x4f13f3
mov dl, 1
mov eax, dword [0x41db94]
call fcn.004241c8
mov edx, dword [ebp - 4]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov dword [ebp - 8], eax
mov byte [ebp - 0x11], 1
lea edx, [ebp - 0x2a0]
mov eax, dword [ebp - 4]
call fcn.004f0a74
xor edx, edx
push ebp
push 0x4f188f
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x4f1860
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.004253f4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x36], 1
je 0x4f1449
cmp dword [ebp - 0x1bf], 1
jne 0x4f1458
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov dl, 3
call fcn.00425798
jmp 0x4f1480
mov eax, dword [ebp - 4]
call fcn.004f1da0
test al, al
je 0x4f1473
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov dl, 7
call fcn.00425798
jmp 0x4f1480
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov dl, 6
call fcn.00425798
mov eax, dword [ebp - 4]
call fcn.004f1da0
test al, al
je 0x4f1495
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3e], 0
jne 0x4f1499
xor eax, eax
jmp 0x4f149b
mov al, 1
mov byte [ebp - 0x19], al
push 0
push 0
push 0
lea eax, [ebp - 0x2b0]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.004141bc
lea eax, [ebp - 0x2b0]
push eax
push 0
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403550
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x18], eax
xor edx, edx
push ebp
push 0x4f184f
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x4f1534
mov edx, dword [ebp - 4]
cmp byte [edx + 0x36], 1
jne 0x4f1526
mov edx, eax
lea eax, [ebp - 0x1eb]
call fcn.004f1228
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.00423f58
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov byte [ebp - 0x11], 0
jmp 0x4f1534
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x30], edx
lea eax, [ebp - 0x1eb]
call fcn.004f3624
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x24]
xor edx, edx
mov eax, ebx
call fcn.004253f4
mov edx, dword [ebp - 0x17b]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [ebp - 0x177]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor edx, edx
mov eax, ebx
call fcn.0042489c
mov dword [esi], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20]
dec eax
jle 0x4f158f
mov edx, 1
mov eax, ebx
call fcn.0042489c
mov edi, eax
sub edi, dword [esi]
jmp 0x4f1591
xor edi, edi
mov eax, dword [ebp - 0x16b]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jle 0x4f15b0
mov eax, dword [ebp - 0xc]
shl eax, 2
call fcn.004029f4
mov dword [ebp - 0x18], eax
jmp 0x4f15b3
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x1ab], 0
je 0x4f16fa
jmp 0x4f1693
lea eax, [ebp - 0x1eb]
mov edx, dword [ebp - 0x15b]
call fcn.004f3900
mov eax, dword [ebp - 0x1e3]
cmp dword [eax + 0xc], 0
jne 0x4f167a
cmp dword [ebp - 0x163], 0
je 0x4f167a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
call fcn.00424818
cmp al, 3
jne 0x4f167a
cmp byte [ebp - 0x11], 0
je 0x4f167a
lea eax, [ebp - 0x1eb]
call fcn.004f1180
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov byte [eax + 0x1a], 1
jmp 0x4f167a
cmp dword [ebp - 0xc], 1
jle 0x4f163d
push edi
mov ecx, dword [esi]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
call fcn.004f0d20
lea eax, [ebp - 0x1eb]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x18]
call fcn.004f37c0
mov ebx, eax
cmp byte [ebp - 0x19], 0
je 0x4f1674
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3d]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.004f12b0
mov eax, edi
imul ebx
add dword [esi], eax
mov eax, dword [ebp - 0x15f]
cmp eax, dword [ebp - 0x177]
jb 0x4f1629
lea eax, [ebp - 0x1eb]
call fcn.004f3964
lea eax, [ebp - 0x1eb]
call fcn.004f20dc
cmp eax, 2
jne 0x4f15c5
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x1a3], eax
mov eax, dword [ebp - 0x1ef]
mov dword [ebp - 0x193], eax
cmp byte [ebp - 0x1f0], 0
je 0x4f16da
mov dword [ebp - 0x18f], 0xffffffff
xor eax, eax
mov dword [ebp - 0x163], eax
lea eax, [ebp - 0x1eb]
mov edx, dword [ebp - 0x15b]
call fcn.004f3900
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.0042489c
mov dword [esi], eax
cmp dword [ebp - 0x1ab], 0
je 0x4f1710
cmp byte [ebp - 0x1f0], 0
je 0x4f17a8
cmp dword [ebp - 0x163], 0
je 0x4f17a8
cmp byte [ebp - 0x11], 0
je 0x4f17a8
lea eax, [ebp - 0x1eb]
call fcn.004f1180
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
mov byte [eax + 0x1a], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.0042489c
mov dword [esi], eax
jmp 0x4f17a8
cmp dword [ebp - 0xc], 1
jle 0x4f176b
push edi
mov ecx, dword [esi]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
call fcn.004f0d20
lea eax, [ebp - 0x1eb]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x18]
call fcn.004f37c0
mov ebx, eax
cmp byte [ebp - 0x19], 0
je 0x4f17a2
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x3d]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.004f12b0
mov eax, edi
imul ebx
add dword [esi], eax
mov eax, dword [ebp - 0x15f]
cmp eax, dword [ebp - 0x177]
jb 0x4f1757
cmp dword [ebp - 0x1ab], 0
je 0x4f17ca
lea eax, [ebp - 0x1eb]
call fcn.004f3964
lea eax, [ebp - 0x1eb]
call fcn.004f21f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f1856
call fcn.0040ee94
test eax, eax
jne 0x4f17f2
mov edi, 0x64
jmp 0x4f17f4
xor edi, edi
mov eax, edi
push eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x1a]
push eax
push 0
lea eax, [ebp - 0x2b0]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.004141bc
lea eax, [ebp - 0x2b0]
push eax
push 0
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov bx, 0xfffd
call fcn.00403550
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1a], 0
je 0x4f1840
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x10]
cmp dword [ebp - 0xc], 1
jle 0x4f184e
mov eax, dword [ebp - 0x18]
call fcn.00402a0c
ret
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret