6088a0:	33 c0                	xor    %eax,%eax
6088a2:	84 c9                	test   %cl,%cl
6088a4:	0f 95 c0             	setne  %al
6088a7:	03 f8                	add    %eax,%edi
6088a9:	84 c9                	test   %cl,%cl
6088ab:	0f 85 1c ff ff ff    	jne    0x6087cd
6088b1:	84 ff                	test   %bh,%bh
6088b3:	74 01                	je     0x6088b6
6088b5:	47                   	inc    %edi
6088b6:	80 3f 20             	cmpb   $0x20,(%edi)
6088b9:	74 fa                	je     0x6088b5
6088bb:	84 ff                	test   %bh,%bh
6088bd:	75 11                	jne    0x6088d0
6088bf:	38 3f                	cmp    %bh,(%edi)
6088c1:	0f 85 a4 00 00 00    	jne    0x60896b
6088c7:	c6 46 08 01          	movb   $0x1,0x8(%esi)
6088cb:	e9 ab 00 00 00       	jmp    0x60897b
6088d0:	6a 03                	push   $0x3
6088d2:	68 cc 51 6d 00       	push   $0x6d51cc
6088d7:	57                   	push   %edi
6088d8:	e8 83 12 ff ff       	call   0x5f9b60
6088dd:	83 c4 0c             	add    $0xc,%esp
6088e0:	85 c0                	test   %eax,%eax
6088e2:	0f 85 83 00 00 00    	jne    0x60896b
6088e8:	6a 20                	push   $0x20
6088ea:	83 c7 03             	add    $0x3,%edi
6088ed:	59                   	pop    %ecx
6088ee:	eb 01                	jmp    0x6088f1
6088f0:	47                   	inc    %edi
6088f1:	8a 07                	mov    (%edi),%al
6088f3:	3a c1                	cmp    %cl,%al
6088f5:	74 f9                	je     0x6088f0
6088f7:	3c 3d                	cmp    $0x3d,%al
6088f9:	75 70                	jne    0x60896b
6088fb:	47                   	inc    %edi
6088fc:	38 0f                	cmp    %cl,(%edi)
6088fe:	74 fb                	je     0x6088fb
608900:	6a 05                	push   $0x5
608902:	5b                   	pop    %ebx
608903:	53                   	push   %ebx
608904:	68 d0 51 6d 00       	push   $0x6d51d0
608909:	57                   	push   %edi
60890a:	e8 0a 71 ff ff       	call   0x5ffa19
60890f:	83 c4 0c             	add    $0xc,%esp
608912:	85 c0                	test   %eax,%eax
608914:	75 08                	jne    0x60891e
608916:	81 0e 00 00 04 00    	orl    $0x40000,(%esi)
60891c:	eb 3a                	jmp    0x608958
60891e:	6a 08                	push   $0x8
608920:	5b                   	pop    %ebx
608921:	53                   	push   %ebx
608922:	68 d8 51 6d 00       	push   $0x6d51d8
608927:	57                   	push   %edi
608928:	e8 ec 70 ff ff       	call   0x5ffa19
60892d:	83 c4 0c             	add    $0xc,%esp
608930:	85 c0                	test   %eax,%eax
608932:	75 08                	jne    0x60893c
608934:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
60893a:	eb 1c                	jmp    0x608958
60893c:	6a 07                	push   $0x7
60893e:	5b                   	pop    %ebx
60893f:	53                   	push   %ebx
608940:	68 e0 51 6d 00       	push   $0x6d51e0
608945:	57                   	push   %edi
608946:	e8 ce 70 ff ff       	call   0x5ffa19
60894b:	83 c4 0c             	add    $0xc,%esp
60894e:	85 c0                	test   %eax,%eax
608950:	75 19                	jne    0x60896b
608952:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
608958:	8d 0c 1f             	lea    (%edi,%ebx,1),%ecx
60895b:	eb 01                	jmp    0x60895e
60895d:	41                   	inc    %ecx
60895e:	8a 01                	mov    (%ecx),%al
608960:	3c 20                	cmp    $0x20,%al
608962:	74 f9                	je     0x60895d
608964:	84 c0                	test   %al,%al
608966:	e9 56 ff ff ff       	jmp    0x6088c1
60896b:	e8 89 46 fe ff       	call   0x5ecff9
608970:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
608976:	e8 a4 45 fe ff       	call   0x5ecf1f
60897b:	5b                   	pop    %ebx
60897c:	5f                   	pop    %edi
60897d:	8b c6                	mov    %esi,%eax
60897f:	5e                   	pop    %esi
608980:	c9                   	leave
608981:	c3                   	ret
608982:	8b ff                	mov    %edi,%edi
608984:	55                   	push   %ebp
608985:	8b ec                	mov    %esp,%ebp
608987:	51                   	push   %ecx
608988:	53                   	push   %ebx
608989:	56                   	push   %esi
60898a:	8b 75 08             	mov    0x8(%ebp),%esi
60898d:	33 c0                	xor    %eax,%eax
60898f:	57                   	push   %edi
608990:	8b fe                	mov    %esi,%edi
608992:	6a 02                	push   $0x2
608994:	5a                   	pop    %edx
608995:	6a 20                	push   $0x20
608997:	ab                   	stos   %eax,%es:(%edi)
608998:	5b                   	pop    %ebx
608999:	ab                   	stos   %eax,%es:(%edi)
60899a:	ab                   	stos   %eax,%es:(%edi)
60899b:	8b 7d 0c             	mov    0xc(%ebp),%edi
60899e:	a1 b0 10 73 00       	mov    0x7310b0,%eax
6089a3:	89 46 04             	mov    %eax,0x4(%esi)
6089a6:	0f b7 07             	movzwl (%edi),%eax
6089a9:	8b c8                	mov    %eax,%ecx
6089ab:	66 3b c3             	cmp    %bx,%ax
6089ae:	75 0c                	jne    0x6089bc
6089b0:	03 fa                	add    %edx,%edi
6089b2:	0f b7 07             	movzwl (%edi),%eax
6089b5:	66 3b c3             	cmp    %bx,%ax
6089b8:	74 f6                	je     0x6089b0
6089ba:	8b c8                	mov    %eax,%ecx
6089bc:	0f b7 c1             	movzwl %cx,%eax
6089bf:	83 f8 61             	cmp    $0x61,%eax
6089c2:	74 20                	je     0x6089e4
6089c4:	83 f8 72             	cmp    $0x72,%eax
6089c7:	74 12                	je     0x6089db
6089c9:	66 83 f9 77          	cmp    $0x77,%cx
6089cd:	0f 85 03 02 00 00    	jne    0x608bd6
6089d3:	c7 06 01 03 00 00    	movl   $0x301,(%esi)
6089d9:	eb 0f                	jmp    0x6089ea
6089db:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
6089e2:	eb 09                	jmp    0x6089ed
6089e4:	c7 06 09 01 00 00    	movl   $0x109,(%esi)
6089ea:	89 56 04             	mov    %edx,0x4(%esi)
6089ed:	03 fa                	add    %edx,%edi
6089ef:	b1 01                	mov    $0x1,%cl
6089f1:	33 c0                	xor    %eax,%eax
6089f3:	6a 0a                	push   $0xa
6089f5:	88 45 ff             	mov    %al,-0x1(%ebp)
6089f8:	8a d8                	mov    %al,%bl
6089fa:	88 45 fe             	mov    %al,-0x2(%ebp)
6089fd:	8a f8                	mov    %al,%bh
6089ff:	5a                   	pop    %edx
608a00:	0f b7 07             	movzwl (%edi),%eax
608a03:	66 85 c0             	test   %ax,%ax
608a06:	0f 84 dc 00 00 00    	je     0x608ae8
608a0c:	83 f8 53             	cmp    $0x53,%eax
608a0f:	77 65                	ja     0x608a76
608a11:	74 56                	je     0x608a69
608a13:	83 e8 20             	sub    $0x20,%eax
608a16:	0f 84 b8 00 00 00    	je     0x608ad4
608a1c:	83 e8 0b             	sub    $0xb,%eax
608a1f:	74 3b                	je     0x608a5c
608a21:	83 e8 01             	sub    $0x1,%eax
608a24:	74 30                	je     0x608a56
608a26:	83 e8 18             	sub    $0x18,%eax
608a29:	74 23                	je     0x608a4e
608a2b:	2b c2                	sub    %edx,%eax
608a2d:	74 12                	je     0x608a41
608a2f:	83 e8 04             	sub    $0x4,%eax
608a32:	0f 85 9e 01 00 00    	jne    0x608bd6
608a38:	84 db                	test   %bl,%bl
608a3a:	75 1c                	jne    0x608a58
608a3c:	83 0e 10             	orl    $0x10,(%esi)
608a3f:	eb 2f                	jmp    0x608a70
608a41:	81 0e 80 00 00 00    	orl    $0x80,(%esi)
608a47:	b1 01                	mov    $0x1,%cl
608a49:	e9 86 00 00 00       	jmp    0x608ad4
608a4e:	56                   	push   %esi
608a4f:	e8 9f 02 00 00       	call   0x608cf3
608a54:	eb 78                	jmp    0x608ace
608a56:	b7 01                	mov    $0x1,%bh
608a58:	32 c9                	xor    %cl,%cl
608a5a:	eb 78                	jmp    0x608ad4
608a5c:	8d 45 fe             	lea    -0x2(%ebp),%eax
608a5f:	50                   	push   %eax
608a60:	56                   	push   %esi
608a61:	e8 2b 03 00 00       	call   0x608d91
608a66:	59                   	pop    %ecx
608a67:	eb 65                	jmp    0x608ace
608a69:	84 db                	test   %bl,%bl
608a6b:	75 eb                	jne    0x608a58
608a6d:	83 0e 20             	orl    $0x20,(%esi)
608a70:	b3 01                	mov    $0x1,%bl
608a72:	8a cb                	mov    %bl,%cl
608a74:	eb 5e                	jmp    0x608ad4
608a76:	83 e8 54             	sub    $0x54,%eax
608a79:	74 4d                	je     0x608ac8
608a7b:	83 e8 0e             	sub    $0xe,%eax
608a7e:	74 40                	je     0x608ac0
608a80:	83 e8 01             	sub    $0x1,%eax
608a83:	74 2f                	je     0x608ab4
608a85:	83 e8 0b             	sub    $0xb,%eax
608a88:	74 1e                	je     0x608aa8
608a8a:	83 e8 06             	sub    $0x6,%eax
608a8d:	74 11                	je     0x608aa0
608a8f:	83 e8 04             	sub    $0x4,%eax
608a92:	0f 85 3e 01 00 00    	jne    0x608bd6
608a98:	56                   	push   %esi
608a99:	e8 49 03 00 00       	call   0x608de7
608a9e:	eb 2e                	jmp    0x608ace
608aa0:	56                   	push   %esi
608aa1:	e8 21 03 00 00       	call   0x608dc7
608aa6:	eb 26                	jmp    0x608ace
608aa8:	8d 45 ff             	lea    -0x1(%ebp),%eax
608aab:	50                   	push   %eax
608aac:	56                   	push   %esi
608aad:	e8 bd 02 00 00       	call   0x608d6f
608ab2:	eb b2                	jmp    0x608a66
608ab4:	8d 45 ff             	lea    -0x1(%ebp),%eax
608ab7:	50                   	push   %eax
608ab8:	56                   	push   %esi
608ab9:	e8 8f 02 00 00       	call   0x608d4d
608abe:	eb a6                	jmp    0x608a66
608ac0:	56                   	push   %esi
608ac1:	e8 67 02 00 00       	call   0x608d2d
608ac6:	eb 06                	jmp    0x608ace
608ac8:	56                   	push   %esi
608ac9:	e8 40 02 00 00       	call   0x608d0e
608ace:	59                   	pop    %ecx
608acf:	6a 0a                	push   $0xa
608ad1:	5a                   	pop    %edx
608ad2:	8a c8                	mov    %al,%cl
608ad4:	0f b6 c1             	movzbl %cl,%eax
608ad7:	f7 d8                	neg    %eax
608ad9:	1b c0                	sbb    %eax,%eax
608adb:	83 e0 02             	and    $0x2,%eax
608ade:	03 f8                	add    %eax,%edi
608ae0:	84 c9                	test   %cl,%cl
608ae2:	0f 85 18 ff ff ff    	jne    0x608a00
608ae8:	84 ff                	test   %bh,%bh
608aea:	74 03                	je     0x608aef
608aec:	83 c7 02             	add    $0x2,%edi
608aef:	6a 20                	push   $0x20
608af1:	58                   	pop    %eax
608af2:	eb 03                	jmp    0x608af7
608af4:	83 c7 02             	add    $0x2,%edi
608af7:	66 39 07             	cmp    %ax,(%edi)
608afa:	74 f8                	je     0x608af4
608afc:	84 ff                	test   %bh,%bh
608afe:	75 14                	jne    0x608b14
608b00:	33 c0                	xor    %eax,%eax
608b02:	66 39 07             	cmp    %ax,(%edi)
608b05:	0f 85 cb 00 00 00    	jne    0x608bd6
608b0b:	c6 46 08 01          	movb   $0x1,0x8(%esi)
608b0f:	e9 d2 00 00 00       	jmp    0x608be6
608b14:	6a 03                	push   $0x3
608b16:	68 e8 51 6d 00       	push   $0x6d51e8
608b1b:	57                   	push   %edi
608b1c:	e8 46 26 ff ff       	call   0x5fb167
608b21:	83 c4 0c             	add    $0xc,%esp
608b24:	85 c0                	test   %eax,%eax
608b26:	0f 85 aa 00 00 00    	jne    0x608bd6
608b2c:	83 c7 06             	add    $0x6,%edi
608b2f:	6a 20                	push   $0x20
608b31:	5b                   	pop    %ebx
608b32:	0f b7 07             	movzwl (%edi),%eax
608b35:	8b c8                	mov    %eax,%ecx
608b37:	66 3b c3             	cmp    %bx,%ax
608b3a:	75 0d                	jne    0x608b49
608b3c:	83 c7 02             	add    $0x2,%edi
608b3f:	0f b7 07             	movzwl (%edi),%eax
608b42:	66 3b c3             	cmp    %bx,%ax
608b45:	74 f5                	je     0x608b3c
608b47:	8b c8                	mov    %eax,%ecx
608b49:	66 83 f9 3d          	cmp    $0x3d,%cx
608b4d:	0f 85 83 00 00 00    	jne    0x608bd6
608b53:	83 c7 02             	add    $0x2,%edi
608b56:	66 39 1f             	cmp    %bx,(%edi)
608b59:	74 f8                	je     0x608b53
608b5b:	6a 05                	push   $0x5
608b5d:	68 f0 51 6d 00       	push   $0x6d51f0
608b62:	57                   	push   %edi
608b63:	e8 e6 e6 fe ff       	call   0x5f724e
608b68:	83 c4 0c             	add    $0xc,%esp
608b6b:	85 c0                	test   %eax,%eax
608b6d:	75 0a                	jne    0x608b79
608b6f:	81 0e 00 00 04 00    	orl    $0x40000,(%esi)
608b75:	6a 0a                	push   $0xa
608b77:	eb 3a                	jmp    0x608bb3
608b79:	6a 08                	push   $0x8
608b7b:	68 fc 51 6d 00       	push   $0x6d51fc
608b80:	57                   	push   %edi
608b81:	e8 c8 e6 fe ff       	call   0x5f724e
608b86:	83 c4 0c             	add    $0xc,%esp
608b89:	85 c0                	test   %eax,%eax
608b8b:	75 0a                	jne    0x608b97
608b8d:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
608b93:	6a 10                	push   $0x10
608b95:	eb 1c                	jmp    0x608bb3
608b97:	6a 07                	push   $0x7
608b99:	68 0c 52 6d 00       	push   $0x6d520c
608b9e:	57                   	push   %edi
608b9f:	e8 aa e6 fe ff       	call   0x5f724e
608ba4:	83 c4 0c             	add    $0xc,%esp
608ba7:	85 c0                	test   %eax,%eax
608ba9:	75 2b                	jne    0x608bd6
608bab:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
608bb1:	6a 0e                	push   $0xe
608bb3:	58                   	pop    %eax
608bb4:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
608bb7:	0f b7 01             	movzwl (%ecx),%eax
608bba:	8b d0                	mov    %eax,%edx
608bbc:	66 3b c3             	cmp    %bx,%ax
608bbf:	75 0d                	jne    0x608bce
608bc1:	8d 49 02             	lea    0x2(%ecx),%ecx
608bc4:	0f b7 01             	movzwl (%ecx),%eax
608bc7:	66 3b c3             	cmp    %bx,%ax
608bca:	74 f5                	je     0x608bc1
608bcc:	8b d0                	mov    %eax,%edx
608bce:	66 85 d2             	test   %dx,%dx
608bd1:	e9 2f ff ff ff       	jmp    0x608b05
608bd6:	e8 1e 44 fe ff       	call   0x5ecff9
608bdb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
608be1:	e8 39 43 fe ff       	call   0x5ecf1f
608be6:	5f                   	pop    %edi
608be7:	8b c6                	mov    %esi,%eax
608be9:	5e                   	pop    %esi
608bea:	5b                   	pop    %ebx
608beb:	c9                   	leave
608bec:	c3                   	ret
608bed:	8b ff                	mov    %edi,%edi
608bef:	55                   	push   %ebp
608bf0:	8b ec                	mov    %esp,%ebp
608bf2:	83 ec 1c             	sub    $0x1c,%esp
608bf5:	56                   	push   %esi
608bf6:	57                   	push   %edi
608bf7:	ff 75 0c             	push   0xc(%ebp)
608bfa:	8d 45 e4             	lea    -0x1c(%ebp),%eax
608bfd:	50                   	push   %eax
608bfe:	e8 55 fb ff ff       	call   0x608758
608c03:	8b f0                	mov    %eax,%esi
608c05:	8d 7d f0             	lea    -0x10(%ebp),%edi
608c08:	59                   	pop    %ecx
608c09:	59                   	pop    %ecx
608c0a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c0b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c0c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c0d:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
608c11:	5f                   	pop    %edi
608c12:	5e                   	pop    %esi
608c13:	74 57                	je     0x608c6c
608c15:	68 80 01 00 00       	push   $0x180
608c1a:	ff 75 10             	push   0x10(%ebp)
608c1d:	8d 45 fc             	lea    -0x4(%ebp),%eax
608c20:	ff 75 f0             	push   -0x10(%ebp)
608c23:	ff 75 08             	push   0x8(%ebp)
608c26:	50                   	push   %eax
608c27:	e8 be 14 00 00       	call   0x60a0ea
608c2c:	83 c4 14             	add    $0x14,%esp
608c2f:	85 c0                	test   %eax,%eax
608c31:	75 39                	jne    0x608c6c
608c33:	8b 45 14             	mov    0x14(%ebp),%eax
608c36:	ff 05 d0 0c 73 00    	incl   0x730cd0
608c3c:	83 c0 0c             	add    $0xc,%eax
608c3f:	8b 4d f4             	mov    -0xc(%ebp),%ecx