406c10:	83 c0 04             	add    $0x4,%eax
406c13:	50                   	push   %eax
406c14:	ff 35 08 11 46 00    	push   0x461108
406c1a:	e8 f4 30 00 00       	call   0x409d13
406c1f:	a1 08 11 46 00       	mov    0x461108,%eax
406c24:	ff 30                	push   (%eax)
406c26:	e8 8b a8 ff ff       	call   0x4014b6
406c2b:	8b 4d 08             	mov    0x8(%ebp),%ecx
406c2e:	89 01                	mov    %eax,(%ecx)
406c30:	a1 08 11 46 00       	mov    0x461108,%eax
406c35:	ff 70 04             	push   0x4(%eax)
406c38:	e8 79 a8 ff ff       	call   0x4014b6
406c3d:	8b 4d 08             	mov    0x8(%ebp),%ecx
406c40:	89 41 04             	mov    %eax,0x4(%ecx)
406c43:	ff 75 08             	push   0x8(%ebp)
406c46:	e8 15 47 00 00       	call   0x40b360
406c4b:	89 45 e0             	mov    %eax,-0x20(%ebp)
406c4e:	8b 45 08             	mov    0x8(%ebp),%eax
406c51:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406c54:	89 08                	mov    %ecx,(%eax)
406c56:	8b 45 08             	mov    0x8(%ebp),%eax
406c59:	8b 4d e8             	mov    -0x18(%ebp),%ecx
406c5c:	89 48 04             	mov    %ecx,0x4(%eax)
406c5f:	ff 75 08             	push   0x8(%ebp)
406c62:	e8 4f a8 ff ff       	call   0x4014b6
406c67:	89 45 d8             	mov    %eax,-0x28(%ebp)
406c6a:	6a 40                	push   $0x40
406c6c:	6a 08                	push   $0x8
406c6e:	ff 75 d8             	push   -0x28(%ebp)
406c71:	e8 6d 6c 00 00       	call   0x40d8e3
406c76:	e8 64 3e 00 00       	call   0x40aadf
406c7b:	68 8c 6c 40 00       	push   $0x406c8c
406c80:	eb 09                	jmp    0x406c8b
406c82:	8d 4d dc             	lea    -0x24(%ebp),%ecx
406c85:	e8 32 a8 ff ff       	call   0x4014bc
406c8a:	c3                   	ret
406c8b:	c3                   	ret
406c8c:	8b 45 e0             	mov    -0x20(%ebp),%eax
406c8f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406c92:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406c99:	5f                   	pop    %edi
406c9a:	5e                   	pop    %esi
406c9b:	5b                   	pop    %ebx
406c9c:	c9                   	leave
406c9d:	c2 04 00             	ret    $0x4
406ca0:	55                   	push   %ebp
406ca1:	8b ec                	mov    %esp,%ebp
406ca3:	83 ec 0c             	sub    $0xc,%esp
406ca6:	68 36 13 40 00       	push   $0x401336
406cab:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406cb1:	50                   	push   %eax
406cb2:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
406cb9:	b8 8c 00 00 00       	mov    $0x8c,%eax
406cbe:	e8 6d a6 ff ff       	call   0x401330
406cc3:	53                   	push   %ebx
406cc4:	56                   	push   %esi
406cc5:	57                   	push   %edi
406cc6:	89 65 f4             	mov    %esp,-0xc(%ebp)
406cc9:	c7 45 f8 88 11 40 00 	movl   $0x401188,-0x8(%ebp)
406cd0:	8b 55 08             	mov    0x8(%ebp),%edx
406cd3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
406cd6:	e8 ed a7 ff ff       	call   0x4014c8
406cdb:	66 83 a5 70 ff ff ff 	andw   $0x0,-0x90(%ebp)
406ce2:	00
406ce3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
406ce6:	89 45 9c             	mov    %eax,-0x64(%ebp)
406ce9:	c7 45 94 08 40 00 00 	movl   $0x4008,-0x6c(%ebp)
406cf0:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
406cf6:	50                   	push   %eax
406cf7:	8d 45 94             	lea    -0x6c(%ebp),%eax
406cfa:	50                   	push   %eax
406cfb:	8d 45 c8             	lea    -0x38(%ebp),%eax
406cfe:	50                   	push   %eax
406cff:	e8 ae 01 00 00       	call   0x406eb2
406d04:	c7 45 8c 01 00 00 00 	movl   $0x1,-0x74(%ebp)
406d0b:	c7 45 84 02 00 00 00 	movl   $0x2,-0x7c(%ebp)
406d12:	6a 00                	push   $0x0
406d14:	8d 45 c8             	lea    -0x38(%ebp),%eax
406d17:	50                   	push   %eax
406d18:	8d 45 84             	lea    -0x7c(%ebp),%eax
406d1b:	50                   	push   %eax
406d1c:	8d 45 b8             	lea    -0x48(%ebp),%eax
406d1f:	50                   	push   %eax
406d20:	e8 85 a7 ff ff       	call   0x4014aa
406d25:	50                   	push   %eax
406d26:	e8 85 a7 ff ff       	call   0x4014b0
406d2b:	50                   	push   %eax
406d2c:	6a 01                	push   $0x1
406d2e:	6a 11                	push   $0x11
406d30:	8d 45 dc             	lea    -0x24(%ebp),%eax
406d33:	50                   	push   %eax
406d34:	6a 01                	push   $0x1
406d36:	68 80 00 00 00       	push   $0x80
406d3b:	e8 c4 a7 ff ff       	call   0x401504
406d40:	83 c4 1c             	add    $0x1c,%esp
406d43:	8d 4d c8             	lea    -0x38(%ebp),%ecx
406d46:	e8 59 a7 ff ff       	call   0x4014a4
406d4b:	ff 75 e4             	push   -0x1c(%ebp)
406d4e:	8d 45 a4             	lea    -0x5c(%ebp),%eax
406d51:	50                   	push   %eax
406d52:	e8 47 a7 ff ff       	call   0x40149e
406d57:	8d 45 a4             	lea    -0x5c(%ebp),%eax
406d5a:	50                   	push   %eax
406d5b:	8d 45 d8             	lea    -0x28(%ebp),%eax
406d5e:	50                   	push   %eax
406d5f:	e8 ac a7 ff ff       	call   0x401510
406d64:	66 83 8d 70 ff ff ff 	orw    $0xffff,-0x90(%ebp)
406d6b:	ff
406d6c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
406d6f:	89 45 9c             	mov    %eax,-0x64(%ebp)
406d72:	c7 45 94 08 40 00 00 	movl   $0x4008,-0x6c(%ebp)
406d79:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
406d7f:	50                   	push   %eax
406d80:	8d 45 94             	lea    -0x6c(%ebp),%eax
406d83:	50                   	push   %eax
406d84:	8d 45 c8             	lea    -0x38(%ebp),%eax
406d87:	50                   	push   %eax
406d88:	e8 25 01 00 00       	call   0x406eb2
406d8d:	c7 45 8c 02 00 00 00 	movl   $0x2,-0x74(%ebp)
406d94:	c7 45 84 02 00 00 00 	movl   $0x2,-0x7c(%ebp)
406d9b:	c7 85 7c ff ff ff 01 	movl   $0x1,-0x84(%ebp)
406da2:	00 00 00
406da5:	c7 85 74 ff ff ff 02 	movl   $0x2,-0x8c(%ebp)
406dac:	00 00 00
406daf:	8d 45 c8             	lea    -0x38(%ebp),%eax
406db2:	50                   	push   %eax
406db3:	8d 45 84             	lea    -0x7c(%ebp),%eax
406db6:	50                   	push   %eax
406db7:	8d 45 b8             	lea    -0x48(%ebp),%eax
406dba:	50                   	push   %eax
406dbb:	e8 d8 a6 ff ff       	call   0x401498
406dc0:	50                   	push   %eax
406dc1:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
406dc7:	50                   	push   %eax
406dc8:	8d 45 a8             	lea    -0x58(%ebp),%eax
406dcb:	50                   	push   %eax
406dcc:	e8 d9 a6 ff ff       	call   0x4014aa
406dd1:	50                   	push   %eax
406dd2:	e8 d9 a6 ff ff       	call   0x4014b0
406dd7:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
406ddd:	c7 85 6c ff ff ff 01 	movl   $0x1,-0x94(%ebp)
406de4:	00 00 00
406de7:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
406deb:	8d 4d c8             	lea    -0x38(%ebp),%ecx
406dee:	e8 b1 a6 ff ff       	call   0x4014a4
406df3:	eb 0c                	jmp    0x406e01
406df5:	8b 45 e8             	mov    -0x18(%ebp),%eax
406df8:	03 85 6c ff ff ff    	add    -0x94(%ebp),%eax
406dfe:	89 45 e8             	mov    %eax,-0x18(%ebp)
406e01:	8b 45 e8             	mov    -0x18(%ebp),%eax
406e04:	3b 85 68 ff ff ff    	cmp    -0x98(%ebp),%eax
406e0a:	7f 28                	jg     0x406e34
406e0c:	8b 45 e8             	mov    -0x18(%ebp),%eax
406e0f:	d1 e0                	shl    $1,%eax
406e11:	8b 4d d8             	mov    -0x28(%ebp),%ecx
406e14:	2b 41 14             	sub    0x14(%ecx),%eax
406e17:	8b 4d d8             	mov    -0x28(%ebp),%ecx
406e1a:	8b 49 0c             	mov    0xc(%ecx),%ecx
406e1d:	8b 55 dc             	mov    -0x24(%ebp),%edx
406e20:	8b 75 e8             	mov    -0x18(%ebp),%esi
406e23:	2b 72 14             	sub    0x14(%edx),%esi
406e26:	8b 55 dc             	mov    -0x24(%ebp),%edx
406e29:	8b 52 0c             	mov    0xc(%edx),%edx
406e2c:	8a 04 01             	mov    (%ecx,%eax,1),%al
406e2f:	88 04 32             	mov    %al,(%edx,%esi,1)
406e32:	eb c1                	jmp    0x406df5
406e34:	8d 45 dc             	lea    -0x24(%ebp),%eax
406e37:	50                   	push   %eax
406e38:	8d 45 e0             	lea    -0x20(%ebp),%eax
406e3b:	50                   	push   %eax
406e3c:	e8 cf a6 ff ff       	call   0x401510
406e41:	68 9e 6e 40 00       	push   $0x406e9e
406e46:	eb 37                	jmp    0x406e7f
406e48:	8b 45 fc             	mov    -0x4(%ebp),%eax
406e4b:	83 e0 04             	and    $0x4,%eax
406e4e:	85 c0                	test   %eax,%eax
406e50:	74 0b                	je     0x406e5d
406e52:	8d 45 e0             	lea    -0x20(%ebp),%eax
406e55:	50                   	push   %eax
406e56:	6a 00                	push   $0x0
406e58:	e8 71 a6 ff ff       	call   0x4014ce
406e5d:	8d 45 a8             	lea    -0x58(%ebp),%eax
406e60:	50                   	push   %eax
406e61:	8d 45 b8             	lea    -0x48(%ebp),%eax
406e64:	50                   	push   %eax
406e65:	8d 45 c8             	lea    -0x38(%ebp),%eax
406e68:	50                   	push   %eax
406e69:	6a 03                	push   $0x3
406e6b:	e8 22 a6 ff ff       	call   0x401492
406e70:	83 c4 10             	add    $0x10,%esp
406e73:	8d 45 a4             	lea    -0x5c(%ebp),%eax
406e76:	50                   	push   %eax
406e77:	6a 00                	push   $0x0
406e79:	e8 50 a6 ff ff       	call   0x4014ce
406e7e:	c3                   	ret
406e7f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
406e82:	e8 35 a6 ff ff       	call   0x4014bc
406e87:	8d 45 dc             	lea    -0x24(%ebp),%eax
406e8a:	50                   	push   %eax
406e8b:	6a 00                	push   $0x0
406e8d:	e8 3c a6 ff ff       	call   0x4014ce
406e92:	8d 45 d8             	lea    -0x28(%ebp),%eax
406e95:	50                   	push   %eax
406e96:	6a 00                	push   $0x0
406e98:	e8 31 a6 ff ff       	call   0x4014ce
406e9d:	c3                   	ret
406e9e:	8b 45 e0             	mov    -0x20(%ebp),%eax
406ea1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406ea4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406eab:	5f                   	pop    %edi
406eac:	5e                   	pop    %esi
406ead:	5b                   	pop    %ebx
406eae:	c9                   	leave
406eaf:	c2 04 00             	ret    $0x4
406eb2:	55                   	push   %ebp
406eb3:	8b ec                	mov    %esp,%ebp
406eb5:	83 ec 0c             	sub    $0xc,%esp
406eb8:	68 36 13 40 00       	push   $0x401336
406ebd:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406ec3:	50                   	push   %eax
406ec4:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
406ecb:	6a 30                	push   $0x30
406ecd:	58                   	pop    %eax
406ece:	e8 5d a4 ff ff       	call   0x401330
406ed3:	53                   	push   %ebx
406ed4:	56                   	push   %esi
406ed5:	57                   	push   %edi
406ed6:	89 65 f4             	mov    %esp,-0xc(%ebp)
406ed9:	c7 45 f8 98 11 40 00 	movl   $0x401198,-0x8(%ebp)
406ee0:	8b 45 10             	mov    0x10(%ebp),%eax
406ee3:	66 8b 00             	mov    (%eax),%ax
406ee6:	66 89 45 c8          	mov    %ax,-0x38(%ebp)
406eea:	0f bf 45 c8          	movswl -0x38(%ebp),%eax
406eee:	89 45 bc             	mov    %eax,-0x44(%ebp)
406ef1:	83 7d bc ff          	cmpl   $0xffffffff,-0x44(%ebp)
406ef5:	74 08                	je     0x406eff
406ef7:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
406efb:	74 1b                	je     0x406f18
406efd:	eb 30                	jmp    0x406f2f
406eff:	ff 75 0c             	push   0xc(%ebp)
406f02:	8d 45 cc             	lea    -0x34(%ebp),%eax
406f05:	50                   	push   %eax
406f06:	e8 7b a5 ff ff       	call   0x401486
406f0b:	8d 55 cc             	lea    -0x34(%ebp),%edx
406f0e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
406f11:	e8 76 a5 ff ff       	call   0x40148c
406f16:	eb 17                	jmp    0x406f2f
406f18:	ff 75 0c             	push   0xc(%ebp)
406f1b:	8d 45 cc             	lea    -0x34(%ebp),%eax
406f1e:	50                   	push   %eax
406f1f:	e8 5c a5 ff ff       	call   0x401480
406f24:	8d 55 cc             	lea    -0x34(%ebp),%edx
406f27:	8d 4d dc             	lea    -0x24(%ebp),%ecx
406f2a:	e8 5d a5 ff ff       	call   0x40148c
406f2f:	68 52 6f 40 00       	push   $0x406f52
406f34:	eb 1b                	jmp    0x406f51
406f36:	8b 45 fc             	mov    -0x4(%ebp),%eax
406f39:	83 e0 04             	and    $0x4,%eax
406f3c:	85 c0                	test   %eax,%eax
406f3e:	74 08                	je     0x406f48
406f40:	8d 4d dc             	lea    -0x24(%ebp),%ecx
406f43:	e8 5c a5 ff ff       	call   0x4014a4
406f48:	8d 4d cc             	lea    -0x34(%ebp),%ecx
406f4b:	e8 54 a5 ff ff       	call   0x4014a4
406f50:	c3                   	ret
406f51:	c3                   	ret
406f52:	8d 75 dc             	lea    -0x24(%ebp),%esi
406f55:	8b 7d 08             	mov    0x8(%ebp),%edi
406f58:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406f59:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406f5a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406f5b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406f5c:	8b 45 08             	mov    0x8(%ebp),%eax
406f5f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406f62:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406f69:	5f                   	pop    %edi
406f6a:	5e                   	pop    %esi
406f6b:	5b                   	pop    %ebx
406f6c:	c9                   	leave
406f6d:	c2 0c 00             	ret    $0xc
406f70:	55                   	push   %ebp
406f71:	8b ec                	mov    %esp,%ebp
406f73:	83 ec 0c             	sub    $0xc,%esp
406f76:	68 36 13 40 00       	push   $0x401336
406f7b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406f81:	50                   	push   %eax
406f82:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
406f89:	6a 68                	push   $0x68
406f8b:	58                   	pop    %eax
406f8c:	e8 9f a3 ff ff       	call   0x401330
406f91:	53                   	push   %ebx
406f92:	56                   	push   %esi
406f93:	57                   	push   %edi
406f94:	89 65 f4             	mov    %esp,-0xc(%ebp)
406f97:	c7 45 f8 a8 11 40 00 	movl   $0x4011a8,-0x8(%ebp)
406f9e:	6a 11                	push   $0x11
406fa0:	68 e4 38 40 00       	push   $0x4038e4
406fa5:	8d 45 cc             	lea    -0x34(%ebp),%eax
406fa8:	50                   	push   %eax
406fa9:	e8 cc a4 ff ff       	call   0x40147a
406fae:	ff 75 d8             	push   -0x28(%ebp)
406fb1:	e8 00 a5 ff ff       	call   0x4014b6
406fb6:	50                   	push   %eax
406fb7:	ff 75 08             	push   0x8(%ebp)
406fba:	e8 83 f4 ff ff       	call   0x406442
406fbf:	c7 45 8c 03 00 00 00 	movl   $0x3,-0x74(%ebp)
406fc6:	c7 45 90 01 00 00 00 	movl   $0x1,-0x70(%ebp)
406fcd:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
406fd1:	eb 09                	jmp    0x406fdc
406fd3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406fd6:	03 45 90             	add    -0x70(%ebp),%eax
406fd9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406fdc:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406fdf:	3b 45 8c             	cmp    -0x74(%ebp),%eax
406fe2:	7f 64                	jg     0x407048
406fe4:	8b 45 d8             	mov    -0x28(%ebp),%eax
406fe7:	03 45 e4             	add    -0x1c(%ebp),%eax
406fea:	0f b6 00             	movzbl (%eax),%eax
406fed:	85 c0                	test   %eax,%eax
406fef:	75 02                	jne    0x406ff3
406ff1:	eb 63                	jmp    0x407056
406ff3:	8b 45 e8             	mov    -0x18(%ebp),%eax
406ff6:	89 45 a0             	mov    %eax,-0x60(%ebp)
406ff9:	c7 45 98 08 00 00 00 	movl   $0x8,-0x68(%ebp)
407000:	8b 45 d8             	mov    -0x28(%ebp),%eax
407003:	03 45 e4             	add    -0x1c(%ebp),%eax
407006:	0f b6 00             	movzbl (%eax),%eax
407009:	50                   	push   %eax
40700a:	8d 45 b8             	lea    -0x48(%ebp),%eax
40700d:	50                   	push   %eax
40700e:	e8 55 a4 ff ff       	call   0x401468
407013:	8d 45 98             	lea    -0x68(%ebp),%eax
407016:	50                   	push   %eax
407017:	8d 45 b8             	lea    -0x48(%ebp),%eax
40701a:	50                   	push   %eax
40701b:	8d 45 a8             	lea    -0x58(%ebp),%eax
40701e:	50                   	push   %eax
40701f:	e8 4a a4 ff ff       	call   0x40146e
407024:	50                   	push   %eax
407025:	e8 4a a4 ff ff       	call   0x401474
40702a:	8b d0                	mov    %eax,%edx
40702c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40702f:	e8 8e a4 ff ff       	call   0x4014c2
407034:	8d 45 a8             	lea    -0x58(%ebp),%eax
407037:	50                   	push   %eax
407038:	8d 45 b8             	lea    -0x48(%ebp),%eax
40703b:	50                   	push   %eax
40703c:	6a 02                	push   $0x2
40703e:	e8 4f a4 ff ff       	call   0x401492
407043:	83 c4 0c             	add    $0xc,%esp