646738:	e8 a3 fc fe ff       	call   0x6363e0
64673d:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
646741:	8d 55 c0             	lea    -0x40(%ebp),%edx
646744:	8b f0                	mov    %eax,%esi
646746:	8d 4d a8             	lea    -0x58(%ebp),%ecx
646749:	0f 43 55 c0          	cmovae -0x40(%ebp),%edx
64674d:	83 7d bc 08          	cmpl   $0x8,-0x44(%ebp)
646751:	52                   	push   %edx
646752:	0f 43 4d a8          	cmovae -0x58(%ebp),%ecx
646756:	8b 06                	mov    (%esi),%eax
646758:	51                   	push   %ecx
646759:	68 a8 2e 6e 00       	push   $0x6e2ea8
64675e:	56                   	push   %esi
64675f:	ff 50 04             	call   *0x4(%eax)
646762:	83 c4 10             	add    $0x10,%esp
646765:	32 db                	xor    %bl,%bl
646767:	8d 4d c0             	lea    -0x40(%ebp),%ecx
64676a:	e8 51 1e df ff       	call   0x4385c0
64676f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
646772:	e8 49 1e df ff       	call   0x4385c0
646777:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
64677d:	83 f8 08             	cmp    $0x8,%eax
646780:	72 13                	jb     0x646795
646782:	40                   	inc    %eax
646783:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
646789:	50                   	push   %eax
64678a:	ff b5 28 ff ff ff    	push   -0xd8(%ebp)
646790:	e8 4b 26 df ff       	call   0x438de0
646795:	33 c0                	xor    %eax,%eax
646797:	c7 85 3c ff ff ff 07 	movl   $0x7,-0xc4(%ebp)
64679e:	00 00 00
6467a1:	66 89 85 28 ff ff ff 	mov    %ax,-0xd8(%ebp)
6467a8:	8b 45 84             	mov    -0x7c(%ebp),%eax
6467ab:	c7 85 38 ff ff ff 00 	movl   $0x0,-0xc8(%ebp)
6467b2:	00 00 00
6467b5:	83 f8 08             	cmp    $0x8,%eax
6467b8:	72 13                	jb     0x6467cd
6467ba:	40                   	inc    %eax
6467bb:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
6467c1:	50                   	push   %eax
6467c2:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
6467c8:	e8 13 26 df ff       	call   0x438de0
6467cd:	33 c0                	xor    %eax,%eax
6467cf:	c7 45 84 07 00 00 00 	movl   $0x7,-0x7c(%ebp)
6467d6:	8d 8d ac fe ff ff    	lea    -0x154(%ebp),%ecx
6467dc:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
6467e3:	66 89 85 70 ff ff ff 	mov    %ax,-0x90(%ebp)
6467ea:	e8 81 63 ff ff       	call   0x63cb70
6467ef:	8b 4d ec             	mov    -0x14(%ebp),%ecx
6467f2:	83 f9 08             	cmp    $0x8,%ecx
6467f5:	72 0d                	jb     0x646804
6467f7:	41                   	inc    %ecx
6467f8:	51                   	push   %ecx
6467f9:	ff 75 d8             	push   -0x28(%ebp)
6467fc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
6467ff:	e8 dc 25 df ff       	call   0x438de0
646804:	8a c3                	mov    %bl,%al
646806:	8b 4d f4             	mov    -0xc(%ebp),%ecx
646809:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
646810:	59                   	pop    %ecx
646811:	5f                   	pop    %edi
646812:	5e                   	pop    %esi
646813:	5b                   	pop    %ebx
646814:	8b 4d f0             	mov    -0x10(%ebp),%ecx
646817:	33 cd                	xor    %ebp,%ecx
646819:	e8 bc ac f9 ff       	call   0x5e14da
64681e:	8b e5                	mov    %ebp,%esp
646820:	5d                   	pop    %ebp
646821:	c2 0c 00             	ret    $0xc
646824:	cc                   	int3
646825:	cc                   	int3
646826:	cc                   	int3
646827:	cc                   	int3
646828:	cc                   	int3
646829:	cc                   	int3
64682a:	cc                   	int3
64682b:	cc                   	int3
64682c:	cc                   	int3
64682d:	cc                   	int3
64682e:	cc                   	int3
64682f:	cc                   	int3
646830:	55                   	push   %ebp
646831:	8b ec                	mov    %esp,%ebp
646833:	6a ff                	push   $0xffffffff
646835:	68 18 1c 65 00       	push   $0x651c18
64683a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
646840:	50                   	push   %eax
646841:	83 ec 20             	sub    $0x20,%esp
646844:	a1 d4 89 72 00       	mov    0x7289d4,%eax
646849:	33 c5                	xor    %ebp,%eax
64684b:	89 45 f0             	mov    %eax,-0x10(%ebp)
64684e:	53                   	push   %ebx
64684f:	56                   	push   %esi
646850:	50                   	push   %eax
646851:	8d 45 f4             	lea    -0xc(%ebp),%eax
646854:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
64685a:	8b f1                	mov    %ecx,%esi
64685c:	33 c0                	xor    %eax,%eax
64685e:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
646865:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
64686c:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
646870:	89 45 fc             	mov    %eax,-0x4(%ebp)
646873:	8d 45 d8             	lea    -0x28(%ebp),%eax
646876:	50                   	push   %eax
646877:	6a 13                	push   $0x13
646879:	e8 b2 07 00 00       	call   0x647030
64687e:	84 c0                	test   %al,%al
646880:	75 04                	jne    0x646886
646882:	32 db                	xor    %bl,%bl
646884:	eb 24                	jmp    0x6468aa
646886:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
64688a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
64688d:	8d 45 d8             	lea    -0x28(%ebp),%eax
646890:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
646894:	51                   	push   %ecx
646895:	50                   	push   %eax
646896:	e8 b5 46 ff ff       	call   0x63af50
64689b:	83 c4 08             	add    $0x8,%esp
64689e:	8b ce                	mov    %esi,%ecx
6468a0:	ff 75 d4             	push   -0x2c(%ebp)
6468a3:	e8 38 0a 00 00       	call   0x6472e0
6468a8:	8a d8                	mov    %al,%bl
6468aa:	8b 4d ec             	mov    -0x14(%ebp),%ecx
6468ad:	83 f9 08             	cmp    $0x8,%ecx
6468b0:	72 0d                	jb     0x6468bf
6468b2:	41                   	inc    %ecx
6468b3:	51                   	push   %ecx
6468b4:	ff 75 d8             	push   -0x28(%ebp)
6468b7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
6468ba:	e8 21 25 df ff       	call   0x438de0
6468bf:	8a c3                	mov    %bl,%al
6468c1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
6468c4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
6468cb:	59                   	pop    %ecx
6468cc:	5e                   	pop    %esi
6468cd:	5b                   	pop    %ebx
6468ce:	8b 4d f0             	mov    -0x10(%ebp),%ecx
6468d1:	33 cd                	xor    %ebp,%ecx
6468d3:	e8 02 ac f9 ff       	call   0x5e14da
6468d8:	8b e5                	mov    %ebp,%esp
6468da:	5d                   	pop    %ebp
6468db:	c3                   	ret
6468dc:	cc                   	int3
6468dd:	cc                   	int3
6468de:	cc                   	int3
6468df:	cc                   	int3
6468e0:	55                   	push   %ebp
6468e1:	8b ec                	mov    %esp,%ebp
6468e3:	8b 45 08             	mov    0x8(%ebp),%eax
6468e6:	56                   	push   %esi
6468e7:	8b f1                	mov    %ecx,%esi
6468e9:	8d 4e 7c             	lea    0x7c(%esi),%ecx
6468ec:	3b c8                	cmp    %eax,%ecx
6468ee:	74 0a                	je     0x6468fa
6468f0:	6a ff                	push   $0xffffffff
6468f2:	6a 00                	push   $0x0
6468f4:	50                   	push   %eax
6468f5:	e8 f6 1f df ff       	call   0x4388f0
6468fa:	8b 45 0c             	mov    0xc(%ebp),%eax
6468fd:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
646903:	3b c8                	cmp    %eax,%ecx
646905:	74 0a                	je     0x646911
646907:	6a ff                	push   $0xffffffff
646909:	6a 00                	push   $0x0
64690b:	50                   	push   %eax
64690c:	e8 df 1f df ff       	call   0x4388f0
646911:	ff 75 14             	push   0x14(%ebp)
646914:	8b ce                	mov    %esi,%ecx
646916:	ff 75 10             	push   0x10(%ebp)
646919:	e8 32 11 00 00       	call   0x647a50
64691e:	84 c0                	test   %al,%al
646920:	75 50                	jne    0x646972
646922:	8b 46 3c             	mov    0x3c(%esi),%eax
646925:	3d e7 2e 00 00       	cmp    $0x2ee7,%eax
64692a:	74 29                	je     0x646955
64692c:	3d fd 2e 00 00       	cmp    $0x2efd,%eax
646931:	74 22                	je     0x646955
646933:	e8 a8 fa fe ff       	call   0x6363e0
646938:	ff 76 3c             	push   0x3c(%esi)
64693b:	68 90 32 6e 00       	push   $0x6e3290
646940:	8b 08                	mov    (%eax),%ecx
646942:	68 fc 56 6e 00       	push   $0x6e56fc
646947:	50                   	push   %eax
646948:	ff 51 24             	call   *0x24(%ecx)
64694b:	83 c4 10             	add    $0x10,%esp
64694e:	32 c0                	xor    %al,%al
646950:	5e                   	pop    %esi
646951:	5d                   	pop    %ebp
646952:	c2 10 00             	ret    $0x10
646955:	e8 86 fa fe ff       	call   0x6363e0
64695a:	ff 76 3c             	push   0x3c(%esi)
64695d:	68 90 32 6e 00       	push   $0x6e3290
646962:	8b 08                	mov    (%eax),%ecx
646964:	50                   	push   %eax
646965:	ff 51 04             	call   *0x4(%ecx)
646968:	83 c4 0c             	add    $0xc,%esp
64696b:	32 c0                	xor    %al,%al
64696d:	5e                   	pop    %esi
64696e:	5d                   	pop    %ebp
64696f:	c2 10 00             	ret    $0x10
646972:	b0 01                	mov    $0x1,%al
646974:	5e                   	pop    %esi
646975:	5d                   	pop    %ebp
646976:	c2 10 00             	ret    $0x10
646979:	cc                   	int3
64697a:	cc                   	int3
64697b:	cc                   	int3
64697c:	cc                   	int3
64697d:	cc                   	int3
64697e:	cc                   	int3
64697f:	cc                   	int3
646980:	55                   	push   %ebp
646981:	8b ec                	mov    %esp,%ebp
646983:	51                   	push   %ecx
646984:	56                   	push   %esi
646985:	8b f1                	mov    %ecx,%esi
646987:	57                   	push   %edi
646988:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
64698c:	75 24                	jne    0x6469b2
64698e:	83 ec 18             	sub    $0x18,%esp
646991:	8b cc                	mov    %esp,%ecx
646993:	68 fc 56 6e 00       	push   $0x6e56fc
646998:	e8 83 1c df ff       	call   0x438620
64699d:	6a 00                	push   $0x0
64699f:	6a 13                	push   $0x13
6469a1:	8b ce                	mov    %esi,%ecx
6469a3:	e8 68 13 00 00       	call   0x647d10
6469a8:	32 c0                	xor    %al,%al
6469aa:	5f                   	pop    %edi
6469ab:	5e                   	pop    %esi
6469ac:	8b e5                	mov    %ebp,%esp
6469ae:	5d                   	pop    %ebp
6469af:	c2 04 00             	ret    $0x4
6469b2:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
6469b8:	85 c0                	test   %eax,%eax
6469ba:	74 11                	je     0x6469cd
6469bc:	50                   	push   %eax
6469bd:	ff 15 8c 24 68 00    	call   *0x68248c
6469c3:	c7 86 b0 00 00 00 00 	movl   $0x0,0xb0(%esi)
6469ca:	00 00 00
6469cd:	8b 46 24             	mov    0x24(%esi),%eax
6469d0:	bf 00 01 00 00       	mov    $0x100,%edi
6469d5:	b9 00 01 80 00       	mov    $0x800100,%ecx
6469da:	8d 90 38 01 00 00    	lea    0x138(%eax),%edx
6469e0:	83 b8 54 01 00 00 01 	cmpl   $0x1,0x154(%eax)
6469e7:	0f 44 f9             	cmove  %ecx,%edi
6469ea:	83 7a 14 08          	cmpl   $0x8,0x14(%edx)
6469ee:	72 02                	jb     0x6469f2
6469f0:	8b 12                	mov    (%edx),%edx
6469f2:	83 be 90 00 00 00 08 	cmpl   $0x8,0x90(%esi)
6469f9:	8d 46 7c             	lea    0x7c(%esi),%eax
6469fc:	72 02                	jb     0x646a00
6469fe:	8b 00                	mov    (%eax),%eax
646a00:	83 be a8 00 00 00 08 	cmpl   $0x8,0xa8(%esi)
646a07:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
646a0d:	72 02                	jb     0x646a11
646a0f:	8b 09                	mov    (%ecx),%ecx
646a11:	57                   	push   %edi
646a12:	6a 00                	push   $0x0
646a14:	52                   	push   %edx
646a15:	6a 00                	push   $0x0
646a17:	50                   	push   %eax
646a18:	51                   	push   %ecx
646a19:	ff b6 ac 00 00 00    	push   0xac(%esi)
646a1f:	ff 15 94 24 68 00    	call   *0x682494
646a25:	89 86 b0 00 00 00    	mov    %eax,0xb0(%esi)
646a2b:	85 c0                	test   %eax,%eax
646a2d:	75 2b                	jne    0x646a5a
646a2f:	e8 ac f9 fe ff       	call   0x6363e0
646a34:	68 f8 39 6e 00       	push   $0x6e39f8
646a39:	50                   	push   %eax
646a3a:	8b 08                	mov    (%eax),%ecx
646a3c:	ff 51 04             	call   *0x4(%ecx)
646a3f:	83 c4 08             	add    $0x8,%esp
646a42:	ff 15 e0 21 68 00    	call   *0x6821e0
646a48:	50                   	push   %eax
646a49:	8b ce                	mov    %esi,%ecx
646a4b:	e8 80 0a 00 00       	call   0x6474d0
646a50:	32 c0                	xor    %al,%al
646a52:	5f                   	pop    %edi
646a53:	5e                   	pop    %esi
646a54:	8b e5                	mov    %ebp,%esp
646a56:	5d                   	pop    %ebp
646a57:	c2 04 00             	ret    $0x4
646a5a:	5f                   	pop    %edi
646a5b:	b0 01                	mov    $0x1,%al
646a5d:	5e                   	pop    %esi
646a5e:	8b e5                	mov    %ebp,%esp
646a60:	5d                   	pop    %ebp
646a61:	c2 04 00             	ret    $0x4
646a64:	cc                   	int3
646a65:	cc                   	int3
646a66:	cc                   	int3
646a67:	cc                   	int3
646a68:	cc                   	int3
646a69:	cc                   	int3
646a6a:	cc                   	int3
646a6b:	cc                   	int3
646a6c:	cc                   	int3
646a6d:	cc                   	int3
646a6e:	cc                   	int3
646a6f:	cc                   	int3
646a70:	55                   	push   %ebp
646a71:	8b ec                	mov    %esp,%ebp
646a73:	51                   	push   %ecx
646a74:	53                   	push   %ebx
646a75:	56                   	push   %esi
646a76:	8b f1                	mov    %ecx,%esi
646a78:	57                   	push   %edi
646a79:	80 7e 20 00          	cmpb   $0x0,0x20(%esi)
646a7d:	0f 84 4a 01 00 00    	je     0x646bcd
646a83:	80 7e 28 00          	cmpb   $0x0,0x28(%esi)
646a87:	0f 84 40 01 00 00    	je     0x646bcd
646a8d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
646a90:	8d 45 fc             	lea    -0x4(%ebp),%eax
646a93:	50                   	push   %eax
646a94:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
646a9b:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
646aa1:	ff b6 b0 00 00 00    	push   0xb0(%esi)
646aa7:	ff 15 b8 24 68 00    	call   *0x6824b8
646aad:	85 c0                	test   %eax,%eax
646aaf:	75 38                	jne    0x646ae9
646ab1:	8b 1d e0 21 68 00    	mov    0x6821e0,%ebx
646ab7:	ff d3                	call   *%ebx
646ab9:	50                   	push   %eax
646aba:	8b ce                	mov    %esi,%ecx
646abc:	e8 0f 0a 00 00       	call   0x6474d0
646ac1:	e8 1a f9 fe ff       	call   0x6363e0
646ac6:	8b f0                	mov    %eax,%esi
646ac8:	8b 3e                	mov    (%esi),%edi
646aca:	ff d3                	call   *%ebx
646acc:	50                   	push   %eax
646acd:	68 20 39 6e 00       	push   $0x6e3920
646ad2:	68 fc 56 6e 00       	push   $0x6e56fc
646ad7:	56                   	push   %esi
646ad8:	ff 57 24             	call   *0x24(%edi)
646adb:	83 c4 10             	add    $0x10,%esp
646ade:	33 c0                	xor    %eax,%eax
646ae0:	5f                   	pop    %edi
646ae1:	5e                   	pop    %esi
646ae2:	5b                   	pop    %ebx
646ae3:	8b e5                	mov    %ebp,%esp
646ae5:	5d                   	pop    %ebp
646ae6:	c2 10 00             	ret    $0x10
646ae9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
646aec:	3b 4d 14             	cmp    0x14(%ebp),%ecx
646aef:	0f 47 4d 14          	cmova  0x14(%ebp),%ecx
646af3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
646af6:	85 c9                	test   %ecx,%ecx
646af8:	75 0c                	jne    0x646b06