407b24:	89 41 08             	mov    %eax,0x8(%ecx)
407b27:	89 85 b4 fb ff ff    	mov    %eax,-0x44c(%ebp)
407b2d:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
407b33:	39 47 48             	cmp    %eax,0x48(%edi)
407b36:	0f 82 0c 02 00 00    	jb     0x407d48
407b3c:	8b 3e                	mov    (%esi),%edi
407b3e:	8b d7                	mov    %edi,%edx
407b40:	8d 4a 02             	lea    0x2(%edx),%ecx
407b43:	66 8b 02             	mov    (%edx),%ax
407b46:	83 c2 02             	add    $0x2,%edx
407b49:	66 3b 85 bc fb ff ff 	cmp    -0x444(%ebp),%ax
407b50:	75 f1                	jne    0x407b43
407b52:	2b d1                	sub    %ecx,%edx
407b54:	8b cf                	mov    %edi,%ecx
407b56:	d1 fa                	sar    $1,%edx
407b58:	e8 93 a8 00 00       	call   0x4123f0
407b5d:	88 85 c6 fb ff ff    	mov    %al,-0x43a(%ebp)
407b63:	84 c0                	test   %al,%al
407b65:	75 0e                	jne    0x407b75
407b67:	8b 0d a8 67 43 00    	mov    0x4367a8,%ecx
407b6d:	85 c9                	test   %ecx,%ecx
407b6f:	0f 85 98 32 01 00    	jne    0x41ae0d
407b75:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
407b79:	88 46 08             	mov    %al,0x8(%esi)
407b7c:	74 14                	je     0x407b92
407b7e:	8a d0                	mov    %al,%dl
407b80:	8b cf                	mov    %edi,%ecx
407b82:	e8 83 fc ff ff       	call   0x40780a
407b87:	8b cf                	mov    %edi,%ecx
407b89:	8b f0                	mov    %eax,%esi
407b8b:	e8 d0 60 00 00       	call   0x40dc60
407b90:	8b fe                	mov    %esi,%edi
407b92:	33 f6                	xor    %esi,%esi
407b94:	8b cf                	mov    %edi,%ecx
407b96:	89 35 a8 67 43 00    	mov    %esi,0x4367a8
407b9c:	e8 8b 04 00 00       	call   0x40802c
407ba1:	8b f8                	mov    %eax,%edi
407ba3:	83 ff 01             	cmp    $0x1,%edi
407ba6:	75 56                	jne    0x407bfe
407ba8:	80 bd c7 fb ff ff 00 	cmpb   $0x0,-0x439(%ebp)
407baf:	74 0e                	je     0x407bbf
407bb1:	56                   	push   %esi
407bb2:	ff 35 a8 67 43 00    	push   0x4367a8
407bb8:	e8 27 fd ff ff       	call   0x4078e4
407bbd:	59                   	pop    %ecx
407bbe:	59                   	pop    %ecx
407bbf:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
407bc5:	85 c9                	test   %ecx,%ecx
407bc7:	74 08                	je     0x407bd1
407bc9:	51                   	push   %ecx
407bca:	ff 15 e0 a3 44 00    	call   *0x44a3e0
407bd0:	59                   	pop    %ecx
407bd1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
407bd4:	89 75 e8             	mov    %esi,-0x18(%ebp)
407bd7:	85 c9                	test   %ecx,%ecx
407bd9:	74 08                	je     0x407be3
407bdb:	51                   	push   %ecx
407bdc:	ff 15 e0 a3 44 00    	call   *0x44a3e0
407be2:	59                   	pop    %ecx
407be3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407be6:	8b 85 b0 fb ff ff    	mov    -0x450(%ebp),%eax
407bec:	33 cd                	xor    %ebp,%ecx
407bee:	5f                   	pop    %edi
407bef:	5e                   	pop    %esi
407bf0:	e8 3b ef 00 00       	call   0x416b30
407bf5:	8b e5                	mov    %ebp,%esp
407bf7:	5d                   	pop    %ebp
407bf8:	8b e3                	mov    %ebx,%esp
407bfa:	5b                   	pop    %ebx
407bfb:	c2 08 00             	ret    $0x8
407bfe:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
407c04:	85 c9                	test   %ecx,%ecx
407c06:	0f 84 e1 30 01 00    	je     0x41aced
407c0c:	51                   	push   %ecx
407c0d:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
407c13:	e8 29 2a 00 00       	call   0x40a641
407c18:	e8 4b e8 ff ff       	call   0x406468
407c1d:	8b 4d e8             	mov    -0x18(%ebp),%ecx
407c20:	85 c9                	test   %ecx,%ecx
407c22:	0f 84 cf 30 01 00    	je     0x41acf7
407c28:	8d 51 02             	lea    0x2(%ecx),%edx
407c2b:	66 8b 01             	mov    (%ecx),%ax
407c2e:	83 c1 02             	add    $0x2,%ecx
407c31:	66 3b c6             	cmp    %si,%ax
407c34:	75 f5                	jne    0x407c2b
407c36:	2b ca                	sub    %edx,%ecx
407c38:	d1 f9                	sar    $1,%ecx
407c3a:	8b f1                	mov    %ecx,%esi
407c3c:	83 fe 03             	cmp    $0x3,%esi
407c3f:	76 1f                	jbe    0x407c60
407c41:	80 bd c6 fb ff ff 00 	cmpb   $0x0,-0x43a(%ebp)
407c48:	0f 85 b4 30 01 00    	jne    0x41ad02
407c4e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
407c51:	85 c9                	test   %ecx,%ecx
407c53:	0f 84 de 30 01 00    	je     0x41ad37
407c59:	33 c0                	xor    %eax,%eax
407c5b:	66 89 44 71 fe       	mov    %ax,-0x2(%ecx,%esi,2)
407c60:	8d 46 01             	lea    0x1(%esi),%eax
407c63:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
407c68:	0f 87 ca 31 01 00    	ja     0x41ae38
407c6e:	8b 47 10             	mov    0x10(%edi),%eax
407c71:	33 c9                	xor    %ecx,%ecx
407c73:	66 39 08             	cmp    %cx,(%eax)
407c76:	0f 84 c6 30 01 00    	je     0x41ad42
407c7c:	50                   	push   %eax
407c7d:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
407c83:	e8 b9 29 00 00       	call   0x40a641
407c88:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
407c8e:	85 c9                	test   %ecx,%ecx
407c90:	0f 84 b6 30 01 00    	je     0x41ad4c
407c96:	8d 51 02             	lea    0x2(%ecx),%edx
407c99:	66 8b 01             	mov    (%ecx),%ax
407c9c:	83 c1 02             	add    $0x2,%ecx
407c9f:	66 3b 85 bc fb ff ff 	cmp    -0x444(%ebp),%ax
407ca6:	75 f1                	jne    0x407c99
407ca8:	2b ca                	sub    %edx,%ecx
407caa:	8d 46 01             	lea    0x1(%esi),%eax
407cad:	d1 f9                	sar    $1,%ecx
407caf:	33 f6                	xor    %esi,%esi
407cb1:	03 c1                	add    %ecx,%eax
407cb3:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
407cb8:	0f 87 65 31 01 00    	ja     0x41ae23
407cbe:	8b 47 10             	mov    0x10(%edi),%eax
407cc1:	66 39 30             	cmp    %si,(%eax)
407cc4:	74 14                	je     0x407cda
407cc6:	8b 47 14             	mov    0x14(%edi),%eax
407cc9:	85 c0                	test   %eax,%eax
407ccb:	0f 84 86 30 01 00    	je     0x41ad57
407cd1:	66 39 30             	cmp    %si,(%eax)
407cd4:	0f 84 7d 30 01 00    	je     0x41ad57
407cda:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
407ce0:	85 c9                	test   %ecx,%ecx
407ce2:	74 71                	je     0x407d55
407ce4:	e8 62 88 00 00       	call   0x41054b
407ce9:	8b b5 c0 fb ff ff    	mov    -0x440(%ebp),%esi
407cef:	89 06                	mov    %eax,(%esi)
407cf1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
407cf4:	85 c9                	test   %ecx,%ecx
407cf6:	74 65                	je     0x407d5d
407cf8:	e8 4e 88 00 00       	call   0x41054b
407cfd:	8b bd b8 fb ff ff    	mov    -0x448(%ebp),%edi
407d03:	89 46 04             	mov    %eax,0x4(%esi)
407d06:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
407d0a:	0f 85 a3 30 01 00    	jne    0x41adb3
407d10:	8b c8                	mov    %eax,%ecx
407d12:	e8 34 88 00 00       	call   0x41054b
407d17:	89 47 04             	mov    %eax,0x4(%edi)
407d1a:	8a 46 08             	mov    0x8(%esi),%al
407d1d:	88 47 10             	mov    %al,0x10(%edi)
407d20:	89 77 0c             	mov    %esi,0xc(%edi)
407d23:	8b 85 b4 fb ff ff    	mov    -0x44c(%ebp),%eax
407d29:	8b 8d ac fb ff ff    	mov    -0x454(%ebp),%ecx
407d2f:	40                   	inc    %eax
407d30:	8b 76 0c             	mov    0xc(%esi),%esi
407d33:	89 85 b4 fb ff ff    	mov    %eax,-0x44c(%ebp)
407d39:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
407d3f:	3b 41 48             	cmp    0x48(%ecx),%eax
407d42:	0f 86 f4 fd ff ff    	jbe    0x407b3c
407d48:	33 f6                	xor    %esi,%esi
407d4a:	89 b5 b0 fb ff ff    	mov    %esi,-0x450(%ebp)
407d50:	e9 6a fe ff ff       	jmp    0x407bbf
407d55:	8d 8d c8 fb ff ff    	lea    -0x438(%ebp),%ecx
407d5b:	eb 87                	jmp    0x407ce4
407d5d:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
407d63:	eb 93                	jmp    0x407cf8
407d65:	8b ff                	mov    %edi,%edi
407d67:	55                   	push   %ebp
407d68:	8b ec                	mov    %esp,%ebp
407d6a:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
407d70:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
407d75:	33 c5                	xor    %ebp,%eax
407d77:	89 45 fc             	mov    %eax,-0x4(%ebp)
407d7a:	53                   	push   %ebx
407d7b:	56                   	push   %esi
407d7c:	8b f1                	mov    %ecx,%esi
407d7e:	89 95 dc fd ff ff    	mov    %edx,-0x224(%ebp)
407d84:	33 c9                	xor    %ecx,%ecx
407d86:	83 7d 0c 03          	cmpl   $0x3,0xc(%ebp)
407d8a:	57                   	push   %edi
407d8b:	8b 7d 08             	mov    0x8(%ebp),%edi
407d8e:	8b d9                	mov    %ecx,%ebx
407d90:	89 bd d4 fd ff ff    	mov    %edi,-0x22c(%ebp)
407d96:	89 8d d8 fd ff ff    	mov    %ecx,-0x228(%ebp)
407d9c:	0f 8c ed 00 00 00    	jl     0x407e8f
407da2:	85 f6                	test   %esi,%esi
407da4:	0f 84 e5 00 00 00    	je     0x407e8f
407daa:	b8 04 01 00 00       	mov    $0x104,%eax
407daf:	89 4d e8             	mov    %ecx,-0x18(%ebp)
407db2:	50                   	push   %eax
407db3:	89 45 f0             	mov    %eax,-0x10(%ebp)
407db6:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
407dbc:	51                   	push   %ecx
407dbd:	50                   	push   %eax
407dbe:	c6 45 ec 01          	movb   $0x1,-0x14(%ebp)
407dc2:	e8 f6 01 01 00       	call   0x417fbd
407dc7:	33 c0                	xor    %eax,%eax
407dc9:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
407dcf:	83 c4 0c             	add    $0xc,%esp
407dd2:	38 45 ec             	cmp    %al,-0x14(%ebp)
407dd5:	0f 94 c0             	sete   %al
407dd8:	48                   	dec    %eax
407dd9:	25 e3 7e 00 00       	and    $0x7ee3,%eax
407dde:	05 04 01 00 00       	add    $0x104,%eax
407de3:	50                   	push   %eax
407de4:	e8 07 66 00 00       	call   0x40e3f0
407de9:	85 c0                	test   %eax,%eax
407deb:	0f 88 1a 31 01 00    	js     0x41af0b
407df1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
407df4:	85 c9                	test   %ecx,%ecx
407df6:	0f 84 7f 30 01 00    	je     0x41ae7b
407dfc:	8b 55 f0             	mov    -0x10(%ebp),%edx
407dff:	33 c0                	xor    %eax,%eax
407e01:	50                   	push   %eax
407e02:	e8 97 10 00 00       	call   0x408e9e
407e07:	8b 45 e8             	mov    -0x18(%ebp),%eax
407e0a:	85 c0                	test   %eax,%eax
407e0c:	0f 84 74 30 01 00    	je     0x41ae86
407e12:	66 8b 00             	mov    (%eax),%ax
407e15:	6a 5c                	push   $0x5c
407e17:	5a                   	pop    %edx
407e18:	6a 3a                	push   $0x3a
407e1a:	59                   	pop    %ecx
407e1b:	66 89 07             	mov    %ax,(%edi)
407e1e:	66 39 4e 02          	cmp    %cx,0x2(%esi)
407e22:	75 12                	jne    0x407e36
407e24:	8d 46 04             	lea    0x4(%esi),%eax
407e27:	66 39 10             	cmp    %dx,(%eax)
407e2a:	75 0a                	jne    0x407e36
407e2c:	66 39 56 06          	cmp    %dx,0x6(%esi)
407e30:	0f 84 5b 30 01 00    	je     0x41ae91
407e36:	0f b7 06             	movzwl (%esi),%eax
407e39:	66 3b c2             	cmp    %dx,%ax
407e3c:	0f 84 68 30 01 00    	je     0x41aeaa
407e42:	66 85 c0             	test   %ax,%ax
407e45:	74 11                	je     0x407e58
407e47:	66 39 4e 02          	cmp    %cx,0x2(%esi)
407e4b:	75 0b                	jne    0x407e58
407e4d:	50                   	push   %eax
407e4e:	ff 15 18 a4 44 00    	call   *0x44a418
407e54:	59                   	pop    %ecx
407e55:	66 89 07             	mov    %ax,(%edi)
407e58:	6a 3a                	push   $0x3a
407e5a:	58                   	pop    %eax
407e5b:	66 89 47 02          	mov    %ax,0x2(%edi)
407e5f:	33 c0                	xor    %eax,%eax
407e61:	66 89 47 04          	mov    %ax,0x4(%edi)
407e65:	33 db                	xor    %ebx,%ebx
407e67:	43                   	inc    %ebx
407e68:	8b 4d e8             	mov    -0x18(%ebp),%ecx
407e6b:	33 c0                	xor    %eax,%eax
407e6d:	89 45 e8             	mov    %eax,-0x18(%ebp)
407e70:	85 c9                	test   %ecx,%ecx
407e72:	74 08                	je     0x407e7c
407e74:	51                   	push   %ecx
407e75:	ff 15 e0 a3 44 00    	call   *0x44a3e0
407e7b:	59                   	pop    %ecx
407e7c:	8a c3                	mov    %bl,%al
407e7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407e81:	5f                   	pop    %edi
407e82:	5e                   	pop    %esi
407e83:	33 cd                	xor    %ebp,%ecx
407e85:	5b                   	pop    %ebx
407e86:	e8 a5 ec 00 00       	call   0x416b30
407e8b:	c9                   	leave
407e8c:	c2 08 00             	ret    $0x8
407e8f:	32 c0                	xor    %al,%al
407e91:	eb eb                	jmp    0x407e7e
407e93:	8b ff                	mov    %edi,%edi
407e95:	55                   	push   %ebp
407e96:	8b ec                	mov    %esp,%ebp
407e98:	83 ec 74             	sub    $0x74,%esp
407e9b:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
407ea0:	33 c5                	xor    %ebp,%eax
407ea2:	89 45 fc             	mov    %eax,-0x4(%ebp)
407ea5:	53                   	push   %ebx
407ea6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
407ea9:	56                   	push   %esi
407eaa:	57                   	push   %edi
407eab:	8b f9                	mov    %ecx,%edi
407ead:	89 5d 98             	mov    %ebx,-0x68(%ebp)
407eb0:	33 f6                	xor    %esi,%esi
407eb2:	89 7d 94             	mov    %edi,-0x6c(%ebp)
407eb5:	81 ff 3d 01 00 00    	cmp    $0x13d,%edi
407ebb:	0f 84 01 31 01 00    	je     0x41afc2
407ec1:	56                   	push   %esi
407ec2:	68 00 20 00 00       	push   $0x2000
407ec7:	68 f0 0a 44 00       	push   $0x440af0
407ecc:	56                   	push   %esi
407ecd:	57                   	push   %edi
407ece:	56                   	push   %esi
407ecf:	68 00 1a 00 00       	push   $0x1a00
407ed4:	ff 15 88 a1 44 00    	call   *0x44a188
407eda:	85 c0                	test   %eax,%eax
407edc:	0f 84 e0 30 01 00    	je     0x41afc2
407ee2:	6a 25                	push   $0x25
407ee4:	b9 f0 0a 44 00       	mov    $0x440af0,%ecx
407ee9:	5b                   	pop    %ebx
407eea:	8b d3                	mov    %ebx,%edx
407eec:	e8 3e 27 00 00       	call   0x40a62f
407ef1:	8b c8                	mov    %eax,%ecx
407ef3:	85 c9                	test   %ecx,%ecx
407ef5:	75 3a                	jne    0x407f31
407ef7:	8b 5d 98             	mov    -0x68(%ebp),%ebx
407efa:	3b 75 08             	cmp    0x8(%ebp),%esi
407efd:	0f 87 44 30 01 00    	ja     0x41af47
407f03:	53                   	push   %ebx
407f04:	68 00 20 00 00       	push   $0x2000
407f09:	68 f0 0a 44 00       	push   $0x440af0
407f0e:	50                   	push   %eax
407f0f:	57                   	push   %edi
407f10:	50                   	push   %eax
407f11:	68 00 18 00 00       	push   $0x1800
407f16:	ff 15 88 a1 44 00    	call   *0x44a188
407f1c:	8b f0                	mov    %eax,%esi
407f1e:	8b c6                	mov    %esi,%eax
407f20:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407f23:	5f                   	pop    %edi
407f24:	5e                   	pop    %esi
407f25:	33 cd                	xor    %ebp,%ecx
407f27:	5b                   	pop    %ebx
407f28:	e8 03 ec 00 00       	call   0x416b30
407f2d:	c9                   	leave
407f2e:	c2 08 00             	ret    $0x8
407f31:	83 c1 02             	add    $0x2,%ecx
407f34:	0f b7 11             	movzwl (%ecx),%edx
407f37:	8d 42 cf             	lea    -0x31(%edx),%eax
407f3a:	66 83 f8 08          	cmp    $0x8,%ax
407f3e:	0f 87 f2 2f 01 00    	ja     0x41af36
407f44:	46                   	inc    %esi
407f45:	eb a3                	jmp    0x407eea
407f47:	8b ff                	mov    %edi,%edi
407f49:	55                   	push   %ebp
407f4a:	8b ec                	mov    %esp,%ebp
407f4c:	81 ec 34 02 00 00    	sub    $0x234,%esp
407f52:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
407f57:	33 c5                	xor    %ebp,%eax
407f59:	89 45 fc             	mov    %eax,-0x4(%ebp)
407f5c:	53                   	push   %ebx
407f5d:	56                   	push   %esi
407f5e:	57                   	push   %edi
407f5f:	bf 04 01 00 00       	mov    $0x104,%edi
407f64:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
407f68:	33 db                	xor    %ebx,%ebx
407f6a:	89 7d e8             	mov    %edi,-0x18(%ebp)
407f6d:	57                   	push   %edi
407f6e:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
407f74:	89 5d e0             	mov    %ebx,-0x20(%ebp)
407f77:	53                   	push   %ebx
407f78:	50                   	push   %eax
407f79:	66 8b f1             	mov    %cx,%si