40fb0a:	56                   	push   %esi
40fb0b:	57                   	push   %edi
40fb0c:	33 c0                	xor    %eax,%eax
40fb0e:	68 fe 01 00 00       	push   $0x1fe
40fb13:	50                   	push   %eax
40fb14:	8d 8d 02 fe ff ff    	lea    -0x1fe(%ebp),%ecx
40fb1a:	51                   	push   %ecx
40fb1b:	33 ff                	xor    %edi,%edi
40fb1d:	66 89 85 00 fe ff ff 	mov    %ax,-0x200(%ebp)
40fb24:	e8 b7 88 00 00       	call   0x4183e0
40fb29:	8b 75 10             	mov    0x10(%ebp),%esi
40fb2c:	83 c4 0c             	add    $0xc,%esp
40fb2f:	85 f6                	test   %esi,%esi
40fb31:	74 67                	je     0x40fb9a
40fb33:	66 39 3e             	cmp    %di,(%esi)
40fb36:	74 62                	je     0x40fb9a
40fb38:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40fb3b:	eb 03                	jmp    0x40fb40
40fb3d:	8d 49 00             	lea    0x0(%ecx),%ecx
40fb40:	8d 95 00 fe ff ff    	lea    -0x200(%ebp),%edx
40fb46:	68 00 01 00 00       	push   $0x100
40fb4b:	52                   	push   %edx
40fb4c:	e8 3f 88 00 00       	call   0x418390
40fb51:	8b 45 18             	mov    0x18(%ebp),%eax
40fb54:	8b 55 08             	mov    0x8(%ebp),%edx
40fb57:	50                   	push   %eax
40fb58:	8d 8d 00 fe ff ff    	lea    -0x200(%ebp),%ecx
40fb5e:	51                   	push   %ecx
40fb5f:	56                   	push   %esi
40fb60:	52                   	push   %edx
40fb61:	e8 8a fb ff ff       	call   0x40f6f0
40fb66:	8b 43 10             	mov    0x10(%ebx),%eax
40fb69:	50                   	push   %eax
40fb6a:	8d 8d 00 fe ff ff    	lea    -0x200(%ebp),%ecx
40fb70:	51                   	push   %ecx
40fb71:	8d 43 14             	lea    0x14(%ebx),%eax
40fb74:	50                   	push   %eax
40fb75:	e8 f6 8a 00 00       	call   0x418670
40fb7a:	83 c4 24             	add    $0x24,%esp
40fb7d:	85 c0                	test   %eax,%eax
40fb7f:	75 22                	jne    0x40fba3
40fb81:	56                   	push   %esi
40fb82:	e8 c9 8a 00 00       	call   0x418650
40fb87:	8b 55 10             	mov    0x10(%ebp),%edx
40fb8a:	8d 7c 07 01          	lea    0x1(%edi,%eax,1),%edi
40fb8e:	8d 34 7a             	lea    (%edx,%edi,2),%esi
40fb91:	83 c4 04             	add    $0x4,%esp
40fb94:	66 83 3e 00          	cmpw   $0x0,(%esi)
40fb98:	75 a6                	jne    0x40fb40
40fb9a:	5f                   	pop    %edi
40fb9b:	5e                   	pop    %esi
40fb9c:	33 c0                	xor    %eax,%eax
40fb9e:	5b                   	pop    %ebx
40fb9f:	8b e5                	mov    %ebp,%esp
40fba1:	5d                   	pop    %ebp
40fba2:	c3                   	ret
40fba3:	8b 45 14             	mov    0x14(%ebp),%eax
40fba6:	8b 4d 18             	mov    0x18(%ebp),%ecx
40fba9:	8b 55 10             	mov    0x10(%ebp),%edx
40fbac:	50                   	push   %eax
40fbad:	51                   	push   %ecx
40fbae:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fbb1:	8d 04 7a             	lea    (%edx,%edi,2),%eax
40fbb4:	50                   	push   %eax
40fbb5:	53                   	push   %ebx
40fbb6:	51                   	push   %ecx
40fbb7:	e8 64 fc ff ff       	call   0x40f820
40fbbc:	83 c4 14             	add    $0x14,%esp
40fbbf:	5f                   	pop    %edi
40fbc0:	5e                   	pop    %esi
40fbc1:	b8 01 00 00 00       	mov    $0x1,%eax
40fbc6:	5b                   	pop    %ebx
40fbc7:	8b e5                	mov    %ebp,%esp
40fbc9:	5d                   	pop    %ebp
40fbca:	c3                   	ret
40fbcb:	42                   	inc    %edx
40fbcc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fbcd:	a3 28 50 55 8b       	mov    %eax,0x8b555028
40fbd2:	ec                   	in     (%dx),%al
40fbd3:	83 ec 54             	sub    $0x54,%esp
40fbd6:	53                   	push   %ebx
40fbd7:	56                   	push   %esi
40fbd8:	8b 75 10             	mov    0x10(%ebp),%esi
40fbdb:	8b 46 1c             	mov    0x1c(%esi),%eax
40fbde:	57                   	push   %edi
40fbdf:	33 db                	xor    %ebx,%ebx
40fbe1:	53                   	push   %ebx
40fbe2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40fbe5:	33 ff                	xor    %edi,%edi
40fbe7:	ff d0                	call   *%eax
40fbe9:	8d 55 fc             	lea    -0x4(%ebp),%edx
40fbec:	52                   	push   %edx
40fbed:	8b 56 24             	mov    0x24(%esi),%edx
40fbf0:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40fbf3:	50                   	push   %eax
40fbf4:	6a 01                	push   $0x1
40fbf6:	53                   	push   %ebx
40fbf7:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40fbfa:	51                   	push   %ecx
40fbfb:	c7 45 d4 40 4a 37 3c 	movl   $0x3c374a40,-0x2c(%ebp)
40fc02:	c7 45 d8 e4 ba cf 11 	movl   $0x11cfbae4,-0x28(%ebp)
40fc09:	c7 45 dc bf 7d 00 aa 	movl   $0xaa007dbf,-0x24(%ebp)
40fc10:	c7 45 e0 00 69 46 ee 	movl   $0xee466900,-0x20(%ebp)
40fc17:	c7 45 e4 11 dc a0 af 	movl   $0xafa0dc11,-0x1c(%ebp)
40fc1e:	c7 45 e8 13 c3 d0 11 	movl   $0x11d0c313,-0x18(%ebp)
40fc25:	c7 45 ec 83 1a 00 c0 	movl   $0xc0001a83,-0x14(%ebp)
40fc2c:	c7 45 f0 4f d5 ae 38 	movl   $0x38aed54f,-0x10(%ebp)
40fc33:	ff d2                	call   *%edx
40fc35:	85 c0                	test   %eax,%eax
40fc37:	0f 88 8e 00 00 00    	js     0x40fccb
40fc3d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fc40:	8b 08                	mov    (%eax),%ecx
40fc42:	8d 55 f8             	lea    -0x8(%ebp),%edx
40fc45:	52                   	push   %edx
40fc46:	50                   	push   %eax
40fc47:	8b 41 1c             	mov    0x1c(%ecx),%eax
40fc4a:	ff d0                	call   *%eax
40fc4c:	85 c0                	test   %eax,%eax
40fc4e:	78 70                	js     0x40fcc0
40fc50:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fc53:	8b 08                	mov    (%eax),%ecx
40fc55:	8d 55 f4             	lea    -0xc(%ebp),%edx
40fc58:	52                   	push   %edx
40fc59:	8d 55 ac             	lea    -0x54(%ebp),%edx
40fc5c:	52                   	push   %edx
40fc5d:	6a 01                	push   $0x1
40fc5f:	50                   	push   %eax
40fc60:	8b 41 0c             	mov    0xc(%ecx),%eax
40fc63:	ff d0                	call   *%eax
40fc65:	85 c0                	test   %eax,%eax
40fc67:	75 49                	jne    0x40fcb2
40fc69:	8b 45 b0             	mov    -0x50(%ebp),%eax
40fc6c:	3b c3                	cmp    %ebx,%eax
40fc6e:	74 3a                	je     0x40fcaa
40fc70:	6a 3f                	push   $0x3f
40fc72:	50                   	push   %eax
40fc73:	e8 d8 8b 00 00       	call   0x418850
40fc78:	83 c4 08             	add    $0x8,%esp
40fc7b:	3b c3                	cmp    %ebx,%eax
40fc7d:	74 05                	je     0x40fc84
40fc7f:	33 c9                	xor    %ecx,%ecx
40fc81:	66 89 08             	mov    %cx,(%eax)
40fc84:	8b 55 b0             	mov    -0x50(%ebp),%edx
40fc87:	52                   	push   %edx
40fc88:	e8 c3 89 00 00       	call   0x418650
40fc8d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
40fc90:	8b 55 0c             	mov    0xc(%ebp),%edx
40fc93:	8b f0                	mov    %eax,%esi
40fc95:	8d 04 36             	lea    (%esi,%esi,1),%eax
40fc98:	50                   	push   %eax
40fc99:	51                   	push   %ecx
40fc9a:	8d 04 7a             	lea    (%edx,%edi,2),%eax
40fc9d:	50                   	push   %eax
40fc9e:	e8 bd 86 00 00       	call   0x418360
40fca3:	83 c4 10             	add    $0x10,%esp
40fca6:	8d 7c 37 01          	lea    0x1(%edi,%esi,1),%edi
40fcaa:	81 ff 00 a0 0f 00    	cmp    $0xfa000,%edi
40fcb0:	72 9e                	jb     0x40fc50
40fcb2:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fcb5:	8b 08                	mov    (%eax),%ecx
40fcb7:	8b 51 08             	mov    0x8(%ecx),%edx
40fcba:	50                   	push   %eax
40fcbb:	ff d2                	call   *%edx
40fcbd:	8b 75 10             	mov    0x10(%ebp),%esi
40fcc0:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fcc3:	8b 08                	mov    (%eax),%ecx
40fcc5:	8b 51 08             	mov    0x8(%ecx),%edx
40fcc8:	50                   	push   %eax
40fcc9:	ff d2                	call   *%edx
40fccb:	8b 46 20             	mov    0x20(%esi),%eax
40fcce:	ff d0                	call   *%eax
40fcd0:	5f                   	pop    %edi
40fcd1:	5e                   	pop    %esi
40fcd2:	b8 01 00 00 00       	mov    $0x1,%eax
40fcd7:	5b                   	pop    %ebx
40fcd8:	8b e5                	mov    %ebp,%esp
40fcda:	5d                   	pop    %ebp
40fcdb:	c3                   	ret
40fcdc:	26 68 44 f9 55 8b    	es push $0x8b55f944
40fce2:	ec                   	in     (%dx),%al
40fce3:	81 ec c0 00 00 00    	sub    $0xc0,%esp
40fce9:	53                   	push   %ebx
40fcea:	56                   	push   %esi
40fceb:	6a 3f                	push   $0x3f
40fced:	8d 45 81             	lea    -0x7f(%ebp),%eax
40fcf0:	6a 00                	push   $0x0
40fcf2:	50                   	push   %eax
40fcf3:	c6 45 80 00          	movb   $0x0,-0x80(%ebp)
40fcf7:	e8 e4 86 00 00       	call   0x4183e0
40fcfc:	8d 4d 80             	lea    -0x80(%ebp),%ecx
40fcff:	6a 09                	push   $0x9
40fd01:	51                   	push   %ecx
40fd02:	e8 79 92 00 00       	call   0x418f80
40fd07:	8b 75 08             	mov    0x8(%ebp),%esi
40fd0a:	8d 55 80             	lea    -0x80(%ebp),%edx
40fd0d:	52                   	push   %edx
40fd0e:	83 c6 1c             	add    $0x1c,%esi
40fd11:	56                   	push   %esi
40fd12:	e8 09 87 ff ff       	call   0x408420
40fd17:	8b d8                	mov    %eax,%ebx
40fd19:	83 c4 1c             	add    $0x1c,%esp
40fd1c:	85 db                	test   %ebx,%ebx
40fd1e:	75 06                	jne    0x40fd26
40fd20:	5e                   	pop    %esi
40fd21:	5b                   	pop    %ebx
40fd22:	8b e5                	mov    %ebp,%esp
40fd24:	5d                   	pop    %ebp
40fd25:	c3                   	ret
40fd26:	57                   	push   %edi
40fd27:	68 72 4b 1d 6d       	push   $0x6d1d4b72
40fd2c:	6a 00                	push   $0x0
40fd2e:	6a 00                	push   $0x0
40fd30:	53                   	push   %ebx
40fd31:	56                   	push   %esi
40fd32:	e8 99 25 00 00       	call   0x4122d0
40fd37:	8b 7d 0c             	mov    0xc(%ebp),%edi
40fd3a:	68 fc 29 fd 0c       	push   $0xcfd29fc
40fd3f:	6a 00                	push   $0x0
40fd41:	6a 00                	push   $0x0
40fd43:	53                   	push   %ebx
40fd44:	56                   	push   %esi
40fd45:	89 07                	mov    %eax,(%edi)
40fd47:	e8 84 25 00 00       	call   0x4122d0
40fd4c:	68 88 a5 40 47       	push   $0x4740a588
40fd51:	6a 00                	push   $0x0
40fd53:	6a 00                	push   $0x0
40fd55:	53                   	push   %ebx
40fd56:	56                   	push   %esi
40fd57:	89 47 04             	mov    %eax,0x4(%edi)
40fd5a:	e8 71 25 00 00       	call   0x4122d0
40fd5f:	68 32 4e 20 48       	push   $0x48204e32
40fd64:	6a 00                	push   $0x0
40fd66:	6a 00                	push   $0x0
40fd68:	53                   	push   %ebx
40fd69:	56                   	push   %esi
40fd6a:	89 47 08             	mov    %eax,0x8(%edi)
40fd6d:	e8 5e 25 00 00       	call   0x4122d0
40fd72:	83 c4 50             	add    $0x50,%esp
40fd75:	68 9c 11 fb b1       	push   $0xb1fb119c
40fd7a:	6a 00                	push   $0x0
40fd7c:	6a 00                	push   $0x0
40fd7e:	53                   	push   %ebx
40fd7f:	56                   	push   %esi
40fd80:	89 47 0c             	mov    %eax,0xc(%edi)
40fd83:	e8 48 25 00 00       	call   0x4122d0
40fd88:	68 4e e2 fc 9d       	push   $0x9dfce24e
40fd8d:	6a 00                	push   $0x0
40fd8f:	6a 00                	push   $0x0
40fd91:	53                   	push   %ebx
40fd92:	56                   	push   %esi
40fd93:	89 47 10             	mov    %eax,0x10(%edi)
40fd96:	e8 35 25 00 00       	call   0x4122d0
40fd9b:	6a 3f                	push   $0x3f
40fd9d:	89 47 14             	mov    %eax,0x14(%edi)
40fda0:	8d 45 c1             	lea    -0x3f(%ebp),%eax
40fda3:	6a 00                	push   $0x0
40fda5:	50                   	push   %eax
40fda6:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
40fdaa:	e8 31 86 00 00       	call   0x4183e0
40fdaf:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40fdb2:	6a 06                	push   $0x6
40fdb4:	51                   	push   %ecx
40fdb5:	e8 c6 91 00 00       	call   0x418f80
40fdba:	8d 55 c0             	lea    -0x40(%ebp),%edx
40fdbd:	52                   	push   %edx
40fdbe:	56                   	push   %esi
40fdbf:	e8 5c 86 ff ff       	call   0x408420
40fdc4:	8b d8                	mov    %eax,%ebx
40fdc6:	83 c4 44             	add    $0x44,%esp
40fdc9:	85 db                	test   %ebx,%ebx
40fdcb:	0f 84 da 00 00 00    	je     0x40feab
40fdd1:	8b 45 08             	mov    0x8(%ebp),%eax
40fdd4:	6a 4d                	push   $0x4d
40fdd6:	50                   	push   %eax
40fdd7:	e8 34 24 00 00       	call   0x412210
40fddc:	50                   	push   %eax
40fddd:	6a 00                	push   $0x0
40fddf:	6a 00                	push   $0x0
40fde1:	53                   	push   %ebx
40fde2:	56                   	push   %esi
40fde3:	e8 e8 24 00 00       	call   0x4122d0
40fde8:	6a 3f                	push   $0x3f
40fdea:	8d 8d 41 ff ff ff    	lea    -0xbf(%ebp),%ecx
40fdf0:	6a 00                	push   $0x0
40fdf2:	51                   	push   %ecx
40fdf3:	89 47 18             	mov    %eax,0x18(%edi)
40fdf6:	c6 85 40 ff ff ff 00 	movb   $0x0,-0xc0(%ebp)
40fdfd:	e8 de 85 00 00       	call   0x4183e0
40fe02:	8d 95 40 ff ff ff    	lea    -0xc0(%ebp),%edx
40fe08:	6a 02                	push   $0x2
40fe0a:	52                   	push   %edx
40fe0b:	e8 70 91 00 00       	call   0x418f80
40fe10:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
40fe16:	50                   	push   %eax
40fe17:	56                   	push   %esi
40fe18:	e8 03 86 ff ff       	call   0x408420
40fe1d:	8b d8                	mov    %eax,%ebx
40fe1f:	83 c4 38             	add    $0x38,%esp
40fe22:	85 db                	test   %ebx,%ebx
40fe24:	0f 84 81 00 00 00    	je     0x40feab
40fe2a:	68 7a 89 70 45       	push   $0x4570897a
40fe2f:	6a 00                	push   $0x0
40fe31:	6a 00                	push   $0x0
40fe33:	53                   	push   %ebx
40fe34:	56                   	push   %esi
40fe35:	e8 96 24 00 00       	call   0x4122d0
40fe3a:	68 b4 cc d2 11       	push   $0x11d2ccb4
40fe3f:	6a 00                	push   $0x0
40fe41:	6a 00                	push   $0x0
40fe43:	53                   	push   %ebx
40fe44:	56                   	push   %esi
40fe45:	89 47 1c             	mov    %eax,0x1c(%edi)
40fe48:	e8 83 24 00 00       	call   0x4122d0
40fe4d:	68 b8 82 48 c8       	push   $0xc84882b8
40fe52:	6a 00                	push   $0x0
40fe54:	6a 00                	push   $0x0
40fe56:	53                   	push   %ebx
40fe57:	56                   	push   %esi
40fe58:	89 47 20             	mov    %eax,0x20(%edi)
40fe5b:	e8 70 24 00 00       	call   0x4122d0
40fe60:	83 c4 3c             	add    $0x3c,%esp
40fe63:	83 3f 00             	cmpl   $0x0,(%edi)
40fe66:	89 47 24             	mov    %eax,0x24(%edi)
40fe69:	74 40                	je     0x40feab
40fe6b:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
40fe6f:	74 3a                	je     0x40feab
40fe71:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
40fe75:	74 34                	je     0x40feab
40fe77:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
40fe7b:	74 2e                	je     0x40feab
40fe7d:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
40fe81:	74 28                	je     0x40feab
40fe83:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
40fe87:	74 22                	je     0x40feab
40fe89:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
40fe8d:	74 1c                	je     0x40feab
40fe8f:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
40fe93:	74 16                	je     0x40feab
40fe95:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
40fe99:	74 10                	je     0x40feab
40fe9b:	85 c0                	test   %eax,%eax
40fe9d:	74 0c                	je     0x40feab
40fe9f:	5f                   	pop    %edi
40fea0:	5e                   	pop    %esi
40fea1:	b8 01 00 00 00       	mov    $0x1,%eax
40fea6:	5b                   	pop    %ebx
40fea7:	8b e5                	mov    %ebp,%esp
40fea9:	5d                   	pop    %ebp
40feaa:	c3                   	ret
40feab:	5f                   	pop    %edi