41773e:	53                   	push   %ebx
41773f:	56                   	push   %esi
417740:	57                   	push   %edi
417741:	50                   	push   %eax
417742:	8d 45 f4             	lea    -0xc(%ebp),%eax
417745:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41774b:	8b c1                	mov    %ecx,%eax
41774d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
417750:	8b 5d 14             	mov    0x14(%ebp),%ebx
417753:	0f b7 4d 18          	movzwl 0x18(%ebp),%ecx
417757:	8b 7d 08             	mov    0x8(%ebp),%edi
41775a:	89 7d c0             	mov    %edi,-0x40(%ebp)
41775d:	f7 43 14 00 40 00 00 	testl  $0x4000,0x14(%ebx)
417764:	89 4d cc             	mov    %ecx,-0x34(%ebp)
417767:	75 27                	jne    0x417790
417769:	8b 30                	mov    (%eax),%esi
41776b:	0f b6 45 1c          	movzbl 0x1c(%ebp),%eax
41776f:	50                   	push   %eax
417770:	51                   	push   %ecx
417771:	8b 76 24             	mov    0x24(%esi),%esi
417774:	8b ce                	mov    %esi,%ecx
417776:	53                   	push   %ebx
417777:	ff 75 10             	push   0x10(%ebp)
41777a:	ff 75 0c             	push   0xc(%ebp)
41777d:	57                   	push   %edi
41777e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
417784:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
417787:	ff d6                	call   *%esi
417789:	8b c7                	mov    %edi,%eax
41778b:	e9 c7 01 00 00       	jmp    0x417957
417790:	8b 43 30             	mov    0x30(%ebx),%eax
417793:	8b 78 04             	mov    0x4(%eax),%edi
417796:	89 7d c8             	mov    %edi,-0x38(%ebp)
417799:	8b 07                	mov    (%edi),%eax
41779b:	8b 70 04             	mov    0x4(%eax),%esi
41779e:	8b ce                	mov    %esi,%ecx
4177a0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4177a6:	8b cf                	mov    %edi,%ecx
4177a8:	ff d6                	call   *%esi
4177aa:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4177ad:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4177b4:	50                   	push   %eax
4177b5:	e8 76 17 00 00       	call   0x418f30
4177ba:	8b f8                	mov    %eax,%edi
4177bc:	83 c4 04             	add    $0x4,%esp
4177bf:	8b 45 c8             	mov    -0x38(%ebp),%eax
4177c2:	89 7d d0             	mov    %edi,-0x30(%ebp)
4177c5:	85 c0                	test   %eax,%eax
4177c7:	74 2d                	je     0x4177f6
4177c9:	8b 10                	mov    (%eax),%edx
4177cb:	8b 72 08             	mov    0x8(%edx),%esi
4177ce:	8b ce                	mov    %esi,%ecx
4177d0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4177d6:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4177d9:	ff d6                	call   *%esi
4177db:	8b f8                	mov    %eax,%edi
4177dd:	85 ff                	test   %edi,%edi
4177df:	74 12                	je     0x4177f3
4177e1:	8b 0f                	mov    (%edi),%ecx
4177e3:	6a 01                	push   $0x1
4177e5:	8b 31                	mov    (%ecx),%esi
4177e7:	8b ce                	mov    %esi,%ecx
4177e9:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4177ef:	8b cf                	mov    %edi,%ecx
4177f1:	ff d6                	call   *%esi
4177f3:	8b 7d d0             	mov    -0x30(%ebp),%edi
4177f6:	33 c0                	xor    %eax,%eax
4177f8:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4177ff:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
417806:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
41780d:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
417811:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
417815:	8d 45 a8             	lea    -0x58(%ebp),%eax
417818:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41781f:	8b 37                	mov    (%edi),%esi
417821:	50                   	push   %eax
417822:	74 4d                	je     0x417871
417824:	8b 76 1c             	mov    0x1c(%esi),%esi
417827:	8b ce                	mov    %esi,%ecx
417829:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41782f:	8b cf                	mov    %edi,%ecx
417831:	ff d6                	call   *%esi
417833:	8d 45 a8             	lea    -0x58(%ebp),%eax
417836:	50                   	push   %eax
417837:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41783a:	e8 b1 b4 fe ff       	call   0x402cf0
41783f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
417842:	83 f9 08             	cmp    $0x8,%ecx
417845:	72 39                	jb     0x417880
417847:	8b 55 a8             	mov    -0x58(%ebp),%edx
41784a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
417851:	8b c2                	mov    %edx,%eax
417853:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
417859:	72 1b                	jb     0x417876
41785b:	8b 50 fc             	mov    -0x4(%eax),%edx
41785e:	83 c1 23             	add    $0x23,%ecx
417861:	2b c2                	sub    %edx,%eax
417863:	83 c0 fc             	add    $0xfffffffc,%eax
417866:	83 f8 1f             	cmp    $0x1f,%eax
417869:	0f 87 06 01 00 00    	ja     0x417975
41786f:	eb 05                	jmp    0x417876
417871:	8b 76 18             	mov    0x18(%esi),%esi
417874:	eb b1                	jmp    0x417827
417876:	51                   	push   %ecx
417877:	52                   	push   %edx
417878:	e8 8b 21 05 00       	call   0x469a08
41787d:	83 c4 08             	add    $0x8,%esp
417880:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
417884:	8b 73 20             	mov    0x20(%ebx),%esi
417887:	8b 7d e8             	mov    -0x18(%ebp),%edi
41788a:	7c 0e                	jl     0x41789a
41788c:	7f 04                	jg     0x417892
41788e:	85 f6                	test   %esi,%esi
417890:	74 08                	je     0x41789a
417892:	3b f7                	cmp    %edi,%esi
417894:	76 04                	jbe    0x41789a
417896:	2b f7                	sub    %edi,%esi
417898:	eb 02                	jmp    0x41789c
41789a:	33 f6                	xor    %esi,%esi
41789c:	8b 43 14             	mov    0x14(%ebx),%eax
41789f:	25 c0 01 00 00       	and    $0x1c0,%eax
4178a4:	83 f8 40             	cmp    $0x40,%eax
4178a7:	74 28                	je     0x4178d1
4178a9:	56                   	push   %esi
4178aa:	ff 75 cc             	push   -0x34(%ebp)
4178ad:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4178b0:	ff 75 10             	push   0x10(%ebp)
4178b3:	ff 75 0c             	push   0xc(%ebp)
4178b6:	50                   	push   %eax
4178b7:	ff 75 d4             	push   -0x2c(%ebp)
4178ba:	e8 f1 02 00 00       	call   0x417bb0
4178bf:	83 c4 18             	add    $0x18,%esp
4178c2:	33 f6                	xor    %esi,%esi
4178c4:	8b 08                	mov    (%eax),%ecx
4178c6:	8b 50 04             	mov    0x4(%eax),%edx
4178c9:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4178cc:	89 55 10             	mov    %edx,0x10(%ebp)
4178cf:	eb 06                	jmp    0x4178d7
4178d1:	8b 55 10             	mov    0x10(%ebp),%edx
4178d4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4178d7:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4178db:	8d 45 d8             	lea    -0x28(%ebp),%eax
4178de:	57                   	push   %edi
4178df:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4178e3:	8b 7d d4             	mov    -0x2c(%ebp),%edi
4178e6:	50                   	push   %eax
4178e7:	52                   	push   %edx
4178e8:	51                   	push   %ecx
4178e9:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4178ec:	50                   	push   %eax
4178ed:	57                   	push   %edi
4178ee:	e8 3d 03 00 00       	call   0x417c30
4178f3:	56                   	push   %esi
4178f4:	ff 75 cc             	push   -0x34(%ebp)
4178f7:	8b 75 c0             	mov    -0x40(%ebp),%esi
4178fa:	8b 08                	mov    (%eax),%ecx
4178fc:	8b 40 04             	mov    0x4(%eax),%eax
4178ff:	50                   	push   %eax
417900:	51                   	push   %ecx
417901:	56                   	push   %esi
417902:	57                   	push   %edi
417903:	89 4d 0c             	mov    %ecx,0xc(%ebp)
417906:	89 45 10             	mov    %eax,0x10(%ebp)
417909:	c7 43 20 00 00 00 00 	movl   $0x0,0x20(%ebx)
417910:	c7 43 24 00 00 00 00 	movl   $0x0,0x24(%ebx)
417917:	e8 94 02 00 00       	call   0x417bb0
41791c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41791f:	83 c4 30             	add    $0x30,%esp
417922:	83 f9 08             	cmp    $0x8,%ecx
417925:	72 2e                	jb     0x417955
417927:	8b 55 d8             	mov    -0x28(%ebp),%edx
41792a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
417931:	8b c2                	mov    %edx,%eax
417933:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
417939:	72 10                	jb     0x41794b
41793b:	8b 50 fc             	mov    -0x4(%eax),%edx
41793e:	83 c1 23             	add    $0x23,%ecx
417941:	2b c2                	sub    %edx,%eax
417943:	83 c0 fc             	add    $0xfffffffc,%eax
417946:	83 f8 1f             	cmp    $0x1f,%eax
417949:	77 2a                	ja     0x417975
41794b:	51                   	push   %ecx
41794c:	52                   	push   %edx
41794d:	e8 b6 20 05 00       	call   0x469a08
417952:	83 c4 08             	add    $0x8,%esp
417955:	8b c6                	mov    %esi,%eax
417957:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41795a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
417961:	59                   	pop    %ecx
417962:	5f                   	pop    %edi
417963:	5e                   	pop    %esi
417964:	5b                   	pop    %ebx
417965:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417968:	33 cd                	xor    %ebp,%ecx
41796a:	e8 5b 20 05 00       	call   0x4699ca
41796f:	8b e5                	mov    %ebp,%esp
417971:	5d                   	pop    %ebp
417972:	c2 18 00             	ret    $0x18
417975:	e8 b7 1c 06 00       	call   0x479631
41797a:	cc                   	int3
41797b:	cc                   	int3
41797c:	cc                   	int3
41797d:	cc                   	int3
41797e:	cc                   	int3
41797f:	cc                   	int3
417980:	55                   	push   %ebp
417981:	8b ec                	mov    %esp,%ebp
417983:	83 e4 f8             	and    $0xfffffff8,%esp
417986:	53                   	push   %ebx
417987:	56                   	push   %esi
417988:	ff 75 18             	push   0x18(%ebp)
41798b:	8b d9                	mov    %ecx,%ebx
41798d:	ff 75 14             	push   0x14(%ebp)
417990:	ff 75 10             	push   0x10(%ebp)
417993:	8b 33                	mov    (%ebx),%esi
417995:	ff 75 0c             	push   0xc(%ebp)
417998:	ff 75 20             	push   0x20(%ebp)
41799b:	8b 76 1c             	mov    0x1c(%esi),%esi
41799e:	8b ce                	mov    %esi,%ecx
4179a0:	ff 75 1c             	push   0x1c(%ebp)
4179a3:	ff 75 08             	push   0x8(%ebp)
4179a6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4179ac:	8b cb                	mov    %ebx,%ecx
4179ae:	ff d6                	call   *%esi
4179b0:	8b 45 08             	mov    0x8(%ebp),%eax
4179b3:	5e                   	pop    %esi
4179b4:	5b                   	pop    %ebx
4179b5:	8b e5                	mov    %ebp,%esp
4179b7:	5d                   	pop    %ebp
4179b8:	c2 1c 00             	ret    $0x1c
4179bb:	cc                   	int3
4179bc:	cc                   	int3
4179bd:	cc                   	int3
4179be:	cc                   	int3
4179bf:	cc                   	int3
4179c0:	55                   	push   %ebp
4179c1:	8b ec                	mov    %esp,%ebp
4179c3:	6a ff                	push   $0xffffffff
4179c5:	68 0d 88 49 00       	push   $0x49880d
4179ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4179d0:	50                   	push   %eax
4179d1:	83 ec 08             	sub    $0x8,%esp
4179d4:	53                   	push   %ebx
4179d5:	56                   	push   %esi
4179d6:	57                   	push   %edi
4179d7:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4179dc:	33 c5                	xor    %ebp,%eax
4179de:	50                   	push   %eax
4179df:	8d 45 f4             	lea    -0xc(%ebp),%eax
4179e2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4179e8:	8b d9                	mov    %ecx,%ebx
4179ea:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4179ed:	8b 7d 08             	mov    0x8(%ebp),%edi
4179f0:	89 3b                	mov    %edi,(%ebx)
4179f2:	8b 07                	mov    (%edi),%eax
4179f4:	8b 40 04             	mov    0x4(%eax),%eax
4179f7:	8b 44 38 38          	mov    0x38(%eax,%edi,1),%eax
4179fb:	89 45 f0             	mov    %eax,-0x10(%ebp)
4179fe:	85 c0                	test   %eax,%eax
417a00:	74 12                	je     0x417a14
417a02:	8b 00                	mov    (%eax),%eax
417a04:	8b 70 04             	mov    0x4(%eax),%esi
417a07:	8b ce                	mov    %esi,%ecx
417a09:	ff 15 d4 e2 49 00    	call   *0x49e2d4
417a0f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417a12:	ff d6                	call   *%esi
417a14:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
417a1b:	8b 07                	mov    (%edi),%eax
417a1d:	8b 40 04             	mov    0x4(%eax),%eax
417a20:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
417a25:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
417a28:	74 04                	je     0x417a2e
417a2a:	32 c0                	xor    %al,%al
417a2c:	eb 21                	jmp    0x417a4f
417a2e:	8b 49 3c             	mov    0x3c(%ecx),%ecx
417a31:	85 c9                	test   %ecx,%ecx
417a33:	74 18                	je     0x417a4d
417a35:	3b cf                	cmp    %edi,%ecx
417a37:	74 14                	je     0x417a4d
417a39:	e8 72 0c 00 00       	call   0x4186b0
417a3e:	8b 07                	mov    (%edi),%eax
417a40:	8b 40 04             	mov    0x4(%eax),%eax
417a43:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
417a48:	0f 94 c0             	sete   %al
417a4b:	eb 02                	jmp    0x417a4f
417a4d:	b0 01                	mov    $0x1,%al
417a4f:	88 43 04             	mov    %al,0x4(%ebx)
417a52:	8b c3                	mov    %ebx,%eax
417a54:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417a57:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
417a5e:	59                   	pop    %ecx
417a5f:	5f                   	pop    %edi
417a60:	5e                   	pop    %esi
417a61:	5b                   	pop    %ebx
417a62:	8b e5                	mov    %ebp,%esp
417a64:	5d                   	pop    %ebp
417a65:	c2 04 00             	ret    $0x4
417a68:	cc                   	int3
417a69:	cc                   	int3
417a6a:	cc                   	int3
417a6b:	cc                   	int3
417a6c:	cc                   	int3
417a6d:	cc                   	int3
417a6e:	cc                   	int3
417a6f:	cc                   	int3
417a70:	55                   	push   %ebp
417a71:	8b ec                	mov    %esp,%ebp
417a73:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
417a77:	56                   	push   %esi
417a78:	8b f1                	mov    %ecx,%esi
417a7a:	c7 06 ec f8 49 00    	movl   $0x49f8ec,(%esi)
417a80:	74 0b                	je     0x417a8d
417a82:	6a 08                	push   $0x8
417a84:	56                   	push   %esi
417a85:	e8 7e 1f 05 00       	call   0x469a08
417a8a:	83 c4 08             	add    $0x8,%esp
417a8d:	8b c6                	mov    %esi,%eax
417a8f:	5e                   	pop    %esi
417a90:	5d                   	pop    %ebp
417a91:	c2 04 00             	ret    $0x4
417a94:	cc                   	int3
417a95:	cc                   	int3
417a96:	cc                   	int3
417a97:	cc                   	int3
417a98:	cc                   	int3
417a99:	cc                   	int3
417a9a:	cc                   	int3
417a9b:	cc                   	int3
417a9c:	cc                   	int3
417a9d:	cc                   	int3
417a9e:	cc                   	int3
417a9f:	cc                   	int3
417aa0:	55                   	push   %ebp
417aa1:	8b ec                	mov    %esp,%ebp
417aa3:	51                   	push   %ecx
417aa4:	8b 51 14             	mov    0x14(%ecx),%edx
417aa7:	8b ca                	mov    %edx,%ecx
417aa9:	56                   	push   %esi
417aaa:	8b 75 08             	mov    0x8(%ebp),%esi
417aad:	57                   	push   %edi
417aae:	8d 79 02             	lea    0x2(%ecx),%edi
417ab1:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
417ab7:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
417abe:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
417ac5:	66 8b 01             	mov    (%ecx),%ax
417ac8:	83 c1 02             	add    $0x2,%ecx
417acb:	66 85 c0             	test   %ax,%ax
417ace:	75 f5                	jne    0x417ac5
417ad0:	2b cf                	sub    %edi,%ecx
417ad2:	d1 f9                	sar    $1,%ecx