49970b:	0f 43 c7             	cmovae %edi,%eax
49970e:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
499712:	7e 63                	jle    0x499777
499714:	41                   	inc    %ecx
499715:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
499718:	8a 45 a3             	mov    -0x5d(%ebp),%al
49971b:	83 7d b8 10          	cmpl   $0x10,-0x48(%ebp)
49971f:	8d 55 a4             	lea    -0x5c(%ebp),%edx
499722:	8b 75 a4             	mov    -0x5c(%ebp),%esi
499725:	0f 43 d6             	cmovae %esi,%edx
499728:	84 c0                	test   %al,%al
49972a:	74 5e                	je     0x49978a
49972c:	0f 1f 40 00          	nopl   0x0(%eax)
499730:	8b 45 94             	mov    -0x6c(%ebp),%eax
499733:	85 c0                	test   %eax,%eax
499735:	74 44                	je     0x49977b
499737:	8a 0a                	mov    (%edx),%cl
499739:	80 f9 7f             	cmp    $0x7f,%cl
49973c:	74 3d                	je     0x49977b
49973e:	83 e8 01             	sub    $0x1,%eax
499741:	89 45 94             	mov    %eax,-0x6c(%ebp)
499744:	74 17                	je     0x49975d
499746:	8b 75 94             	mov    -0x6c(%ebp),%esi
499749:	8d 45 bc             	lea    -0x44(%ebp),%eax
49974c:	83 fb 10             	cmp    $0x10,%ebx
49974f:	0f 43 c7             	cmovae %edi,%eax
499752:	3a 0c 30             	cmp    (%eax,%esi,1),%cl
499755:	8b 75 a4             	mov    -0x5c(%ebp),%esi
499758:	75 30                	jne    0x49978a
49975a:	8b 45 94             	mov    -0x6c(%ebp),%eax
49975d:	85 c0                	test   %eax,%eax
49975f:	75 0d                	jne    0x49976e
499761:	83 fb 10             	cmp    $0x10,%ebx
499764:	8d 45 bc             	lea    -0x44(%ebp),%eax
499767:	0f 43 c7             	cmovae %edi,%eax
49976a:	3a 08                	cmp    (%eax),%cl
49976c:	7c 1c                	jl     0x49978a
49976e:	80 7a 01 00          	cmpb   $0x0,0x1(%edx)
499772:	7e bc                	jle    0x499730
499774:	42                   	inc    %edx
499775:	eb b9                	jmp    0x499730
499777:	32 c0                	xor    %al,%al
499779:	eb a0                	jmp    0x49971b
49977b:	80 7d a1 00          	cmpb   $0x0,-0x5f(%ebp)
49977f:	8b 45 8c             	mov    -0x74(%ebp),%eax
499782:	75 09                	jne    0x49978d
499784:	c6 00 30             	movb   $0x30,(%eax)
499787:	40                   	inc    %eax
499788:	eb 03                	jmp    0x49978d
49978a:	8b 45 80             	mov    -0x80(%ebp),%eax
49978d:	c6 00 00             	movb   $0x0,(%eax)
499790:	83 fb 10             	cmp    $0x10,%ebx
499793:	72 28                	jb     0x4997bd
499795:	43                   	inc    %ebx
499796:	8b c7                	mov    %edi,%eax
499798:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
49979e:	72 10                	jb     0x4997b0
4997a0:	8b 7f fc             	mov    -0x4(%edi),%edi
4997a3:	83 c3 23             	add    $0x23,%ebx
4997a6:	2b c7                	sub    %edi,%eax
4997a8:	83 c0 fc             	add    $0xfffffffc,%eax
4997ab:	83 f8 1f             	cmp    $0x1f,%eax
4997ae:	77 60                	ja     0x499810
4997b0:	53                   	push   %ebx
4997b1:	57                   	push   %edi
4997b2:	e8 bb 78 14 00       	call   0x5e1072
4997b7:	8b 75 a4             	mov    -0x5c(%ebp),%esi
4997ba:	83 c4 08             	add    $0x8,%esp
4997bd:	8b 45 b8             	mov    -0x48(%ebp),%eax
4997c0:	83 f8 10             	cmp    $0x10,%eax
4997c3:	72 27                	jb     0x4997ec
4997c5:	8d 48 01             	lea    0x1(%eax),%ecx
4997c8:	8b c6                	mov    %esi,%eax
4997ca:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4997d0:	72 10                	jb     0x4997e2
4997d2:	8b 76 fc             	mov    -0x4(%esi),%esi
4997d5:	83 c1 23             	add    $0x23,%ecx
4997d8:	2b c6                	sub    %esi,%eax
4997da:	83 c0 fc             	add    $0xfffffffc,%eax
4997dd:	83 f8 1f             	cmp    $0x1f,%eax
4997e0:	77 2e                	ja     0x499810
4997e2:	51                   	push   %ecx
4997e3:	56                   	push   %esi
4997e4:	e8 89 78 14 00       	call   0x5e1072
4997e9:	83 c4 08             	add    $0x8,%esp
4997ec:	8b 45 84             	mov    -0x7c(%ebp),%eax
4997ef:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4997f2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4997f9:	59                   	pop    %ecx
4997fa:	5f                   	pop    %edi
4997fb:	5e                   	pop    %esi
4997fc:	5b                   	pop    %ebx
4997fd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
499800:	33 cd                	xor    %ebp,%ecx
499802:	e8 d3 7c 14 00       	call   0x5e14da
499807:	8b e5                	mov    %ebp,%esp
499809:	5d                   	pop    %ebp
49980a:	c3                   	ret
49980b:	e8 20 b8 fa ff       	call   0x445030
499810:	e8 1a 37 15 00       	call   0x5ecf2f
499815:	cc                   	int3
499816:	cc                   	int3
499817:	cc                   	int3
499818:	cc                   	int3
499819:	cc                   	int3
49981a:	cc                   	int3
49981b:	cc                   	int3
49981c:	cc                   	int3
49981d:	cc                   	int3
49981e:	cc                   	int3
49981f:	cc                   	int3
499820:	55                   	push   %ebp
499821:	8b ec                	mov    %esp,%ebp
499823:	6a ff                	push   $0xffffffff
499825:	68 98 7f 65 00       	push   $0x657f98
49982a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
499830:	50                   	push   %eax
499831:	83 ec 40             	sub    $0x40,%esp
499834:	53                   	push   %ebx
499835:	56                   	push   %esi
499836:	57                   	push   %edi
499837:	a1 d4 89 72 00       	mov    0x7289d4,%eax
49983c:	33 c5                	xor    %ebp,%eax
49983e:	50                   	push   %eax
49983f:	8d 45 f4             	lea    -0xc(%ebp),%eax
499842:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
499848:	89 65 f0             	mov    %esp,-0x10(%ebp)
49984b:	8b f9                	mov    %ecx,%edi
49984d:	89 7d e8             	mov    %edi,-0x18(%ebp)
499850:	8b 07                	mov    (%edi),%eax
499852:	8b 48 04             	mov    0x4(%eax),%ecx
499855:	03 cf                	add    %edi,%ecx
499857:	8b 51 0c             	mov    0xc(%ecx),%edx
49985a:	85 d2                	test   %edx,%edx
49985c:	74 39                	je     0x499897
49985e:	33 f6                	xor    %esi,%esi
499860:	b8 04 00 00 00       	mov    $0x4,%eax
499865:	39 71 38             	cmp    %esi,0x38(%ecx)
499868:	0f 45 c6             	cmovne %esi,%eax
49986b:	0b c2                	or     %edx,%eax
49986d:	83 e0 15             	and    $0x15,%eax
499870:	83 c8 02             	or     $0x2,%eax
499873:	89 41 0c             	mov    %eax,0xc(%ecx)
499876:	8b 49 10             	mov    0x10(%ecx),%ecx
499879:	23 c8                	and    %eax,%ecx
49987b:	0f 85 c3 01 00 00    	jne    0x499a44
499881:	32 c0                	xor    %al,%al
499883:	8b 4d f4             	mov    -0xc(%ebp),%ecx
499886:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
49988d:	59                   	pop    %ecx
49988e:	5f                   	pop    %edi
49988f:	5e                   	pop    %esi
499890:	5b                   	pop    %ebx
499891:	8b e5                	mov    %ebp,%esp
499893:	5d                   	pop    %ebp
499894:	c2 04 00             	ret    $0x4
499897:	8b 49 3c             	mov    0x3c(%ecx),%ecx
49989a:	85 c9                	test   %ecx,%ecx
49989c:	74 05                	je     0x4998a3
49989e:	e8 9d 13 00 00       	call   0x49ac40
4998a3:	32 db                	xor    %bl,%bl
4998a5:	88 5d ef             	mov    %bl,-0x11(%ebp)
4998a8:	38 5d 08             	cmp    %bl,0x8(%ebp)
4998ab:	0f 85 72 01 00 00    	jne    0x499a23
4998b1:	8b 07                	mov    (%edi),%eax
4998b3:	8b 40 04             	mov    0x4(%eax),%eax
4998b6:	f6 44 38 14 01       	testb  $0x1,0x14(%eax,%edi,1)
4998bb:	0f 84 62 01 00 00    	je     0x499a23
4998c1:	8b 44 38 30          	mov    0x30(%eax,%edi,1),%eax
4998c5:	8b 70 04             	mov    0x4(%eax),%esi
4998c8:	8b ce                	mov    %esi,%ecx
4998ca:	89 75 e0             	mov    %esi,-0x20(%ebp)
4998cd:	8b 06                	mov    (%esi),%eax
4998cf:	ff 50 04             	call   *0x4(%eax)
4998d2:	8d 45 dc             	lea    -0x24(%ebp),%eax
4998d5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4998dc:	50                   	push   %eax
4998dd:	e8 5e 3f fb ff       	call   0x44d840
4998e2:	83 c4 04             	add    $0x4,%esp
4998e5:	89 45 08             	mov    %eax,0x8(%ebp)
4998e8:	85 f6                	test   %esi,%esi
4998ea:	74 13                	je     0x4998ff
4998ec:	8b 16                	mov    (%esi),%edx
4998ee:	8b ce                	mov    %esi,%ecx
4998f0:	ff 52 08             	call   *0x8(%edx)
4998f3:	85 c0                	test   %eax,%eax
4998f5:	74 08                	je     0x4998ff
4998f7:	8b 10                	mov    (%eax),%edx
4998f9:	8b c8                	mov    %eax,%ecx
4998fb:	6a 01                	push   $0x1
4998fd:	ff 12                	call   *(%edx)
4998ff:	8b 07                	mov    (%edi),%eax
499901:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
499908:	8b 40 04             	mov    0x4(%eax),%eax
49990b:	8b 4c 38 38          	mov    0x38(%eax,%edi,1),%ecx
49990f:	8b 41 1c             	mov    0x1c(%ecx),%eax
499912:	8b 10                	mov    (%eax),%edx
499914:	85 d2                	test   %edx,%edx
499916:	74 0d                	je     0x499925
499918:	8b 41 2c             	mov    0x2c(%ecx),%eax
49991b:	83 38 00             	cmpl   $0x0,(%eax)
49991e:	7e 05                	jle    0x499925
499920:	0f b6 02             	movzbl (%edx),%eax
499923:	eb 0b                	jmp    0x499930
499925:	8b 01                	mov    (%ecx),%eax
499927:	ff 50 18             	call   *0x18(%eax)
49992a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
499930:	83 f8 ff             	cmp    $0xffffffff,%eax
499933:	75 07                	jne    0x49993c
499935:	b3 01                	mov    $0x1,%bl
499937:	e9 b5 00 00 00       	jmp    0x4999f1
49993c:	0f b6 c8             	movzbl %al,%ecx
49993f:	8b 45 08             	mov    0x8(%ebp),%eax
499942:	8b 40 0c             	mov    0xc(%eax),%eax
499945:	f6 04 48 48          	testb  $0x48,(%eax,%ecx,2)
499949:	0f 84 a2 00 00 00    	je     0x4999f1
49994f:	8b 07                	mov    (%edi),%eax
499951:	8b 40 04             	mov    0x4(%eax),%eax
499954:	8b 74 38 38          	mov    0x38(%eax,%edi,1),%esi
499958:	8b 46 1c             	mov    0x1c(%esi),%eax
49995b:	8b 08                	mov    (%eax),%ecx
49995d:	85 c9                	test   %ecx,%ecx
49995f:	74 07                	je     0x499968
499961:	8b 46 2c             	mov    0x2c(%esi),%eax
499964:	8b 00                	mov    (%eax),%eax
499966:	eb 02                	jmp    0x49996a
499968:	33 c0                	xor    %eax,%eax
49996a:	83 f8 01             	cmp    $0x1,%eax
49996d:	7e 12                	jle    0x499981
49996f:	8b 46 2c             	mov    0x2c(%esi),%eax
499972:	ff 08                	decl   (%eax)
499974:	8b 46 1c             	mov    0x1c(%esi),%eax
499977:	8b 08                	mov    (%eax),%ecx
499979:	41                   	inc    %ecx
49997a:	89 08                	mov    %ecx,(%eax)
49997c:	0f b6 01             	movzbl (%ecx),%eax
49997f:	eb af                	jmp    0x499930
499981:	85 c9                	test   %ecx,%ecx
499983:	74 1b                	je     0x4999a0
499985:	8b 4e 2c             	mov    0x2c(%esi),%ecx
499988:	8b 01                	mov    (%ecx),%eax
49998a:	85 c0                	test   %eax,%eax
49998c:	7e 12                	jle    0x4999a0
49998e:	48                   	dec    %eax
49998f:	89 01                	mov    %eax,(%ecx)
499991:	8b 4e 1c             	mov    0x1c(%esi),%ecx
499994:	8b 11                	mov    (%ecx),%edx
499996:	8d 42 01             	lea    0x1(%edx),%eax
499999:	89 01                	mov    %eax,(%ecx)
49999b:	0f b6 02             	movzbl (%edx),%eax
49999e:	eb 07                	jmp    0x4999a7
4999a0:	8b 06                	mov    (%esi),%eax
4999a2:	8b ce                	mov    %esi,%ecx
4999a4:	ff 50 1c             	call   *0x1c(%eax)
4999a7:	83 f8 ff             	cmp    $0xffffffff,%eax
4999aa:	75 04                	jne    0x4999b0
4999ac:	0b c0                	or     %eax,%eax
4999ae:	eb 80                	jmp    0x499930
4999b0:	8b 46 1c             	mov    0x1c(%esi),%eax
4999b3:	8b 08                	mov    (%eax),%ecx
4999b5:	85 c9                	test   %ecx,%ecx
4999b7:	74 10                	je     0x4999c9
4999b9:	8b 46 2c             	mov    0x2c(%esi),%eax
4999bc:	83 38 00             	cmpl   $0x0,(%eax)
4999bf:	7e 08                	jle    0x4999c9
4999c1:	0f b6 01             	movzbl (%ecx),%eax
4999c4:	e9 67 ff ff ff       	jmp    0x499930
4999c9:	8b 06                	mov    (%esi),%eax
4999cb:	8b ce                	mov    %esi,%ecx
4999cd:	e9 55 ff ff ff       	jmp    0x499927
4999d2:	8b 55 e8             	mov    -0x18(%ebp),%edx
4999d5:	6a 01                	push   $0x1
4999d7:	6a 04                	push   $0x4
4999d9:	8b 02                	mov    (%edx),%eax
4999db:	8b 48 04             	mov    0x4(%eax),%ecx
4999de:	03 ca                	add    %edx,%ecx
4999e0:	e8 ab 7f fb ff       	call   0x451990
4999e5:	b8 eb 99 49 00       	mov    $0x4999eb,%eax
4999ea:	c3                   	ret
4999eb:	8b 7d e8             	mov    -0x18(%ebp),%edi
4999ee:	8a 5d ef             	mov    -0x11(%ebp),%bl
4999f1:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4999f8:	84 db                	test   %bl,%bl
4999fa:	74 27                	je     0x499a23
4999fc:	8b 07                	mov    (%edi),%eax
4999fe:	33 d2                	xor    %edx,%edx
499a00:	8b 48 04             	mov    0x4(%eax),%ecx
499a03:	b8 04 00 00 00       	mov    $0x4,%eax
499a08:	03 cf                	add    %edi,%ecx
499a0a:	39 51 38             	cmp    %edx,0x38(%ecx)
499a0d:	0f 45 c2             	cmovne %edx,%eax
499a10:	0b 41 0c             	or     0xc(%ecx),%eax
499a13:	83 e0 14             	and    $0x14,%eax
499a16:	83 c8 03             	or     $0x3,%eax
499a19:	89 41 0c             	mov    %eax,0xc(%ecx)
499a1c:	8b 49 10             	mov    0x10(%ecx),%ecx
499a1f:	23 c8                	and    %eax,%ecx
499a21:	75 63                	jne    0x499a86
499a23:	8b 07                	mov    (%edi),%eax
499a25:	8b 40 04             	mov    0x4(%eax),%eax
499a28:	83 7c 38 0c 00       	cmpl   $0x0,0xc(%eax,%edi,1)
499a2d:	0f 94 c0             	sete   %al
499a30:	8b 4d f4             	mov    -0xc(%ebp),%ecx
499a33:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
499a3a:	59                   	pop    %ecx
499a3b:	5f                   	pop    %edi
499a3c:	5e                   	pop    %esi
499a3d:	5b                   	pop    %ebx
499a3e:	8b e5                	mov    %ebp,%esp
499a40:	5d                   	pop    %ebp
499a41:	c2 04 00             	ret    $0x4
499a44:	f6 c1 04             	test   $0x4,%cl
499a47:	74 07                	je     0x499a50
499a49:	be 34 c4 68 00       	mov    $0x68c434,%esi
499a4e:	eb 10                	jmp    0x499a60
499a50:	f6 c1 02             	test   $0x2,%cl
499a53:	be 4c c4 68 00       	mov    $0x68c44c,%esi
499a58:	b8 64 c4 68 00       	mov    $0x68c464,%eax
499a5d:	0f 44 f0             	cmove  %eax,%esi
499a60:	8d 45 dc             	lea    -0x24(%ebp),%eax
499a63:	6a 01                	push   $0x1
499a65:	50                   	push   %eax
499a66:	e8 65 05 fa ff       	call   0x439fd0
499a6b:	83 c4 08             	add    $0x8,%esp
499a6e:	8d 4d c8             	lea    -0x38(%ebp),%ecx
499a71:	50                   	push   %eax
499a72:	56                   	push   %esi
499a73:	e8 78 0a fa ff       	call   0x43a4f0
499a78:	68 0c 60 70 00       	push   $0x70600c
499a7d:	8d 45 c8             	lea    -0x38(%ebp),%eax
499a80:	50                   	push   %eax
499a81:	e8 ac 8f 14 00       	call   0x5e2a32
499a86:	f6 c1 04             	test   $0x4,%cl
499a89:	74 07                	je     0x499a92
499a8b:	be 34 c4 68 00       	mov    $0x68c434,%esi
499a90:	eb 10                	jmp    0x499aa2
499a92:	f6 c1 02             	test   $0x2,%cl
499a95:	be 4c c4 68 00       	mov    $0x68c44c,%esi
499a9a:	b8 64 c4 68 00       	mov    $0x68c464,%eax
499a9f:	0f 44 f0             	cmove  %eax,%esi
499aa2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
499aa5:	6a 01                	push   $0x1
499aa7:	50                   	push   %eax
499aa8:	e8 23 05 fa ff       	call   0x439fd0
499aad:	83 c4 08             	add    $0x8,%esp
499ab0:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
499ab3:	50                   	push   %eax
499ab4:	56                   	push   %esi
499ab5:	e8 36 0a fa ff       	call   0x43a4f0
499aba:	68 0c 60 70 00       	push   $0x70600c