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
408edb:	74 11                	je     0x408eee
408edd:	83 e8 01             	sub    $0x1,%eax
408ee0:	0f 85 fc 00 00 00    	jne    0x408fe2
408ee6:	c7 02 0f 00 00 00    	movl   $0xf,(%edx)
408eec:	eb 06                	jmp    0x408ef4
408eee:	c7 02 0e 00 00 00    	movl   $0xe,(%edx)
408ef4:	33 f6                	xor    %esi,%esi
408ef6:	46                   	inc    %esi
408ef7:	e9 9b 04 00 00       	jmp    0x409397
408efc:	46                   	inc    %esi
408efd:	33 ff                	xor    %edi,%edi
408eff:	0f b7 04 71          	movzwl (%ecx,%esi,2),%eax
408f03:	66 3b f8             	cmp    %ax,%di
408f06:	74 42                	je     0x408f4a
408f08:	6a 22                	push   $0x22
408f0a:	5f                   	pop    %edi
408f0b:	66 3b f8             	cmp    %ax,%di
408f0e:	75 ec                	jne    0x408efc
408f10:	46                   	inc    %esi
408f11:	c7 02 12 00 00 00    	movl   $0x12,(%edx)
408f17:	8d 46 fe             	lea    -0x2(%esi),%eax
408f1a:	50                   	push   %eax
408f1b:	8d 41 02             	lea    0x2(%ecx),%eax
408f1e:	50                   	push   %eax
408f1f:	8d 43 18             	lea    0x18(%ebx),%eax
408f22:	50                   	push   %eax
408f23:	e8 cc 73 01 00       	call   0x4202f4
408f28:	8b c8                	mov    %eax,%ecx
408f2a:	89 4d 08             	mov    %ecx,0x8(%ebp)
408f2d:	85 c9                	test   %ecx,%ecx
408f2f:	0f 89 5f 04 00 00    	jns    0x409394
408f35:	68 38 de 44 00       	push   $0x44de38
408f3a:	51                   	push   %ecx
408f3b:	e8 ef 71 03 00       	call   0x44012f
408f40:	8b 7d 08             	mov    0x8(%ebp),%edi
408f43:	59                   	pop    %ecx
408f44:	59                   	pop    %ecx
408f45:	e9 59 04 00 00       	jmp    0x4093a3
408f4a:	be 0d 00 07 80       	mov    $0x8007000d,%esi
408f4f:	c7 43 30 01 00 00 00 	movl   $0x1,0x30(%ebx)
408f56:	56                   	push   %esi
408f57:	68 7f 02 00 00       	push   $0x27f
408f5c:	68 44 dd 44 00       	push   $0x44dd44
408f61:	8b fe                	mov    %esi,%edi
408f63:	e8 6b a8 ff ff       	call   0x4037d3
408f68:	8b 45 f8             	mov    -0x8(%ebp),%eax
408f6b:	50                   	push   %eax
408f6c:	ff 73 04             	push   0x4(%ebx)
408f6f:	68 f0 dd 44 00       	push   $0x44ddf0
408f74:	e9 54 03 00 00       	jmp    0x4092cd
408f79:	c7 02 01 00 00 00    	movl   $0x1,(%edx)
408f7f:	e9 13 04 00 00       	jmp    0x409397
408f84:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
408f88:	83 e8 3c             	sub    $0x3c,%eax
408f8b:	74 2d                	je     0x408fba
408f8d:	83 e8 01             	sub    $0x1,%eax
408f90:	74 1d                	je     0x408faf
408f92:	83 e8 01             	sub    $0x1,%eax
408f95:	74 0d                	je     0x408fa4
408f97:	c7 02 05 00 01 00    	movl   $0x10005,(%edx)
408f9d:	8b f7                	mov    %edi,%esi
408f9f:	e9 a9 03 00 00       	jmp    0x40934d
408fa4:	c7 02 0a 00 01 00    	movl   $0x1000a,(%edx)
408faa:	e9 d6 03 00 00       	jmp    0x409385
408faf:	c7 02 07 00 01 00    	movl   $0x10007,(%edx)
408fb5:	e9 cb 03 00 00       	jmp    0x409385
408fba:	c7 02 0c 00 01 00    	movl   $0x1000c,(%edx)
408fc0:	e9 c0 03 00 00       	jmp    0x409385
408fc5:	83 e8 3d             	sub    $0x3d,%eax
408fc8:	0f 84 bb 03 00 00    	je     0x409389
408fce:	83 e8 01             	sub    $0x1,%eax
408fd1:	0f 84 7a 03 00 00    	je     0x409351
408fd7:	83 e8 40             	sub    $0x40,%eax
408fda:	0f 84 b4 02 00 00    	je     0x409294
408fe0:	33 ff                	xor    %edi,%edi
408fe2:	8b 55 fc             	mov    -0x4(%ebp),%edx
408fe5:	f6 c2 04             	test   $0x4,%dl
408fe8:	0f 85 ee 01 00 00    	jne    0x4091dc
408fee:	0f b7 01             	movzwl (%ecx),%eax
408ff1:	c7 45 08 2d 00 00 00 	movl   $0x2d,0x8(%ebp)
408ff8:	66 39 45 08          	cmp    %ax,0x8(%ebp)
408ffc:	0f 84 da 01 00 00    	je     0x4091dc
409002:	6a 5f                	push   $0x5f
409004:	58                   	pop    %eax
409005:	f7 c2 00 01 00 00    	test   $0x100,%edx
40900b:	75 37                	jne    0x409044
40900d:	0f b7 11             	movzwl (%ecx),%edx
409010:	66 3b c2             	cmp    %dx,%ax
409013:	74 2f                	je     0x409044
409015:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40901a:	c7 43 30 01 00 00 00 	movl   $0x1,0x30(%ebx)
409021:	56                   	push   %esi
409022:	68 f7 02 00 00       	push   $0x2f7
409027:	68 44 dd 44 00       	push   $0x44dd44
40902c:	8b fe                	mov    %esi,%edi
40902e:	e8 a0 a7 ff ff       	call   0x4037d3
409033:	8b 45 f8             	mov    -0x8(%ebp),%eax
409036:	50                   	push   %eax
409037:	ff 73 04             	push   0x4(%ebx)
40903a:	68 b8 df 44 00       	push   $0x44dfb8
40903f:	e9 89 02 00 00       	jmp    0x4092cd
409044:	8d 45 fc             	lea    -0x4(%ebp),%eax
409047:	50                   	push   %eax
409048:	6a 01                	push   $0x1
40904a:	8d 41 02             	lea    0x2(%ecx),%eax
40904d:	50                   	push   %eax
40904e:	6a 01                	push   $0x1
409050:	ff 15 e8 b1 44 00    	call   *0x44b1e8
409056:	8b 43 08             	mov    0x8(%ebx),%eax
409059:	6a 76                	push   $0x76
40905b:	59                   	pop    %ecx
40905c:	66 3b 08             	cmp    (%eax),%cx
40905f:	0f 85 c4 00 00 00    	jne    0x409129
409065:	f6 45 fc 04          	testb  $0x4,-0x4(%ebp)
409069:	0f 84 ba 00 00 00    	je     0x409129
40906f:	33 ff                	xor    %edi,%edi
409071:	47                   	inc    %edi
409072:	8b 43 08             	mov    0x8(%ebx),%eax
409075:	89 75 08             	mov    %esi,0x8(%ebp)
409078:	46                   	inc    %esi
409079:	6a 2e                	push   $0x2e
40907b:	59                   	pop    %ecx
40907c:	8d 04 70             	lea    (%eax,%esi,2),%eax
40907f:	66 3b 08             	cmp    (%eax),%cx
409082:	75 35                	jne    0x4090b9
409084:	47                   	inc    %edi
409085:	83 ff 04             	cmp    $0x4,%edi
409088:	76 e8                	jbe    0x409072
40908a:	be 0d 00 07 80       	mov    $0x8007000d,%esi
40908f:	c7 43 30 01 00 00 00 	movl   $0x1,0x30(%ebx)
409096:	56                   	push   %esi
409097:	68 b9 02 00 00       	push   $0x2b9
40909c:	68 44 dd 44 00       	push   $0x44dd44
4090a1:	8b fe                	mov    %esi,%edi
4090a3:	e8 2b a7 ff ff       	call   0x4037d3
4090a8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4090ab:	50                   	push   %eax
4090ac:	ff 73 04             	push   0x4(%ebx)
4090af:	68 f8 de 44 00       	push   $0x44def8
4090b4:	e9 14 02 00 00       	jmp    0x4092cd
4090b9:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4090bc:	51                   	push   %ecx
4090bd:	6a 01                	push   $0x1
4090bf:	50                   	push   %eax
4090c0:	6a 01                	push   $0x1
4090c2:	ff 15 e8 b1 44 00    	call   *0x44b1e8
4090c8:	f6 45 fc 04          	testb  $0x4,-0x4(%ebp)
4090cc:	75 a4                	jne    0x409072
4090ce:	8d 43 18             	lea    0x18(%ebx),%eax
4090d1:	50                   	push   %eax
4090d2:	8b 43 08             	mov    0x8(%ebx),%eax
4090d5:	ff 75 08             	push   0x8(%ebp)
4090d8:	83 c0 02             	add    $0x2,%eax
4090db:	50                   	push   %eax
4090dc:	e8 79 ba 03 00       	call   0x444b5a
4090e1:	8b f8                	mov    %eax,%edi
4090e3:	85 ff                	test   %edi,%edi
4090e5:	79 2f                	jns    0x409116
4090e7:	be 0d 00 07 80       	mov    $0x8007000d,%esi
4090ec:	c7 43 30 01 00 00 00 	movl   $0x1,0x30(%ebx)
4090f3:	56                   	push   %esi
4090f4:	68 cc 02 00 00       	push   $0x2cc
4090f9:	68 44 dd 44 00       	push   $0x44dd44
4090fe:	8b fe                	mov    %esi,%edi
409100:	e8 ce a6 ff ff       	call   0x4037d3
409105:	8b 45 f8             	mov    -0x8(%ebp),%eax
409108:	50                   	push   %eax
409109:	ff 73 04             	push   0x4(%ebx)
40910c:	68 50 df 44 00       	push   $0x44df50
409111:	e9 b7 01 00 00       	jmp    0x4092cd
409116:	c7 43 28 03 00 00 00 	movl   $0x3,0x28(%ebx)
40911d:	c7 43 10 13 00 00 00 	movl   $0x13,0x10(%ebx)
409124:	e9 6e 02 00 00       	jmp    0x409397
409129:	6a 5f                	push   $0x5f
40912b:	5f                   	pop    %edi