41c772:	83 e1 07             	and    $0x7,%ecx
41c775:	c1 ea 03             	shr    $0x3,%edx
41c778:	d3 e0                	shl    %cl,%eax
41c77a:	84 04 32             	test   %al,(%edx,%esi,1)
41c77d:	eb 5e                	jmp    0x41c7dd
41c77f:	8b 43 1c             	mov    0x1c(%ebx),%eax
41c782:	85 c0                	test   %eax,%eax
41c784:	74 22                	je     0x41c7a8
41c786:	8b 48 08             	mov    0x8(%eax),%ecx
41c789:	8b 40 04             	mov    0x4(%eax),%eax
41c78c:	c6 45 f4 00          	movb   $0x0,-0xc(%ebp)
41c790:	ff 75 f4             	push   -0xc(%ebp)
41c793:	8d 34 41             	lea    (%ecx,%eax,2),%esi
41c796:	8d 45 10             	lea    0x10(%ebp),%eax
41c799:	50                   	push   %eax
41c79a:	56                   	push   %esi
41c79b:	51                   	push   %ecx
41c79c:	e8 ca 73 fe ff       	call   0x403b6b
41c7a1:	83 c4 10             	add    $0x10,%esp
41c7a4:	3b c6                	cmp    %esi,%eax
41c7a6:	75 37                	jne    0x41c7df
41c7a8:	0f b7 43 24          	movzwl 0x24(%ebx),%eax
41c7ac:	8b 75 fc             	mov    -0x4(%ebp),%esi
41c7af:	66 85 c0             	test   %ax,%ax
41c7b2:	74 10                	je     0x41c7c4
41c7b4:	8b 4e 70             	mov    0x70(%esi),%ecx
41c7b7:	50                   	push   %eax
41c7b8:	ff 75 10             	push   0x10(%ebp)
41c7bb:	e8 ab 58 00 00       	call   0x42206b
41c7c0:	84 c0                	test   %al,%al
41c7c2:	75 1b                	jne    0x41c7df
41c7c4:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
41c7c8:	74 1a                	je     0x41c7e4
41c7ca:	ff 76 70             	push   0x70(%esi)
41c7cd:	ff 73 28             	push   0x28(%ebx)
41c7d0:	ff 75 10             	push   0x10(%ebp)
41c7d3:	e8 29 7c fe ff       	call   0x404401
41c7d8:	83 c4 0c             	add    $0xc,%esp
41c7db:	84 c0                	test   %al,%al
41c7dd:	74 05                	je     0x41c7e4
41c7df:	33 c0                	xor    %eax,%eax
41c7e1:	40                   	inc    %eax
41c7e2:	eb 02                	jmp    0x41c7e6
41c7e4:	33 c0                	xor    %eax,%eax
41c7e6:	8b 4b 08             	mov    0x8(%ebx),%ecx
41c7e9:	83 e1 01             	and    $0x1,%ecx
41c7ec:	3b c1                	cmp    %ecx,%eax
41c7ee:	0f 85 bf fe ff ff    	jne    0x41c6b3
41c7f4:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c7f7:	83 c7 02             	add    $0x2,%edi
41c7fa:	3b 7d 0c             	cmp    0xc(%ebp),%edi
41c7fd:	0f 85 eb fe ff ff    	jne    0x41c6ee
41c803:	e9 ab fe ff ff       	jmp    0x41c6b3
41c808:	ff 72 5c             	push   0x5c(%edx)
41c80b:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41c80e:	8d 47 02             	lea    0x2(%edi),%eax
41c811:	ff 72 70             	push   0x70(%edx)
41c814:	89 45 0c             	mov    %eax,0xc(%ebp)
41c817:	8d 41 02             	lea    0x2(%ecx),%eax
41c81a:	50                   	push   %eax
41c81b:	51                   	push   %ecx
41c81c:	ff 75 0c             	push   0xc(%ebp)
41c81f:	57                   	push   %edi
41c820:	e8 58 66 fe ff       	call   0x402e7d
41c825:	83 c4 18             	add    $0x18,%esp
41c828:	3b c7                	cmp    %edi,%eax
41c82a:	0f 85 83 fe ff ff    	jne    0x41c6b3
41c830:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c833:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c836:	3b fe                	cmp    %esi,%edi
41c838:	75 ce                	jne    0x41c808
41c83a:	e9 74 fe ff ff       	jmp    0x41c6b3
41c83f:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
41c843:	8d 45 10             	lea    0x10(%ebp),%eax
41c846:	ff 75 0c             	push   0xc(%ebp)
41c849:	c7 45 10 0a 00 00 00 	movl   $0xa,0x10(%ebp)
41c850:	50                   	push   %eax
41c851:	56                   	push   %esi
41c852:	57                   	push   %edi
41c853:	e8 35 73 fe ff       	call   0x403b8d
41c858:	83 c4 10             	add    $0x10,%esp
41c85b:	e9 55 fe ff ff       	jmp    0x41c6b5
41c860:	6a 0a                	push   $0xa
41c862:	58                   	pop    %eax
41c863:	66 39 47 fe          	cmp    %ax,-0x2(%edi)
41c867:	0f 84 46 fe ff ff    	je     0x41c6b3
41c86d:	89 45 10             	mov    %eax,0x10(%ebp)
41c870:	8d 45 10             	lea    0x10(%ebp),%eax
41c873:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
41c877:	ff 75 0c             	push   0xc(%ebp)
41c87a:	50                   	push   %eax
41c87b:	56                   	push   %esi
41c87c:	57                   	push   %edi
41c87d:	e8 0b 73 fe ff       	call   0x403b8d
41c882:	8b f8                	mov    %eax,%edi
41c884:	83 c4 10             	add    $0x10,%esp
41c887:	3b fe                	cmp    %esi,%edi
41c889:	0f 84 24 fe ff ff    	je     0x41c6b3
41c88f:	83 c7 02             	add    $0x2,%edi
41c892:	e9 1c fe ff ff       	jmp    0x41c6b3
41c897:	85 db                	test   %ebx,%ebx
41c899:	74 18                	je     0x41c8b3
41c89b:	ff 73 0c             	push   0xc(%ebx)
41c89e:	8b ca                	mov    %edx,%ecx
41c8a0:	56                   	push   %esi
41c8a1:	57                   	push   %edi
41c8a2:	e8 b2 fd ff ff       	call   0x41c659
41c8a7:	8b 5b 18             	mov    0x18(%ebx),%ebx
41c8aa:	8b f0                	mov    %eax,%esi
41c8ac:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c8af:	3b fe                	cmp    %esi,%edi
41c8b1:	75 e4                	jne    0x41c897
41c8b3:	8b c6                	mov    %esi,%eax
41c8b5:	e9 fb fd ff ff       	jmp    0x41c6b5
41c8ba:	55                   	push   %ebp
41c8bb:	8b ec                	mov    %esp,%ebp
41c8bd:	83 ec 14             	sub    $0x14,%esp
41c8c0:	53                   	push   %ebx
41c8c1:	8b 5d 14             	mov    0x14(%ebp),%ebx
41c8c4:	8b d1                	mov    %ecx,%edx
41c8c6:	89 55 fc             	mov    %edx,-0x4(%ebp)
41c8c9:	56                   	push   %esi
41c8ca:	57                   	push   %edi
41c8cb:	85 db                	test   %ebx,%ebx
41c8cd:	75 03                	jne    0x41c8d2
41c8cf:	8b 5a 58             	mov    0x58(%edx),%ebx
41c8d2:	8b 75 0c             	mov    0xc(%ebp),%esi
41c8d5:	8b 7d 10             	mov    0x10(%ebp),%edi
41c8d8:	3b f7                	cmp    %edi,%esi
41c8da:	74 38                	je     0x41c914
41c8dc:	85 db                	test   %ebx,%ebx
41c8de:	74 34                	je     0x41c914
41c8e0:	8b 43 04             	mov    0x4(%ebx),%eax
41c8e3:	83 f8 09             	cmp    $0x9,%eax
41c8e6:	7f 38                	jg     0x41c920
41c8e8:	74 5f                	je     0x41c949
41c8ea:	83 e8 01             	sub    $0x1,%eax
41c8ed:	74 5a                	je     0x41c949
41c8ef:	83 e8 01             	sub    $0x1,%eax
41c8f2:	0f 84 71 01 00 00    	je     0x41ca69
41c8f8:	83 e8 01             	sub    $0x1,%eax
41c8fb:	0f 84 40 01 00 00    	je     0x41ca41
41c901:	83 e8 03             	sub    $0x3,%eax
41c904:	0f 84 fb 00 00 00    	je     0x41ca05
41c90a:	83 e8 01             	sub    $0x1,%eax
41c90d:	74 43                	je     0x41c952
41c90f:	83 e8 01             	sub    $0x1,%eax
41c912:	74 35                	je     0x41c949
41c914:	8b 45 08             	mov    0x8(%ebp),%eax
41c917:	89 30                	mov    %esi,(%eax)
41c919:	5f                   	pop    %edi
41c91a:	5e                   	pop    %esi
41c91b:	5b                   	pop    %ebx
41c91c:	c9                   	leave
41c91d:	c2 10 00             	ret    $0x10
41c920:	83 e8 0c             	sub    $0xc,%eax
41c923:	74 22                	je     0x41c947
41c925:	83 e8 01             	sub    $0x1,%eax
41c928:	74 1f                	je     0x41c949
41c92a:	83 e8 01             	sub    $0x1,%eax
41c92d:	74 1a                	je     0x41c949
41c92f:	48                   	dec    %eax
41c930:	83 e8 01             	sub    $0x1,%eax
41c933:	0f 84 66 01 00 00    	je     0x41ca9f
41c939:	83 e8 04             	sub    $0x4,%eax
41c93c:	74 0b                	je     0x41c949
41c93e:	83 e8 01             	sub    $0x1,%eax
41c941:	75 d1                	jne    0x41c914
41c943:	33 db                	xor    %ebx,%ebx
41c945:	eb 95                	jmp    0x41c8dc
41c947:	33 db                	xor    %ebx,%ebx
41c949:	85 db                	test   %ebx,%ebx
41c94b:	74 c7                	je     0x41c914
41c94d:	8b 5b 0c             	mov    0xc(%ebx),%ebx
41c950:	eb 8a                	jmp    0x41c8dc
41c952:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
41c956:	8d 46 01             	lea    0x1(%esi),%eax
41c959:	8a 0e                	mov    (%esi),%cl
41c95b:	88 4d 17             	mov    %cl,0x17(%ebp)
41c95e:	88 4d f8             	mov    %cl,-0x8(%ebp)
41c961:	89 45 f0             	mov    %eax,-0x10(%ebp)
41c964:	74 1b                	je     0x41c981
41c966:	ff 73 14             	push   0x14(%ebx)
41c969:	50                   	push   %eax
41c96a:	8d 45 ec             	lea    -0x14(%ebp),%eax
41c96d:	56                   	push   %esi
41c96e:	50                   	push   %eax
41c96f:	e8 ba 79 fe ff       	call   0x40432e
41c974:	83 c4 10             	add    $0x10,%esp
41c977:	39 30                	cmp    %esi,(%eax)
41c979:	75 5f                	jne    0x41c9da
41c97b:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c97e:	8a 4d 17             	mov    0x17(%ebp),%cl
41c981:	8b 43 20             	mov    0x20(%ebx),%eax
41c984:	89 45 f4             	mov    %eax,-0xc(%ebp)
41c987:	85 c0                	test   %eax,%eax
41c989:	74 30                	je     0x41c9bb
41c98b:	f7 42 5c 00 08 00 00 	testl  $0x800,0x5c(%edx)
41c992:	74 13                	je     0x41c9a7
41c994:	ff 75 f8             	push   -0x8(%ebp)
41c997:	8b 4a 70             	mov    0x70(%edx),%ecx
41c99a:	e8 55 69 00 00       	call   0x4232f4
41c99f:	8b 7d 10             	mov    0x10(%ebp),%edi
41c9a2:	8b 75 0c             	mov    0xc(%ebp),%esi
41c9a5:	eb 02                	jmp    0x41c9a9
41c9a7:	8a c1                	mov    %cl,%al
41c9a9:	ff 75 f4             	push   -0xc(%ebp)
41c9ac:	0f b6 c0             	movzbl %al,%eax
41c9af:	50                   	push   %eax
41c9b0:	e8 74 7b fe ff       	call   0x404529
41c9b5:	59                   	pop    %ecx
41c9b6:	59                   	pop    %ecx
41c9b7:	84 c0                	test   %al,%al
41c9b9:	75 1f                	jne    0x41c9da
41c9bb:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
41c9bf:	74 1e                	je     0x41c9df
41c9c1:	0f b6 55 17          	movzbl 0x17(%ebp),%edx
41c9c5:	33 c0                	xor    %eax,%eax
41c9c7:	8b ca                	mov    %edx,%ecx
41c9c9:	40                   	inc    %eax
41c9ca:	83 e1 07             	and    $0x7,%ecx
41c9cd:	c1 ea 03             	shr    $0x3,%edx
41c9d0:	d3 e0                	shl    %cl,%eax
41c9d2:	8b 4b 18             	mov    0x18(%ebx),%ecx
41c9d5:	84 04 0a             	test   %al,(%edx,%ecx,1)
41c9d8:	74 05                	je     0x41c9df
41c9da:	33 c9                	xor    %ecx,%ecx
41c9dc:	41                   	inc    %ecx
41c9dd:	eb 02                	jmp    0x41c9e1
41c9df:	33 c9                	xor    %ecx,%ecx
41c9e1:	8b 43 08             	mov    0x8(%ebx),%eax
41c9e4:	83 e0 01             	and    $0x1,%eax
41c9e7:	3b c8                	cmp    %eax,%ecx
41c9e9:	0f 85 25 ff ff ff    	jne    0x41c914
41c9ef:	8b 75 f0             	mov    -0x10(%ebp),%esi
41c9f2:	8b 55 fc             	mov    -0x4(%ebp),%edx
41c9f5:	89 75 0c             	mov    %esi,0xc(%ebp)
41c9f8:	3b f7                	cmp    %edi,%esi
41c9fa:	0f 85 52 ff ff ff    	jne    0x41c952
41ca00:	e9 0f ff ff ff       	jmp    0x41c914
41ca05:	ff 72 5c             	push   0x5c(%edx)
41ca08:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41ca0b:	8d 7e 01             	lea    0x1(%esi),%edi
41ca0e:	ff 72 70             	push   0x70(%edx)
41ca11:	8d 41 01             	lea    0x1(%ecx),%eax
41ca14:	50                   	push   %eax
41ca15:	51                   	push   %ecx
41ca16:	57                   	push   %edi
41ca17:	8d 45 14             	lea    0x14(%ebp),%eax
41ca1a:	56                   	push   %esi
41ca1b:	50                   	push   %eax
41ca1c:	e8 b6 64 fe ff       	call   0x402ed7
41ca21:	8b 75 0c             	mov    0xc(%ebp),%esi
41ca24:	83 c4 1c             	add    $0x1c,%esp
41ca27:	39 30                	cmp    %esi,(%eax)
41ca29:	0f 85 e5 fe ff ff    	jne    0x41c914
41ca2f:	8b 55 fc             	mov    -0x4(%ebp),%edx
41ca32:	8b f7                	mov    %edi,%esi
41ca34:	89 75 0c             	mov    %esi,0xc(%ebp)
41ca37:	3b 75 10             	cmp    0x10(%ebp),%esi
41ca3a:	75 c9                	jne    0x41ca05
41ca3c:	e9 d3 fe ff ff       	jmp    0x41c914
41ca41:	c6 45 14 00          	movb   $0x0,0x14(%ebp)
41ca45:	8d 45 f0             	lea    -0x10(%ebp),%eax
41ca48:	ff 75 14             	push   0x14(%ebp)
41ca4b:	c7 45 f0 0a 00 00 00 	movl   $0xa,-0x10(%ebp)
41ca52:	50                   	push   %eax
41ca53:	57                   	push   %edi
41ca54:	56                   	push   %esi
41ca55:	e8 f0 70 fe ff       	call   0x403b4a
41ca5a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ca5d:	83 c4 10             	add    $0x10,%esp
41ca60:	89 01                	mov    %eax,(%ecx)
41ca62:	8b c1                	mov    %ecx,%eax
41ca64:	e9 b0 fe ff ff       	jmp    0x41c919
41ca69:	80 7e ff 0a          	cmpb   $0xa,-0x1(%esi)
41ca6d:	0f 84 a1 fe ff ff    	je     0x41c914
41ca73:	c6 45 14 00          	movb   $0x0,0x14(%ebp)
41ca77:	8d 45 f0             	lea    -0x10(%ebp),%eax
41ca7a:	ff 75 14             	push   0x14(%ebp)
41ca7d:	c7 45 f0 0a 00 00 00 	movl   $0xa,-0x10(%ebp)
41ca84:	50                   	push   %eax
41ca85:	57                   	push   %edi
41ca86:	56                   	push   %esi
41ca87:	e8 be 70 fe ff       	call   0x403b4a
41ca8c:	8b f0                	mov    %eax,%esi
41ca8e:	83 c4 10             	add    $0x10,%esp
41ca91:	3b f7                	cmp    %edi,%esi
41ca93:	0f 84 7b fe ff ff    	je     0x41c914
41ca99:	46                   	inc    %esi
41ca9a:	e9 75 fe ff ff       	jmp    0x41c914
41ca9f:	85 db                	test   %ebx,%ebx
41caa1:	74 22                	je     0x41cac5
41caa3:	ff 73 0c             	push   0xc(%ebx)
41caa6:	8d 45 14             	lea    0x14(%ebp),%eax
41caa9:	8b ca                	mov    %edx,%ecx
41caab:	57                   	push   %edi
41caac:	56                   	push   %esi
41caad:	50                   	push   %eax
41caae:	e8 07 fe ff ff       	call   0x41c8ba
41cab3:	8b 75 0c             	mov    0xc(%ebp),%esi
41cab6:	8b 55 fc             	mov    -0x4(%ebp),%edx
41cab9:	8b 38                	mov    (%eax),%edi
41cabb:	89 7d 10             	mov    %edi,0x10(%ebp)
41cabe:	8b 5b 18             	mov    0x18(%ebx),%ebx
41cac1:	3b f7                	cmp    %edi,%esi
41cac3:	75 da                	jne    0x41ca9f
41cac5:	8b 45 08             	mov    0x8(%ebp),%eax
41cac8:	89 38                	mov    %edi,(%eax)
41caca:	e9 4a fe ff ff       	jmp    0x41c919
41cacf:	55                   	push   %ebp
41cad0:	8b ec                	mov    %esp,%ebp
41cad2:	83 ec 1c             	sub    $0x1c,%esp
41cad5:	53                   	push   %ebx
41cad6:	8b 5d 14             	mov    0x14(%ebp),%ebx
41cad9:	8b d1                	mov    %ecx,%edx
41cadb:	89 55 fc             	mov    %edx,-0x4(%ebp)
41cade:	56                   	push   %esi
41cadf:	57                   	push   %edi
41cae0:	85 db                	test   %ebx,%ebx
41cae2:	75 06                	jne    0x41caea
41cae4:	8b 5a 58             	mov    0x58(%edx),%ebx
41cae7:	89 5d 14             	mov    %ebx,0x14(%ebp)
41caea:	8b 75 0c             	mov    0xc(%ebp),%esi
41caed:	8b 7d 10             	mov    0x10(%ebp),%edi
41caf0:	3b f7                	cmp    %edi,%esi
41caf2:	74 38                	je     0x41cb2c
41caf4:	85 db                	test   %ebx,%ebx
41caf6:	74 34                	je     0x41cb2c
41caf8:	8b 43 04             	mov    0x4(%ebx),%eax
41cafb:	83 f8 09             	cmp    $0x9,%eax
41cafe:	7f 38                	jg     0x41cb38
41cb00:	74 62                	je     0x41cb64
41cb02:	83 e8 01             	sub    $0x1,%eax
41cb05:	74 5d                	je     0x41cb64
41cb07:	83 e8 01             	sub    $0x1,%eax
41cb0a:	0f 84 08 02 00 00    	je     0x41cd18
41cb10:	83 e8 01             	sub    $0x1,%eax
41cb13:	0f 84 d7 01 00 00    	je     0x41ccf0
41cb19:	83 e8 03             	sub    $0x3,%eax
41cb1c:	0f 84 92 01 00 00    	je     0x41ccb4
41cb22:	83 e8 01             	sub    $0x1,%eax
41cb25:	74 49                	je     0x41cb70
41cb27:	83 e8 01             	sub    $0x1,%eax
41cb2a:	74 38                	je     0x41cb64
41cb2c:	8b 45 08             	mov    0x8(%ebp),%eax
41cb2f:	89 30                	mov    %esi,(%eax)
41cb31:	5f                   	pop    %edi
41cb32:	5e                   	pop    %esi
41cb33:	5b                   	pop    %ebx