407715:	5d                   	pop    %ebp
407716:	c2 0c 00             	ret    $0xc
407719:	e8 3b fe ff ff       	call   0x407559
40771e:	cc                   	int3
40771f:	6a 14                	push   $0x14
407721:	b8 db 41 41 00       	mov    $0x4141db,%eax
407726:	e8 7d c5 00 00       	call   0x413ca8
40772b:	8b f9                	mov    %ecx,%edi
40772d:	89 7d e8             	mov    %edi,-0x18(%ebp)
407730:	8b 75 08             	mov    0x8(%ebp),%esi
407733:	83 ce 0f             	or     $0xf,%esi
407736:	83 fe fe             	cmp    $0xfffffffe,%esi
407739:	76 05                	jbe    0x407740
40773b:	8b 75 08             	mov    0x8(%ebp),%esi
40773e:	eb 2a                	jmp    0x40776a
407740:	33 d2                	xor    %edx,%edx
407742:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
407749:	8b c6                	mov    %esi,%eax
40774b:	8b 5f 14             	mov    0x14(%edi),%ebx
40774e:	f7 75 e4             	divl   -0x1c(%ebp)
407751:	8b cb                	mov    %ebx,%ecx
407753:	d1 e9                	shr    $1,%ecx
407755:	3b c8                	cmp    %eax,%ecx
407757:	76 11                	jbe    0x40776a
407759:	6a fe                	push   $0xfffffffe
40775b:	58                   	pop    %eax
40775c:	2b c1                	sub    %ecx,%eax
40775e:	3b d8                	cmp    %eax,%ebx
407760:	77 05                	ja     0x407767
407762:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
407765:	eb 03                	jmp    0x40776a
407767:	6a fe                	push   $0xfffffffe
407769:	5e                   	pop    %esi
40776a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40776e:	8d 46 01             	lea    0x1(%esi),%eax
407771:	50                   	push   %eax
407772:	8d 4d ef             	lea    -0x11(%ebp),%ecx
407775:	e8 3f 01 00 00       	call   0x4078b9
40777a:	8b d8                	mov    %eax,%ebx
40777c:	eb 29                	jmp    0x4077a7
40777e:	8b 45 08             	mov    0x8(%ebp),%eax
407781:	8d 4d ef             	lea    -0x11(%ebp),%ecx
407784:	89 45 e4             	mov    %eax,-0x1c(%ebp)
407787:	40                   	inc    %eax
407788:	89 65 f0             	mov    %esp,-0x10(%ebp)
40778b:	50                   	push   %eax
40778c:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407790:	e8 24 01 00 00       	call   0x4078b9
407795:	89 45 e0             	mov    %eax,-0x20(%ebp)
407798:	b8 9e 77 40 00       	mov    $0x40779e,%eax
40779d:	c3                   	ret
40779e:	8b 7d e8             	mov    -0x18(%ebp),%edi
4077a1:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4077a4:	8b 5d e0             	mov    -0x20(%ebp),%ebx
4077a7:	8b 45 0c             	mov    0xc(%ebp),%eax
4077aa:	85 c0                	test   %eax,%eax
4077ac:	74 17                	je     0x4077c5
4077ae:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
4077b2:	72 04                	jb     0x4077b8
4077b4:	8b 0f                	mov    (%edi),%ecx
4077b6:	eb 02                	jmp    0x4077ba
4077b8:	8b cf                	mov    %edi,%ecx
4077ba:	50                   	push   %eax
4077bb:	51                   	push   %ecx
4077bc:	53                   	push   %ebx
4077bd:	e8 1c c5 00 00       	call   0x413cde
4077c2:	83 c4 0c             	add    $0xc,%esp
4077c5:	6a 00                	push   $0x0
4077c7:	6a 01                	push   $0x1
4077c9:	8b cf                	mov    %edi,%ecx
4077cb:	e8 0f fb ff ff       	call   0x4072df
4077d0:	8b 45 0c             	mov    0xc(%ebp),%eax
4077d3:	89 1f                	mov    %ebx,(%edi)
4077d5:	89 77 14             	mov    %esi,0x14(%edi)
4077d8:	89 47 10             	mov    %eax,0x10(%edi)
4077db:	83 fe 10             	cmp    $0x10,%esi
4077de:	73 02                	jae    0x4077e2
4077e0:	8b df                	mov    %edi,%ebx
4077e2:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
4077e6:	e8 31 c4 00 00       	call   0x413c1c
4077eb:	c2 08 00             	ret    $0x8
4077ee:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4077f1:	6a 00                	push   $0x0
4077f3:	6a 01                	push   $0x1
4077f5:	e8 e5 fa ff ff       	call   0x4072df
4077fa:	6a 00                	push   $0x0
4077fc:	6a 00                	push   $0x0
4077fe:	e8 13 c4 00 00       	call   0x413c16
407803:	cc                   	int3
407804:	8b ff                	mov    %edi,%edi
407806:	55                   	push   %ebp
407807:	8b ec                	mov    %esp,%ebp
407809:	51                   	push   %ecx
40780a:	56                   	push   %esi
40780b:	8b f1                	mov    %ecx,%esi
40780d:	8b 4d 08             	mov    0x8(%ebp),%ecx
407810:	57                   	push   %edi
407811:	8b 7e 10             	mov    0x10(%esi),%edi
407814:	3b f9                	cmp    %ecx,%edi
407816:	72 6d                	jb     0x407885
407818:	8b 55 0c             	mov    0xc(%ebp),%edx
40781b:	8b c7                	mov    %edi,%eax
40781d:	2b c1                	sub    %ecx,%eax
40781f:	3b c2                	cmp    %edx,%eax
407821:	77 15                	ja     0x407838
407823:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
407827:	89 4e 10             	mov    %ecx,0x10(%esi)
40782a:	72 04                	jb     0x407830
40782c:	8b 06                	mov    (%esi),%eax
40782e:	eb 02                	jmp    0x407832
407830:	8b c6                	mov    %esi,%eax
407832:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
407836:	eb 45                	jmp    0x40787d
407838:	85 d2                	test   %edx,%edx
40783a:	74 41                	je     0x40787d
40783c:	8b 46 14             	mov    0x14(%esi),%eax
40783f:	53                   	push   %ebx
407840:	83 f8 10             	cmp    $0x10,%eax
407843:	72 04                	jb     0x407849
407845:	8b 1e                	mov    (%esi),%ebx
407847:	eb 02                	jmp    0x40784b
407849:	8b de                	mov    %esi,%ebx
40784b:	2b fa                	sub    %edx,%edi
40784d:	03 d9                	add    %ecx,%ebx
40784f:	89 7d fc             	mov    %edi,-0x4(%ebp)
407852:	29 4d fc             	sub    %ecx,-0x4(%ebp)
407855:	74 13                	je     0x40786a
407857:	ff 75 fc             	push   -0x4(%ebp)
40785a:	8d 04 13             	lea    (%ebx,%edx,1),%eax
40785d:	50                   	push   %eax
40785e:	53                   	push   %ebx
40785f:	e8 80 c4 00 00       	call   0x413ce4
407864:	8b 46 14             	mov    0x14(%esi),%eax
407867:	83 c4 0c             	add    $0xc,%esp
40786a:	89 7e 10             	mov    %edi,0x10(%esi)
40786d:	5b                   	pop    %ebx
40786e:	83 f8 10             	cmp    $0x10,%eax
407871:	72 04                	jb     0x407877
407873:	8b 06                	mov    (%esi),%eax
407875:	eb 02                	jmp    0x407879
407877:	8b c6                	mov    %esi,%eax
407879:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
40787d:	5f                   	pop    %edi
40787e:	8b c6                	mov    %esi,%eax
407880:	5e                   	pop    %esi
407881:	c9                   	leave
407882:	c2 08 00             	ret    $0x8
407885:	8b ce                	mov    %esi,%ecx
407887:	e8 cd fc ff ff       	call   0x407559
40788c:	cc                   	int3
40788d:	8b ff                	mov    %edi,%edi
40788f:	55                   	push   %ebp
407890:	8b ec                	mov    %esp,%ebp
407892:	8b 45 08             	mov    0x8(%ebp),%eax
407895:	39 41 10             	cmp    %eax,0x10(%ecx)
407898:	72 19                	jb     0x4078b3
40789a:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40789e:	89 41 10             	mov    %eax,0x10(%ecx)
4078a1:	72 04                	jb     0x4078a7
4078a3:	8b 11                	mov    (%ecx),%edx
4078a5:	eb 02                	jmp    0x4078a9
4078a7:	8b d1                	mov    %ecx,%edx
4078a9:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
4078ad:	8b c1                	mov    %ecx,%eax
4078af:	5d                   	pop    %ebp
4078b0:	c2 04 00             	ret    $0x4
4078b3:	e8 a1 fc ff ff       	call   0x407559
4078b8:	cc                   	int3
4078b9:	8b ff                	mov    %edi,%edi
4078bb:	55                   	push   %ebp
4078bc:	8b ec                	mov    %esp,%ebp
4078be:	33 c0                	xor    %eax,%eax
4078c0:	39 45 08             	cmp    %eax,0x8(%ebp)
4078c3:	74 0d                	je     0x4078d2
4078c5:	ff 75 08             	push   0x8(%ebp)
4078c8:	e8 ca ba 00 00       	call   0x413397
4078cd:	59                   	pop    %ecx
4078ce:	85 c0                	test   %eax,%eax
4078d0:	74 04                	je     0x4078d6
4078d2:	5d                   	pop    %ebp
4078d3:	c2 04 00             	ret    $0x4
4078d6:	e8 f6 bb 00 00       	call   0x4134d1
4078db:	cc                   	int3
4078dc:	8b ff                	mov    %edi,%edi
4078de:	55                   	push   %ebp
4078df:	8b ec                	mov    %esp,%ebp
4078e1:	51                   	push   %ecx
4078e2:	53                   	push   %ebx
4078e3:	56                   	push   %esi
4078e4:	8b f1                	mov    %ecx,%esi
4078e6:	8b da                	mov    %edx,%ebx
4078e8:	33 c9                	xor    %ecx,%ecx
4078ea:	57                   	push   %edi
4078eb:	3b f3                	cmp    %ebx,%esi
4078ed:	74 45                	je     0x407934
4078ef:	8b 7d 08             	mov    0x8(%ebp),%edi
4078f2:	85 ff                	test   %edi,%edi
4078f4:	74 3e                	je     0x407934
4078f6:	66 39 0f             	cmp    %cx,(%edi)
4078f9:	74 39                	je     0x407934
4078fb:	8b cf                	mov    %edi,%ecx
4078fd:	e8 50 e6 ff ff       	call   0x405f52
407902:	2b de                	sub    %esi,%ebx
407904:	89 45 fc             	mov    %eax,-0x4(%ebp)
407907:	3b d8                	cmp    %eax,%ebx
407909:	73 0c                	jae    0x407917
40790b:	8b 45 0c             	mov    0xc(%ebp),%eax
40790e:	85 c0                	test   %eax,%eax
407910:	74 2b                	je     0x40793d
407912:	83 20 00             	andl   $0x0,(%eax)
407915:	eb 26                	jmp    0x40793d
407917:	50                   	push   %eax
407918:	57                   	push   %edi
407919:	53                   	push   %ebx
40791a:	56                   	push   %esi
40791b:	ff 15 74 b3 41 00    	call   *0x41b374
407921:	8b 45 0c             	mov    0xc(%ebp),%eax
407924:	83 c4 10             	add    $0x10,%esp
407927:	85 c0                	test   %eax,%eax
407929:	74 02                	je     0x40792d
40792b:	89 30                	mov    %esi,(%eax)
40792d:	8b 45 fc             	mov    -0x4(%ebp),%eax
407930:	03 c6                	add    %esi,%eax
407932:	eb 0b                	jmp    0x40793f
407934:	8b 45 0c             	mov    0xc(%ebp),%eax
407937:	85 c0                	test   %eax,%eax
407939:	74 02                	je     0x40793d
40793b:	89 08                	mov    %ecx,(%eax)
40793d:	8b c6                	mov    %esi,%eax
40793f:	5f                   	pop    %edi
407940:	5e                   	pop    %esi
407941:	5b                   	pop    %ebx
407942:	c9                   	leave
407943:	c2 08 00             	ret    $0x8
407946:	8b ff                	mov    %edi,%edi
407948:	55                   	push   %ebp
407949:	8b ec                	mov    %esp,%ebp
40794b:	51                   	push   %ecx
40794c:	53                   	push   %ebx
40794d:	56                   	push   %esi
40794e:	8b da                	mov    %edx,%ebx
407950:	8b f1                	mov    %ecx,%esi
407952:	57                   	push   %edi
407953:	3b f3                	cmp    %ebx,%esi
407955:	74 39                	je     0x407990
407957:	8b 7d 08             	mov    0x8(%ebp),%edi
40795a:	85 ff                	test   %edi,%edi
40795c:	74 32                	je     0x407990
40795e:	80 3f 00             	cmpb   $0x0,(%edi)
407961:	74 2d                	je     0x407990
407963:	8b cf                	mov    %edi,%ecx
407965:	e8 d0 e5 ff ff       	call   0x405f3a
40796a:	2b de                	sub    %esi,%ebx
40796c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40796f:	3b d8                	cmp    %eax,%ebx
407971:	72 1d                	jb     0x407990
407973:	50                   	push   %eax
407974:	57                   	push   %edi
407975:	53                   	push   %ebx
407976:	56                   	push   %esi
407977:	ff 15 74 b3 41 00    	call   *0x41b374
40797d:	8b 45 0c             	mov    0xc(%ebp),%eax
407980:	83 c4 10             	add    $0x10,%esp
407983:	85 c0                	test   %eax,%eax
407985:	74 02                	je     0x407989
407987:	89 30                	mov    %esi,(%eax)
407989:	8b 45 fc             	mov    -0x4(%ebp),%eax
40798c:	03 c6                	add    %esi,%eax
40798e:	eb 0c                	jmp    0x40799c
407990:	8b 45 0c             	mov    0xc(%ebp),%eax
407993:	85 c0                	test   %eax,%eax
407995:	74 03                	je     0x40799a
407997:	83 20 00             	andl   $0x0,(%eax)
40799a:	8b c6                	mov    %esi,%eax
40799c:	5f                   	pop    %edi
40799d:	5e                   	pop    %esi
40799e:	5b                   	pop    %ebx
40799f:	c9                   	leave
4079a0:	c2 08 00             	ret    $0x8
4079a3:	8b ff                	mov    %edi,%edi
4079a5:	55                   	push   %ebp
4079a6:	8b ec                	mov    %esp,%ebp
4079a8:	81 ec 10 08 00 00    	sub    $0x810,%esp
4079ae:	a1 18 51 41 00       	mov    0x415118,%eax
4079b3:	33 c5                	xor    %ebp,%eax
4079b5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4079b8:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
4079be:	53                   	push   %ebx
4079bf:	56                   	push   %esi
4079c0:	57                   	push   %edi
4079c1:	8b 30                	mov    (%eax),%esi
4079c3:	33 ff                	xor    %edi,%edi
4079c5:	a1 08 98 41 00       	mov    0x419808,%eax
4079ca:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
4079d0:	7e 47                	jle    0x407a19
4079d2:	bb 08 98 41 00       	mov    $0x419808,%ebx
4079d7:	53                   	push   %ebx
4079d8:	e8 b8 c1 00 00       	call   0x413b95
4079dd:	83 3d 08 98 41 00 ff 	cmpl   $0xffffffff,0x419808
4079e4:	59                   	pop    %ecx
4079e5:	75 32                	jne    0x407a19
4079e7:	8d 8d f4 f7 ff ff    	lea    -0x80c(%ebp),%ecx
4079ed:	89 bd f4 f7 ff ff    	mov    %edi,-0x80c(%ebp)
4079f3:	e8 55 ad 00 00       	call   0x41274d
4079f8:	85 c0                	test   %eax,%eax
4079fa:	75 04                	jne    0x407a00
4079fc:	8b c7                	mov    %edi,%eax
4079fe:	eb 0d                	jmp    0x407a0d
407a00:	81 bd f4 f7 ff ff 00 	cmpl   $0x3000,-0x80c(%ebp)
407a07:	30 00 00
407a0a:	1b c0                	sbb    %eax,%eax
407a0c:	40                   	inc    %eax
407a0d:	53                   	push   %ebx
407a0e:	a3 04 98 41 00       	mov    %eax,0x419804
407a13:	e8 2a c1 00 00       	call   0x413b42
407a18:	59                   	pop    %ecx
407a19:	a1 00 98 41 00       	mov    0x419800,%eax
407a1e:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
407a24:	7e 26                	jle    0x407a4c
407a26:	bb 00 98 41 00       	mov    $0x419800,%ebx
407a2b:	53                   	push   %ebx
407a2c:	e8 64 c1 00 00       	call   0x413b95
407a31:	83 3d 00 98 41 00 ff 	cmpl   $0xffffffff,0x419800
407a38:	59                   	pop    %ecx
407a39:	75 11                	jne    0x407a4c
407a3b:	e8 e8 ad 00 00       	call   0x412828
407a40:	53                   	push   %ebx
407a41:	a3 fc 97 41 00       	mov    %eax,0x4197fc
407a46:	e8 f7 c0 00 00       	call   0x413b42
407a4b:	59                   	pop    %ecx
407a4c:	a1 f8 97 41 00       	mov    0x4197f8,%eax
407a51:	3b 86 04 00 00 00    	cmp    0x4(%esi),%eax
407a57:	7e 26                	jle    0x407a7f
407a59:	be f8 97 41 00       	mov    $0x4197f8,%esi
407a5e:	56                   	push   %esi
407a5f:	e8 31 c1 00 00       	call   0x413b95
407a64:	83 3d f8 97 41 00 ff 	cmpl   $0xffffffff,0x4197f8
407a6b:	59                   	pop    %ecx
407a6c:	75 11                	jne    0x407a7f
407a6e:	e8 da ad 00 00       	call   0x41284d
407a73:	56                   	push   %esi
407a74:	a3 f4 97 41 00       	mov    %eax,0x4197f4
407a79:	e8 c4 c0 00 00       	call   0x413b42
407a7e:	59                   	pop    %ecx
407a7f:	be 04 01 00 00       	mov    $0x104,%esi
407a84:	89 bd f8 f7 ff ff    	mov    %edi,-0x808(%ebp)
407a8a:	8b d6                	mov    %esi,%edx
407a8c:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
407a92:	e8 b4 b0 00 00       	call   0x412b4b
407a97:	85 c0                	test   %eax,%eax