41175a:	85 db                	test   %ebx,%ebx
41175c:	74 43                	je     0x4117a1
41175e:	56                   	push   %esi
41175f:	ff 15 f0 b0 41 00    	call   *0x41b0f0
411765:	ff 75 08             	push   0x8(%ebp)
411768:	ff 15 08 b1 41 00    	call   *0x41b108
41176e:	8b 46 1c             	mov    0x1c(%esi),%eax
411771:	4b                   	dec    %ebx
411772:	8b 4e 18             	mov    0x18(%esi),%ecx
411775:	2b c1                	sub    %ecx,%eax
411777:	c1 e8 03             	shr    $0x3,%eax
41177a:	3b d8                	cmp    %eax,%ebx
41177c:	73 09                	jae    0x411787
41177e:	83 24 d9 00          	andl   $0x0,(%ecx,%ebx,8)
411782:	83 64 d9 04 00       	andl   $0x0,0x4(%ecx,%ebx,8)
411787:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41178b:	74 09                	je     0x411796
41178d:	ff 75 08             	push   0x8(%ebp)
411790:	ff 15 0c b1 41 00    	call   *0x41b10c
411796:	85 f6                	test   %esi,%esi
411798:	74 07                	je     0x4117a1
41179a:	56                   	push   %esi
41179b:	ff 15 ec b0 41 00    	call   *0x41b0ec
4117a1:	5e                   	pop    %esi
4117a2:	5b                   	pop    %ebx
4117a3:	5d                   	pop    %ebp
4117a4:	c2 08 00             	ret    $0x8
4117a7:	8b ff                	mov    %edi,%edi
4117a9:	55                   	push   %ebp
4117aa:	8b ec                	mov    %esp,%ebp
4117ac:	83 ec 10             	sub    $0x10,%esp
4117af:	53                   	push   %ebx
4117b0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4117b3:	56                   	push   %esi
4117b4:	57                   	push   %edi
4117b5:	53                   	push   %ebx
4117b6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4117b9:	ff 15 d0 b0 41 00    	call   *0x41b0d0
4117bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4117c2:	8b 70 1c             	mov    0x1c(%eax),%esi
4117c5:	2b 70 18             	sub    0x18(%eax),%esi
4117c8:	c1 ee 03             	shr    $0x3,%esi
4117cb:	85 db                	test   %ebx,%ebx
4117cd:	74 0a                	je     0x4117d9
4117cf:	53                   	push   %ebx
4117d0:	ff 15 d8 b0 41 00    	call   *0x41b0d8
4117d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4117d9:	33 ff                	xor    %edi,%edi
4117db:	85 f6                	test   %esi,%esi
4117dd:	0f 84 80 00 00 00    	je     0x411863
4117e3:	33 c9                	xor    %ecx,%ecx
4117e5:	21 4d f4             	and    %ecx,-0xc(%ebp)
4117e8:	50                   	push   %eax
4117e9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4117ec:	ff 15 f0 b0 41 00    	call   *0x41b0f0
4117f2:	53                   	push   %ebx
4117f3:	ff 15 08 b1 41 00    	call   *0x41b108
4117f9:	3b fe                	cmp    %esi,%edi
4117fb:	73 2f                	jae    0x41182c
4117fd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411800:	8b 51 18             	mov    0x18(%ecx),%edx
411803:	8d 04 fa             	lea    (%edx,%edi,8),%eax
411806:	83 38 00             	cmpl   $0x0,(%eax)
411809:	8d 4f 01             	lea    0x1(%edi),%ecx
41180c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41180f:	75 0b                	jne    0x41181c
411811:	8b f9                	mov    %ecx,%edi
411813:	83 c0 08             	add    $0x8,%eax
411816:	3b fe                	cmp    %esi,%edi
411818:	72 ec                	jb     0x411806
41181a:	eb 10                	jmp    0x41182c
41181c:	8b 0c fa             	mov    (%edx,%edi,8),%ecx
41181f:	8b 44 fa 04          	mov    0x4(%edx,%edi,8),%eax
411823:	8b 7d f0             	mov    -0x10(%ebp),%edi
411826:	89 4d f8             	mov    %ecx,-0x8(%ebp)
411829:	89 45 f4             	mov    %eax,-0xc(%ebp)
41182c:	85 db                	test   %ebx,%ebx
41182e:	74 07                	je     0x411837
411830:	53                   	push   %ebx
411831:	ff 15 0c b1 41 00    	call   *0x41b10c
411837:	8b 45 f8             	mov    -0x8(%ebp),%eax
41183a:	85 c0                	test   %eax,%eax
41183c:	74 10                	je     0x41184e
41183e:	ff 75 f4             	push   -0xc(%ebp)
411841:	8b c8                	mov    %eax,%ecx
411843:	ff 15 90 b3 41 00    	call   *0x41b390
411849:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41184c:	ff d1                	call   *%ecx
41184e:	8b 45 fc             	mov    -0x4(%ebp),%eax
411851:	85 c0                	test   %eax,%eax
411853:	74 0a                	je     0x41185f
411855:	50                   	push   %eax
411856:	ff 15 ec b0 41 00    	call   *0x41b0ec
41185c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41185f:	3b fe                	cmp    %esi,%edi
411861:	72 80                	jb     0x4117e3
411863:	5f                   	pop    %edi
411864:	5e                   	pop    %esi
411865:	5b                   	pop    %ebx
411866:	c9                   	leave
411867:	c2 04 00             	ret    $0x4
41186a:	6a 6c                	push   $0x6c
41186c:	b8 f2 44 41 00       	mov    $0x4144f2,%eax
411871:	e8 c9 23 00 00       	call   0x413c3f
411876:	8b f1                	mov    %ecx,%esi
411878:	8d 4d 88             	lea    -0x78(%ebp),%ecx
41187b:	e8 dd fc ff ff       	call   0x41155d
411880:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
411884:	8d 45 88             	lea    -0x78(%ebp),%eax
411887:	50                   	push   %eax
411888:	8b ce                	mov    %esi,%ecx
41188a:	e8 30 01 00 00       	call   0x4119bf
41188f:	8d 4d 88             	lea    -0x78(%ebp),%ecx
411892:	e8 02 fd ff ff       	call   0x411599
411897:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41189a:	e8 cc 08 00 00       	call   0x41216b
41189f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4118a2:	e8 c4 08 00 00       	call   0x41216b
4118a7:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4118aa:	e8 bc 08 00 00       	call   0x41216b
4118af:	e8 68 23 00 00       	call   0x413c1c
4118b4:	c3                   	ret
4118b5:	6a 04                	push   $0x4
4118b7:	b8 15 45 41 00       	mov    $0x414515,%eax
4118bc:	e8 7e 23 00 00       	call   0x413c3f
4118c1:	8b f9                	mov    %ecx,%edi
4118c3:	8b 75 0c             	mov    0xc(%ebp),%esi
4118c6:	81 fe fe 00 00 00    	cmp    $0xfe,%esi
4118cc:	0f 84 81 00 00 00    	je     0x411953
4118d2:	bb 00 01 00 00       	mov    $0x100,%ebx
4118d7:	81 fe c8 00 00 00    	cmp    $0xc8,%esi
4118dd:	72 10                	jb     0x4118ef
4118df:	3b f3                	cmp    %ebx,%esi
4118e1:	7c 08                	jl     0x4118eb
4118e3:	81 fe 00 02 00 00    	cmp    $0x200,%esi
4118e9:	72 04                	jb     0x4118ef
4118eb:	32 c0                	xor    %al,%al
4118ed:	eb 6b                	jmp    0x41195a
4118ef:	57                   	push   %edi
4118f0:	ff 15 08 b1 41 00    	call   *0x41b108
4118f6:	89 7d f0             	mov    %edi,-0x10(%ebp)
4118f9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4118fd:	83 fe 02             	cmp    $0x2,%esi
411900:	74 2e                	je     0x411930
411902:	83 fe 03             	cmp    $0x3,%esi
411905:	74 29                	je     0x411930
411907:	83 fe 06             	cmp    $0x6,%esi
41190a:	74 24                	je     0x411930
41190c:	83 fe 07             	cmp    $0x7,%esi
41190f:	74 1f                	je     0x411930
411911:	3b f3                	cmp    %ebx,%esi
411913:	7c 08                	jl     0x41191d
411915:	81 fe 80 01 00 00    	cmp    $0x180,%esi
41191b:	7c 13                	jl     0x411930
41191d:	ff 75 10             	push   0x10(%ebp)
411920:	8d 4f 28             	lea    0x28(%edi),%ecx
411923:	ff 75 08             	push   0x8(%ebp)
411926:	56                   	push   %esi
411927:	e8 e2 07 00 00       	call   0x41210e
41192c:	8a d8                	mov    %al,%bl
41192e:	eb 10                	jmp    0x411940
411930:	51                   	push   %ecx
411931:	ff 75 08             	push   0x8(%ebp)
411934:	8d 4f 04             	lea    0x4(%edi),%ecx
411937:	56                   	push   %esi
411938:	e8 ee 07 00 00       	call   0x41212b
41193d:	8a 5f 24             	mov    0x24(%edi),%bl
411940:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
411944:	85 ff                	test   %edi,%edi
411946:	74 07                	je     0x41194f
411948:	57                   	push   %edi
411949:	ff 15 0c b1 41 00    	call   *0x41b10c
41194f:	8a c3                	mov    %bl,%al
411951:	eb 07                	jmp    0x41195a
411953:	e8 0a 00 00 00       	call   0x411962
411958:	b0 01                	mov    $0x1,%al
41195a:	e8 bd 22 00 00       	call   0x413c1c
41195f:	c2 0c 00             	ret    $0xc
411962:	6a 6c                	push   $0x6c
411964:	b8 f2 44 41 00       	mov    $0x4144f2,%eax
411969:	e8 d1 22 00 00       	call   0x413c3f
41196e:	8b f1                	mov    %ecx,%esi
411970:	8d 4d 88             	lea    -0x78(%ebp),%ecx
411973:	e8 e5 fb ff ff       	call   0x41155d
411978:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41197c:	56                   	push   %esi
41197d:	ff 15 08 b1 41 00    	call   *0x41b108
411983:	8d 45 88             	lea    -0x78(%ebp),%eax
411986:	8b ce                	mov    %esi,%ecx
411988:	50                   	push   %eax
411989:	e8 31 00 00 00       	call   0x4119bf
41198e:	85 f6                	test   %esi,%esi
411990:	74 07                	je     0x411999
411992:	56                   	push   %esi
411993:	ff 15 0c b1 41 00    	call   *0x41b10c
411999:	8d 4d 88             	lea    -0x78(%ebp),%ecx
41199c:	e8 f8 fb ff ff       	call   0x411599
4119a1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4119a4:	e8 c2 07 00 00       	call   0x41216b
4119a9:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4119ac:	e8 ba 07 00 00       	call   0x41216b
4119b1:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4119b4:	e8 b2 07 00 00       	call   0x41216b
4119b9:	e8 5e 22 00 00       	call   0x413c1c
4119be:	c3                   	ret
4119bf:	8b ff                	mov    %edi,%edi
4119c1:	55                   	push   %ebp
4119c2:	8b ec                	mov    %esp,%ebp
4119c4:	56                   	push   %esi
4119c5:	8b f1                	mov    %ecx,%esi
4119c7:	57                   	push   %edi
4119c8:	8b 7d 08             	mov    0x8(%ebp),%edi
4119cb:	80 7e 24 00          	cmpb   $0x0,0x24(%esi)
4119cf:	74 0b                	je     0x4119dc
4119d1:	8d 46 04             	lea    0x4(%esi),%eax
4119d4:	8b cf                	mov    %edi,%ecx
4119d6:	50                   	push   %eax
4119d7:	e8 5e f2 ff ff       	call   0x410c3a
4119dc:	80 7e 48 00          	cmpb   $0x0,0x48(%esi)
4119e0:	74 0c                	je     0x4119ee
4119e2:	8d 46 28             	lea    0x28(%esi),%eax
4119e5:	50                   	push   %eax
4119e6:	8d 4f 24             	lea    0x24(%edi),%ecx
4119e9:	e8 4c f2 ff ff       	call   0x410c3a
4119ee:	80 7e 6c 00          	cmpb   $0x0,0x6c(%esi)
4119f2:	74 0c                	je     0x411a00
4119f4:	8d 46 4c             	lea    0x4c(%esi),%eax
4119f7:	50                   	push   %eax
4119f8:	8d 4f 48             	lea    0x48(%edi),%ecx
4119fb:	e8 3a f2 ff ff       	call   0x410c3a
411a00:	5f                   	pop    %edi
411a01:	5e                   	pop    %esi
411a02:	5d                   	pop    %ebp
411a03:	c2 04 00             	ret    $0x4
411a06:	8b ff                	mov    %edi,%edi
411a08:	56                   	push   %esi
411a09:	8b f1                	mov    %ecx,%esi
411a0b:	8d 4e 64             	lea    0x64(%esi),%ecx
411a0e:	e8 58 07 00 00       	call   0x41216b
411a13:	8d 4e 40             	lea    0x40(%esi),%ecx
411a16:	e8 50 07 00 00       	call   0x41216b
411a1b:	8d 4e 1c             	lea    0x1c(%esi),%ecx
411a1e:	5e                   	pop    %esi
411a1f:	e9 47 07 00 00       	jmp    0x41216b
411a24:	8b ff                	mov    %edi,%edi
411a26:	53                   	push   %ebx
411a27:	57                   	push   %edi
411a28:	8b f9                	mov    %ecx,%edi
411a2a:	6a 00                	push   $0x0
411a2c:	8d 5f 18             	lea    0x18(%edi),%ebx
411a2f:	c6 07 00             	movb   $0x0,(%edi)
411a32:	8b cb                	mov    %ebx,%ecx
411a34:	e8 4c 07 00 00       	call   0x412185
411a39:	8d 4f 1c             	lea    0x1c(%edi),%ecx
411a3c:	6a 00                	push   $0x0
411a3e:	e8 42 07 00 00       	call   0x412185
411a43:	8d 8f 90 00 00 00    	lea    0x90(%edi),%ecx
411a49:	e8 1d 07 00 00       	call   0x41216b
411a4e:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
411a54:	85 c0                	test   %eax,%eax
411a56:	74 06                	je     0x411a5e
411a58:	50                   	push   %eax
411a59:	e8 31 05 00 00       	call   0x411f8f
411a5e:	56                   	push   %esi
411a5f:	8d 77 58             	lea    0x58(%edi),%esi
411a62:	8d 4e 24             	lea    0x24(%esi),%ecx
411a65:	e8 01 07 00 00       	call   0x41216b
411a6a:	56                   	push   %esi
411a6b:	ff 15 cc b0 41 00    	call   *0x41b0cc
411a71:	83 7f 54 00          	cmpl   $0x0,0x54(%edi)
411a75:	74 08                	je     0x411a7f
411a77:	ff 77 54             	push   0x54(%edi)
411a7a:	e8 0c ef ff ff       	call   0x41098b
411a7f:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
411a83:	74 08                	je     0x411a8d
411a85:	ff 77 50             	push   0x50(%edi)
411a88:	e8 bf ee ff ff       	call   0x41094c
411a8d:	83 7f 4c 00          	cmpl   $0x0,0x4c(%edi)
411a91:	74 08                	je     0x411a9b
411a93:	ff 77 4c             	push   0x4c(%edi)
411a96:	e8 b1 ee ff ff       	call   0x41094c
411a9b:	8d 77 24             	lea    0x24(%edi),%esi
411a9e:	8d 4e 24             	lea    0x24(%esi),%ecx
411aa1:	e8 c5 06 00 00       	call   0x41216b
411aa6:	56                   	push   %esi
411aa7:	ff 15 cc b0 41 00    	call   *0x41b0cc
411aad:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
411ab1:	5e                   	pop    %esi
411ab2:	74 08                	je     0x411abc
411ab4:	ff 77 1c             	push   0x1c(%edi)
411ab7:	e8 92 0a 00 00       	call   0x41254e
411abc:	83 3b 00             	cmpl   $0x0,(%ebx)
411abf:	74 07                	je     0x411ac8
411ac1:	ff 33                	push   (%ebx)
411ac3:	e8 86 0a 00 00       	call   0x41254e
411ac8:	8b 4f 08             	mov    0x8(%edi),%ecx
411acb:	5f                   	pop    %edi
411acc:	5b                   	pop    %ebx
411acd:	85 c9                	test   %ecx,%ecx
411acf:	0f 85 96 08 00 00    	jne    0x41236b
411ad5:	c3                   	ret
411ad6:	8b ff                	mov    %edi,%edi
411ad8:	55                   	push   %ebp
411ad9:	8b ec                	mov    %esp,%ebp
411adb:	56                   	push   %esi
411adc:	8b f1                	mov    %ecx,%esi
411ade:	80 3e 00             	cmpb   $0x0,(%esi)
411ae1:	74 45                	je     0x411b28
411ae3:	e8 b3 01 00 00       	call   0x411c9b
411ae8:	84 c0                	test   %al,%al
411aea:	74 3c                	je     0x411b28
411aec:	ff 75 10             	push   0x10(%ebp)
411aef:	8b 4e 0c             	mov    0xc(%esi),%ecx
411af2:	ff 75 0c             	push   0xc(%ebp)
411af5:	ff 75 08             	push   0x8(%ebp)
411af8:	e8 b8 fd ff ff       	call   0x4118b5
411afd:	84 c0                	test   %al,%al
411aff:	74 27                	je     0x411b28
411b01:	e8 6e 44 ff ff       	call   0x405f74
411b06:	84 c0                	test   %al,%al
411b08:	75 1e                	jne    0x411b28
411b0a:	57                   	push   %edi
411b0b:	8d 7e 10             	lea    0x10(%esi),%edi
411b0e:	57                   	push   %edi
411b0f:	ff 15 08 b1 41 00    	call   *0x41b108
411b15:	8b ce                	mov    %esi,%ecx
411b17:	e8 06 02 00 00       	call   0x411d22
411b1c:	85 ff                	test   %edi,%edi
411b1e:	74 07                	je     0x411b27
411b20:	57                   	push   %edi
411b21:	ff 15 0c b1 41 00    	call   *0x41b10c
411b27:	5f                   	pop    %edi
411b28:	5e                   	pop    %esi
411b29:	5d                   	pop    %ebp
411b2a:	c2 0c 00             	ret    $0xc
411b2d:	6a 08                	push   $0x8
411b2f:	b8 38 45 41 00       	mov    $0x414538,%eax
411b34:	e8 06 21 00 00       	call   0x413c3f
411b39:	8b f1                	mov    %ecx,%esi
411b3b:	8b 5d 08             	mov    0x8(%ebp),%ebx
411b3e:	83 23 00             	andl   $0x0,(%ebx)
411b41:	80 3e 00             	cmpb   $0x0,(%esi)
411b44:	0f 84 9e 00 00 00    	je     0x411be8
411b4a:	e8 25 44 ff ff       	call   0x405f74
411b4f:	84 c0                	test   %al,%al
411b51:	0f 85 91 00 00 00    	jne    0x411be8
411b57:	8b ce                	mov    %esi,%ecx
411b59:	e8 3d 01 00 00       	call   0x411c9b
411b5e:	84 c0                	test   %al,%al
411b60:	0f 84 82 00 00 00    	je     0x411be8