Function at 0x40cee0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x428c68
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
push edi
push 0x40
push 0
mov ebp, ecx
push 0x116
mov dword [esp + 0x1c], ebp
call fcn.004065a0
mov dword [ebp], 0x42bc40
mov dword [ebp + 0x58], 0
mov eax, dword [0x456130]
mov eax, dword [eax + 0x300]
cdq
sub eax, edx
mov esi, eax
mov eax, dword [0x432c80]
sar esi, 1
sub esi, 0x64
add eax, 0x1030
mov dword [esp + 0x20], 0
mov edi, 0xf0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40cf50
sub eax, edx
mov dword [esp + 0x14], eax
je 0x40cfbf
push 0
push 0xf0
push esi
push 0x42b084
push 0x7a00
mov ecx, ebp
call fcn.00406900
mov edi, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
push 0
mov ecx, 0xf0
sub ecx, edi
add edi, ecx
mov edx, esi
sub edx, ebx
add ebx, edx
push 0x3f800000
mov dword [eax + 0x2c], edi
mov edi, dword [eax + 0x34]
mov dword [eax + 0x28], ebx
mov ebx, dword [eax + 0x30]
push 0
add edi, ecx
push 1
add ebx, edx
mov dword [eax + 0x34], edi
push str.Select_the_1st_Response
mov ecx, eax
mov dword [eax + 0x30], ebx
mov edi, 0x113
call fcn.00405f20
mov eax, dword [0x432c80]
add eax, 0x10b0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40cfd0
sub eax, edx
mov dword [esp + 0x14], eax
je 0x40d039
push 0
push edi
push esi
push 0x42b084
push 0x7a01
mov ecx, ebp
call fcn.00406900
mov edx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
mov ecx, edi
sub ecx, edx
mov edx, esi
sub edx, ebx
add ebx, edx
mov dword [eax + 0x28], ebx
mov ebx, dword [eax + 0x2c]
add ebx, ecx
push 0
mov dword [eax + 0x2c], ebx
mov ebx, dword [eax + 0x30]
push 0x3f800000
add ebx, edx
mov edx, dword [eax + 0x34]
push 0
add edx, ecx
push 1
push str.Select_the_2nd_Response
mov ecx, eax
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], edx
add edi, 0x23
call fcn.00405f20
mov eax, dword [0x432c80]
add eax, 0x1130
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40d046
sub eax, edx
mov dword [esp + 0x14], eax
je 0x40d0af
push 0
push edi
push esi
push 0x42b084
push 0x7a02
mov ecx, ebp
call fcn.00406900
mov edx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
mov ecx, edi
sub ecx, edx
mov edx, esi
sub edx, ebx
add ebx, edx
mov dword [eax + 0x28], ebx
mov ebx, dword [eax + 0x2c]
add ebx, ecx
push 0
mov dword [eax + 0x2c], ebx
mov ebx, dword [eax + 0x30]
push 0x3f800000
add ebx, edx
mov edx, dword [eax + 0x34]
push 0
add edx, ecx
push 1
push str.Select_the_3rd_Response
mov ecx, eax
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], edx
add edi, 0x23
call fcn.00405f20
mov eax, dword [0x432c80]
add eax, 0x11b0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40d0c0
sub eax, edx
mov dword [esp + 0x14], eax
je 0x40d11f
push 0
push edi
push esi
push 0x42b084
push 0x7a03
mov ecx, ebp
call fcn.00406900
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
sub edi, ecx
add ecx, edi
push 0
sub esi, edx
add edx, esi
mov dword [eax + 0x2c], ecx
mov ecx, dword [eax + 0x34]
push 0x3f800000
mov dword [eax + 0x28], edx
mov edx, dword [eax + 0x30]
push 0
add ecx, edi
push 1
add edx, esi
mov dword [eax + 0x34], ecx
push str.Select_the_4th_Response
mov ecx, eax
mov dword [eax + 0x30], edx
call fcn.00405f20
push 0
push 0x16
push 0
push 0x5c
push 0x5b
push 0x7a05
mov ecx, ebp
call fcn.00406990
mov edi, dword [0x456130]
mov ecx, dword [edi + 0x304]
mov edi, dword [edi + 0x300]
mov ebx, dword [eax + 0x30]
mov esi, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
sub edi, ebx
mov ebx, esi
sub edi, esi
push 0
lea edi, [edi + ebx - 0x15]
mov ebx, dword [eax + 0x30]
push 0x3f800000
sub ecx, edx
add esi, edi
sub ecx, 0x32
mov dword [eax + 0x28], esi
mov esi, dword [eax + 0x34]
push 0
add edx, ecx
add esi, ecx
push 1
add ebx, edi
push str.Cast_your_vote
mov ecx, eax
mov dword [eax + 0x2c], edx
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], esi
call fcn.00405f20
push 0x7a05
mov ecx, ebp
call fcn.004064a0
test eax, eax
je 0x40d1a7
mov dword [eax + 0x24], 1
push 0
push 0x16
push 0
push 0x5e
push 0x5d
push 0x7a04
mov ecx, ebp
call fcn.00406990
mov ecx, eax
mov eax, dword [0x456130]
mov esi, dword [eax + 0x304]
mov edx, dword [eax + 0x300]
mov eax, dword [ecx + 0x30]
mov ebx, dword [ecx + 0x28]
mov edi, dword [ecx + 0x2c]
sub edx, eax
mov eax, ebx
lea eax, [edx + eax - 1]
cdq
sub eax, edx
mov edx, dword [ecx + 0x30]
push 0
sar eax, 1
sub eax, ebx
push 0x3f800000
sub esi, edi
add ebx, eax
add edx, eax
mov eax, dword [ecx + 0x34]
push 0
sub esi, 0x96
push 1
add edi, esi
add eax, esi
push str.Do_not_vote_at_this_times
mov dword [ecx + 0x28], ebx
mov dword [ecx + 0x2c], edi
mov dword [ecx + 0x30], edx
mov dword [ecx + 0x34], eax
call fcn.00405f20
mov ecx, dword [esp + 0x18]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret