cnt:
push rbp
mov rbp, rsp
sub rsp, 24
mov DWORD PTR [rbp-132], edi
mov DWORD PTR [rbp-128], 1
mov DWORD PTR [rbp-124], 2
mov DWORD PTR [rbp-120], 3
mov DWORD PTR [rbp-116], 4
mov DWORD PTR [rbp-112], 5
mov DWORD PTR [rbp-108], 6
mov DWORD PTR [rbp-104], 7
mov DWORD PTR [rbp-100], 8
mov DWORD PTR [rbp-96], 9
mov DWORD PTR [rbp-92], 10
mov DWORD PTR [rbp-88], 12
mov DWORD PTR [rbp-84], 13
mov DWORD PTR [rbp-80], -14
mov DWORD PTR [rbp-76], 15
mov DWORD PTR [rbp-72], 16
mov DWORD PTR [rbp-68], 0
mov DWORD PTR [rbp-64], 1
mov DWORD PTR [rbp-60], 2
mov DWORD PTR [rbp-56], 3
mov DWORD PTR [rbp-52], 4
mov DWORD PTR [rbp-48], 5
mov DWORD PTR [rbp-44], 6
mov DWORD PTR [rbp-40], 7
mov DWORD PTR [rbp-36], 8
mov DWORD PTR [rbp-32], 9
mov DWORD PTR [rbp-28], 10
mov DWORD PTR [rbp-24], 0
mov DWORD PTR [rbp-12], 26
mov DWORD PTR [rbp-4], 0
mov DWORD PTR [rbp-8], 0
jmp .L2
.L4:
mov eax, DWORD PTR [rbp-8]
cdqe
mov eax, DWORD PTR [rbp-128+rax*4]
test eax, eax
jns .L3
add DWORD PTR [rbp-4], 1
.L3:
add DWORD PTR [rbp-8], 1
.L2:
mov eax, DWORD PTR [rbp-8]
cmp eax, DWORD PTR [rbp-12]
jl .L4
mov eax, DWORD PTR [rbp-4]
leave
ret