42d576:	50                   	push   %eax
42d577:	56                   	push   %esi
42d578:	e8 7a 00 00 00       	call   0x42d5f7
42d57d:	83 c4 10             	add    $0x10,%esp
42d580:	2b c6                	sub    %esi,%eax
42d582:	d1 f8                	sar    $1,%eax
42d584:	5e                   	pop    %esi
42d585:	c9                   	leave
42d586:	c3                   	ret
42d587:	55                   	push   %ebp
42d588:	8b ec                	mov    %esp,%ebp
42d58a:	51                   	push   %ecx
42d58b:	56                   	push   %esi
42d58c:	8b 75 08             	mov    0x8(%ebp),%esi
42d58f:	8d 45 0c             	lea    0xc(%ebp),%eax
42d592:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42d596:	ff 75 fc             	push   -0x4(%ebp)
42d599:	50                   	push   %eax
42d59a:	8d 46 16             	lea    0x16(%esi),%eax
42d59d:	50                   	push   %eax
42d59e:	56                   	push   %esi
42d59f:	e8 53 00 00 00       	call   0x42d5f7
42d5a4:	83 c4 10             	add    $0x10,%esp
42d5a7:	2b c6                	sub    %esi,%eax
42d5a9:	d1 f8                	sar    $1,%eax
42d5ab:	5e                   	pop    %esi
42d5ac:	c9                   	leave
42d5ad:	c3                   	ret
42d5ae:	55                   	push   %ebp
42d5af:	8b ec                	mov    %esp,%ebp
42d5b1:	51                   	push   %ecx
42d5b2:	56                   	push   %esi
42d5b3:	8b 75 08             	mov    0x8(%ebp),%esi
42d5b6:	8d 45 0c             	lea    0xc(%ebp),%eax
42d5b9:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42d5bd:	ff 75 fc             	push   -0x4(%ebp)
42d5c0:	50                   	push   %eax
42d5c1:	8d 46 1c             	lea    0x1c(%esi),%eax
42d5c4:	50                   	push   %eax
42d5c5:	56                   	push   %esi
42d5c6:	e8 2c 00 00 00       	call   0x42d5f7
42d5cb:	83 c4 10             	add    $0x10,%esp
42d5ce:	2b c6                	sub    %esi,%eax
42d5d0:	d1 f8                	sar    $1,%eax
42d5d2:	5e                   	pop    %esi
42d5d3:	c9                   	leave
42d5d4:	c3                   	ret
42d5d5:	55                   	push   %ebp
42d5d6:	8b ec                	mov    %esp,%ebp
42d5d8:	8b 4d 08             	mov    0x8(%ebp),%ecx
42d5db:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
42d5de:	74 13                	je     0x42d5f3
42d5e0:	8b 45 10             	mov    0x10(%ebp),%eax
42d5e3:	0f b7 00             	movzwl (%eax),%eax
42d5e6:	66 39 01             	cmp    %ax,(%ecx)
42d5e9:	74 08                	je     0x42d5f3
42d5eb:	83 c1 02             	add    $0x2,%ecx
42d5ee:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
42d5f1:	75 f3                	jne    0x42d5e6
42d5f3:	8b c1                	mov    %ecx,%eax
42d5f5:	5d                   	pop    %ebp
42d5f6:	c3                   	ret
42d5f7:	55                   	push   %ebp
42d5f8:	8b ec                	mov    %esp,%ebp
42d5fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
42d5fd:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
42d600:	74 13                	je     0x42d615
42d602:	8b 45 10             	mov    0x10(%ebp),%eax
42d605:	0f b7 00             	movzwl (%eax),%eax
42d608:	66 39 01             	cmp    %ax,(%ecx)
42d60b:	74 08                	je     0x42d615
42d60d:	83 c1 02             	add    $0x2,%ecx
42d610:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
42d613:	75 f3                	jne    0x42d608
42d615:	8b c1                	mov    %ecx,%eax
42d617:	5d                   	pop    %ebp
42d618:	c3                   	ret
42d619:	55                   	push   %ebp
42d61a:	8b ec                	mov    %esp,%ebp
42d61c:	51                   	push   %ecx
42d61d:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42d621:	ff 75 fc             	push   -0x4(%ebp)
42d624:	ff 75 10             	push   0x10(%ebp)
42d627:	ff 75 0c             	push   0xc(%ebp)
42d62a:	ff 75 08             	push   0x8(%ebp)
42d62d:	e8 a3 ff ff ff       	call   0x42d5d5
42d632:	83 c4 10             	add    $0x10,%esp
42d635:	c9                   	leave
42d636:	c3                   	ret
42d637:	55                   	push   %ebp
42d638:	8b ec                	mov    %esp,%ebp
42d63a:	51                   	push   %ecx
42d63b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
42d63f:	ff 75 fc             	push   -0x4(%ebp)
42d642:	ff 75 10             	push   0x10(%ebp)
42d645:	ff 75 0c             	push   0xc(%ebp)
42d648:	ff 75 08             	push   0x8(%ebp)
42d64b:	e8 a7 ff ff ff       	call   0x42d5f7
42d650:	83 c4 10             	add    $0x10,%esp
42d653:	c9                   	leave
42d654:	c3                   	ret
42d655:	55                   	push   %ebp
42d656:	8b ec                	mov    %esp,%ebp
42d658:	8b 45 08             	mov    0x8(%ebp),%eax
42d65b:	5d                   	pop    %ebp
42d65c:	c3                   	ret
42d65d:	55                   	push   %ebp
42d65e:	8b ec                	mov    %esp,%ebp
42d660:	8b 45 08             	mov    0x8(%ebp),%eax
42d663:	5d                   	pop    %ebp
42d664:	c3                   	ret
42d665:	55                   	push   %ebp
42d666:	8b ec                	mov    %esp,%ebp
42d668:	8b 45 08             	mov    0x8(%ebp),%eax
42d66b:	5d                   	pop    %ebp
42d66c:	c3                   	ret
42d66d:	6a 34                	push   $0x34
42d66f:	b8 97 13 49 00       	mov    $0x491397,%eax
42d674:	e8 05 24 01 00       	call   0x43fa7e
42d679:	8b 45 08             	mov    0x8(%ebp),%eax
42d67c:	8b 75 14             	mov    0x14(%ebp),%esi
42d67f:	8b 5d 10             	mov    0x10(%ebp),%ebx
42d682:	89 45 cc             	mov    %eax,-0x34(%ebp)
42d685:	8b 45 0c             	mov    0xc(%ebp),%eax
42d688:	89 45 c0             	mov    %eax,-0x40(%ebp)
42d68b:	8a 06                	mov    (%esi),%al
42d68d:	89 5d c8             	mov    %ebx,-0x38(%ebp)
42d690:	84 c0                	test   %al,%al
42d692:	74 13                	je     0x42d6a7
42d694:	8a c8                	mov    %al,%cl
42d696:	8b d6                	mov    %esi,%edx
42d698:	3a c8                	cmp    %al,%cl
42d69a:	75 01                	jne    0x42d69d
42d69c:	43                   	inc    %ebx
42d69d:	42                   	inc    %edx
42d69e:	8a 0a                	mov    (%edx),%cl
42d6a0:	84 c9                	test   %cl,%cl
42d6a2:	75 f4                	jne    0x42d698
42d6a4:	89 5d c8             	mov    %ebx,-0x38(%ebp)
42d6a7:	33 c0                	xor    %eax,%eax
42d6a9:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
42d6b0:	50                   	push   %eax
42d6b1:	53                   	push   %ebx
42d6b2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42d6b5:	89 45 e8             	mov    %eax,-0x18(%ebp)
42d6b8:	88 45 d8             	mov    %al,-0x28(%ebp)
42d6bb:	e8 7e 20 ff ff       	call   0x41f73e
42d6c0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42d6c4:	33 d2                	xor    %edx,%edx
42d6c6:	42                   	inc    %edx
42d6c7:	c7 45 c4 fe ff ff ff 	movl   $0xfffffffe,-0x3c(%ebp)
42d6ce:	89 55 d0             	mov    %edx,-0x30(%ebp)
42d6d1:	32 c9                	xor    %cl,%cl
42d6d3:	33 db                	xor    %ebx,%ebx
42d6d5:	33 ff                	xor    %edi,%edi
42d6d7:	88 4d d7             	mov    %cl,-0x29(%ebp)
42d6da:	39 5d c8             	cmp    %ebx,-0x38(%ebp)
42d6dd:	0f 86 f6 00 00 00    	jbe    0x42d7d9
42d6e3:	8a 04 37             	mov    (%edi,%esi,1),%al
42d6e6:	84 c0                	test   %al,%al
42d6e8:	74 0e                	je     0x42d6f8
42d6ea:	8a 0e                	mov    (%esi),%cl
42d6ec:	3a c1                	cmp    %cl,%al
42d6ee:	74 08                	je     0x42d6f8
42d6f0:	47                   	inc    %edi
42d6f1:	8a 04 37             	mov    (%edi,%esi,1),%al
42d6f4:	84 c0                	test   %al,%al
42d6f6:	75 f4                	jne    0x42d6ec
42d6f8:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42d6fc:	8d 45 d8             	lea    -0x28(%ebp),%eax
42d6ff:	72 03                	jb     0x42d704
42d701:	8b 45 d8             	mov    -0x28(%ebp),%eax
42d704:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
42d708:	74 17                	je     0x42d721
42d70a:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42d70e:	8d 45 d8             	lea    -0x28(%ebp),%eax
42d711:	72 03                	jb     0x42d716
42d713:	8b 45 d8             	mov    -0x28(%ebp),%eax
42d716:	0f be 04 18          	movsbl (%eax,%ebx,1),%eax
42d71a:	03 f8                	add    %eax,%edi
42d71c:	e9 80 00 00 00       	jmp    0x42d7a1
42d721:	03 fa                	add    %edx,%edi
42d723:	8a 04 37             	mov    (%edi,%esi,1),%al
42d726:	3a 06                	cmp    (%esi),%al
42d728:	74 59                	je     0x42d783
42d72a:	84 c0                	test   %al,%al
42d72c:	74 55                	je     0x42d783
42d72e:	ff 75 c0             	push   -0x40(%ebp)
42d731:	8b 4d cc             	mov    -0x34(%ebp),%ecx
42d734:	e8 07 d7 00 00       	call   0x43ae40
42d739:	84 c0                	test   %al,%al
42d73b:	75 29                	jne    0x42d766
42d73d:	8b 45 cc             	mov    -0x34(%ebp),%eax
42d740:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
42d744:	75 0a                	jne    0x42d750
42d746:	8b c8                	mov    %eax,%ecx
42d748:	e8 ca 87 00 00       	call   0x435f17
42d74d:	8b 45 cc             	mov    -0x34(%ebp),%eax
42d750:	0f b7 48 06          	movzwl 0x6(%eax),%ecx
42d754:	0f be 04 37          	movsbl (%edi,%esi,1),%eax
42d758:	3b c1                	cmp    %ecx,%eax
42d75a:	75 0a                	jne    0x42d766
42d75c:	8b 55 d0             	mov    -0x30(%ebp),%edx
42d75f:	b1 01                	mov    $0x1,%cl
42d761:	88 4d d7             	mov    %cl,-0x29(%ebp)
42d764:	eb 3e                	jmp    0x42d7a4
42d766:	8b 55 d0             	mov    -0x30(%ebp),%edx
42d769:	83 fa 7f             	cmp    $0x7f,%edx
42d76c:	73 04                	jae    0x42d772
42d76e:	8b ca                	mov    %edx,%ecx
42d770:	eb 03                	jmp    0x42d775
42d772:	6a 7f                	push   $0x7f
42d774:	59                   	pop    %ecx
42d775:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42d779:	8d 45 d8             	lea    -0x28(%ebp),%eax
42d77c:	72 20                	jb     0x42d79e
42d77e:	8b 45 d8             	mov    -0x28(%ebp),%eax
42d781:	eb 1b                	jmp    0x42d79e
42d783:	83 fa 7f             	cmp    $0x7f,%edx
42d786:	73 04                	jae    0x42d78c
42d788:	8b ca                	mov    %edx,%ecx
42d78a:	eb 03                	jmp    0x42d78f
42d78c:	6a 7f                	push   $0x7f
42d78e:	59                   	pop    %ecx
42d78f:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42d793:	8d 45 d8             	lea    -0x28(%ebp),%eax
42d796:	72 03                	jb     0x42d79b
42d798:	8b 45 d8             	mov    -0x28(%ebp),%eax
42d79b:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
42d79e:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
42d7a1:	8a 4d d7             	mov    -0x29(%ebp),%cl
42d7a4:	43                   	inc    %ebx
42d7a5:	3b 5d c8             	cmp    -0x38(%ebp),%ebx
42d7a8:	0f 82 35 ff ff ff    	jb     0x42d6e3
42d7ae:	84 c9                	test   %cl,%cl
42d7b0:	74 27                	je     0x42d7d9
42d7b2:	ff 75 c0             	push   -0x40(%ebp)
42d7b5:	8b 5d cc             	mov    -0x34(%ebp),%ebx
42d7b8:	8b cb                	mov    %ebx,%ecx
42d7ba:	e8 81 d6 00 00       	call   0x43ae40
42d7bf:	84 c0                	test   %al,%al
42d7c1:	75 16                	jne    0x42d7d9
42d7c3:	ff 45 d0             	incl   -0x30(%ebp)
42d7c6:	8b cb                	mov    %ebx,%ecx
42d7c8:	e8 74 72 00 00       	call   0x434a41
42d7cd:	83 4d c4 ff          	orl    $0xffffffff,-0x3c(%ebp)
42d7d1:	8b 55 d0             	mov    -0x30(%ebp),%edx
42d7d4:	e9 f8 fe ff ff       	jmp    0x42d6d1
42d7d9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42d7dc:	e8 f3 fa fe ff       	call   0x41d2d4
42d7e1:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42d7e4:	e8 3f 22 01 00       	call   0x43fa28
42d7e9:	c3                   	ret
42d7ea:	6a 34                	push   $0x34
42d7ec:	b8 c4 13 49 00       	mov    $0x4913c4,%eax
42d7f1:	e8 88 22 01 00       	call   0x43fa7e
42d7f6:	8b 45 08             	mov    0x8(%ebp),%eax
42d7f9:	8b 75 14             	mov    0x14(%ebp),%esi
42d7fc:	8b 5d 10             	mov    0x10(%ebp),%ebx
42d7ff:	89 45 cc             	mov    %eax,-0x34(%ebp)
42d802:	8b 45 0c             	mov    0xc(%ebp),%eax
42d805:	89 45 c0             	mov    %eax,-0x40(%ebp)
42d808:	8a 06                	mov    (%esi),%al
42d80a:	89 5d c8             	mov    %ebx,-0x38(%ebp)
42d80d:	84 c0                	test   %al,%al
42d80f:	74 13                	je     0x42d824
42d811:	8a c8                	mov    %al,%cl
42d813:	8b d6                	mov    %esi,%edx
42d815:	3a c8                	cmp    %al,%cl
42d817:	75 01                	jne    0x42d81a
42d819:	43                   	inc    %ebx
42d81a:	42                   	inc    %edx
42d81b:	8a 0a                	mov    (%edx),%cl
42d81d:	84 c9                	test   %cl,%cl
42d81f:	75 f4                	jne    0x42d815
42d821:	89 5d c8             	mov    %ebx,-0x38(%ebp)
42d824:	33 c0                	xor    %eax,%eax
42d826:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
42d82d:	50                   	push   %eax
42d82e:	53                   	push   %ebx
42d82f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42d832:	89 45 e8             	mov    %eax,-0x18(%ebp)
42d835:	88 45 d8             	mov    %al,-0x28(%ebp)
42d838:	e8 01 1f ff ff       	call   0x41f73e
42d83d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42d841:	33 d2                	xor    %edx,%edx
42d843:	42                   	inc    %edx
42d844:	c7 45 c4 fe ff ff ff 	movl   $0xfffffffe,-0x3c(%ebp)
42d84b:	89 55 d0             	mov    %edx,-0x30(%ebp)
42d84e:	32 c9                	xor    %cl,%cl
42d850:	33 db                	xor    %ebx,%ebx
42d852:	33 ff                	xor    %edi,%edi
42d854:	88 4d d7             	mov    %cl,-0x29(%ebp)
42d857:	39 5d c8             	cmp    %ebx,-0x38(%ebp)
42d85a:	0f 86 f6 00 00 00    	jbe    0x42d956
42d860:	8a 04 37             	mov    (%edi,%esi,1),%al
42d863:	84 c0                	test   %al,%al
42d865:	74 0e                	je     0x42d875
42d867:	8a 0e                	mov    (%esi),%cl
42d869:	3a c1                	cmp    %cl,%al
42d86b:	74 08                	je     0x42d875
42d86d:	47                   	inc    %edi
42d86e:	8a 04 37             	mov    (%edi,%esi,1),%al
42d871:	84 c0                	test   %al,%al
42d873:	75 f4                	jne    0x42d869
42d875:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42d879:	8d 45 d8             	lea    -0x28(%ebp),%eax
42d87c:	72 03                	jb     0x42d881
42d87e:	8b 45 d8             	mov    -0x28(%ebp),%eax
42d881:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
42d885:	74 17                	je     0x42d89e
42d887:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42d88b:	8d 45 d8             	lea    -0x28(%ebp),%eax
42d88e:	72 03                	jb     0x42d893
42d890:	8b 45 d8             	mov    -0x28(%ebp),%eax
42d893:	0f be 04 18          	movsbl (%eax,%ebx,1),%eax
42d897:	03 f8                	add    %eax,%edi
42d899:	e9 80 00 00 00       	jmp    0x42d91e
42d89e:	03 fa                	add    %edx,%edi
42d8a0:	8a 04 37             	mov    (%edi,%esi,1),%al
42d8a3:	3a 06                	cmp    (%esi),%al
42d8a5:	74 59                	je     0x42d900
42d8a7:	84 c0                	test   %al,%al
42d8a9:	74 55                	je     0x42d900
42d8ab:	ff 75 c0             	push   -0x40(%ebp)
42d8ae:	8b 4d cc             	mov    -0x34(%ebp),%ecx
42d8b1:	e8 3e 33 ff ff       	call   0x420bf4
42d8b6:	84 c0                	test   %al,%al
42d8b8:	75 29                	jne    0x42d8e3
42d8ba:	8b 45 cc             	mov    -0x34(%ebp),%eax
42d8bd:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
42d8c1:	75 0a                	jne    0x42d8cd
42d8c3:	8b c8                	mov    %eax,%ecx
42d8c5:	e8 cb eb fe ff       	call   0x41c495
42d8ca:	8b 45 cc             	mov    -0x34(%ebp),%eax
42d8cd:	0f b7 48 06          	movzwl 0x6(%eax),%ecx
42d8d1:	0f be 04 37          	movsbl (%edi,%esi,1),%eax
42d8d5:	3b c1                	cmp    %ecx,%eax
42d8d7:	75 0a                	jne    0x42d8e3
42d8d9:	8b 55 d0             	mov    -0x30(%ebp),%edx
42d8dc:	b1 01                	mov    $0x1,%cl
42d8de:	88 4d d7             	mov    %cl,-0x29(%ebp)
42d8e1:	eb 3e                	jmp    0x42d921
42d8e3:	8b 55 d0             	mov    -0x30(%ebp),%edx
42d8e6:	83 fa 7f             	cmp    $0x7f,%edx
42d8e9:	73 04                	jae    0x42d8ef
42d8eb:	8b ca                	mov    %edx,%ecx
42d8ed:	eb 03                	jmp    0x42d8f2
42d8ef:	6a 7f                	push   $0x7f
42d8f1:	59                   	pop    %ecx