42f542:	5d                   	pop    %ebp
42f543:	c3                   	ret
42f544:	33 c0                	xor    %eax,%eax
42f546:	50                   	push   %eax
42f547:	50                   	push   %eax
42f548:	50                   	push   %eax
42f549:	50                   	push   %eax
42f54a:	50                   	push   %eax
42f54b:	e8 60 04 ff ff       	call   0x41f9b0
42f550:	cc                   	int3
42f551:	8b ff                	mov    %edi,%edi
42f553:	55                   	push   %ebp
42f554:	8b ec                	mov    %esp,%ebp
42f556:	83 ec 1c             	sub    $0x1c,%esp
42f559:	53                   	push   %ebx
42f55a:	56                   	push   %esi
42f55b:	57                   	push   %edi
42f55c:	e8 06 fb ff ff       	call   0x42f067
42f561:	8b d8                	mov    %eax,%ebx
42f563:	89 5d f0             	mov    %ebx,-0x10(%ebp)
42f566:	e8 02 fb ff ff       	call   0x42f06d
42f56b:	89 45 ec             	mov    %eax,-0x14(%ebp)
42f56e:	33 f6                	xor    %esi,%esi
42f570:	8d 45 fc             	lea    -0x4(%ebp),%eax
42f573:	89 75 e8             	mov    %esi,-0x18(%ebp)
42f576:	50                   	push   %eax
42f577:	89 75 fc             	mov    %esi,-0x4(%ebp)
42f57a:	89 75 f8             	mov    %esi,-0x8(%ebp)
42f57d:	e8 49 fb ff ff       	call   0x42f0cb
42f582:	59                   	pop    %ecx
42f583:	85 c0                	test   %eax,%eax
42f585:	0f 85 4d 02 00 00    	jne    0x42f7d8
42f58b:	8d 45 f8             	lea    -0x8(%ebp),%eax
42f58e:	50                   	push   %eax
42f58f:	e8 df fa ff ff       	call   0x42f073
42f594:	59                   	pop    %ecx
42f595:	85 c0                	test   %eax,%eax
42f597:	0f 85 3b 02 00 00    	jne    0x42f7d8
42f59d:	a1 c4 70 45 00       	mov    0x4570c4,%eax
42f5a2:	8b 7d 08             	mov    0x8(%ebp),%edi
42f5a5:	85 c0                	test   %eax,%eax
42f5a7:	74 31                	je     0x42f5da
42f5a9:	8b cf                	mov    %edi,%ecx
42f5ab:	66 8b 11             	mov    (%ecx),%dx
42f5ae:	66 3b 10             	cmp    (%eax),%dx
42f5b1:	75 1e                	jne    0x42f5d1
42f5b3:	66 85 d2             	test   %dx,%dx
42f5b6:	74 15                	je     0x42f5cd
42f5b8:	66 8b 51 02          	mov    0x2(%ecx),%dx
42f5bc:	66 3b 50 02          	cmp    0x2(%eax),%dx
42f5c0:	75 0f                	jne    0x42f5d1
42f5c2:	83 c1 04             	add    $0x4,%ecx
42f5c5:	83 c0 04             	add    $0x4,%eax
42f5c8:	66 85 d2             	test   %dx,%dx
42f5cb:	75 de                	jne    0x42f5ab
42f5cd:	8b c6                	mov    %esi,%eax
42f5cf:	eb 05                	jmp    0x42f5d6
42f5d1:	1b c0                	sbb    %eax,%eax
42f5d3:	83 c8 01             	or     $0x1,%eax
42f5d6:	85 c0                	test   %eax,%eax
42f5d8:	74 31                	je     0x42f60b
42f5da:	8b cf                	mov    %edi,%ecx
42f5dc:	8d 51 02             	lea    0x2(%ecx),%edx
42f5df:	66 8b 01             	mov    (%ecx),%ax
42f5e2:	83 c1 02             	add    $0x2,%ecx
42f5e5:	66 3b c6             	cmp    %si,%ax
42f5e8:	75 f5                	jne    0x42f5df
42f5ea:	2b ca                	sub    %edx,%ecx
42f5ec:	d1 f9                	sar    $1,%ecx
42f5ee:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
42f5f5:	50                   	push   %eax
42f5f6:	e8 f9 b2 ff ff       	call   0x42a8f4
42f5fb:	8b f0                	mov    %eax,%esi
42f5fd:	59                   	pop    %ecx
42f5fe:	85 f6                	test   %esi,%esi
42f600:	75 0e                	jne    0x42f610
42f602:	33 c0                	xor    %eax,%eax
42f604:	50                   	push   %eax
42f605:	e8 b0 b2 ff ff       	call   0x42a8ba
42f60a:	59                   	pop    %ecx
42f60b:	5f                   	pop    %edi
42f60c:	5e                   	pop    %esi
42f60d:	5b                   	pop    %ebx
42f60e:	c9                   	leave
42f60f:	c3                   	ret
42f610:	ff 35 c4 70 45 00    	push   0x4570c4
42f616:	e8 9f b2 ff ff       	call   0x42a8ba
42f61b:	59                   	pop    %ecx
42f61c:	8b cf                	mov    %edi,%ecx
42f61e:	89 35 c4 70 45 00    	mov    %esi,0x4570c4
42f624:	8d 51 02             	lea    0x2(%ecx),%edx
42f627:	66 8b 01             	mov    (%ecx),%ax
42f62a:	83 c1 02             	add    $0x2,%ecx
42f62d:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
42f631:	75 f4                	jne    0x42f627
42f633:	2b ca                	sub    %edx,%ecx
42f635:	d1 f9                	sar    $1,%ecx
42f637:	57                   	push   %edi
42f638:	8d 41 01             	lea    0x1(%ecx),%eax
42f63b:	50                   	push   %eax
42f63c:	56                   	push   %esi
42f63d:	e8 24 42 ff ff       	call   0x423866
42f642:	83 c4 0c             	add    $0xc,%esp
42f645:	85 c0                	test   %eax,%eax
42f647:	0f 85 89 01 00 00    	jne    0x42f7d6
42f64d:	8b 75 ec             	mov    -0x14(%ebp),%esi
42f650:	68 80 00 00 00       	push   $0x80
42f655:	50                   	push   %eax
42f656:	ff 36                	push   (%esi)
42f658:	e8 b3 c5 fe ff       	call   0x41bc10
42f65d:	68 80 00 00 00       	push   $0x80
42f662:	33 c0                	xor    %eax,%eax
42f664:	50                   	push   %eax
42f665:	ff 76 04             	push   0x4(%esi)
42f668:	e8 a3 c5 fe ff       	call   0x41bc10
42f66d:	6a 40                	push   $0x40
42f66f:	33 c0                	xor    %eax,%eax
42f671:	50                   	push   %eax
42f672:	ff 33                	push   (%ebx)
42f674:	e8 97 c5 fe ff       	call   0x41bc10
42f679:	6a 40                	push   $0x40
42f67b:	33 c0                	xor    %eax,%eax
42f67d:	50                   	push   %eax
42f67e:	ff 73 04             	push   0x4(%ebx)
42f681:	e8 8a c5 fe ff       	call   0x41bc10
42f686:	6a 03                	push   $0x3
42f688:	ff 33                	push   (%ebx)
42f68a:	ff 36                	push   (%esi)
42f68c:	57                   	push   %edi
42f68d:	e8 78 fe ff ff       	call   0x42f50a
42f692:	83 c4 40             	add    $0x40,%esp
42f695:	33 c9                	xor    %ecx,%ecx
42f697:	6a 03                	push   $0x3
42f699:	58                   	pop    %eax
42f69a:	66 39 0f             	cmp    %cx,(%edi)
42f69d:	74 03                	je     0x42f6a2
42f69f:	83 c7 02             	add    $0x2,%edi
42f6a2:	83 e8 01             	sub    $0x1,%eax
42f6a5:	75 f3                	jne    0x42f69a
42f6a7:	0f b7 07             	movzwl (%edi),%eax
42f6aa:	8b c8                	mov    %eax,%ecx
42f6ac:	6a 2d                	push   $0x2d
42f6ae:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
42f6b1:	59                   	pop    %ecx
42f6b2:	66 3b c1             	cmp    %cx,%ax
42f6b5:	75 03                	jne    0x42f6ba
42f6b7:	83 c7 02             	add    $0x2,%edi
42f6ba:	6a 0a                	push   $0xa
42f6bc:	8d 45 f4             	lea    -0xc(%ebp),%eax
42f6bf:	50                   	push   %eax
42f6c0:	57                   	push   %edi
42f6c1:	e8 52 00 ff ff       	call   0x41f718
42f6c6:	83 c4 0c             	add    $0xc,%esp
42f6c9:	69 f0 10 0e 00 00    	imul   $0xe10,%eax,%esi
42f6cf:	89 75 fc             	mov    %esi,-0x4(%ebp)
42f6d2:	0f b7 0f             	movzwl (%edi),%ecx
42f6d5:	83 f9 2b             	cmp    $0x2b,%ecx
42f6d8:	74 09                	je     0x42f6e3
42f6da:	8d 41 d0             	lea    -0x30(%ecx),%eax
42f6dd:	66 83 f8 09          	cmp    $0x9,%ax
42f6e1:	77 05                	ja     0x42f6e8
42f6e3:	83 c7 02             	add    $0x2,%edi
42f6e6:	eb ea                	jmp    0x42f6d2
42f6e8:	6a 3a                	push   $0x3a
42f6ea:	58                   	pop    %eax
42f6eb:	66 3b c8             	cmp    %ax,%cx
42f6ee:	0f 85 94 00 00 00    	jne    0x42f788
42f6f4:	6a 0a                	push   $0xa
42f6f6:	8d 45 f4             	lea    -0xc(%ebp),%eax
42f6f9:	83 c7 02             	add    $0x2,%edi
42f6fc:	50                   	push   %eax
42f6fd:	57                   	push   %edi
42f6fe:	e8 15 00 ff ff       	call   0x41f718
42f703:	8b 75 fc             	mov    -0x4(%ebp),%esi
42f706:	83 c4 0c             	add    $0xc,%esp
42f709:	6b c0 3c             	imul   $0x3c,%eax,%eax
42f70c:	6a 30                	push   $0x30
42f70e:	59                   	pop    %ecx
42f70f:	03 f0                	add    %eax,%esi
42f711:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42f714:	0f b7 07             	movzwl (%edi),%eax
42f717:	89 75 fc             	mov    %esi,-0x4(%ebp)
42f71a:	8b d0                	mov    %eax,%edx
42f71c:	66 3b c1             	cmp    %cx,%ax
42f71f:	72 20                	jb     0x42f741
42f721:	6a 39                	push   $0x39
42f723:	8b c8                	mov    %eax,%ecx
42f725:	5b                   	pop    %ebx
42f726:	0f b7 d1             	movzwl %cx,%edx
42f729:	66 3b cb             	cmp    %bx,%cx
42f72c:	77 10                	ja     0x42f73e
42f72e:	83 c7 02             	add    $0x2,%edi
42f731:	0f b7 07             	movzwl (%edi),%eax
42f734:	8b c8                	mov    %eax,%ecx
42f736:	8b d0                	mov    %eax,%edx
42f738:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
42f73c:	73 e8                	jae    0x42f726
42f73e:	8b 5d f0             	mov    -0x10(%ebp),%ebx
42f741:	6a 3a                	push   $0x3a
42f743:	58                   	pop    %eax
42f744:	66 3b d0             	cmp    %ax,%dx
42f747:	75 3f                	jne    0x42f788
42f749:	6a 0a                	push   $0xa
42f74b:	8d 45 f4             	lea    -0xc(%ebp),%eax
42f74e:	83 c7 02             	add    $0x2,%edi
42f751:	50                   	push   %eax
42f752:	57                   	push   %edi
42f753:	e8 c0 ff fe ff       	call   0x41f718
42f758:	8b 75 fc             	mov    -0x4(%ebp),%esi
42f75b:	83 c4 0c             	add    $0xc,%esp
42f75e:	03 f0                	add    %eax,%esi
42f760:	0f b7 07             	movzwl (%edi),%eax
42f763:	89 75 fc             	mov    %esi,-0x4(%ebp)
42f766:	6a 30                	push   $0x30
42f768:	5a                   	pop    %edx
42f769:	66 3b c2             	cmp    %dx,%ax
42f76c:	72 1a                	jb     0x42f788
42f76e:	6a 39                	push   $0x39
42f770:	8b c8                	mov    %eax,%ecx
42f772:	5b                   	pop    %ebx
42f773:	66 3b cb             	cmp    %bx,%cx
42f776:	77 0d                	ja     0x42f785
42f778:	83 c7 02             	add    $0x2,%edi
42f77b:	0f b7 07             	movzwl (%edi),%eax
42f77e:	8b c8                	mov    %eax,%ecx
42f780:	66 3b c2             	cmp    %dx,%ax
42f783:	73 ee                	jae    0x42f773
42f785:	8b 5d f0             	mov    -0x10(%ebp),%ebx
42f788:	6a 2d                	push   $0x2d
42f78a:	58                   	pop    %eax
42f78b:	66 39 45 e4          	cmp    %ax,-0x1c(%ebp)
42f78f:	75 05                	jne    0x42f796
42f791:	f7 de                	neg    %esi
42f793:	89 75 fc             	mov    %esi,-0x4(%ebp)
42f796:	0f b7 0f             	movzwl (%edi),%ecx
42f799:	33 c0                	xor    %eax,%eax
42f79b:	66 85 c9             	test   %cx,%cx
42f79e:	0f 95 c0             	setne  %al
42f7a1:	89 45 f8             	mov    %eax,-0x8(%ebp)
42f7a4:	66 85 c9             	test   %cx,%cx
42f7a7:	74 17                	je     0x42f7c0
42f7a9:	8b 45 ec             	mov    -0x14(%ebp),%eax
42f7ac:	6a 03                	push   $0x3
42f7ae:	ff 73 04             	push   0x4(%ebx)
42f7b1:	ff 70 04             	push   0x4(%eax)
42f7b4:	57                   	push   %edi
42f7b5:	e8 50 fd ff ff       	call   0x42f50a
42f7ba:	8b 75 fc             	mov    -0x4(%ebp),%esi
42f7bd:	83 c4 10             	add    $0x10,%esp
42f7c0:	e8 9c f8 ff ff       	call   0x42f061
42f7c5:	89 30                	mov    %esi,(%eax)
42f7c7:	8b 75 f8             	mov    -0x8(%ebp),%esi
42f7ca:	e8 86 f8 ff ff       	call   0x42f055
42f7cf:	89 30                	mov    %esi,(%eax)
42f7d1:	e9 2c fe ff ff       	jmp    0x42f602
42f7d6:	33 f6                	xor    %esi,%esi
42f7d8:	56                   	push   %esi
42f7d9:	56                   	push   %esi
42f7da:	56                   	push   %esi
42f7db:	56                   	push   %esi
42f7dc:	56                   	push   %esi
42f7dd:	e8 ce 01 ff ff       	call   0x41f9b0
42f7e2:	cc                   	int3
42f7e3:	8b ff                	mov    %edi,%edi
42f7e5:	55                   	push   %ebp
42f7e6:	8b ec                	mov    %esp,%ebp
42f7e8:	83 ec 0c             	sub    $0xc,%esp
42f7eb:	53                   	push   %ebx
42f7ec:	56                   	push   %esi
42f7ed:	57                   	push   %edi
42f7ee:	e8 74 f8 ff ff       	call   0x42f067
42f7f3:	8b f8                	mov    %eax,%edi
42f7f5:	e8 73 f8 ff ff       	call   0x42f06d
42f7fa:	8b d8                	mov    %eax,%ebx
42f7fc:	33 f6                	xor    %esi,%esi
42f7fe:	8d 45 fc             	lea    -0x4(%ebp),%eax
42f801:	89 75 fc             	mov    %esi,-0x4(%ebp)
42f804:	50                   	push   %eax
42f805:	89 75 f8             	mov    %esi,-0x8(%ebp)
42f808:	89 75 f4             	mov    %esi,-0xc(%ebp)
42f80b:	e8 bb f8 ff ff       	call   0x42f0cb
42f810:	59                   	pop    %ecx
42f811:	85 c0                	test   %eax,%eax
42f813:	0f 85 19 01 00 00    	jne    0x42f932
42f819:	8d 45 f8             	lea    -0x8(%ebp),%eax
42f81c:	50                   	push   %eax
42f81d:	e8 51 f8 ff ff       	call   0x42f073
42f822:	59                   	pop    %ecx
42f823:	85 c0                	test   %eax,%eax
42f825:	0f 85 07 01 00 00    	jne    0x42f932
42f82b:	8d 45 f4             	lea    -0xc(%ebp),%eax
42f82e:	50                   	push   %eax
42f82f:	e8 6b f8 ff ff       	call   0x42f09f
42f834:	59                   	pop    %ecx
42f835:	85 c0                	test   %eax,%eax
42f837:	0f 85 f5 00 00 00    	jne    0x42f932
42f83d:	ff 35 c4 70 45 00    	push   0x4570c4
42f843:	e8 72 b0 ff ff       	call   0x42a8ba
42f848:	89 35 c4 70 45 00    	mov    %esi,0x4570c4
42f84e:	c7 04 24 d0 70 45 00 	movl   $0x4570d0,(%esp)
42f855:	ff 15 b0 e1 43 00    	call   *0x43e1b0
42f85b:	83 f8 ff             	cmp    $0xffffffff,%eax
42f85e:	0f 84 ab 00 00 00    	je     0x42f90f
42f864:	6b 15 d0 70 45 00 3c 	imul   $0x3c,0x4570d0,%edx
42f86b:	33 c9                	xor    %ecx,%ecx
42f86d:	41                   	inc    %ecx
42f86e:	66 39 35 16 71 45 00 	cmp    %si,0x457116
42f875:	8b 35 24 71 45 00    	mov    0x457124,%esi
42f87b:	89 0d c8 70 45 00    	mov    %ecx,0x4570c8
42f881:	89 55 fc             	mov    %edx,-0x4(%ebp)
42f884:	74 08                	je     0x42f88e
42f886:	6b c6 3c             	imul   $0x3c,%esi,%eax
42f889:	03 c2                	add    %edx,%eax
42f88b:	89 45 fc             	mov    %eax,-0x4(%ebp)
42f88e:	66 83 3d 6a 71 45 00 	cmpw   $0x0,0x45716a
42f895:	00
42f896:	74 10                	je     0x42f8a8
42f898:	a1 78 71 45 00       	mov    0x457178,%eax
42f89d:	85 c0                	test   %eax,%eax
42f89f:	74 07                	je     0x42f8a8
42f8a1:	2b c6                	sub    %esi,%eax
42f8a3:	6b c0 3c             	imul   $0x3c,%eax,%eax
42f8a6:	eb 04                	jmp    0x42f8ac
42f8a8:	33 c0                	xor    %eax,%eax
42f8aa:	33 c9                	xor    %ecx,%ecx
42f8ac:	be 80 00 00 00       	mov    $0x80,%esi
42f8b1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42f8b4:	56                   	push   %esi
42f8b5:	89 45 f4             	mov    %eax,-0xc(%ebp)
42f8b8:	6a 00                	push   $0x0
42f8ba:	ff 33                	push   (%ebx)
42f8bc:	e8 4f c3 fe ff       	call   0x41bc10
42f8c1:	56                   	push   %esi
42f8c2:	33 f6                	xor    %esi,%esi
42f8c4:	56                   	push   %esi
42f8c5:	ff 73 04             	push   0x4(%ebx)
42f8c8:	e8 43 c3 fe ff       	call   0x41bc10
42f8cd:	6a 40                	push   $0x40
42f8cf:	56                   	push   %esi
42f8d0:	ff 37                	push   (%edi)
42f8d2:	e8 39 c3 fe ff       	call   0x41bc10
42f8d7:	6a 40                	push   $0x40
42f8d9:	56                   	push   %esi
42f8da:	ff 77 04             	push   0x4(%edi)
42f8dd:	e8 2e c3 fe ff       	call   0x41bc10
42f8e2:	e8 e9 72 ff ff       	call   0x426bd0
42f8e7:	8b f0                	mov    %eax,%esi
42f8e9:	56                   	push   %esi
42f8ea:	ff 37                	push   (%edi)
42f8ec:	ff 33                	push   (%ebx)