688733:	85 c0                	test   %eax,%eax
688735:	5f                   	pop    %edi
688736:	0f 45 d8             	cmovne %eax,%ebx
688739:	89 9e c0 91 01 00    	mov    %ebx,0x191c0(%esi)
68873f:	8b c3                	mov    %ebx,%eax
688741:	5b                   	pop    %ebx
688742:	5e                   	pop    %esi
688743:	59                   	pop    %ecx
688744:	c3                   	ret
688745:	81 ff ff 00 00 00    	cmp    $0xff,%edi
68874b:	75 9c                	jne    0x6886e9
68874d:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
688753:	3b 86 f0 60 00 00    	cmp    0x60f0(%esi),%eax
688759:	72 0d                	jb     0x688768
68875b:	56                   	push   %esi
68875c:	e8 44 97 d8 ff       	call   0x411ea5
688761:	83 c4 04             	add    $0x4,%esp
688764:	85 c0                	test   %eax,%eax
688766:	75 81                	jne    0x6886e9
688768:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
68876e:	80 bc 30 14 61 00 00 	cmpb   $0xfe,0x6114(%eax,%esi,1)
688775:	fe
688776:	0f 85 6d ff ff ff    	jne    0x6886e9
68877c:	5f                   	pop    %edi
68877d:	5b                   	pop    %ebx
68877e:	c7 86 c0 91 01 00 30 	movl   $0x30,0x191c0(%esi)
688785:	00 00 00
688788:	b8 30 00 00 00       	mov    $0x30,%eax
68878d:	5e                   	pop    %esi
68878e:	59                   	pop    %ecx
68878f:	c3                   	ret
688790:	5f                   	pop    %edi
688791:	5b                   	pop    %ebx
688792:	89 8e f4 60 00 00    	mov    %ecx,0x60f4(%esi)
688798:	b8 06 00 00 00       	mov    $0x6,%eax
68879d:	c7 86 c0 91 01 00 06 	movl   $0x6,0x191c0(%esi)
6887a4:	00 00 00
6887a7:	5e                   	pop    %esi
6887a8:	59                   	pop    %ecx
6887a9:	c3                   	ret
6887aa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
6887b0:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
6887b6:	3b 86 f0 60 00 00    	cmp    0x60f0(%esi),%eax
6887bc:	72 12                	jb     0x6887d0
6887be:	56                   	push   %esi
6887bf:	e8 e1 96 d8 ff       	call   0x411ea5
6887c4:	83 c4 04             	add    $0x4,%esp
6887c7:	85 c0                	test   %eax,%eax
6887c9:	74 05                	je     0x6887d0
6887cb:	83 cb ff             	or     $0xffffffff,%ebx
6887ce:	eb 15                	jmp    0x6887e5
6887d0:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
6887d6:	0f b6 9c 30 14 61 00 	movzbl 0x6114(%eax,%esi,1),%ebx
6887dd:	00
6887de:	40                   	inc    %eax
6887df:	89 86 ec 60 00 00    	mov    %eax,0x60ec(%esi)
6887e5:	8d 43 01             	lea    0x1(%ebx),%eax
6887e8:	85 c0                	test   %eax,%eax
6887ea:	7e 05                	jle    0x6887f1
6887ec:	83 fb 20             	cmp    $0x20,%ebx
6887ef:	7e bf                	jle    0x6887b0
6887f1:	8d be 14 69 01 00    	lea    0x16914(%esi),%edi
6887f7:	55                   	push   %ebp
6887f8:	bd 00 04 00 00       	mov    $0x400,%ebp
6887fd:	83 fb 3e             	cmp    $0x3e,%ebx
688800:	74 51                	je     0x688853
688802:	83 fb 2f             	cmp    $0x2f,%ebx
688805:	74 4c                	je     0x688853
688807:	83 fb 20             	cmp    $0x20,%ebx
68880a:	7e 47                	jle    0x688853
68880c:	83 fb ff             	cmp    $0xffffffff,%ebx
68880f:	74 42                	je     0x688853
688811:	4d                   	dec    %ebp
688812:	85 ed                	test   %ebp,%ebp
688814:	7e 03                	jle    0x688819
688816:	88 1f                	mov    %bl,(%edi)
688818:	47                   	inc    %edi
688819:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
68881f:	3b 86 f0 60 00 00    	cmp    0x60f0(%esi),%eax
688825:	72 12                	jb     0x688839
688827:	56                   	push   %esi
688828:	e8 78 96 d8 ff       	call   0x411ea5
68882d:	83 c4 04             	add    $0x4,%esp
688830:	85 c0                	test   %eax,%eax
688832:	74 05                	je     0x688839
688834:	83 cb ff             	or     $0xffffffff,%ebx
688837:	eb c9                	jmp    0x688802
688839:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
68883f:	0f b6 9c 30 14 61 00 	movzbl 0x6114(%eax,%esi,1),%ebx
688846:	00
688847:	40                   	inc    %eax
688848:	89 86 ec 60 00 00    	mov    %eax,0x60ec(%esi)
68884e:	83 fb 3e             	cmp    $0x3e,%ebx
688851:	75 af                	jne    0x688802
688853:	8d 43 01             	lea    0x1(%ebx),%eax
688856:	c6 07 00             	movb   $0x0,(%edi)
688859:	85 c0                	test   %eax,%eax
68885b:	7e 44                	jle    0x6888a1
68885d:	0f 1f 00             	nopl   (%eax)
688860:	83 fb 20             	cmp    $0x20,%ebx
688863:	7f 3c                	jg     0x6888a1
688865:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
68886b:	3b 86 f0 60 00 00    	cmp    0x60f0(%esi),%eax
688871:	72 12                	jb     0x688885
688873:	56                   	push   %esi
688874:	e8 2c 96 d8 ff       	call   0x411ea5
688879:	83 c4 04             	add    $0x4,%esp
68887c:	85 c0                	test   %eax,%eax
68887e:	74 05                	je     0x688885
688880:	83 cb ff             	or     $0xffffffff,%ebx
688883:	eb 15                	jmp    0x68889a
688885:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
68888b:	0f b6 9c 30 14 61 00 	movzbl 0x6114(%eax,%esi,1),%ebx
688892:	00
688893:	40                   	inc    %eax
688894:	89 86 ec 60 00 00    	mov    %eax,0x60ec(%esi)
68889a:	8d 43 01             	lea    0x1(%ebx),%eax
68889d:	85 c0                	test   %eax,%eax
68889f:	7f bf                	jg     0x688860
6888a1:	56                   	push   %esi
6888a2:	e8 c8 a3 d8 ff       	call   0x412c6f
6888a7:	8b 86 5c 85 01 00    	mov    0x1855c(%esi),%eax
6888ad:	83 c4 04             	add    $0x4,%esp
6888b0:	85 c0                	test   %eax,%eax
6888b2:	74 0c                	je     0x6888c0
6888b4:	33 c9                	xor    %ecx,%ecx
6888b6:	66 89 48 14          	mov    %cx,0x14(%eax)
6888ba:	8b 00                	mov    (%eax),%eax
6888bc:	85 c0                	test   %eax,%eax
6888be:	75 f4                	jne    0x6888b4
6888c0:	83 fb ff             	cmp    $0xffffffff,%ebx
6888c3:	0f 84 ff 03 00 00    	je     0x688cc8
6888c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
6888d0:	83 fb 3e             	cmp    $0x3e,%ebx
6888d3:	0f 84 41 04 00 00    	je     0x688d1a
6888d9:	83 fb 2f             	cmp    $0x2f,%ebx
6888dc:	0f 84 38 04 00 00    	je     0x688d1a
6888e2:	8d be 14 65 01 00    	lea    0x16514(%esi),%edi
6888e8:	bd 00 04 00 00       	mov    $0x400,%ebp
6888ed:	83 fb 3d             	cmp    $0x3d,%ebx
6888f0:	74 56                	je     0x688948
6888f2:	83 fb 3e             	cmp    $0x3e,%ebx
6888f5:	74 51                	je     0x688948
6888f7:	83 fb 2f             	cmp    $0x2f,%ebx
6888fa:	74 4c                	je     0x688948
6888fc:	83 fb 20             	cmp    $0x20,%ebx
6888ff:	7e 47                	jle    0x688948
688901:	83 fb ff             	cmp    $0xffffffff,%ebx
688904:	74 42                	je     0x688948
688906:	4d                   	dec    %ebp
688907:	85 ed                	test   %ebp,%ebp
688909:	7e 03                	jle    0x68890e
68890b:	88 1f                	mov    %bl,(%edi)
68890d:	47                   	inc    %edi
68890e:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
688914:	3b 86 f0 60 00 00    	cmp    0x60f0(%esi),%eax
68891a:	72 12                	jb     0x68892e
68891c:	56                   	push   %esi
68891d:	e8 83 95 d8 ff       	call   0x411ea5
688922:	83 c4 04             	add    $0x4,%esp
688925:	85 c0                	test   %eax,%eax
688927:	74 05                	je     0x68892e
688929:	83 cb ff             	or     $0xffffffff,%ebx
68892c:	eb c4                	jmp    0x6888f2
68892e:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
688934:	0f b6 9c 30 14 61 00 	movzbl 0x6114(%eax,%esi,1),%ebx
68893b:	00
68893c:	40                   	inc    %eax
68893d:	89 86 ec 60 00 00    	mov    %eax,0x60ec(%esi)
688943:	83 fb 3d             	cmp    $0x3d,%ebx
688946:	75 aa                	jne    0x6888f2
688948:	c6 07 00             	movb   $0x0,(%edi)
68894b:	81 fd 00 04 00 00    	cmp    $0x400,%ebp
688951:	0f 84 ae 03 00 00    	je     0x688d05
688957:	6a 05                	push   $0x5
688959:	68 28 1f bf 00       	push   $0xbf1f28
68895e:	8d be 14 65 01 00    	lea    0x16514(%esi),%edi
688964:	57                   	push   %edi
688965:	e8 af 62 d8 ff       	call   0x40ec19
68896a:	83 c4 0c             	add    $0xc,%esp
68896d:	85 c0                	test   %eax,%eax
68896f:	75 28                	jne    0x688999
688971:	8a 86 19 65 01 00    	mov    0x16519(%esi),%al
688977:	3c 3a                	cmp    $0x3a,%al
688979:	75 0c                	jne    0x688987
68897b:	8d 86 1a 65 01 00    	lea    0x1651a(%esi),%eax
688981:	89 44 24 10          	mov    %eax,0x10(%esp)
688985:	eb 1a                	jmp    0x6889a1
688987:	33 d2                	xor    %edx,%edx
688989:	b9 00 02 bf 00       	mov    $0xbf0200,%ecx
68898e:	84 c0                	test   %al,%al
688990:	0f 45 ca             	cmovne %edx,%ecx
688993:	89 4c 24 10          	mov    %ecx,0x10(%esp)
688997:	eb 08                	jmp    0x6889a1
688999:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
6889a0:	00
6889a1:	8b ae 5c 85 01 00    	mov    0x1855c(%esi),%ebp
6889a7:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
6889ae:	00
6889af:	85 ed                	test   %ebp,%ebp
6889b1:	74 3f                	je     0x6889f2
6889b3:	8b cf                	mov    %edi,%ecx
6889b5:	8d 45 16             	lea    0x16(%ebp),%eax
6889b8:	8a 10                	mov    (%eax),%dl
6889ba:	3a 11                	cmp    (%ecx),%dl
6889bc:	75 1a                	jne    0x6889d8
6889be:	84 d2                	test   %dl,%dl
6889c0:	74 12                	je     0x6889d4
6889c2:	8a 50 01             	mov    0x1(%eax),%dl
6889c5:	3a 51 01             	cmp    0x1(%ecx),%dl
6889c8:	75 0e                	jne    0x6889d8
6889ca:	83 c0 02             	add    $0x2,%eax
6889cd:	83 c1 02             	add    $0x2,%ecx
6889d0:	84 d2                	test   %dl,%dl
6889d2:	75 e4                	jne    0x6889b8
6889d4:	33 c0                	xor    %eax,%eax
6889d6:	eb 05                	jmp    0x6889dd
6889d8:	1b c0                	sbb    %eax,%eax
6889da:	83 c8 01             	or     $0x1,%eax
6889dd:	85 c0                	test   %eax,%eax
6889df:	74 0d                	je     0x6889ee
6889e1:	89 6c 24 18          	mov    %ebp,0x18(%esp)
6889e5:	8b 6d 00             	mov    0x0(%ebp),%ebp
6889e8:	85 ed                	test   %ebp,%ebp
6889ea:	75 c7                	jne    0x6889b3
6889ec:	eb 04                	jmp    0x6889f2
6889ee:	85 ed                	test   %ebp,%ebp
6889f0:	75 72                	jne    0x688a64
6889f2:	8d 4f 01             	lea    0x1(%edi),%ecx
6889f5:	8a 07                	mov    (%edi),%al
6889f7:	47                   	inc    %edi
6889f8:	84 c0                	test   %al,%al
6889fa:	75 f9                	jne    0x6889f5
6889fc:	2b f9                	sub    %ecx,%edi
6889fe:	8d 47 18             	lea    0x18(%edi),%eax
688a01:	50                   	push   %eax
688a02:	e8 ac c2 d8 ff       	call   0x414cb3
688a07:	8b e8                	mov    %eax,%ebp
688a09:	83 c4 04             	add    $0x4,%esp
688a0c:	85 ed                	test   %ebp,%ebp
688a0e:	0f 84 dc 02 00 00    	je     0x688cf0
688a14:	6a ff                	push   $0xffffffff
688a16:	8d 86 14 65 01 00    	lea    0x16514(%esi),%eax
688a1c:	50                   	push   %eax
688a1d:	8d 47 01             	lea    0x1(%edi),%eax
688a20:	50                   	push   %eax
688a21:	8d 45 16             	lea    0x16(%ebp),%eax
688a24:	50                   	push   %eax
688a25:	e8 53 f8 d8 ff       	call   0x41827d
688a2a:	8b 44 24 28          	mov    0x28(%esp),%eax
688a2e:	83 c4 10             	add    $0x10,%esp
688a31:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
688a38:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
688a3f:	c7 45 10 00 00 00 00 	movl   $0x0,0x10(%ebp)
688a46:	85 c0                	test   %eax,%eax
688a48:	74 0b                	je     0x688a55
688a4a:	89 28                	mov    %ebp,(%eax)
688a4c:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
688a53:	eb 0f                	jmp    0x688a64
688a55:	8b 86 5c 85 01 00    	mov    0x1855c(%esi),%eax
688a5b:	89 45 00             	mov    %eax,0x0(%ebp)
688a5e:	89 ae 5c 85 01 00    	mov    %ebp,0x1855c(%esi)
688a64:	8d 43 01             	lea    0x1(%ebx),%eax
688a67:	85 c0                	test   %eax,%eax
688a69:	7e 46                	jle    0x688ab1
688a6b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
688a70:	83 fb 20             	cmp    $0x20,%ebx
688a73:	7f 3c                	jg     0x688ab1
688a75:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
688a7b:	3b 86 f0 60 00 00    	cmp    0x60f0(%esi),%eax
688a81:	72 12                	jb     0x688a95
688a83:	56                   	push   %esi
688a84:	e8 1c 94 d8 ff       	call   0x411ea5
688a89:	83 c4 04             	add    $0x4,%esp
688a8c:	85 c0                	test   %eax,%eax
688a8e:	74 05                	je     0x688a95
688a90:	83 cb ff             	or     $0xffffffff,%ebx
688a93:	eb 15                	jmp    0x688aaa
688a95:	8b 86 ec 60 00 00    	mov    0x60ec(%esi),%eax
688a9b:	0f b6 9c 30 14 61 00 	movzbl 0x6114(%eax,%esi,1),%ebx
688aa2:	00
688aa3:	40                   	inc    %eax
688aa4:	89 86 ec 60 00 00    	mov    %eax,0x60ec(%esi)
688aaa:	8d 43 01             	lea    0x1(%ebx),%eax
688aad:	85 c0                	test   %eax,%eax
688aaf:	7f bf                	jg     0x688a70
688ab1:	83 fb 3d             	cmp    $0x3d,%ebx
688ab4:	0f 85 de 01 00 00    	jne    0x688c98
688aba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
688ac0:	56                   	push   %esi
688ac1:	e8 36 9c d8 ff       	call   0x4126fc
688ac6:	8b f8                	mov    %eax,%edi
688ac8:	83 c4 04             	add    $0x4,%esp
688acb:	8d 47 01             	lea    0x1(%edi),%eax
688ace:	85 c0                	test   %eax,%eax
688ad0:	7e 05                	jle    0x688ad7
688ad2:	83 ff 20             	cmp    $0x20,%edi
688ad5:	7e e9                	jle    0x688ac0
688ad7:	83 ff fb             	cmp    $0xfffffffb,%edi
688ada:	74 10                	je     0x688aec
688adc:	83 ff fa             	cmp    $0xfffffffa,%edi
688adf:	74 0b                	je     0x688aec
688ae1:	89 be f4 60 00 00    	mov    %edi,0x60f4(%esi)
688ae7:	bf 20 00 00 00       	mov    $0x20,%edi
688aec:	8b 45 0c             	mov    0xc(%ebp),%eax
688aef:	89 44 24 18          	mov    %eax,0x18(%esp)
688af3:	8d 44 24 18          	lea    0x18(%esp),%eax
688af7:	57                   	push   %edi
688af8:	50                   	push   %eax
688af9:	ff 75 08             	push   0x8(%ebp)
688afc:	56                   	push   %esi
688afd:	e8 2e 9d ff ff       	call   0x682830
688b02:	83 c4 10             	add    $0x10,%esp
688b05:	85 c0                	test   %eax,%eax
688b07:	0f 84 43 01 00 00    	je     0x688c50
688b0d:	83 be c0 91 01 00 14 	cmpl   $0x14,0x191c0(%esi)
688b14:	0f 85 ca 01 00 00    	jne    0x688ce4
688b1a:	ff 74 24 18          	push   0x18(%esp)
688b1e:	c7 86 c0 91 01 00 00 	movl   $0x0,0x191c0(%esi)
688b25:	00 00 00
688b28:	ff 75 08             	push   0x8(%ebp)
688b2b:	56                   	push   %esi
688b2c:	e8 cd 02 d9 ff       	call   0x418dfe
688b31:	83 c4 0c             	add    $0xc,%esp
688b34:	85 c0                	test   %eax,%eax
688b36:	0f 85 a8 01 00 00    	jne    0x688ce4
688b3c:	8b 45 08             	mov    0x8(%ebp),%eax
688b3f:	85 c0                	test   %eax,%eax
688b41:	74 09                	je     0x688b4c
688b43:	50                   	push   %eax
688b44:	e8 89 cd da ff       	call   0x4358d2
688b49:	83 c4 04             	add    $0x4,%esp
688b4c:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
688b53:	8b 8e 10 61 00 00    	mov    0x6110(%esi),%ecx
688b59:	8b 86 0c 61 00 00    	mov    0x610c(%esi),%eax
688b5f:	2b c1                	sub    %ecx,%eax
688b61:	89 44 24 18          	mov    %eax,0x18(%esp)
688b65:	8d 44 24 18          	lea    0x18(%esp),%eax
688b69:	57                   	push   %edi
688b6a:	50                   	push   %eax
688b6b:	8b 86 08 61 00 00    	mov    0x6108(%esi),%eax
688b71:	03 c1                	add    %ecx,%eax
688b73:	50                   	push   %eax
688b74:	56                   	push   %esi
688b75:	e8 b6 9c ff ff       	call   0x682830
688b7a:	83 c4 10             	add    $0x10,%esp
688b7d:	85 c0                	test   %eax,%eax
688b7f:	74 66                	je     0x688be7
688b81:	83 be c0 91 01 00 14 	cmpl   $0x14,0x191c0(%esi)
688b88:	0f 85 56 01 00 00    	jne    0x688ce4