416a68:	89 73 04             	mov    %esi,0x4(%ebx)
416a6b:	33 f6                	xor    %esi,%esi
416a6d:	c7 03 45 52 43 50    	movl   $0x50435245,(%ebx)
416a73:	8b 45 90             	mov    -0x70(%ebp),%eax
416a76:	89 43 08             	mov    %eax,0x8(%ebx)
416a79:	8b 45 94             	mov    -0x6c(%ebp),%eax
416a7c:	89 43 0c             	mov    %eax,0xc(%ebx)
416a7f:	8b 45 dc             	mov    -0x24(%ebp),%eax
416a82:	89 43 10             	mov    %eax,0x10(%ebx)
416a85:	8b 45 e0             	mov    -0x20(%ebp),%eax
416a88:	89 43 14             	mov    %eax,0x14(%ebx)
416a8b:	33 c0                	xor    %eax,%eax
416a8d:	89 43 18             	mov    %eax,0x18(%ebx)
416a90:	6a 1c                	push   $0x1c
416a92:	58                   	pop    %eax
416a93:	66 89 43 22          	mov    %ax,0x22(%ebx)
416a97:	66 8b 85 64 ff ff ff 	mov    -0x9c(%ebp),%ax
416a9e:	66 89 43 24          	mov    %ax,0x24(%ebx)
416aa2:	66 8b 85 60 ff ff ff 	mov    -0xa0(%ebp),%ax
416aa9:	66 89 43 26          	mov    %ax,0x26(%ebx)
416aad:	33 c0                	xor    %eax,%eax
416aaf:	89 43 28             	mov    %eax,0x28(%ebx)
416ab2:	89 43 2c             	mov    %eax,0x2c(%ebx)
416ab5:	89 73 30             	mov    %esi,0x30(%ebx)
416ab8:	89 73 34             	mov    %esi,0x34(%ebx)
416abb:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
416ac1:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
416ac7:	89 75 88             	mov    %esi,-0x78(%ebp)
416aca:	89 75 8c             	mov    %esi,-0x74(%ebp)
416acd:	89 b5 70 ff ff ff    	mov    %esi,-0x90(%ebp)
416ad3:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
416ad9:	0f b7 43 22          	movzwl 0x22(%ebx),%eax
416add:	8d 14 43             	lea    (%ebx,%eax,2),%edx
416ae0:	89 95 5c ff ff ff    	mov    %edx,-0xa4(%ebp)
416ae6:	0f b7 43 24          	movzwl 0x24(%ebx),%eax
416aea:	0f b7 4b 26          	movzwl 0x26(%ebx),%ecx
416aee:	0f af c8             	imul   %eax,%ecx
416af1:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
416af7:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
416afd:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
416b03:	89 75 ac             	mov    %esi,-0x54(%ebp)
416b06:	89 75 98             	mov    %esi,-0x68(%ebp)
416b09:	89 75 9c             	mov    %esi,-0x64(%ebp)
416b0c:	89 75 a0             	mov    %esi,-0x60(%ebp)
416b0f:	89 75 a4             	mov    %esi,-0x5c(%ebp)
416b12:	8d 3c 4a             	lea    (%edx,%ecx,2),%edi
416b15:	89 7d e0             	mov    %edi,-0x20(%ebp)
416b18:	89 bd 44 ff ff ff    	mov    %edi,-0xbc(%ebp)
416b1e:	89 b5 54 ff ff ff    	mov    %esi,-0xac(%ebp)
416b24:	85 c0                	test   %eax,%eax
416b26:	0f 8f 16 ad 03 00    	jg     0x451842
416b2c:	8b 45 c8             	mov    -0x38(%ebp),%eax
416b2f:	8d 55 e8             	lea    -0x18(%ebp),%edx
416b32:	89 45 d8             	mov    %eax,-0x28(%ebp)
416b35:	b8 83 00 00 00       	mov    $0x83,%eax
416b3a:	56                   	push   %esi
416b3b:	66 89 07             	mov    %ax,(%edi)
416b3e:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416b44:	50                   	push   %eax
416b45:	56                   	push   %esi
416b46:	8b 4b 08             	mov    0x8(%ebx),%ecx
416b49:	8d 45 d4             	lea    -0x2c(%ebp),%eax
416b4c:	50                   	push   %eax
416b4d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
416b50:	89 7d e8             	mov    %edi,-0x18(%ebp)
416b53:	50                   	push   %eax
416b54:	8d 45 f4             	lea    -0xc(%ebp),%eax
416b57:	50                   	push   %eax
416b58:	8d 45 c4             	lea    -0x3c(%ebp),%eax
416b5b:	50                   	push   %eax
416b5c:	56                   	push   %esi
416b5d:	56                   	push   %esi
416b5e:	56                   	push   %esi
416b5f:	56                   	push   %esi
416b60:	8d 45 f8             	lea    -0x8(%ebp),%eax
416b63:	50                   	push   %eax
416b64:	8d 45 d8             	lea    -0x28(%ebp),%eax
416b67:	50                   	push   %eax
416b68:	e8 4b 02 00 00       	call   0x416db8
416b6d:	66 8b 85 70 ff ff ff 	mov    -0x90(%ebp),%ax
416b74:	83 c4 34             	add    $0x34,%esp
416b77:	66 89 43 1e          	mov    %ax,0x1e(%ebx)
416b7b:	66 8b 85 7c ff ff ff 	mov    -0x84(%ebp),%ax
416b82:	66 89 43 20          	mov    %ax,0x20(%ebx)
416b86:	66 8b 85 78 ff ff ff 	mov    -0x88(%ebp),%ax
416b8d:	66 89 43 1c          	mov    %ax,0x1c(%ebx)
416b91:	8b 45 94             	mov    -0x6c(%ebp),%eax
416b94:	83 c8 02             	or     $0x2,%eax
416b97:	89 43 0c             	mov    %eax,0xc(%ebx)
416b9a:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
416b9e:	0f 85 f0 ac 03 00    	jne    0x451894
416ba4:	8b 45 d4             	mov    -0x2c(%ebp),%eax
416ba7:	89 45 dc             	mov    %eax,-0x24(%ebp)
416baa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
416bad:	89 45 d0             	mov    %eax,-0x30(%ebp)
416bb0:	8b 75 f8             	mov    -0x8(%ebp),%esi
416bb3:	33 d2                	xor    %edx,%edx
416bb5:	89 75 f8             	mov    %esi,-0x8(%ebp)
416bb8:	85 f6                	test   %esi,%esi
416bba:	75 0c                	jne    0x416bc8
416bbc:	8b 45 d8             	mov    -0x28(%ebp),%eax
416bbf:	66 39 10             	cmp    %dx,(%eax)
416bc2:	0f 85 dc ac 03 00    	jne    0x4518a4
416bc8:	8b 45 e8             	mov    -0x18(%ebp),%eax
416bcb:	33 c9                	xor    %ecx,%ecx
416bcd:	66 89 08             	mov    %cx,(%eax)
416bd0:	83 c0 02             	add    $0x2,%eax
416bd3:	89 45 e8             	mov    %eax,-0x18(%ebp)
416bd6:	2b c7                	sub    %edi,%eax
416bd8:	d1 f8                	sar    $1,%eax
416bda:	3b 45 cc             	cmp    -0x34(%ebp),%eax
416bdd:	0f 8f cc ac 03 00    	jg     0x4518af
416be3:	8b 85 50 ff ff ff    	mov    -0xb0(%ebp),%eax
416be9:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
416bef:	3b c1                	cmp    %ecx,%eax
416bf1:	0f 87 c3 ac 03 00    	ja     0x4518ba
416bf7:	81 bd 6c ff ff ff 00 	cmpl   $0x800,-0x94(%ebp)
416bfe:	08 00 00
416c01:	0f 8f 27 ad 03 00    	jg     0x45192e
416c07:	33 c0                	xor    %eax,%eax
416c09:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
416c0f:	85 f6                	test   %esi,%esi
416c11:	75 0e                	jne    0x416c21
416c13:	66 8b 43 20          	mov    0x20(%ebx),%ax
416c17:	66 3b 43 1e          	cmp    0x1e(%ebx),%ax
416c1b:	0f 87 1a ad 03 00    	ja     0x45193b
416c21:	f7 45 ec 00 00 02 00 	testl  $0x20000,-0x14(%ebp)
416c28:	8b 75 fc             	mov    -0x4(%ebp),%esi
416c2b:	75 11                	jne    0x416c3e
416c2d:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416c33:	8b d6                	mov    %esi,%edx
416c35:	50                   	push   %eax
416c36:	8b cf                	mov    %edi,%ecx
416c38:	e8 51 1b 00 00       	call   0x41878e
416c3d:	59                   	pop    %ecx
416c3e:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
416c42:	0f 85 fe ac 03 00    	jne    0x451946
416c48:	8b 75 f8             	mov    -0x8(%ebp),%esi
416c4b:	85 f6                	test   %esi,%esi
416c4d:	0f 85 89 ad 03 00    	jne    0x4519dc
416c53:	8b 43 08             	mov    0x8(%ebx),%eax
416c56:	be 80 00 00 00       	mov    $0x80,%esi
416c5b:	89 45 c8             	mov    %eax,-0x38(%ebp)
416c5e:	89 75 0c             	mov    %esi,0xc(%ebp)
416c61:	8d 4e 7f             	lea    0x7f(%esi),%ecx
416c64:	a8 10                	test   $0x10,%al
416c66:	75 5c                	jne    0x416cc4
416c68:	33 f6                	xor    %esi,%esi
416c6a:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416c70:	56                   	push   %esi
416c71:	50                   	push   %eax
416c72:	33 d2                	xor    %edx,%edx
416c74:	8b cf                	mov    %edi,%ecx
416c76:	e8 d3 fa ff ff       	call   0x41674e
416c7b:	59                   	pop    %ecx
416c7c:	59                   	pop    %ecx
416c7d:	85 c0                	test   %eax,%eax
416c7f:	0f 85 8d ad 03 00    	jne    0x451a12
416c85:	8b 45 f4             	mov    -0xc(%ebp),%eax
416c88:	85 c0                	test   %eax,%eax
416c8a:	79 79                	jns    0x416d05
416c8c:	56                   	push   %esi
416c8d:	8d 55 f4             	lea    -0xc(%ebp),%edx
416c90:	8b cf                	mov    %edi,%ecx
416c92:	e8 1e 22 00 00       	call   0x418eb5
416c97:	8b d0                	mov    %eax,%edx
416c99:	8b 45 f4             	mov    -0xc(%ebp),%eax
416c9c:	59                   	pop    %ecx
416c9d:	85 c0                	test   %eax,%eax
416c9f:	79 67                	jns    0x416d08
416ca1:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416ca7:	33 d2                	xor    %edx,%edx
416ca9:	56                   	push   %esi
416caa:	50                   	push   %eax
416cab:	8b cf                	mov    %edi,%ecx
416cad:	e8 cb 22 00 00       	call   0x418f7d
416cb2:	59                   	pop    %ecx
416cb3:	59                   	pop    %ecx
416cb4:	85 c0                	test   %eax,%eax
416cb6:	0f 85 64 ad 03 00    	jne    0x451a20
416cbc:	be 80 00 00 00       	mov    $0x80,%esi
416cc1:	8d 4e 7f             	lea    0x7f(%esi),%ecx
416cc4:	8b 45 dc             	mov    -0x24(%ebp),%eax
416cc7:	85 c0                	test   %eax,%eax
416cc9:	79 57                	jns    0x416d22
416ccb:	8b 75 e8             	mov    -0x18(%ebp),%esi
416cce:	33 c0                	xor    %eax,%eax
416cd0:	8b d6                	mov    %esi,%edx
416cd2:	50                   	push   %eax
416cd3:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
416cd9:	8b cf                	mov    %edi,%ecx
416cdb:	50                   	push   %eax
416cdc:	ff 75 fc             	push   -0x4(%ebp)
416cdf:	e8 9d 17 00 00       	call   0x418481
416ce4:	83 c4 0c             	add    $0xc,%esp
416ce7:	85 c0                	test   %eax,%eax
416ce9:	0f 85 b6 00 00 00    	jne    0x416da5
416cef:	0f b7 47 02          	movzwl 0x2(%edi),%eax
416cf3:	8d 3c 47             	lea    (%edi,%eax,2),%edi
416cf6:	66 83 3f 77          	cmpw   $0x77,(%edi)
416cfa:	74 d2                	je     0x416cce
416cfc:	8b c3                	mov    %ebx,%eax
416cfe:	5f                   	pop    %edi
416cff:	5e                   	pop    %esi
416d00:	5b                   	pop    %ebx
416d01:	8b e5                	mov    %ebp,%esp
416d03:	5d                   	pop    %ebp
416d04:	c3                   	ret
416d05:	8b 55 c4             	mov    -0x3c(%ebp),%edx
416d08:	66 89 53 18          	mov    %dx,0x18(%ebx)
416d0c:	a8 01                	test   $0x1,%al
416d0e:	0f 85 18 ad 03 00    	jne    0x451a2c
416d14:	be 80 00 00 00       	mov    $0x80,%esi
416d19:	8d 4e 7f             	lea    0x7f(%esi),%ecx
416d1c:	83 4b 0c 10          	orl    $0x10,0xc(%ebx)
416d20:	eb a2                	jmp    0x416cc4
416d22:	f6 43 08 10          	testb  $0x10,0x8(%ebx)
416d26:	75 67                	jne    0x416d8f
416d28:	8b 55 d0             	mov    -0x30(%ebp),%edx
416d2b:	66 89 53 1a          	mov    %dx,0x1a(%ebx)
416d2f:	a8 01                	test   $0x1,%al
416d31:	74 21                	je     0x416d54
416d33:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
416d37:	74 60                	je     0x416d99
416d39:	66 3b d6             	cmp    %si,%dx
416d3c:	0f 83 61 ad 03 00    	jae    0x451aa3
416d42:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
416d48:	0f b7 ca             	movzwl %dx,%ecx
416d4b:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
416d4f:	66 3b c2             	cmp    %dx,%ax
416d52:	75 4c                	jne    0x416da0
416d54:	83 4b 0c 40          	orl    $0x40,0xc(%ebx)
416d58:	e9 6e ff ff ff       	jmp    0x416ccb
416d5d:	6a 10                	push   $0x10
416d5f:	e9 8f a7 03 00       	jmp    0x4514f3
416d64:	6a 11                	push   $0x11
416d66:	eb 02                	jmp    0x416d6a
416d68:	6a 15                	push   $0x15
416d6a:	5e                   	pop    %esi
416d6b:	e9 74 ac 03 00       	jmp    0x4519e4
416d70:	89 55 e8             	mov    %edx,-0x18(%ebp)
416d73:	e9 5d fb ff ff       	jmp    0x4168d5
416d78:	6a 4e                	push   $0x4e
416d7a:	e9 74 a7 03 00       	jmp    0x4514f3
416d7f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
416d82:	e9 86 fb ff ff       	jmp    0x41690d
416d87:	6a 38                	push   $0x38
416d89:	eb df                	jmp    0x416d6a
416d8b:	6a 14                	push   $0x14
416d8d:	eb db                	jmp    0x416d6a
416d8f:	a8 02                	test   $0x2,%al
416d91:	0f 84 34 ff ff ff    	je     0x416ccb
416d97:	eb 8f                	jmp    0x416d28
416d99:	66 3b d1             	cmp    %cx,%dx
416d9c:	77 b6                	ja     0x416d54
416d9e:	eb a2                	jmp    0x416d42
416da0:	09 73 0c             	or     %esi,0xc(%ebx)
416da3:	eb af                	jmp    0x416d54
416da5:	81 4b 0c 00 80 00 00 	orl    $0x8000,0xc(%ebx)
416dac:	e9 4b ff ff ff       	jmp    0x416cfc
416db1:	33 c0                	xor    %eax,%eax
416db3:	e9 46 ff ff ff       	jmp    0x416cfe
416db8:	55                   	push   %ebp
416db9:	8b ec                	mov    %esp,%ebp
416dbb:	83 e4 f8             	and    $0xfffffff8,%esp
416dbe:	83 ec 6c             	sub    $0x6c,%esp
416dc1:	8b 45 08             	mov    0x8(%ebp),%eax
416dc4:	53                   	push   %ebx
416dc5:	33 db                	xor    %ebx,%ebx
416dc7:	89 54 24 4c          	mov    %edx,0x4c(%esp)
416dcb:	56                   	push   %esi
416dcc:	8b 00                	mov    (%eax),%eax
416dce:	8b 32                	mov    (%edx),%esi
416dd0:	89 44 24 24          	mov    %eax,0x24(%esp)
416dd4:	a1 20 75 4c 00       	mov    0x4c7520,%eax
416dd9:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
416ddd:	89 74 24 14          	mov    %esi,0x14(%esp)
416de1:	89 74 24 38          	mov    %esi,0x38(%esp)
416de5:	89 5c 24 48          	mov    %ebx,0x48(%esp)
416de9:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
416ded:	57                   	push   %edi
416dee:	85 c0                	test   %eax,%eax
416df0:	0f 85 ed ac 03 00    	jne    0x451ae3
416df6:	8b 45 30             	mov    0x30(%ebp),%eax
416df9:	8b 7d 34             	mov    0x34(%ebp),%edi
416dfc:	8b 55 18             	mov    0x18(%ebp),%edx
416dff:	89 44 24 70          	mov    %eax,0x70(%esp)
416e03:	6a fe                	push   $0xfffffffe
416e05:	58                   	pop    %eax
416e06:	89 44 24 14          	mov    %eax,0x14(%esp)
416e0a:	8d 4a 04             	lea    0x4(%edx),%ecx
416e0d:	89 44 24 38          	mov    %eax,0x38(%esp)
416e11:	8b 47 20             	mov    0x20(%edi),%eax
416e14:	2b 47 10             	sub    0x10(%edi),%eax
416e17:	d1 f8                	sar    $1,%eax
416e19:	89 44 24 60          	mov    %eax,0x60(%esp)
416e1d:	b8 85 00 00 00       	mov    $0x85,%eax
416e22:	89 74 24 74          	mov    %esi,0x74(%esp)
416e26:	89 5c 24 24          	mov    %ebx,0x24(%esp)
416e2a:	89 5c 24 34          	mov    %ebx,0x34(%esp)
416e2e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
416e32:	66 39 06             	cmp    %ax,(%esi)
416e35:	0f 84 c8 01 00 00    	je     0x417003
416e3b:	8d 46 02             	lea    0x2(%esi),%eax
416e3e:	33 db                	xor    %ebx,%ebx
416e40:	89 44 24 64          	mov    %eax,0x64(%esp)
416e44:	66 89 18             	mov    %bx,(%eax)
416e47:	8d 04 55 04 00 00 00 	lea    0x4(,%edx,2),%eax
416e4e:	89 44 24 58          	mov    %eax,0x58(%esp)
416e52:	03 f0                	add    %eax,%esi
416e54:	8b 47 40             	mov    0x40(%edi),%eax
416e57:	6a 7c                	push   $0x7c
416e59:	89 44 24 44          	mov    %eax,0x44(%esp)
416e5d:	89 44 24 60          	mov    %eax,0x60(%esp)
416e61:	5a                   	pop    %edx
416e62:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
416e66:	89 74 24 1c          	mov    %esi,0x1c(%esp)
416e6a:	0f 85 96 02 00 00    	jne    0x417106
416e70:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
416e74:	0f 85 81 ac 03 00    	jne    0x451afb
416e7a:	8b 5d 38             	mov    0x38(%ebp),%ebx
416e7d:	8d 4c 24 10          	lea    0x10(%esp),%ecx
416e81:	8b c3                	mov    %ebx,%eax
416e83:	8d 54 24 1c          	lea    0x1c(%esp),%edx
416e87:	f7 d8                	neg    %eax
416e89:	1b c0                	sbb    %eax,%eax
416e8b:	23 c1                	and    %ecx,%eax
416e8d:	8d 4c 24 20          	lea    0x20(%esp),%ecx
416e91:	50                   	push   %eax
416e92:	57                   	push   %edi
416e93:	ff 75 1c             	push   0x1c(%ebp)
416e96:	8d 44 24 7c          	lea    0x7c(%esp),%eax
416e9a:	50                   	push   %eax
416e9b:	8d 44 24 3c          	lea    0x3c(%esp),%eax
416e9f:	50                   	push   %eax
416ea0:	8d 44 24 44          	lea    0x44(%esp),%eax
416ea4:	50                   	push   %eax
416ea5:	8d 44 24 5c          	lea    0x5c(%esp),%eax
416ea9:	50                   	push   %eax
416eaa:	8d 44 24 64          	lea    0x64(%esp),%eax
416eae:	50                   	push   %eax
416eaf:	ff 75 0c             	push   0xc(%ebp)
416eb2:	8d 44 24 4c          	lea    0x4c(%esp),%eax
416eb6:	50                   	push   %eax
416eb7:	e8 52 02 00 00       	call   0x41710e
416ebc:	83 c4 28             	add    $0x28,%esp
416ebf:	85 c0                	test   %eax,%eax
416ec1:	0f 84 b5 ac 03 00    	je     0x451b7c
416ec7:	8b 44 24 40          	mov    0x40(%esp),%eax
416ecb:	39 47 40             	cmp    %eax,0x40(%edi)