Function at 0x411650
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x474078
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x48f900]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [ebp + 8], 0x7e8
jne 0x411b43
mov eax, dword [edi + 0x20]
push 0x3e8
push eax
call dword [sym.imp.USER32.dll_KillTimer]
xor ebx, ebx
mov dword [edi + 0x190], 1
cmp dword [0x49445c], ebx
je 0x4116ee
mov eax, dword [edi + 0x9c]
mov ecx, dword [eax + 0x208]
mov edx, 0x64
cmp ecx, edx
jge 0x4116c5
mov edx, ecx
cmp dword [eax + 0x20c], edx
je 0x4116d8
mov dword [eax + 0x20c], edx
call fcn.004377c0
mov ebx, 3
call fcn.004113e0
mov ebx, edi
call fcn.004112b0
jmp 0x411b43
call fcn.0043b020
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x411708
push 0x80004005
call fcn.00401090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ebx
mov esi, dword [edi + 0x1ac]
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebx
test esi, esi
jle 0x411a4a
test ebx, ebx
jl 0x411b6b
cmp ebx, dword [edi + 0x1ac]
jge 0x411b6b
mov eax, dword [edi + 0x1a8]
lea ecx, [ebx + ebx*2]
add ecx, ecx
add ecx, ecx
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00405540
push 1
push 0x47ccb0
lea ecx, [esp + 0x1c]
call fcn.00405540
test ebx, ebx
jne 0x4117a4
cmp dword [edi + 0x1ac], ebx
jle 0x411b6b
mov eax, dword [edi + 0x1a8]
mov ecx, dword [edi + 0xa8]
mov dword [ecx + 0x114], eax
jmp 0x411a3d
cmp ebx, 1
jne 0x4117cf
cmp dword [edi + 0x1ac], ebx
jle 0x411b6b
mov eax, dword [edi + 0x1a8]
mov ecx, dword [edi + 0xb0]
add eax, 0xc
mov dword [ecx + 0x114], eax
jmp 0x411a3d
push 0x208
call fcn.0043955e
mov esi, eax
add esp, 4
test esi, esi
je 0x4117f9
call fcn.00437370
mov dword [esi], vtable.CUIButton.0
mov dword [esi + 0x204], 0
jmp 0x4117fb
xor esi, esi
lea eax, [edi + 0x54]
mov dword [esi + 0xac], eax
mov eax, 0xd
mov dword [esi + 0x130], eax
mov dword [esi + 0x134], eax
xor eax, eax
mov dword [esi + 0xd0], eax
mov ecx, 2
mov dword [esi + 0xd4], ecx
lea ecx, [esp + 0x1c]
push ecx
xor edx, edx
mov dword [esi + 0xd8], eax
push 0xd0
mov dword [esi + 0xdc], edx
call fcn.0040cea0
cmp dword [esp + 0x1c], 0
je 0x411879
mov ecx, dword [esi + 0x9c]
test ecx, ecx
je 0x411868
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dword [esi + 0x9c], 0
mov ecx, dword [esp + 0x1c]
mov eax, esi
mov dword [esi + 0x9c], ecx
call fcn.004377c0
mov dword [esi + 0x204], 1
cmp ebx, dword [edi + 0x1ac]
jge 0x411b6b
mov eax, dword [edi + 0x1a8]
mov ecx, dword [esp + 0x20]
add eax, ecx
mov dword [esi + 0x114], eax
cmp ebx, dword [edi + 0x1ac]
jge 0x411b6b
mov eax, dword [edi + 0x1a8]
mov edx, dword [eax + ecx + 4]
add eax, ecx
cmp dword [edx - 0xc], 0
jne 0x4118d9
cmp dword [esi + 0xe4], 0
je 0x4118d9
mov eax, esi
mov dword [esi + 0xe4], 0
call fcn.004377c0
mov eax, dword [edi + 0x134]
mov ebx, esi
call fcn.00434650
mov ebx, 1
cmp dword [esi + 0xe8], ebx
je 0x41194f
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x41191b
mov eax, dword [esi + 0xec]
test eax, eax
je 0x41191b
push ecx
push eax
call fcn.00436390
test eax, eax
je 0x41191b
push 0
mov ecx, eax
call fcn.00438b20
mov ecx, dword [esi + 0xa4]
mov eax, ecx
or eax, 4
cmp ecx, eax
je 0x411937
mov dword [esi + 0xa4], eax
mov eax, esi
call fcn.004377c0
mov ecx, dword [esi + 0xac]
mov dword [esi + 0xe8], ebx
test ecx, ecx
je 0x41194f
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
push esi
call edx
push 0x204
call fcn.0043955e
add esp, 4
test eax, eax
je 0x41196b
mov esi, eax
call fcn.00437370
mov ebx, eax
jmp 0x41196d
xor ebx, ebx
lea eax, [edi + 0x54]
mov dword [ebx + 0xac], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x130], 0x6a
mov dword [ebx + 0x134], 0x12
cmp eax, dword [edi + 0x1ac]
jge 0x411b6b
mov eax, dword [edi + 0x1a8]
add eax, dword [esp + 0x20]
lea esi, [eax + 4]
lea eax, [ebx + 0x160]
push esi
push eax
call fcn.0040c690
add esp, 8
test al, al
jne 0x4119ce
push esi
lea ecx, [ebx + 0x160]
call fcn.00401f00
mov eax, ebx
call fcn.004377c0
or eax, 0xffffffff
cmp dword [ebx + 0xf0], eax
je 0x4119e6
mov dword [ebx + 0xf0], eax
mov eax, ebx
call fcn.004377c0
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x68], 3
cmp ecx, dword [edi + 0x1ac]
jge 0x411b6b
mov eax, dword [edi + 0x1a8]
add eax, dword [esp + 0x20]
mov edx, dword [eax + 4]
cmp dword [edx - 0xc], 0
jne 0x411a2a
cmp dword [ebx + 0xe4], 0
je 0x411a2a
mov eax, ebx
mov dword [ebx + 0xe4], 0
call fcn.004377c0
mov eax, dword [edi + 0x134]
call fcn.00434650
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
inc ebx
cmp ebx, esi
mov dword [esp + 0x18], ebx
jl 0x411736
mov eax, dword [esp + 0x14]
mov eax, dword [eax - 0xc]
test eax, eax
je 0x411ad2
dec eax
push eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00404e20
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x3c], 1
call fcn.00401f00
mov byte [esp + 0x38], 0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411a99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov esi, esp
push eax
call fcn.00402270
add eax, 0x10
mov dword [esi], eax
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x47dde8
mov byte [esp + 0x44], 2
call fcn.00401b80
push edi
mov byte [esp + 0x44], 0
call fcn.00415730
mov esi, edi
call fcn.0040f140
mov ecx, dword [edi + 0x20]
push 1
push 0
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [edi + 0x9c]
mov ecx, dword [eax + 0x208]
mov edx, 0x64
cmp ecx, edx
jge 0x411afe
mov edx, ecx
cmp dword [eax + 0x20c], edx
je 0x411b11
mov dword [eax + 0x20c], edx
call fcn.004377c0
mov ebx, 3
call fcn.004113e0
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411b43
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
mov ecx, edi
call fcn.00440edf
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
call fcn.0043b230
int3