411616:	56                   	push   %esi
411617:	8b 75 0c             	mov    0xc(%ebp),%esi
41161a:	85 f6                	test   %esi,%esi
41161c:	74 1b                	je     0x411639
41161e:	6a e0                	push   $0xffffffe0
411620:	33 d2                	xor    %edx,%edx
411622:	58                   	pop    %eax
411623:	f7 f6                	div    %esi
411625:	3b 45 10             	cmp    0x10(%ebp),%eax
411628:	73 0f                	jae    0x411639
41162a:	e8 a4 d6 ff ff       	call   0x40ecd3
41162f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
411635:	33 c0                	xor    %eax,%eax
411637:	eb 42                	jmp    0x41167b
411639:	53                   	push   %ebx
41163a:	8b 5d 08             	mov    0x8(%ebp),%ebx
41163d:	57                   	push   %edi
41163e:	85 db                	test   %ebx,%ebx
411640:	74 0b                	je     0x41164d
411642:	53                   	push   %ebx
411643:	e8 f2 25 00 00       	call   0x413c3a
411648:	59                   	pop    %ecx
411649:	8b f8                	mov    %eax,%edi
41164b:	eb 02                	jmp    0x41164f
41164d:	33 ff                	xor    %edi,%edi
41164f:	0f af 75 10          	imul   0x10(%ebp),%esi
411653:	56                   	push   %esi
411654:	53                   	push   %ebx
411655:	e8 13 26 00 00       	call   0x413c6d
41165a:	8b d8                	mov    %eax,%ebx
41165c:	59                   	pop    %ecx
41165d:	59                   	pop    %ecx
41165e:	85 db                	test   %ebx,%ebx
411660:	74 15                	je     0x411677
411662:	3b fe                	cmp    %esi,%edi
411664:	73 11                	jae    0x411677
411666:	2b f7                	sub    %edi,%esi
411668:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
41166b:	56                   	push   %esi
41166c:	6a 00                	push   $0x0
41166e:	50                   	push   %eax
41166f:	e8 9c 7a ff ff       	call   0x409110
411674:	83 c4 0c             	add    $0xc,%esp
411677:	5f                   	pop    %edi
411678:	8b c3                	mov    %ebx,%eax
41167a:	5b                   	pop    %ebx
41167b:	5e                   	pop    %esi
41167c:	5d                   	pop    %ebp
41167d:	c3                   	ret
41167e:	cc                   	int3
41167f:	cc                   	int3
411680:	ff 15 e0 c0 41 00    	call   *0x41c0e0
411686:	85 c0                	test   %eax,%eax
411688:	a3 00 73 42 00       	mov    %eax,0x427300
41168d:	0f 95 c0             	setne  %al
411690:	c3                   	ret
411691:	cc                   	int3
411692:	cc                   	int3
411693:	cc                   	int3
411694:	cc                   	int3
411695:	cc                   	int3
411696:	cc                   	int3
411697:	cc                   	int3
411698:	cc                   	int3
411699:	cc                   	int3
41169a:	cc                   	int3
41169b:	cc                   	int3
41169c:	cc                   	int3
41169d:	cc                   	int3
41169e:	cc                   	int3
41169f:	cc                   	int3
4116a0:	83 25 00 73 42 00 00 	andl   $0x0,0x427300
4116a7:	b0 01                	mov    $0x1,%al
4116a9:	c3                   	ret
4116aa:	8b ff                	mov    %edi,%edi
4116ac:	55                   	push   %ebp
4116ad:	8b ec                	mov    %esp,%ebp
4116af:	53                   	push   %ebx
4116b0:	56                   	push   %esi
4116b1:	57                   	push   %edi
4116b2:	8b 7d 08             	mov    0x8(%ebp),%edi
4116b5:	3b 7d 0c             	cmp    0xc(%ebp),%edi
4116b8:	74 51                	je     0x41170b
4116ba:	8b f7                	mov    %edi,%esi
4116bc:	8b 1e                	mov    (%esi),%ebx
4116be:	85 db                	test   %ebx,%ebx
4116c0:	74 0e                	je     0x4116d0
4116c2:	8b cb                	mov    %ebx,%ecx
4116c4:	ff 15 50 c2 41 00    	call   *0x41c250
4116ca:	ff d3                	call   *%ebx
4116cc:	84 c0                	test   %al,%al
4116ce:	74 08                	je     0x4116d8
4116d0:	83 c6 08             	add    $0x8,%esi
4116d3:	3b 75 0c             	cmp    0xc(%ebp),%esi
4116d6:	75 e4                	jne    0x4116bc
4116d8:	3b 75 0c             	cmp    0xc(%ebp),%esi
4116db:	74 2e                	je     0x41170b
4116dd:	3b f7                	cmp    %edi,%esi
4116df:	74 26                	je     0x411707
4116e1:	83 c6 fc             	add    $0xfffffffc,%esi
4116e4:	83 7e fc 00          	cmpl   $0x0,-0x4(%esi)
4116e8:	74 13                	je     0x4116fd
4116ea:	8b 1e                	mov    (%esi),%ebx
4116ec:	85 db                	test   %ebx,%ebx
4116ee:	74 0d                	je     0x4116fd
4116f0:	6a 00                	push   $0x0
4116f2:	8b cb                	mov    %ebx,%ecx
4116f4:	ff 15 50 c2 41 00    	call   *0x41c250
4116fa:	ff d3                	call   *%ebx
4116fc:	59                   	pop    %ecx
4116fd:	83 ee 08             	sub    $0x8,%esi
411700:	8d 46 04             	lea    0x4(%esi),%eax
411703:	3b c7                	cmp    %edi,%eax
411705:	75 dd                	jne    0x4116e4
411707:	32 c0                	xor    %al,%al
411709:	eb 02                	jmp    0x41170d
41170b:	b0 01                	mov    $0x1,%al
41170d:	5f                   	pop    %edi
41170e:	5e                   	pop    %esi
41170f:	5b                   	pop    %ebx
411710:	5d                   	pop    %ebp
411711:	c3                   	ret
411712:	8b ff                	mov    %edi,%edi
411714:	55                   	push   %ebp
411715:	8b ec                	mov    %esp,%ebp
411717:	56                   	push   %esi
411718:	8b 75 0c             	mov    0xc(%ebp),%esi
41171b:	39 75 08             	cmp    %esi,0x8(%ebp)
41171e:	74 1e                	je     0x41173e
411720:	57                   	push   %edi
411721:	8b 7e fc             	mov    -0x4(%esi),%edi
411724:	85 ff                	test   %edi,%edi
411726:	74 0d                	je     0x411735
411728:	6a 00                	push   $0x0
41172a:	8b cf                	mov    %edi,%ecx
41172c:	ff 15 50 c2 41 00    	call   *0x41c250
411732:	ff d7                	call   *%edi
411734:	59                   	pop    %ecx
411735:	83 ee 08             	sub    $0x8,%esi
411738:	3b 75 08             	cmp    0x8(%ebp),%esi
41173b:	75 e4                	jne    0x411721
41173d:	5f                   	pop    %edi
41173e:	b0 01                	mov    $0x1,%al
411740:	5e                   	pop    %esi
411741:	5d                   	pop    %ebp
411742:	c3                   	ret
411743:	8b ff                	mov    %edi,%edi
411745:	55                   	push   %ebp
411746:	8b ec                	mov    %esp,%ebp
411748:	8b 45 08             	mov    0x8(%ebp),%eax
41174b:	a3 04 73 42 00       	mov    %eax,0x427304
411750:	5d                   	pop    %ebp
411751:	c3                   	ret
411752:	8b ff                	mov    %edi,%edi
411754:	55                   	push   %ebp
411755:	8b ec                	mov    %esp,%ebp
411757:	56                   	push   %esi
411758:	e8 22 00 00 00       	call   0x41177f
41175d:	8b f0                	mov    %eax,%esi
41175f:	85 f6                	test   %esi,%esi
411761:	74 17                	je     0x41177a
411763:	ff 75 08             	push   0x8(%ebp)
411766:	8b ce                	mov    %esi,%ecx
411768:	ff 15 50 c2 41 00    	call   *0x41c250
41176e:	ff d6                	call   *%esi
411770:	59                   	pop    %ecx
411771:	85 c0                	test   %eax,%eax
411773:	74 05                	je     0x41177a
411775:	33 c0                	xor    %eax,%eax
411777:	40                   	inc    %eax
411778:	eb 02                	jmp    0x41177c
41177a:	33 c0                	xor    %eax,%eax
41177c:	5e                   	pop    %esi
41177d:	5d                   	pop    %ebp
41177e:	c3                   	ret
41177f:	6a 0c                	push   $0xc
411781:	68 20 40 42 00       	push   $0x424020
411786:	e8 45 72 ff ff       	call   0x4089d0
41178b:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41178f:	6a 00                	push   $0x0
411791:	e8 6b ea ff ff       	call   0x410201
411796:	59                   	pop    %ecx
411797:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41179b:	8b 35 18 60 42 00    	mov    0x426018,%esi
4117a1:	8b ce                	mov    %esi,%ecx
4117a3:	83 e1 1f             	and    $0x1f,%ecx
4117a6:	33 35 04 73 42 00    	xor    0x427304,%esi
4117ac:	d3 ce                	ror    %cl,%esi
4117ae:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4117b1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4117b8:	e8 15 00 00 00       	call   0x4117d2
4117bd:	8b c6                	mov    %esi,%eax
4117bf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4117c2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4117c9:	59                   	pop    %ecx
4117ca:	5f                   	pop    %edi
4117cb:	5e                   	pop    %esi
4117cc:	5b                   	pop    %ebx
4117cd:	c9                   	leave
4117ce:	c3                   	ret
4117cf:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4117d2:	6a 00                	push   $0x0
4117d4:	e8 78 ea ff ff       	call   0x410251
4117d9:	59                   	pop    %ecx
4117da:	c3                   	ret
4117db:	6a 0c                	push   $0xc
4117dd:	68 60 40 42 00       	push   $0x424060
4117e2:	e8 e9 71 ff ff       	call   0x4089d0
4117e7:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4117eb:	8b 45 08             	mov    0x8(%ebp),%eax
4117ee:	ff 30                	push   (%eax)
4117f0:	e8 0c ea ff ff       	call   0x410201
4117f5:	59                   	pop    %ecx
4117f6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4117fa:	8b 35 18 60 42 00    	mov    0x426018,%esi
411800:	8b ce                	mov    %esi,%ecx
411802:	83 e1 1f             	and    $0x1f,%ecx
411805:	33 35 10 73 42 00    	xor    0x427310,%esi
41180b:	d3 ce                	ror    %cl,%esi
41180d:	89 75 e4             	mov    %esi,-0x1c(%ebp)
411810:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
411817:	e8 17 00 00 00       	call   0x411833
41181c:	8b c6                	mov    %esi,%eax
41181e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411821:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411828:	59                   	pop    %ecx
411829:	5f                   	pop    %edi
41182a:	5e                   	pop    %esi
41182b:	5b                   	pop    %ebx
41182c:	c9                   	leave
41182d:	c2 0c 00             	ret    $0xc
411830:	8b 75 e4             	mov    -0x1c(%ebp),%esi
411833:	8b 4d 10             	mov    0x10(%ebp),%ecx
411836:	ff 31                	push   (%ecx)
411838:	e8 14 ea ff ff       	call   0x410251
41183d:	59                   	pop    %ecx
41183e:	c3                   	ret
41183f:	8b ff                	mov    %edi,%edi
411841:	55                   	push   %ebp
411842:	8b ec                	mov    %esp,%ebp
411844:	8b 45 08             	mov    0x8(%ebp),%eax
411847:	48                   	dec    %eax
411848:	83 e8 01             	sub    $0x1,%eax
41184b:	74 2d                	je     0x41187a
41184d:	83 e8 04             	sub    $0x4,%eax
411850:	74 21                	je     0x411873
411852:	83 e8 09             	sub    $0x9,%eax
411855:	74 15                	je     0x41186c
411857:	83 e8 06             	sub    $0x6,%eax
41185a:	74 09                	je     0x411865
41185c:	83 e8 01             	sub    $0x1,%eax
41185f:	74 12                	je     0x411873
411861:	33 c0                	xor    %eax,%eax
411863:	5d                   	pop    %ebp
411864:	c3                   	ret
411865:	b8 0c 73 42 00       	mov    $0x42730c,%eax
41186a:	5d                   	pop    %ebp
41186b:	c3                   	ret
41186c:	b8 14 73 42 00       	mov    $0x427314,%eax
411871:	5d                   	pop    %ebp
411872:	c3                   	ret
411873:	b8 10 73 42 00       	mov    $0x427310,%eax
411878:	5d                   	pop    %ebp
411879:	c3                   	ret
41187a:	b8 08 73 42 00       	mov    $0x427308,%eax
41187f:	5d                   	pop    %ebp
411880:	c3                   	ret
411881:	8b ff                	mov    %edi,%edi
411883:	55                   	push   %ebp
411884:	8b ec                	mov    %esp,%ebp
411886:	6b 0d 78 d0 41 00 0c 	imul   $0xc,0x41d078,%ecx
41188d:	8b 45 0c             	mov    0xc(%ebp),%eax
411890:	03 c8                	add    %eax,%ecx
411892:	3b c1                	cmp    %ecx,%eax
411894:	74 0f                	je     0x4118a5
411896:	8b 55 08             	mov    0x8(%ebp),%edx
411899:	39 50 04             	cmp    %edx,0x4(%eax)
41189c:	74 09                	je     0x4118a7
41189e:	83 c0 0c             	add    $0xc,%eax
4118a1:	3b c1                	cmp    %ecx,%eax
4118a3:	75 f4                	jne    0x411899
4118a5:	33 c0                	xor    %eax,%eax
4118a7:	5d                   	pop    %ebp
4118a8:	c3                   	ret
4118a9:	8b ff                	mov    %edi,%edi
4118ab:	55                   	push   %ebp
4118ac:	8b ec                	mov    %esp,%ebp
4118ae:	83 ec 0c             	sub    $0xc,%esp
4118b1:	6a 03                	push   $0x3
4118b3:	58                   	pop    %eax
4118b4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4118b7:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4118ba:	89 45 f4             	mov    %eax,-0xc(%ebp)
4118bd:	8d 45 f8             	lea    -0x8(%ebp),%eax
4118c0:	50                   	push   %eax
4118c1:	8d 45 ff             	lea    -0x1(%ebp),%eax
4118c4:	50                   	push   %eax
4118c5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4118c8:	50                   	push   %eax
4118c9:	e8 0d ff ff ff       	call   0x4117db
4118ce:	c9                   	leave
4118cf:	c3                   	ret
4118d0:	8b ff                	mov    %edi,%edi
4118d2:	55                   	push   %ebp
4118d3:	8b ec                	mov    %esp,%ebp
4118d5:	8b 45 08             	mov    0x8(%ebp),%eax
4118d8:	a3 08 73 42 00       	mov    %eax,0x427308
4118dd:	a3 0c 73 42 00       	mov    %eax,0x42730c
4118e2:	a3 10 73 42 00       	mov    %eax,0x427310
4118e7:	a3 14 73 42 00       	mov    %eax,0x427314
4118ec:	5d                   	pop    %ebp
4118ed:	c3                   	ret
4118ee:	6a 24                	push   $0x24
4118f0:	68 40 40 42 00       	push   $0x424040
4118f5:	e8 d6 70 ff ff       	call   0x4089d0
4118fa:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
4118fe:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
411902:	b1 01                	mov    $0x1,%cl
411904:	88 4d e7             	mov    %cl,-0x19(%ebp)
411907:	8b 75 08             	mov    0x8(%ebp),%esi
41190a:	6a 08                	push   $0x8
41190c:	5b                   	pop    %ebx
41190d:	3b f3                	cmp    %ebx,%esi
41190f:	7f 18                	jg     0x411929
411911:	74 37                	je     0x41194a
411913:	8d 46 ff             	lea    -0x1(%esi),%eax
411916:	83 e8 01             	sub    $0x1,%eax
411919:	74 22                	je     0x41193d
41191b:	48                   	dec    %eax
41191c:	83 e8 01             	sub    $0x1,%eax
41191f:	74 29                	je     0x41194a
411921:	48                   	dec    %eax
411922:	83 e8 01             	sub    $0x1,%eax
411925:	75 47                	jne    0x41196e
411927:	eb 14                	jmp    0x41193d
411929:	83 fe 0b             	cmp    $0xb,%esi
41192c:	74 1c                	je     0x41194a
41192e:	83 fe 0f             	cmp    $0xf,%esi
411931:	74 0a                	je     0x41193d
411933:	83 fe 14             	cmp    $0x14,%esi
411936:	7e 36                	jle    0x41196e
411938:	83 fe 16             	cmp    $0x16,%esi
41193b:	7f 31                	jg     0x41196e
41193d:	56                   	push   %esi
41193e:	e8 fc fe ff ff       	call   0x41183f
411943:	83 c4 04             	add    $0x4,%esp
411946:	8b f8                	mov    %eax,%edi
411948:	eb 3e                	jmp    0x411988
41194a:	e8 11 d0 ff ff       	call   0x40e960
41194f:	8b f8                	mov    %eax,%edi