495594:	83 c2 23             	add    $0x23,%edx
495597:	2b c1                	sub    %ecx,%eax
495599:	83 c0 fc             	add    $0xfffffffc,%eax
49559c:	83 f8 1f             	cmp    $0x1f,%eax
49559f:	0f 87 98 00 00 00    	ja     0x49563d
4955a5:	52                   	push   %edx
4955a6:	51                   	push   %ecx
4955a7:	e8 c6 ba 14 00       	call   0x5e1072
4955ac:	83 c4 08             	add    $0x8,%esp
4955af:	8b 55 a4             	mov    -0x5c(%ebp),%edx
4955b2:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
4955b9:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
4955c0:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
4955c4:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4955cb:	83 fa 10             	cmp    $0x10,%edx
4955ce:	72 28                	jb     0x4955f8
4955d0:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4955d3:	42                   	inc    %edx
4955d4:	8b c1                	mov    %ecx,%eax
4955d6:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4955dc:	72 10                	jb     0x4955ee
4955de:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4955e1:	83 c2 23             	add    $0x23,%edx
4955e4:	2b c1                	sub    %ecx,%eax
4955e6:	83 c0 fc             	add    $0xfffffffc,%eax
4955e9:	83 f8 1f             	cmp    $0x1f,%eax
4955ec:	77 4f                	ja     0x49563d
4955ee:	52                   	push   %edx
4955ef:	51                   	push   %ecx
4955f0:	e8 7d ba 14 00       	call   0x5e1072
4955f5:	83 c4 08             	add    $0x8,%esp
4955f8:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
4955ff:	c7 45 a4 0f 00 00 00 	movl   $0xf,-0x5c(%ebp)
495606:	c6 45 90 00          	movb   $0x0,-0x70(%ebp)
49560a:	85 f6                	test   %esi,%esi
49560c:	75 0d                	jne    0x49561b
49560e:	8b 0d 7c e1 72 00    	mov    0x72e17c,%ecx
495614:	8b 01                	mov    (%ecx),%eax
495616:	ff 50 14             	call   *0x14(%eax)
495619:	8b f0                	mov    %eax,%esi
49561b:	8b c6                	mov    %esi,%eax
49561d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
495620:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
495627:	59                   	pop    %ecx
495628:	5f                   	pop    %edi
495629:	5e                   	pop    %esi
49562a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49562d:	33 cd                	xor    %ebp,%ecx
49562f:	e8 a6 be 14 00       	call   0x5e14da
495634:	8b e5                	mov    %ebp,%esp
495636:	5d                   	pop    %ebp
495637:	c3                   	ret
495638:	e8 f2 78 15 00       	call   0x5ecf2f
49563d:	e8 ed 78 15 00       	call   0x5ecf2f
495642:	cc                   	int3
495643:	cc                   	int3
495644:	cc                   	int3
495645:	cc                   	int3
495646:	cc                   	int3
495647:	cc                   	int3
495648:	cc                   	int3
495649:	cc                   	int3
49564a:	cc                   	int3
49564b:	cc                   	int3
49564c:	cc                   	int3
49564d:	cc                   	int3
49564e:	cc                   	int3
49564f:	cc                   	int3
495650:	55                   	push   %ebp
495651:	8b ec                	mov    %esp,%ebp
495653:	6a ff                	push   $0xffffffff
495655:	68 48 7e 65 00       	push   $0x657e48
49565a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
495660:	50                   	push   %eax
495661:	83 ec 38             	sub    $0x38,%esp
495664:	a1 d4 89 72 00       	mov    0x7289d4,%eax
495669:	33 c5                	xor    %ebp,%eax
49566b:	89 45 f0             	mov    %eax,-0x10(%ebp)
49566e:	53                   	push   %ebx
49566f:	56                   	push   %esi
495670:	57                   	push   %edi
495671:	50                   	push   %eax
495672:	8d 45 f4             	lea    -0xc(%ebp),%eax
495675:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
49567b:	8b f1                	mov    %ecx,%esi
49567d:	8b 5e 24             	mov    0x24(%esi),%ebx
495680:	85 db                	test   %ebx,%ebx
495682:	0f 84 94 00 00 00    	je     0x49571c
495688:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
49568c:	8b cb                	mov    %ebx,%ecx
49568e:	0f 84 81 00 00 00    	je     0x495715
495694:	83 7e 3c 10          	cmpl   $0x10,0x3c(%esi)
495698:	8d 7e 28             	lea    0x28(%esi),%edi
49569b:	8b d7                	mov    %edi,%edx
49569d:	72 02                	jb     0x4956a1
49569f:	8b 17                	mov    (%edi),%edx
4956a1:	83 7e 58 10          	cmpl   $0x10,0x58(%esi)
4956a5:	8d 4e 44             	lea    0x44(%esi),%ecx
4956a8:	72 03                	jb     0x4956ad
4956aa:	8b 4e 44             	mov    0x44(%esi),%ecx
4956ad:	ff 77 10             	push   0x10(%edi)
4956b0:	52                   	push   %edx
4956b1:	6a 00                	push   $0x0
4956b3:	ff 76 54             	push   0x54(%esi)
4956b6:	51                   	push   %ecx
4956b7:	e8 04 50 fb ff       	call   0x44a6c0
4956bc:	83 c4 14             	add    $0x14,%esp
4956bf:	8b cb                	mov    %ebx,%ecx
4956c1:	83 f8 ff             	cmp    $0xffffffff,%eax
4956c4:	75 4f                	jne    0x495715
4956c6:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
4956ca:	8b c7                	mov    %edi,%eax
4956cc:	72 02                	jb     0x4956d0
4956ce:	8b 07                	mov    (%edi),%eax
4956d0:	6a 01                	push   $0x1
4956d2:	6a 00                	push   $0x0
4956d4:	50                   	push   %eax
4956d5:	53                   	push   %ebx
4956d6:	e8 45 36 01 00       	call   0x4a8d20
4956db:	68 b0 ed 68 00       	push   $0x68edb0
4956e0:	8d 45 d8             	lea    -0x28(%ebp),%eax
4956e3:	57                   	push   %edi
4956e4:	50                   	push   %eax
4956e5:	e8 e6 c5 fb ff       	call   0x451cd0
4956ea:	83 c4 1c             	add    $0x1c,%esp
4956ed:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4956f1:	8b c8                	mov    %eax,%ecx
4956f3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4956fa:	72 02                	jb     0x4956fe
4956fc:	8b 08                	mov    (%eax),%ecx
4956fe:	ff 70 10             	push   0x10(%eax)
495701:	51                   	push   %ecx
495702:	8d 4e 44             	lea    0x44(%esi),%ecx
495705:	e8 b6 f9 fa ff       	call   0x4450c0
49570a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
49570d:	e8 9e 2f fa ff       	call   0x4386b0
495712:	8b 4e 24             	mov    0x24(%esi),%ecx
495715:	8b c1                	mov    %ecx,%eax
495717:	e9 0f 01 00 00       	jmp    0x49582b
49571c:	8d 45 bc             	lea    -0x44(%ebp),%eax
49571f:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
495726:	50                   	push   %eax
495727:	e8 04 35 01 00       	call   0x4a8c30
49572c:	83 c4 04             	add    $0x4,%esp
49572f:	8b f8                	mov    %eax,%edi
495731:	80 7d 08 01          	cmpb   $0x1,0x8(%ebp)
495735:	75 6b                	jne    0x4957a2
495737:	85 ff                	test   %edi,%edi
495739:	0f 85 ce 00 00 00    	jne    0x49580d
49573f:	39 46 38             	cmp    %eax,0x38(%esi)
495742:	0f 84 c0 00 00 00    	je     0x495808
495748:	50                   	push   %eax
495749:	8d 5e 28             	lea    0x28(%esi),%ebx
49574c:	8d 4e 44             	lea    0x44(%esi),%ecx
49574f:	53                   	push   %ebx
495750:	e8 3b fd fa ff       	call   0x445490
495755:	83 f8 ff             	cmp    $0xffffffff,%eax
495758:	0f 85 aa 00 00 00    	jne    0x495808
49575e:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
495762:	8b c3                	mov    %ebx,%eax
495764:	72 02                	jb     0x495768
495766:	8b 03                	mov    (%ebx),%eax
495768:	6a 01                	push   $0x1
49576a:	6a 00                	push   $0x0
49576c:	50                   	push   %eax
49576d:	ff 75 bc             	push   -0x44(%ebp)
495770:	e8 ab 35 01 00       	call   0x4a8d20
495775:	68 b0 ed 68 00       	push   $0x68edb0
49577a:	8b f8                	mov    %eax,%edi
49577c:	c6 46 40 01          	movb   $0x1,0x40(%esi)
495780:	8d 45 d8             	lea    -0x28(%ebp),%eax
495783:	53                   	push   %ebx
495784:	50                   	push   %eax
495785:	e8 46 c5 fb ff       	call   0x451cd0
49578a:	83 c4 1c             	add    $0x1c,%esp
49578d:	50                   	push   %eax
49578e:	8d 4e 44             	lea    0x44(%esi),%ecx
495791:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
495798:	e8 53 75 fa ff       	call   0x43ccf0
49579d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4957a0:	eb 5d                	jmp    0x4957ff
4957a2:	85 ff                	test   %edi,%edi
4957a4:	75 67                	jne    0x49580d
4957a6:	39 7e 38             	cmp    %edi,0x38(%esi)
4957a9:	74 5d                	je     0x495808
4957ab:	57                   	push   %edi
4957ac:	8d 5e 28             	lea    0x28(%esi),%ebx
4957af:	8d 4e 44             	lea    0x44(%esi),%ecx
4957b2:	53                   	push   %ebx
4957b3:	e8 d8 fc fa ff       	call   0x445490
4957b8:	83 f8 ff             	cmp    $0xffffffff,%eax
4957bb:	75 4b                	jne    0x495808
4957bd:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
4957c1:	8b c3                	mov    %ebx,%eax
4957c3:	72 02                	jb     0x4957c7
4957c5:	8b 03                	mov    (%ebx),%eax
4957c7:	6a 01                	push   $0x1
4957c9:	6a 00                	push   $0x0
4957cb:	50                   	push   %eax
4957cc:	ff 75 bc             	push   -0x44(%ebp)
4957cf:	e8 4c 35 01 00       	call   0x4a8d20
4957d4:	68 b0 ed 68 00       	push   $0x68edb0
4957d9:	8b f8                	mov    %eax,%edi
4957db:	c6 46 40 01          	movb   $0x1,0x40(%esi)
4957df:	8d 45 c0             	lea    -0x40(%ebp),%eax
4957e2:	53                   	push   %ebx
4957e3:	50                   	push   %eax
4957e4:	e8 e7 c4 fb ff       	call   0x451cd0
4957e9:	83 c4 1c             	add    $0x1c,%esp
4957ec:	50                   	push   %eax
4957ed:	8d 4e 44             	lea    0x44(%esi),%ecx
4957f0:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4957f7:	e8 f4 74 fa ff       	call   0x43ccf0
4957fc:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4957ff:	e8 ac 2e fa ff       	call   0x4386b0
495804:	85 ff                	test   %edi,%edi
495806:	75 05                	jne    0x49580d
495808:	8b 45 bc             	mov    -0x44(%ebp),%eax
49580b:	eb 1b                	jmp    0x495828
49580d:	e8 9e 51 01 00       	call   0x4aa9b0
495812:	83 ff 05             	cmp    $0x5,%edi
495815:	74 04                	je     0x49581b
495817:	6a 04                	push   $0x4
495819:	eb 02                	jmp    0x49581d
49581b:	6a 03                	push   $0x3
49581d:	50                   	push   %eax
49581e:	e8 ad 51 01 00       	call   0x4aa9d0
495823:	83 c4 08             	add    $0x8,%esp
495826:	33 c0                	xor    %eax,%eax
495828:	89 46 24             	mov    %eax,0x24(%esi)
49582b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49582e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
495835:	59                   	pop    %ecx
495836:	5f                   	pop    %edi
495837:	5e                   	pop    %esi
495838:	5b                   	pop    %ebx
495839:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49583c:	33 cd                	xor    %ebp,%ecx
49583e:	e8 97 bc 14 00       	call   0x5e14da
495843:	8b e5                	mov    %ebp,%esp
495845:	5d                   	pop    %ebp
495846:	c2 04 00             	ret    $0x4
495849:	cc                   	int3
49584a:	cc                   	int3
49584b:	cc                   	int3
49584c:	cc                   	int3
49584d:	cc                   	int3
49584e:	cc                   	int3
49584f:	cc                   	int3
495850:	55                   	push   %ebp
495851:	8b ec                	mov    %esp,%ebp
495853:	6a ff                	push   $0xffffffff
495855:	68 68 d4 64 00       	push   $0x64d468
49585a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
495860:	50                   	push   %eax
495861:	83 ec 20             	sub    $0x20,%esp
495864:	a1 d4 89 72 00       	mov    0x7289d4,%eax
495869:	33 c5                	xor    %ebp,%eax
49586b:	89 45 f0             	mov    %eax,-0x10(%ebp)
49586e:	53                   	push   %ebx
49586f:	56                   	push   %esi
495870:	57                   	push   %edi
495871:	50                   	push   %eax
495872:	8d 45 f4             	lea    -0xc(%ebp),%eax
495875:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
49587b:	8b d9                	mov    %ecx,%ebx
49587d:	8b 7d 08             	mov    0x8(%ebp),%edi
495880:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
495887:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
49588e:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
495892:	8b 73 20             	mov    0x20(%ebx),%esi
495895:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
49589c:	85 f6                	test   %esi,%esi
49589e:	75 20                	jne    0x4958c0
4958a0:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4958a3:	89 75 d4             	mov    %esi,-0x2c(%ebp)
4958a6:	50                   	push   %eax
4958a7:	56                   	push   %esi
4958a8:	e8 a3 37 01 00       	call   0x4a9050
4958ad:	8b 75 d4             	mov    -0x2c(%ebp),%esi
4958b0:	33 c9                	xor    %ecx,%ecx
4958b2:	83 c4 08             	add    $0x8,%esp
4958b5:	85 c0                	test   %eax,%eax
4958b7:	0f 45 f1             	cmovne %ecx,%esi
4958ba:	89 75 d4             	mov    %esi,-0x2c(%ebp)
4958bd:	89 73 20             	mov    %esi,0x20(%ebx)
4958c0:	8d 4b 5c             	lea    0x5c(%ebx),%ecx
4958c3:	e8 48 58 00 00       	call   0x49b110
4958c8:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
4958cc:	72 02                	jb     0x4958d0
4958ce:	8b 3f                	mov    (%edi),%edi
4958d0:	57                   	push   %edi
4958d1:	56                   	push   %esi
4958d2:	e8 e9 37 01 00       	call   0x4a90c0
4958d7:	83 c4 08             	add    $0x8,%esp
4958da:	85 c0                	test   %eax,%eax
4958dc:	75 1d                	jne    0x4958fb
4958de:	56                   	push   %esi
4958df:	e8 4c 37 01 00       	call   0x4a9030
4958e4:	83 c4 04             	add    $0x4,%esp
4958e7:	8d 4b 5c             	lea    0x5c(%ebx),%ecx
4958ea:	8b f0                	mov    %eax,%esi
4958ec:	e8 3f 58 00 00       	call   0x49b130
4958f1:	56                   	push   %esi
4958f2:	8b cb                	mov    %ebx,%ecx
4958f4:	e8 97 f6 ff ff       	call   0x494f90
4958f9:	eb 02                	jmp    0x4958fd
4958fb:	33 c0                	xor    %eax,%eax
4958fd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
495900:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
495907:	59                   	pop    %ecx
495908:	5f                   	pop    %edi
495909:	5e                   	pop    %esi
49590a:	5b                   	pop    %ebx
49590b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
49590e:	33 cd                	xor    %ebp,%ecx
495910:	e8 c5 bb 14 00       	call   0x5e14da
495915:	8b e5                	mov    %ebp,%esp
495917:	5d                   	pop    %ebp
495918:	c2 04 00             	ret    $0x4
49591b:	cc                   	int3
49591c:	cc                   	int3
49591d:	cc                   	int3
49591e:	cc                   	int3
49591f:	cc                   	int3
495920:	55                   	push   %ebp
495921:	8b ec                	mov    %esp,%ebp
495923:	6a ff                	push   $0xffffffff
495925:	68 68 d4 64 00       	push   $0x64d468
49592a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
495930:	50                   	push   %eax
495931:	83 ec 20             	sub    $0x20,%esp
495934:	a1 d4 89 72 00       	mov    0x7289d4,%eax
495939:	33 c5                	xor    %ebp,%eax
49593b:	89 45 f0             	mov    %eax,-0x10(%ebp)
49593e:	53                   	push   %ebx
49593f:	56                   	push   %esi
495940:	57                   	push   %edi
495941:	50                   	push   %eax
495942:	8d 45 f4             	lea    -0xc(%ebp),%eax
495945:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
49594b:	8b d9                	mov    %ecx,%ebx
49594d:	8b 75 08             	mov    0x8(%ebp),%esi
495950:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
495957:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
49595e:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
495962:	8a 45 0c             	mov    0xc(%ebp),%al
495965:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
49596c:	84 c0                	test   %al,%al
49596e:	74 29                	je     0x495999