4064ff:	c7 85 7c ff ff ff 0b 	movl   $0xb,-0x84(%ebp)
406506:	00 00 00
406509:	8d b4 48 c8 01 00 00 	lea    0x1c8(%eax,%ecx,2),%esi
406510:	e9 88 02 00 00       	jmp    0x40679d
406515:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
406519:	75 05                	jne    0x406520
40651b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40651e:	eb 09                	jmp    0x406529
406520:	8b 4d dc             	mov    -0x24(%ebp),%ecx
406523:	8b 45 e0             	mov    -0x20(%ebp),%eax
406526:	89 4d e0             	mov    %ecx,-0x20(%ebp)
406529:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40652c:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40652f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
406532:	89 45 d4             	mov    %eax,-0x2c(%ebp)
406535:	89 4d d8             	mov    %ecx,-0x28(%ebp)
406538:	8b 45 fc             	mov    -0x4(%ebp),%eax
40653b:	c7 45 80 15 00 00 00 	movl   $0x15,-0x80(%ebp)
406542:	05 68 0a 00 00       	add    $0xa68,%eax
406547:	89 45 a8             	mov    %eax,-0x58(%ebp)
40654a:	e9 d9 fe ff ff       	jmp    0x406428
40654f:	33 c0                	xor    %eax,%eax
406551:	83 7d c8 07          	cmpl   $0x7,-0x38(%ebp)
406555:	0f 9d c0             	setge  %al
406558:	48                   	dec    %eax
406559:	24 fd                	and    $0xfd,%al
40655b:	83 c0 0b             	add    $0xb,%eax
40655e:	89 45 c8             	mov    %eax,-0x38(%ebp)
406561:	e9 9a 01 00 00       	jmp    0x406700
406566:	8b 45 d0             	mov    -0x30(%ebp),%eax
406569:	83 f8 04             	cmp    $0x4,%eax
40656c:	7c 03                	jl     0x406571
40656e:	6a 03                	push   $0x3
406570:	58                   	pop    %eax
406571:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406574:	c7 45 c0 06 00 00 00 	movl   $0x6,-0x40(%ebp)
40657b:	c1 e0 07             	shl    $0x7,%eax
40657e:	c7 45 84 19 00 00 00 	movl   $0x19,-0x7c(%ebp)
406585:	8d 84 08 60 03 00 00 	lea    0x360(%eax,%ecx,1),%eax
40658c:	89 45 a8             	mov    %eax,-0x58(%ebp)
40658f:	e9 ce 02 00 00       	jmp    0x406862
406594:	83 fb 04             	cmp    $0x4,%ebx
406597:	7c 34                	jl     0x4065cd
406599:	8b cb                	mov    %ebx,%ecx
40659b:	8b c3                	mov    %ebx,%eax
40659d:	d1 f9                	sar    $1,%ecx
40659f:	83 e0 01             	and    $0x1,%eax
4065a2:	49                   	dec    %ecx
4065a3:	0c 02                	or     $0x2,%al
4065a5:	d3 e0                	shl    %cl,%eax
4065a7:	83 fb 0e             	cmp    $0xe,%ebx
4065aa:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4065ad:	7d 14                	jge    0x4065c3
4065af:	8b 55 fc             	mov    -0x4(%ebp),%edx
4065b2:	2b c3                	sub    %ebx,%eax
4065b4:	89 4d c0             	mov    %ecx,-0x40(%ebp)
4065b7:	8d 84 42 5e 05 00 00 	lea    0x55e(%edx,%eax,2),%eax
4065be:	e9 81 00 00 00       	jmp    0x406644
4065c3:	33 db                	xor    %ebx,%ebx
4065c5:	83 c1 fc             	add    $0xfffffffc,%ecx
4065c8:	89 4d b8             	mov    %ecx,-0x48(%ebp)
4065cb:	eb 33                	jmp    0x406600
4065cd:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4065d0:	e9 28 01 00 00       	jmp    0x4066fd
4065d5:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
4065d9:	0f 84 98 03 00 00    	je     0x406977
4065df:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4065e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4065e5:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
4065e9:	0f b6 09             	movzbl (%ecx),%ecx
4065ec:	ff 4d 94             	decl   -0x6c(%ebp)
4065ef:	c1 e0 08             	shl    $0x8,%eax
4065f2:	0b c1                	or     %ecx,%eax
4065f4:	ff 45 90             	incl   -0x70(%ebp)
4065f7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4065fa:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4065fd:	ff 4d b8             	decl   -0x48(%ebp)
406600:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
406604:	7e 27                	jle    0x40662d
406606:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406609:	03 db                	add    %ebx,%ebx
40660b:	d1 6d f0             	shrl   $1,-0x10(%ebp)
40660e:	3b 4d f0             	cmp    -0x10(%ebp),%ecx
406611:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406614:	72 0c                	jb     0x406622
406616:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406619:	29 4d f4             	sub    %ecx,-0xc(%ebp)
40661c:	83 cb 01             	or     $0x1,%ebx
40661f:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406622:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
406629:	73 d2                	jae    0x4065fd
40662b:	eb a8                	jmp    0x4065d5
40662d:	c1 e3 04             	shl    $0x4,%ebx
406630:	03 c3                	add    %ebx,%eax
406632:	c7 45 c0 04 00 00 00 	movl   $0x4,-0x40(%ebp)
406639:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40663c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40663f:	05 44 06 00 00       	add    $0x644,%eax
406644:	33 db                	xor    %ebx,%ebx
406646:	89 45 a8             	mov    %eax,-0x58(%ebp)
406649:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
406650:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406653:	89 5d b8             	mov    %ebx,-0x48(%ebp)
406656:	eb 28                	jmp    0x406680
406658:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40665c:	0f 84 21 03 00 00    	je     0x406983
406662:	8b 4d 90             	mov    -0x70(%ebp),%ecx
406665:	8b 45 f4             	mov    -0xc(%ebp),%eax
406668:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
40666c:	0f b6 09             	movzbl (%ecx),%ecx
40666f:	ff 4d 94             	decl   -0x6c(%ebp)
406672:	c1 e0 08             	shl    $0x8,%eax
406675:	0b c1                	or     %ecx,%eax
406677:	ff 45 90             	incl   -0x70(%ebp)
40667a:	89 45 f4             	mov    %eax,-0xc(%ebp)
40667d:	ff 45 b8             	incl   -0x48(%ebp)
406680:	8b 45 c0             	mov    -0x40(%ebp),%eax
406683:	39 45 b8             	cmp    %eax,-0x48(%ebp)
406686:	7d 72                	jge    0x4066fa
406688:	8b 45 b0             	mov    -0x50(%ebp),%eax
40668b:	8b 55 f0             	mov    -0x10(%ebp),%edx
40668e:	c1 ea 0b             	shr    $0xb,%edx
406691:	8d 3c 00             	lea    (%eax,%eax,1),%edi
406694:	8b 45 a8             	mov    -0x58(%ebp),%eax
406697:	8d 34 07             	lea    (%edi,%eax,1),%esi
40669a:	89 75 ac             	mov    %esi,-0x54(%ebp)
40669d:	66 8b 06             	mov    (%esi),%ax
4066a0:	0f b7 c8             	movzwl %ax,%ecx
4066a3:	0f af d1             	imul   %ecx,%edx
4066a6:	39 55 f4             	cmp    %edx,-0xc(%ebp)
4066a9:	73 17                	jae    0x4066c2
4066ab:	89 55 f0             	mov    %edx,-0x10(%ebp)
4066ae:	ba 00 08 00 00       	mov    $0x800,%edx
4066b3:	2b d1                	sub    %ecx,%edx
4066b5:	c1 fa 05             	sar    $0x5,%edx
4066b8:	03 d0                	add    %eax,%edx
4066ba:	d1 65 b0             	shll   $1,-0x50(%ebp)
4066bd:	66 89 16             	mov    %dx,(%esi)
4066c0:	eb 2a                	jmp    0x4066ec
4066c2:	33 c9                	xor    %ecx,%ecx
4066c4:	29 55 f0             	sub    %edx,-0x10(%ebp)
4066c7:	41                   	inc    %ecx
4066c8:	29 55 f4             	sub    %edx,-0xc(%ebp)
4066cb:	8b d9                	mov    %ecx,%ebx
4066cd:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4066d0:	d3 e3                	shl    %cl,%ebx
4066d2:	8b cb                	mov    %ebx,%ecx
4066d4:	8b 5d bc             	mov    -0x44(%ebp),%ebx
4066d7:	0b d9                	or     %ecx,%ebx
4066d9:	66 8b c8             	mov    %ax,%cx
4066dc:	66 c1 e9 05          	shr    $0x5,%cx
4066e0:	2b c1                	sub    %ecx,%eax
4066e2:	47                   	inc    %edi
4066e3:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4066e6:	66 89 06             	mov    %ax,(%esi)
4066e9:	89 7d b0             	mov    %edi,-0x50(%ebp)
4066ec:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
4066f3:	73 88                	jae    0x40667d
4066f5:	e9 5e ff ff ff       	jmp    0x406658
4066fa:	01 5d d4             	add    %ebx,-0x2c(%ebp)
4066fd:	ff 45 d4             	incl   -0x2c(%ebp)
406700:	8b 45 d4             	mov    -0x2c(%ebp),%eax
406703:	85 c0                	test   %eax,%eax
406705:	0f 84 84 02 00 00    	je     0x40698f
40670b:	3b 45 a0             	cmp    -0x60(%ebp),%eax
40670e:	0f 87 b8 02 00 00    	ja     0x4069cc
406714:	83 45 d0 02          	addl   $0x2,-0x30(%ebp)
406718:	8b 45 d0             	mov    -0x30(%ebp),%eax
40671b:	01 45 a0             	add    %eax,-0x60(%ebp)
40671e:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
406722:	0f 84 6d 02 00 00    	je     0x406995
406728:	8b 45 ec             	mov    -0x14(%ebp),%eax
40672b:	2b 45 d4             	sub    -0x2c(%ebp),%eax
40672e:	3b 45 8c             	cmp    -0x74(%ebp),%eax
406731:	72 03                	jb     0x406736
406733:	03 45 8c             	add    -0x74(%ebp),%eax
406736:	8b 55 f8             	mov    -0x8(%ebp),%edx
406739:	8a 0c 10             	mov    (%eax,%edx,1),%cl
40673c:	8b 45 ec             	mov    -0x14(%ebp),%eax
40673f:	88 4d a4             	mov    %cl,-0x5c(%ebp)
406742:	88 0c 10             	mov    %cl,(%eax,%edx,1)
406745:	40                   	inc    %eax
406746:	33 d2                	xor    %edx,%edx
406748:	f7 75 8c             	divl   -0x74(%ebp)
40674b:	8b 45 98             	mov    -0x68(%ebp),%eax
40674e:	ff 45 98             	incl   -0x68(%ebp)
406751:	ff 4d 9c             	decl   -0x64(%ebp)
406754:	ff 4d d0             	decl   -0x30(%ebp)
406757:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
40675b:	88 08                	mov    %cl,(%eax)
40675d:	89 55 ec             	mov    %edx,-0x14(%ebp)
406760:	7f bc                	jg     0x40671e
406762:	e9 78 fd ff ff       	jmp    0x4064df
406767:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
40676b:	75 20                	jne    0x40678d
40676d:	8b 45 b4             	mov    -0x4c(%ebp),%eax
406770:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
406774:	8b 4d a8             	mov    -0x58(%ebp),%ecx
406777:	c1 e0 04             	shl    $0x4,%eax
40677a:	8d 44 01 04          	lea    0x4(%ecx,%eax,1),%eax
40677e:	89 45 a8             	mov    %eax,-0x58(%ebp)
406781:	c7 45 c0 03 00 00 00 	movl   $0x3,-0x40(%ebp)
406788:	e9 ce 00 00 00       	jmp    0x40685b
40678d:	8b 45 a8             	mov    -0x58(%ebp),%eax
406790:	c7 85 7c ff ff ff 13 	movl   $0x13,-0x84(%ebp)
406797:	00 00 00
40679a:	8d 70 02             	lea    0x2(%eax),%esi
40679d:	89 75 ac             	mov    %esi,-0x54(%ebp)
4067a0:	66 8b 06             	mov    (%esi),%ax
4067a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4067a6:	0f b7 d0             	movzwl %ax,%edx
4067a9:	c1 e9 0b             	shr    $0xb,%ecx
4067ac:	0f af ca             	imul   %edx,%ecx
4067af:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
4067b2:	73 18                	jae    0x4067cc
4067b4:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4067b7:	b9 00 08 00 00       	mov    $0x800,%ecx
4067bc:	2b ca                	sub    %edx,%ecx
4067be:	c1 f9 05             	sar    $0x5,%ecx
4067c1:	03 c8                	add    %eax,%ecx
4067c3:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
4067c7:	66 89 0e             	mov    %cx,(%esi)
4067ca:	eb 19                	jmp    0x4067e5
4067cc:	29 4d f0             	sub    %ecx,-0x10(%ebp)
4067cf:	29 4d f4             	sub    %ecx,-0xc(%ebp)
4067d2:	66 8b c8             	mov    %ax,%cx
4067d5:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
4067dc:	66 c1 e9 05          	shr    $0x5,%cx
4067e0:	2b c1                	sub    %ecx,%eax
4067e2:	66 89 06             	mov    %ax,(%esi)
4067e5:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
4067ec:	73 25                	jae    0x406813
4067ee:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
4067f2:	0f 84 a9 01 00 00    	je     0x4069a1
4067f8:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4067fb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4067fe:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
406802:	0f b6 09             	movzbl (%ecx),%ecx
406805:	ff 4d 94             	decl   -0x6c(%ebp)
406808:	c1 e0 08             	shl    $0x8,%eax
40680b:	0b c1                	or     %ecx,%eax
40680d:	ff 45 90             	incl   -0x70(%ebp)
406810:	89 45 f4             	mov    %eax,-0xc(%ebp)
406813:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
406819:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
40681f:	e9 91 f7 ff ff       	jmp    0x405fb5
406824:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
406828:	75 1c                	jne    0x406846
40682a:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40682d:	8b 4d a8             	mov    -0x58(%ebp),%ecx
406830:	c1 e0 04             	shl    $0x4,%eax
406833:	c7 45 d0 08 00 00 00 	movl   $0x8,-0x30(%ebp)
40683a:	8d 84 01 04 01 00 00 	lea    0x104(%ecx,%eax,1),%eax
406841:	e9 38 ff ff ff       	jmp    0x40677e
406846:	81 45 a8 04 02 00 00 	addl   $0x204,-0x58(%ebp)
40684d:	c7 45 d0 10 00 00 00 	movl   $0x10,-0x30(%ebp)
406854:	c7 45 c0 08 00 00 00 	movl   $0x8,-0x40(%ebp)
40685b:	c7 45 84 14 00 00 00 	movl   $0x14,-0x7c(%ebp)
406862:	8b 45 c0             	mov    -0x40(%ebp),%eax
406865:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
40686c:	89 45 b8             	mov    %eax,-0x48(%ebp)
40686f:	eb 28                	jmp    0x406899
406871:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406875:	0f 84 32 01 00 00    	je     0x4069ad
40687b:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40687e:	8b 45 f4             	mov    -0xc(%ebp),%eax
406881:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
406885:	0f b6 09             	movzbl (%ecx),%ecx
406888:	ff 4d 94             	decl   -0x6c(%ebp)
40688b:	c1 e0 08             	shl    $0x8,%eax
40688e:	0b c1                	or     %ecx,%eax
406890:	ff 45 90             	incl   -0x70(%ebp)
406893:	89 45 f4             	mov    %eax,-0xc(%ebp)
406896:	ff 4d b8             	decl   -0x48(%ebp)
406899:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
40689d:	7e 5e                	jle    0x4068fd
40689f:	8b 45 b0             	mov    -0x50(%ebp),%eax
4068a2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4068a5:	c1 e9 0b             	shr    $0xb,%ecx
4068a8:	8d 14 00             	lea    (%eax,%eax,1),%edx
4068ab:	8b 45 a8             	mov    -0x58(%ebp),%eax
4068ae:	8d 34 02             	lea    (%edx,%eax,1),%esi
4068b1:	89 75 ac             	mov    %esi,-0x54(%ebp)
4068b4:	66 8b 06             	mov    (%esi),%ax
4068b7:	0f b7 f8             	movzwl %ax,%edi
4068ba:	0f af cf             	imul   %edi,%ecx
4068bd:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
4068c0:	73 17                	jae    0x4068d9
4068c2:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4068c5:	b9 00 08 00 00       	mov    $0x800,%ecx
4068ca:	2b cf                	sub    %edi,%ecx
4068cc:	c1 f9 05             	sar    $0x5,%ecx
4068cf:	03 c8                	add    %eax,%ecx
4068d1:	d1 65 b0             	shll   $1,-0x50(%ebp)
4068d4:	66 89 0e             	mov    %cx,(%esi)
4068d7:	eb 16                	jmp    0x4068ef
4068d9:	29 4d f0             	sub    %ecx,-0x10(%ebp)
4068dc:	29 4d f4             	sub    %ecx,-0xc(%ebp)
4068df:	66 8b c8             	mov    %ax,%cx
4068e2:	66 c1 e9 05          	shr    $0x5,%cx
4068e6:	2b c1                	sub    %ecx,%eax
4068e8:	42                   	inc    %edx
4068e9:	66 89 06             	mov    %ax,(%esi)
4068ec:	89 55 b0             	mov    %edx,-0x50(%ebp)
4068ef:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
4068f6:	73 9e                	jae    0x406896
4068f8:	e9 74 ff ff ff       	jmp    0x406871
4068fd:	8b 4d c0             	mov    -0x40(%ebp),%ecx
406900:	8b 5d b0             	mov    -0x50(%ebp),%ebx
406903:	33 c0                	xor    %eax,%eax
406905:	40                   	inc    %eax
406906:	d3 e0                	shl    %cl,%eax
406908:	2b d8                	sub    %eax,%ebx
40690a:	8b 45 84             	mov    -0x7c(%ebp),%eax
40690d:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406910:	e9 04 ff ff ff       	jmp    0x406819
406915:	01 5d d0             	add    %ebx,-0x30(%ebp)
406918:	8b 45 80             	mov    -0x80(%ebp),%eax
40691b:	e9 f9 fe ff ff       	jmp    0x406819
406920:	c7 85 78 ff ff ff 01 	movl   $0x1,-0x88(%ebp)
406927:	00 00 00
40692a:	e9 88 00 00 00       	jmp    0x4069b7
40692f:	c7 85 78 ff ff ff 03 	movl   $0x3,-0x88(%ebp)
406936:	00 00 00
406939:	eb 7c                	jmp    0x4069b7
40693b:	c7 85 78 ff ff ff 0d 	movl   $0xd,-0x88(%ebp)
406942:	00 00 00
406945:	eb 70                	jmp    0x4069b7
406947:	c7 85 78 ff ff ff 0e 	movl   $0xe,-0x88(%ebp)
40694e:	00 00 00
406951:	eb 64                	jmp    0x4069b7
406953:	c7 85 78 ff ff ff 0f 	movl   $0xf,-0x88(%ebp)
40695a:	00 00 00
40695d:	eb 58                	jmp    0x4069b7
40695f:	c7 85 78 ff ff ff 1a 	movl   $0x1a,-0x88(%ebp)
406966:	00 00 00
406969:	eb 4c                	jmp    0x4069b7
40696b:	c7 85 78 ff ff ff 1b 	movl   $0x1b,-0x88(%ebp)
406972:	00 00 00
406975:	eb 40                	jmp    0x4069b7
406977:	c7 85 78 ff ff ff 0c 	movl   $0xc,-0x88(%ebp)
40697e:	00 00 00
406981:	eb 34                	jmp    0x4069b7
406983:	c7 85 78 ff ff ff 10 	movl   $0x10,-0x88(%ebp)
40698a:	00 00 00
40698d:	eb 28                	jmp    0x4069b7
40698f:	83 4d d0 ff          	orl    $0xffffffff,-0x30(%ebp)
406993:	eb 22                	jmp    0x4069b7
406995:	c7 85 78 ff ff ff 1c 	movl   $0x1c,-0x88(%ebp)
40699c:	00 00 00