408aea:	81 7d 08 0a 00 01 00 	cmpl   $0x1000a,0x8(%ebp)
408af1:	0f 94 c1             	sete   %cl
408af4:	89 08                	mov    %ecx,(%eax)
408af6:	6a 08                	push   $0x8
408af8:	5f                   	pop    %edi
408af9:	8b cf                	mov    %edi,%ecx
408afb:	8d 45 f0             	lea    -0x10(%ebp),%eax
408afe:	88 18                	mov    %bl,(%eax)
408b00:	40                   	inc    %eax
408b01:	83 e9 01             	sub    $0x1,%ecx
408b04:	75 f8                	jne    0x408afe
408b06:	8b cf                	mov    %edi,%ecx
408b08:	8d 45 e8             	lea    -0x18(%ebp),%eax
408b0b:	88 18                	mov    %bl,(%eax)
408b0d:	40                   	inc    %eax
408b0e:	83 e9 01             	sub    $0x1,%ecx
408b11:	75 f8                	jne    0x408b0b
408b13:	ff 75 fc             	push   -0x4(%ebp)
408b16:	e8 78 9c ff ff       	call   0x402793
408b1b:	8b cf                	mov    %edi,%ecx
408b1d:	8d 45 e0             	lea    -0x20(%ebp),%eax
408b20:	88 18                	mov    %bl,(%eax)
408b22:	40                   	inc    %eax
408b23:	83 e9 01             	sub    $0x1,%ecx
408b26:	75 f8                	jne    0x408b20
408b28:	8d 45 d8             	lea    -0x28(%ebp),%eax
408b2b:	88 18                	mov    %bl,(%eax)
408b2d:	40                   	inc    %eax
408b2e:	83 ef 01             	sub    $0x1,%edi
408b31:	75 f8                	jne    0x408b2b
408b33:	ff 75 f8             	push   -0x8(%ebp)
408b36:	e8 58 9c ff ff       	call   0x402793
408b3b:	5f                   	pop    %edi
408b3c:	8b c6                	mov    %esi,%eax
408b3e:	5e                   	pop    %esi
408b3f:	5b                   	pop    %ebx
408b40:	8b e5                	mov    %ebp,%esp
408b42:	5d                   	pop    %ebp
408b43:	c2 38 00             	ret    $0x38
408b46:	ff 75 3c             	push   0x3c(%ebp)
408b49:	ff 75 e4             	push   -0x1c(%ebp)
408b4c:	ff 75 e0             	push   -0x20(%ebp)
408b4f:	ff 75 f4             	push   -0xc(%ebp)
408b52:	ff 75 f0             	push   -0x10(%ebp)
408b55:	ff 75 08             	push   0x8(%ebp)
408b58:	e8 74 01 00 00       	call   0x408cd1
408b5d:	eb 51                	jmp    0x408bb0
408b5f:	83 7d 34 01          	cmpl   $0x1,0x34(%ebp)
408b63:	75 80                	jne    0x408ae5
408b65:	8d 45 d8             	lea    -0x28(%ebp),%eax
408b68:	50                   	push   %eax
408b69:	8d 45 24             	lea    0x24(%ebp),%eax
408b6c:	50                   	push   %eax
408b6d:	e8 f8 74 01 00       	call   0x42006a
408b72:	8b f0                	mov    %eax,%esi
408b74:	85 f6                	test   %esi,%esi
408b76:	78 7f                	js     0x408bf7
408b78:	8d 45 e8             	lea    -0x18(%ebp),%eax
408b7b:	50                   	push   %eax
408b7c:	8d 45 0c             	lea    0xc(%ebp),%eax
408b7f:	50                   	push   %eax
408b80:	e8 e5 74 01 00       	call   0x42006a
408b85:	8b f0                	mov    %eax,%esi
408b87:	85 f6                	test   %esi,%esi
408b89:	79 0e                	jns    0x408b99
408b8b:	81 fe 05 00 02 80    	cmp    $0x80020005,%esi
408b91:	0f 84 4c ff ff ff    	je     0x408ae3
408b97:	eb 41                	jmp    0x408bda
408b99:	ff 75 3c             	push   0x3c(%ebp)
408b9c:	ff 75 dc             	push   -0x24(%ebp)
408b9f:	ff 75 d8             	push   -0x28(%ebp)
408ba2:	ff 75 ec             	push   -0x14(%ebp)
408ba5:	ff 75 e8             	push   -0x18(%ebp)
408ba8:	ff 75 08             	push   0x8(%ebp)
408bab:	e8 d6 fb ff ff       	call   0x408786
408bb0:	8b f0                	mov    %eax,%esi
408bb2:	e9 3f ff ff ff       	jmp    0x408af6
408bb7:	83 7d 1c 01          	cmpl   $0x1,0x1c(%ebp)
408bbb:	0f 85 81 00 00 00    	jne    0x408c42
408bc1:	83 7d 34 01          	cmpl   $0x1,0x34(%ebp)
408bc5:	75 3a                	jne    0x408c01
408bc7:	8d 45 e8             	lea    -0x18(%ebp),%eax
408bca:	50                   	push   %eax
408bcb:	8d 45 0c             	lea    0xc(%ebp),%eax
408bce:	50                   	push   %eax
408bcf:	e8 96 74 01 00       	call   0x42006a
408bd4:	8b f0                	mov    %eax,%esi
408bd6:	85 f6                	test   %esi,%esi
408bd8:	79 0a                	jns    0x408be4
408bda:	68 40 e0 44 00       	push   $0x44e040
408bdf:	e9 82 fe ff ff       	jmp    0x408a66
408be4:	8d 45 d8             	lea    -0x28(%ebp),%eax
408be7:	50                   	push   %eax
408be8:	8d 45 24             	lea    0x24(%ebp),%eax
408beb:	50                   	push   %eax
408bec:	e8 79 74 01 00       	call   0x42006a
408bf1:	8b f0                	mov    %eax,%esi
408bf3:	85 f6                	test   %esi,%esi
408bf5:	79 a2                	jns    0x408b99
408bf7:	68 60 e0 44 00       	push   $0x44e060
408bfc:	e9 65 fe ff ff       	jmp    0x408a66
408c01:	39 45 34             	cmp    %eax,0x34(%ebp)
408c04:	0f 85 db fe ff ff    	jne    0x408ae5
408c0a:	8d 45 e8             	lea    -0x18(%ebp),%eax
408c0d:	50                   	push   %eax
408c0e:	8d 45 0c             	lea    0xc(%ebp),%eax
408c11:	50                   	push   %eax
408c12:	e8 53 74 01 00       	call   0x42006a
408c17:	8b f0                	mov    %eax,%esi
408c19:	85 f6                	test   %esi,%esi
408c1b:	78 bd                	js     0x408bda
408c1d:	8d 45 d8             	lea    -0x28(%ebp),%eax
408c20:	50                   	push   %eax
408c21:	8d 45 24             	lea    0x24(%ebp),%eax
408c24:	50                   	push   %eax
408c25:	e8 40 74 01 00       	call   0x42006a
408c2a:	8b f0                	mov    %eax,%esi
408c2c:	85 f6                	test   %esi,%esi
408c2e:	0f 89 65 ff ff ff    	jns    0x408b99
408c34:	81 fe 05 00 02 80    	cmp    $0x80020005,%esi
408c3a:	0f 84 a3 fe ff ff    	je     0x408ae3
408c40:	eb b5                	jmp    0x408bf7
408c42:	83 7d 1c 03          	cmpl   $0x3,0x1c(%ebp)
408c46:	0f 85 99 fe ff ff    	jne    0x408ae5
408c4c:	83 7d 34 03          	cmpl   $0x3,0x34(%ebp)
408c50:	75 3e                	jne    0x408c90
408c52:	8d 45 f0             	lea    -0x10(%ebp),%eax
408c55:	50                   	push   %eax
408c56:	8d 45 0c             	lea    0xc(%ebp),%eax
408c59:	50                   	push   %eax
408c5a:	e8 71 75 01 00       	call   0x4201d0
408c5f:	8b f0                	mov    %eax,%esi
408c61:	85 f6                	test   %esi,%esi
408c63:	79 0a                	jns    0x408c6f
408c65:	68 80 e0 44 00       	push   $0x44e080
408c6a:	e9 f7 fd ff ff       	jmp    0x408a66
408c6f:	8d 45 e0             	lea    -0x20(%ebp),%eax
408c72:	50                   	push   %eax
408c73:	8d 45 24             	lea    0x24(%ebp),%eax
408c76:	50                   	push   %eax
408c77:	e8 54 75 01 00       	call   0x4201d0
408c7c:	8b f0                	mov    %eax,%esi
408c7e:	85 f6                	test   %esi,%esi
408c80:	0f 89 c0 fe ff ff    	jns    0x408b46
408c86:	68 a0 e0 44 00       	push   $0x44e0a0
408c8b:	e9 d6 fd ff ff       	jmp    0x408a66
408c90:	39 45 34             	cmp    %eax,0x34(%ebp)
408c93:	0f 85 4c fe ff ff    	jne    0x408ae5
408c99:	8d 45 f0             	lea    -0x10(%ebp),%eax
408c9c:	50                   	push   %eax
408c9d:	8d 45 0c             	lea    0xc(%ebp),%eax
408ca0:	50                   	push   %eax
408ca1:	e8 2a 75 01 00       	call   0x4201d0
408ca6:	8b f0                	mov    %eax,%esi
408ca8:	85 f6                	test   %esi,%esi
408caa:	78 b9                	js     0x408c65
408cac:	8d 45 e0             	lea    -0x20(%ebp),%eax
408caf:	50                   	push   %eax
408cb0:	8d 45 24             	lea    0x24(%ebp),%eax
408cb3:	50                   	push   %eax
408cb4:	e8 17 75 01 00       	call   0x4201d0
408cb9:	8b f0                	mov    %eax,%esi
408cbb:	85 f6                	test   %esi,%esi
408cbd:	0f 89 83 fe ff ff    	jns    0x408b46
408cc3:	81 fe 05 00 02 80    	cmp    $0x80020005,%esi
408cc9:	0f 84 14 fe ff ff    	je     0x408ae3
408ccf:	eb b5                	jmp    0x408c86
408cd1:	55                   	push   %ebp
408cd2:	8b ec                	mov    %esp,%ebp
408cd4:	8b 45 08             	mov    0x8(%ebp),%eax
408cd7:	33 d2                	xor    %edx,%edx
408cd9:	05 fb ff fe ff       	add    $0xfffefffb,%eax
408cde:	83 f8 08             	cmp    $0x8,%eax
408ce1:	0f 87 cc 00 00 00    	ja     0x408db3
408ce7:	ff 24 85 c1 8d 40 00 	jmp    *0x408dc1(,%eax,4)
408cee:	8b 45 10             	mov    0x10(%ebp),%eax
408cf1:	3b 45 18             	cmp    0x18(%ebp),%eax
408cf4:	77 12                	ja     0x408d08
408cf6:	0f 82 af 00 00 00    	jb     0x408dab
408cfc:	8b 45 0c             	mov    0xc(%ebp),%eax
408cff:	3b 45 14             	cmp    0x14(%ebp),%eax
408d02:	0f 82 a3 00 00 00    	jb     0x408dab
408d08:	8b ca                	mov    %edx,%ecx
408d0a:	8b 45 1c             	mov    0x1c(%ebp),%eax
408d0d:	89 08                	mov    %ecx,(%eax)
408d0f:	e9 a4 00 00 00       	jmp    0x408db8
408d14:	8b 45 10             	mov    0x10(%ebp),%eax
408d17:	3b 45 18             	cmp    0x18(%ebp),%eax
408d1a:	72 ec                	jb     0x408d08
408d1c:	0f 87 89 00 00 00    	ja     0x408dab
408d22:	8b 45 0c             	mov    0xc(%ebp),%eax
408d25:	3b 45 14             	cmp    0x14(%ebp),%eax
408d28:	76 de                	jbe    0x408d08
408d2a:	eb 7f                	jmp    0x408dab
408d2c:	8b 45 10             	mov    0x10(%ebp),%eax
408d2f:	3b 45 18             	cmp    0x18(%ebp),%eax
408d32:	77 d4                	ja     0x408d08
408d34:	72 75                	jb     0x408dab
408d36:	8b 45 0c             	mov    0xc(%ebp),%eax
408d39:	3b 45 14             	cmp    0x14(%ebp),%eax
408d3c:	77 ca                	ja     0x408d08
408d3e:	eb 6b                	jmp    0x408dab
408d40:	8b 45 10             	mov    0x10(%ebp),%eax
408d43:	3b 45 18             	cmp    0x18(%ebp),%eax
408d46:	72 c0                	jb     0x408d08
408d48:	77 61                	ja     0x408dab
408d4a:	8b 45 0c             	mov    0xc(%ebp),%eax
408d4d:	3b 45 14             	cmp    0x14(%ebp),%eax
408d50:	72 b6                	jb     0x408d08
408d52:	eb 57                	jmp    0x408dab
408d54:	8b 45 0c             	mov    0xc(%ebp),%eax
408d57:	3b 45 14             	cmp    0x14(%ebp),%eax
408d5a:	75 ac                	jne    0x408d08
408d5c:	8b 45 10             	mov    0x10(%ebp),%eax
408d5f:	3b 45 18             	cmp    0x18(%ebp),%eax
408d62:	eb 41                	jmp    0x408da5
408d64:	8b 45 0c             	mov    0xc(%ebp),%eax
408d67:	3b 45 14             	cmp    0x14(%ebp),%eax
408d6a:	75 3f                	jne    0x408dab
408d6c:	8b 45 10             	mov    0x10(%ebp),%eax
408d6f:	3b 45 18             	cmp    0x18(%ebp),%eax
408d72:	74 94                	je     0x408d08
408d74:	eb 35                	jmp    0x408dab
408d76:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408d79:	8b 45 10             	mov    0x10(%ebp),%eax
408d7c:	23 4d 14             	and    0x14(%ebp),%ecx
408d7f:	23 45 18             	and    0x18(%ebp),%eax
408d82:	0b c8                	or     %eax,%ecx
408d84:	eb ec                	jmp    0x408d72
408d86:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408d89:	8b 45 10             	mov    0x10(%ebp),%eax
408d8c:	0f ac c1 10          	shrd   $0x10,%eax,%ecx
408d90:	0f b7 c1             	movzwl %cx,%eax
408d93:	eb 04                	jmp    0x408d99
408d95:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
408d99:	3b 45 14             	cmp    0x14(%ebp),%eax
408d9c:	0f 85 66 ff ff ff    	jne    0x408d08
408da2:	3b 55 18             	cmp    0x18(%ebp),%edx
408da5:	0f 85 5d ff ff ff    	jne    0x408d08
408dab:	33 c9                	xor    %ecx,%ecx
408dad:	41                   	inc    %ecx
408dae:	e9 57 ff ff ff       	jmp    0x408d0a
408db3:	ba 57 00 07 80       	mov    $0x80070057,%edx
408db8:	8b c2                	mov    %edx,%eax
408dba:	5d                   	pop    %ebp
408dbb:	c2 18 00             	ret    $0x18
408dbe:	0f 1f 00             	nopl   (%eax)
408dc1:	ee                   	out    %al,(%dx)
408dc2:	8c 40 00             	mov    %es,0x0(%eax)
408dc5:	14 8d                	adc    $0x8d,%al
408dc7:	40                   	inc    %eax
408dc8:	00 2c 8d 40 00 40 8d 	add    %ch,-0x72bfffc0(,%ecx,4)
408dcf:	40                   	inc    %eax
408dd0:	00 54 8d 40          	add    %dl,0x40(%ebp,%ecx,4)
408dd4:	00 64 8d 40          	add    %ah,0x40(%ebp,%ecx,4)
408dd8:	00 76 8d             	add    %dh,-0x73(%esi)
408ddb:	40                   	inc    %eax
408ddc:	00 86 8d 40 00 95    	add    %al,-0x6affbf73(%esi)
408de2:	8d 40 00             	lea    0x0(%eax),%eax
408de5:	55                   	push   %ebp
408de6:	8b ec                	mov    %esp,%ebp
408de8:	56                   	push   %esi
408de9:	57                   	push   %edi
408dea:	8b 7d 08             	mov    0x8(%ebp),%edi
408ded:	8b 47 10             	mov    0x10(%edi),%eax
408df0:	3b 45 0c             	cmp    0xc(%ebp),%eax
408df3:	74 32                	je     0x408e27
408df5:	be 0d 00 07 80       	mov    $0x8007000d,%esi
408dfa:	c7 47 30 01 00 00 00 	movl   $0x1,0x30(%edi)
408e01:	56                   	push   %esi
408e02:	68 e0 01 00 00       	push   $0x1e0
408e07:	68 44 dd 44 00       	push   $0x44dd44
408e0c:	e8 c2 a9 ff ff       	call   0x4037d3
408e11:	ff 77 14             	push   0x14(%edi)
408e14:	ff 77 04             	push   0x4(%edi)
408e17:	68 70 dd 44 00       	push   $0x44dd70
408e1c:	56                   	push   %esi
408e1d:	e8 0d 73 03 00       	call   0x44012f
408e22:	83 c4 10             	add    $0x10,%esp
408e25:	eb 19                	jmp    0x408e40
408e27:	57                   	push   %edi
408e28:	e8 1b 00 00 00       	call   0x408e48
408e2d:	8b f0                	mov    %eax,%esi
408e2f:	85 f6                	test   %esi,%esi
408e31:	79 0d                	jns    0x408e40
408e33:	68 70 db 44 00       	push   $0x44db70
408e38:	56                   	push   %esi
408e39:	e8 f1 72 03 00       	call   0x44012f
408e3e:	59                   	pop    %ecx
408e3f:	59                   	pop    %ecx
408e40:	5f                   	pop    %edi
408e41:	8b c6                	mov    %esi,%eax
408e43:	5e                   	pop    %esi
408e44:	5d                   	pop    %ebp
408e45:	c2 08 00             	ret    $0x8
408e48:	55                   	push   %ebp
408e49:	8b ec                	mov    %esp,%ebp
408e4b:	83 ec 10             	sub    $0x10,%esp
408e4e:	53                   	push   %ebx
408e4f:	8b 5d 08             	mov    0x8(%ebp),%ebx
408e52:	33 c0                	xor    %eax,%eax
408e54:	56                   	push   %esi
408e55:	89 45 fc             	mov    %eax,-0x4(%ebp)
408e58:	8b f0                	mov    %eax,%esi
408e5a:	57                   	push   %edi
408e5b:	8d 43 18             	lea    0x18(%ebx),%eax
408e5e:	50                   	push   %eax
408e5f:	e8 35 76 01 00       	call   0x420499
408e64:	8d 53 10             	lea    0x10(%ebx),%edx
408e67:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
408e6e:	6a 08                	push   $0x8
408e70:	33 c0                	xor    %eax,%eax
408e72:	8b fa                	mov    %edx,%edi
408e74:	59                   	pop    %ecx
408e75:	f3 ab                	rep stos %eax,%es:(%edi)
408e77:	8b 43 08             	mov    0x8(%ebx),%eax
408e7a:	33 ff                	xor    %edi,%edi
408e7c:	33 c9                	xor    %ecx,%ecx
408e7e:	47                   	inc    %edi
408e7f:	66 3b 08             	cmp    (%eax),%cx
408e82:	74 26                	je     0x408eaa
408e84:	8d 45 fc             	lea    -0x4(%ebp),%eax
408e87:	50                   	push   %eax
408e88:	57                   	push   %edi
408e89:	ff 73 08             	push   0x8(%ebx)
408e8c:	57                   	push   %edi
408e8d:	ff 15 e8 b1 44 00    	call   *0x44b1e8
408e93:	f6 45 fc 40          	testb  $0x40,-0x4(%ebp)
408e97:	74 0e                	je     0x408ea7
408e99:	83 43 08 02          	addl   $0x2,0x8(%ebx)
408e9d:	33 c9                	xor    %ecx,%ecx
408e9f:	8b 43 08             	mov    0x8(%ebx),%eax
408ea2:	66 3b 08             	cmp    (%eax),%cx
408ea5:	75 dd                	jne    0x408e84
408ea7:	8d 53 10             	lea    0x10(%ebx),%edx
408eaa:	8b 4b 08             	mov    0x8(%ebx),%ecx
408ead:	8b c1                	mov    %ecx,%eax
408eaf:	2b 43 04             	sub    0x4(%ebx),%eax
408eb2:	d1 f8                	sar    $1,%eax
408eb4:	89 45 f8             	mov    %eax,-0x8(%ebp)
408eb7:	0f b7 01             	movzwl (%ecx),%eax
408eba:	83 f8 3c             	cmp    $0x3c,%eax
408ebd:	0f 87 02 01 00 00    	ja     0x408fc5
408ec3:	0f 84 bb 00 00 00    	je     0x408f84
408ec9:	33 ff                	xor    %edi,%edi
408ecb:	2b c7                	sub    %edi,%eax
408ecd:	0f 84 a6 00 00 00    	je     0x408f79
408ed3:	83 e8 22             	sub    $0x22,%eax
408ed6:	74 24                	je     0x408efc
408ed8:	83 e8 06             	sub    $0x6,%eax