41c664:	75 06                	jne    0x41c66c
41c666:	85 db                	test   %ebx,%ebx
41c668:	74 1f                	je     0x41c689
41c66a:	eb 04                	jmp    0x41c670
41c66c:	85 db                	test   %ebx,%ebx
41c66e:	75 14                	jne    0x41c684
41c670:	e8 f6 83 ff ff       	call   0x414a6b
41c675:	6a 16                	push   $0x16
41c677:	5e                   	pop    %esi
41c678:	89 30                	mov    %esi,(%eax)
41c67a:	e8 63 f6 fe ff       	call   0x40bce2
41c67f:	e9 a5 00 00 00       	jmp    0x41c729
41c684:	33 c0                	xor    %eax,%eax
41c686:	66 89 07             	mov    %ax,(%edi)
41c689:	8b 45 08             	mov    0x8(%ebp),%eax
41c68c:	85 c0                	test   %eax,%eax
41c68e:	74 02                	je     0x41c692
41c690:	89 30                	mov    %esi,(%eax)
41c692:	ff 75 1c             	push   0x1c(%ebp)
41c695:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41c698:	e8 2b 01 ff ff       	call   0x40c7c8
41c69d:	8b c3                	mov    %ebx,%eax
41c69f:	39 5d 18             	cmp    %ebx,0x18(%ebp)
41c6a2:	77 03                	ja     0x41c6a7
41c6a4:	8b 45 18             	mov    0x18(%ebp),%eax
41c6a7:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41c6ac:	76 09                	jbe    0x41c6b7
41c6ae:	e8 b8 83 ff ff       	call   0x414a6b
41c6b3:	6a 16                	push   $0x16
41c6b5:	eb 43                	jmp    0x41c6fa
41c6b7:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41c6ba:	51                   	push   %ecx
41c6bb:	50                   	push   %eax
41c6bc:	ff 75 14             	push   0x14(%ebp)
41c6bf:	57                   	push   %edi
41c6c0:	e8 11 fe ff ff       	call   0x41c4d6
41c6c5:	83 c4 10             	add    $0x10,%esp
41c6c8:	83 f8 ff             	cmp    $0xffffffff,%eax
41c6cb:	75 12                	jne    0x41c6df
41c6cd:	85 ff                	test   %edi,%edi
41c6cf:	74 05                	je     0x41c6d6
41c6d1:	33 c0                	xor    %eax,%eax
41c6d3:	66 89 07             	mov    %ax,(%edi)
41c6d6:	e8 90 83 ff ff       	call   0x414a6b
41c6db:	8b 30                	mov    (%eax),%esi
41c6dd:	eb 3a                	jmp    0x41c719
41c6df:	40                   	inc    %eax
41c6e0:	85 ff                	test   %edi,%edi
41c6e2:	74 2c                	je     0x41c710
41c6e4:	3b c3                	cmp    %ebx,%eax
41c6e6:	76 21                	jbe    0x41c709
41c6e8:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
41c6ec:	74 16                	je     0x41c704
41c6ee:	33 c0                	xor    %eax,%eax
41c6f0:	66 89 07             	mov    %ax,(%edi)
41c6f3:	e8 73 83 ff ff       	call   0x414a6b
41c6f8:	6a 22                	push   $0x22
41c6fa:	5e                   	pop    %esi
41c6fb:	89 30                	mov    %esi,(%eax)
41c6fd:	e8 e0 f5 fe ff       	call   0x40bce2
41c702:	eb 15                	jmp    0x41c719
41c704:	6a 50                	push   $0x50
41c706:	8b c3                	mov    %ebx,%eax
41c708:	5e                   	pop    %esi
41c709:	33 c9                	xor    %ecx,%ecx
41c70b:	66 89 4c 47 fe       	mov    %cx,-0x2(%edi,%eax,2)
41c710:	8b 4d 08             	mov    0x8(%ebp),%ecx
41c713:	85 c9                	test   %ecx,%ecx
41c715:	74 02                	je     0x41c719
41c717:	89 01                	mov    %eax,(%ecx)
41c719:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
41c71d:	74 0a                	je     0x41c729
41c71f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41c722:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41c729:	5f                   	pop    %edi
41c72a:	8b c6                	mov    %esi,%eax
41c72c:	5e                   	pop    %esi
41c72d:	5b                   	pop    %ebx
41c72e:	8b e5                	mov    %ebp,%esp
41c730:	5d                   	pop    %ebp
41c731:	c3                   	ret
41c732:	8b ff                	mov    %edi,%edi
41c734:	55                   	push   %ebp
41c735:	8b ec                	mov    %esp,%ebp
41c737:	6a 00                	push   $0x0
41c739:	ff 75 18             	push   0x18(%ebp)
41c73c:	ff 75 14             	push   0x14(%ebp)
41c73f:	ff 75 10             	push   0x10(%ebp)
41c742:	ff 75 0c             	push   0xc(%ebp)
41c745:	ff 75 08             	push   0x8(%ebp)
41c748:	e8 02 ff ff ff       	call   0x41c64f
41c74d:	83 c4 18             	add    $0x18,%esp
41c750:	5d                   	pop    %ebp
41c751:	c3                   	ret
41c752:	8b ff                	mov    %edi,%edi
41c754:	55                   	push   %ebp
41c755:	8b ec                	mov    %esp,%ebp
41c757:	83 ec 2c             	sub    $0x2c,%esp
41c75a:	a1 28 ba 43 00       	mov    0x43ba28,%eax
41c75f:	33 c5                	xor    %ebp,%eax
41c761:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c764:	8b 45 08             	mov    0x8(%ebp),%eax
41c767:	53                   	push   %ebx
41c768:	8b 5d 10             	mov    0x10(%ebp),%ebx
41c76b:	56                   	push   %esi
41c76c:	33 f6                	xor    %esi,%esi
41c76e:	89 45 e8             	mov    %eax,-0x18(%ebp)
41c771:	89 75 f0             	mov    %esi,-0x10(%ebp)
41c774:	57                   	push   %edi
41c775:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c778:	89 7d ec             	mov    %edi,-0x14(%ebp)
41c77b:	85 c0                	test   %eax,%eax
41c77d:	74 0b                	je     0x41c78a
41c77f:	85 db                	test   %ebx,%ebx
41c781:	75 07                	jne    0x41c78a
41c783:	33 c0                	xor    %eax,%eax
41c785:	e9 38 02 00 00       	jmp    0x41c9c2
41c78a:	85 ff                	test   %edi,%edi
41c78c:	75 18                	jne    0x41c7a6
41c78e:	e8 d8 82 ff ff       	call   0x414a6b
41c793:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41c799:	e8 44 f5 fe ff       	call   0x40bce2
41c79e:	83 c8 ff             	or     $0xffffffff,%eax
41c7a1:	e9 1c 02 00 00       	jmp    0x41c9c2
41c7a6:	ff 75 14             	push   0x14(%ebp)
41c7a9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41c7ac:	e8 17 00 ff ff       	call   0x40c7c8
41c7b1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41c7b4:	85 c9                	test   %ecx,%ecx
41c7b6:	0f 84 97 01 00 00    	je     0x41c953
41c7bc:	8b 55 d8             	mov    -0x28(%ebp),%edx
41c7bf:	39 b2 a8 00 00 00    	cmp    %esi,0xa8(%edx)
41c7c5:	75 34                	jne    0x41c7fb
41c7c7:	85 db                	test   %ebx,%ebx
41c7c9:	0f 84 ad 01 00 00    	je     0x41c97c
41c7cf:	ba ff 00 00 00       	mov    $0xff,%edx
41c7d4:	66 39 17             	cmp    %dx,(%edi)
41c7d7:	0f 87 66 01 00 00    	ja     0x41c943
41c7dd:	8a 07                	mov    (%edi),%al
41c7df:	88 04 31             	mov    %al,(%ecx,%esi,1)
41c7e2:	66 8b 07             	mov    (%edi),%ax
41c7e5:	83 c7 02             	add    $0x2,%edi
41c7e8:	66 85 c0             	test   %ax,%ax
41c7eb:	0f 84 8b 01 00 00    	je     0x41c97c
41c7f1:	46                   	inc    %esi
41c7f2:	3b f3                	cmp    %ebx,%esi
41c7f4:	72 de                	jb     0x41c7d4
41c7f6:	e9 81 01 00 00       	jmp    0x41c97c
41c7fb:	83 7a 04 01          	cmpl   $0x1,0x4(%edx)
41c7ff:	75 63                	jne    0x41c864
41c801:	85 db                	test   %ebx,%ebx
41c803:	74 24                	je     0x41c829
41c805:	8b c7                	mov    %edi,%eax
41c807:	89 5d ec             	mov    %ebx,-0x14(%ebp)
41c80a:	66 39 30             	cmp    %si,(%eax)
41c80d:	74 09                	je     0x41c818
41c80f:	83 c0 02             	add    $0x2,%eax
41c812:	83 6d ec 01          	subl   $0x1,-0x14(%ebp)
41c816:	75 f2                	jne    0x41c80a
41c818:	39 75 ec             	cmp    %esi,-0x14(%ebp)
41c81b:	74 0c                	je     0x41c829
41c81d:	66 39 30             	cmp    %si,(%eax)
41c820:	75 07                	jne    0x41c829
41c822:	8b d8                	mov    %eax,%ebx
41c824:	2b df                	sub    %edi,%ebx
41c826:	d1 fb                	sar    $1,%ebx
41c828:	43                   	inc    %ebx
41c829:	8d 45 f0             	lea    -0x10(%ebp),%eax
41c82c:	50                   	push   %eax
41c82d:	56                   	push   %esi
41c82e:	53                   	push   %ebx
41c82f:	51                   	push   %ecx
41c830:	53                   	push   %ebx
41c831:	57                   	push   %edi
41c832:	56                   	push   %esi
41c833:	ff 72 08             	push   0x8(%edx)
41c836:	ff 15 2c 71 42 00    	call   *0x42712c
41c83c:	8b f0                	mov    %eax,%esi
41c83e:	85 f6                	test   %esi,%esi
41c840:	0f 84 fd 00 00 00    	je     0x41c943
41c846:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41c84a:	0f 85 f3 00 00 00    	jne    0x41c943
41c850:	8b 45 e8             	mov    -0x18(%ebp),%eax
41c853:	80 7c 30 ff 00       	cmpb   $0x0,-0x1(%eax,%esi,1)
41c858:	0f 85 1e 01 00 00    	jne    0x41c97c
41c85e:	4e                   	dec    %esi
41c85f:	e9 18 01 00 00       	jmp    0x41c97c
41c864:	8d 45 f0             	lea    -0x10(%ebp),%eax
41c867:	50                   	push   %eax
41c868:	56                   	push   %esi
41c869:	53                   	push   %ebx
41c86a:	51                   	push   %ecx
41c86b:	6a ff                	push   $0xffffffff
41c86d:	57                   	push   %edi
41c86e:	56                   	push   %esi
41c86f:	ff 72 08             	push   0x8(%edx)
41c872:	ff 15 2c 71 42 00    	call   *0x42712c
41c878:	8b f8                	mov    %eax,%edi
41c87a:	85 ff                	test   %edi,%edi
41c87c:	74 11                	je     0x41c88f
41c87e:	39 75 f0             	cmp    %esi,-0x10(%ebp)
41c881:	0f 85 bc 00 00 00    	jne    0x41c943
41c887:	8d 77 ff             	lea    -0x1(%edi),%esi
41c88a:	e9 ed 00 00 00       	jmp    0x41c97c
41c88f:	39 75 f0             	cmp    %esi,-0x10(%ebp)
41c892:	0f 85 ab 00 00 00    	jne    0x41c943
41c898:	ff 15 c4 71 42 00    	call   *0x4271c4
41c89e:	83 f8 7a             	cmp    $0x7a,%eax
41c8a1:	0f 85 9c 00 00 00    	jne    0x41c943
41c8a7:	85 db                	test   %ebx,%ebx
41c8a9:	0f 84 01 01 00 00    	je     0x41c9b0
41c8af:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c8b2:	8b 55 d8             	mov    -0x28(%ebp),%edx
41c8b5:	8b 4a 04             	mov    0x4(%edx),%ecx
41c8b8:	83 f9 05             	cmp    $0x5,%ecx
41c8bb:	7e 03                	jle    0x41c8c0
41c8bd:	6a 05                	push   $0x5
41c8bf:	59                   	pop    %ecx
41c8c0:	8d 5d f0             	lea    -0x10(%ebp),%ebx
41c8c3:	53                   	push   %ebx
41c8c4:	56                   	push   %esi
41c8c5:	51                   	push   %ecx
41c8c6:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41c8c9:	51                   	push   %ecx
41c8ca:	6a 01                	push   $0x1
41c8cc:	50                   	push   %eax
41c8cd:	56                   	push   %esi
41c8ce:	ff 72 08             	push   0x8(%edx)
41c8d1:	ff 15 2c 71 42 00    	call   *0x42712c
41c8d7:	8b 5d 10             	mov    0x10(%ebp),%ebx
41c8da:	8b d0                	mov    %eax,%edx
41c8dc:	85 d2                	test   %edx,%edx
41c8de:	0f 84 be 00 00 00    	je     0x41c9a2
41c8e4:	39 75 f0             	cmp    %esi,-0x10(%ebp)
41c8e7:	0f 85 b5 00 00 00    	jne    0x41c9a2
41c8ed:	85 d2                	test   %edx,%edx
41c8ef:	0f 88 ad 00 00 00    	js     0x41c9a2
41c8f5:	83 fa 05             	cmp    $0x5,%edx
41c8f8:	0f 87 a4 00 00 00    	ja     0x41c9a2
41c8fe:	8d 04 3a             	lea    (%edx,%edi,1),%eax
41c901:	3b c3                	cmp    %ebx,%eax
41c903:	0f 87 a7 00 00 00    	ja     0x41c9b0
41c909:	8b c6                	mov    %esi,%eax
41c90b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c90e:	85 d2                	test   %edx,%edx
41c910:	7e 1e                	jle    0x41c930
41c912:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41c915:	8a 44 05 f4          	mov    -0xc(%ebp,%eax,1),%al
41c919:	88 04 39             	mov    %al,(%ecx,%edi,1)
41c91c:	84 c0                	test   %al,%al
41c91e:	0f 84 8c 00 00 00    	je     0x41c9b0
41c924:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41c927:	40                   	inc    %eax
41c928:	47                   	inc    %edi
41c929:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c92c:	3b c2                	cmp    %edx,%eax
41c92e:	7c e5                	jl     0x41c915
41c930:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c933:	83 c0 02             	add    $0x2,%eax
41c936:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c939:	3b fb                	cmp    %ebx,%edi
41c93b:	0f 82 71 ff ff ff    	jb     0x41c8b2
41c941:	eb 6d                	jmp    0x41c9b0
41c943:	e8 23 81 ff ff       	call   0x414a6b
41c948:	83 ce ff             	or     $0xffffffff,%esi
41c94b:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41c951:	eb 29                	jmp    0x41c97c
41c953:	8b 45 d8             	mov    -0x28(%ebp),%eax
41c956:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
41c95c:	75 22                	jne    0x41c980
41c95e:	0f b7 07             	movzwl (%edi),%eax
41c961:	66 85 c0             	test   %ax,%ax
41c964:	74 16                	je     0x41c97c
41c966:	ba ff 00 00 00       	mov    $0xff,%edx
41c96b:	66 3b c2             	cmp    %dx,%ax
41c96e:	77 32                	ja     0x41c9a2
41c970:	83 c7 02             	add    $0x2,%edi
41c973:	46                   	inc    %esi
41c974:	0f b7 07             	movzwl (%edi),%eax
41c977:	66 85 c0             	test   %ax,%ax
41c97a:	75 ef                	jne    0x41c96b
41c97c:	8b fe                	mov    %esi,%edi
41c97e:	eb 30                	jmp    0x41c9b0
41c980:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41c983:	51                   	push   %ecx
41c984:	56                   	push   %esi
41c985:	56                   	push   %esi
41c986:	56                   	push   %esi
41c987:	6a ff                	push   $0xffffffff
41c989:	57                   	push   %edi
41c98a:	56                   	push   %esi
41c98b:	ff 70 08             	push   0x8(%eax)
41c98e:	ff 15 2c 71 42 00    	call   *0x42712c
41c994:	85 c0                	test   %eax,%eax
41c996:	74 0a                	je     0x41c9a2
41c998:	39 75 f0             	cmp    %esi,-0x10(%ebp)
41c99b:	75 05                	jne    0x41c9a2
41c99d:	8d 78 ff             	lea    -0x1(%eax),%edi
41c9a0:	eb 0e                	jmp    0x41c9b0
41c9a2:	e8 c4 80 ff ff       	call   0x414a6b
41c9a7:	83 cf ff             	or     $0xffffffff,%edi
41c9aa:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41c9b0:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
41c9b4:	74 0a                	je     0x41c9c0
41c9b6:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
41c9b9:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41c9c0:	8b c7                	mov    %edi,%eax
41c9c2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c9c5:	5f                   	pop    %edi
41c9c6:	5e                   	pop    %esi
41c9c7:	33 cd                	xor    %ebp,%ecx
41c9c9:	5b                   	pop    %ebx
41c9ca:	e8 91 a6 fe ff       	call   0x407060
41c9cf:	8b e5                	mov    %ebp,%esp
41c9d1:	5d                   	pop    %ebp
41c9d2:	c3                   	ret
41c9d3:	8b ff                	mov    %edi,%edi
41c9d5:	55                   	push   %ebp
41c9d6:	8b ec                	mov    %esp,%ebp
41c9d8:	51                   	push   %ecx
41c9d9:	56                   	push   %esi
41c9da:	8b 75 0c             	mov    0xc(%ebp),%esi
41c9dd:	33 c0                	xor    %eax,%eax
41c9df:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c9e2:	57                   	push   %edi
41c9e3:	8b 7d 10             	mov    0x10(%ebp),%edi
41c9e6:	85 f6                	test   %esi,%esi
41c9e8:	74 2e                	je     0x41ca18
41c9ea:	85 ff                	test   %edi,%edi
41c9ec:	74 2e                	je     0x41ca1c
41c9ee:	85 f6                	test   %esi,%esi
41c9f0:	74 02                	je     0x41c9f4
41c9f2:	88 06                	mov    %al,(%esi)
41c9f4:	53                   	push   %ebx
41c9f5:	8b 5d 08             	mov    0x8(%ebp),%ebx
41c9f8:	85 db                	test   %ebx,%ebx
41c9fa:	74 02                	je     0x41c9fe
41c9fc:	89 03                	mov    %eax,(%ebx)
41c9fe:	8b c7                	mov    %edi,%eax
41ca00:	39 7d 18             	cmp    %edi,0x18(%ebp)
41ca03:	77 03                	ja     0x41ca08
41ca05:	8b 45 18             	mov    0x18(%ebp),%eax
41ca08:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41ca0d:	76 20                	jbe    0x41ca2f
41ca0f:	e8 57 80 ff ff       	call   0x414a6b
41ca14:	6a 16                	push   $0x16
41ca16:	eb 59                	jmp    0x41ca71
41ca18:	85 ff                	test   %edi,%edi
41ca1a:	74 d2                	je     0x41c9ee
41ca1c:	e8 4a 80 ff ff       	call   0x414a6b