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
407046:	eb 8b                	jmp    0x406fd3
407048:	8b 45 08             	mov    0x8(%ebp),%eax
40704b:	83 c0 04             	add    $0x4,%eax
40704e:	89 45 08             	mov    %eax,0x8(%ebp)
407051:	e9 58 ff ff ff       	jmp    0x406fae
407056:	68 94 70 40 00       	push   $0x407094
40705b:	eb 25                	jmp    0x407082
40705d:	8b 45 fc             	mov    -0x4(%ebp),%eax
407060:	83 e0 04             	and    $0x4,%eax
407063:	85 c0                	test   %eax,%eax
407065:	74 08                	je     0x40706f
407067:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40706a:	e8 4d a4 ff ff       	call   0x4014bc
40706f:	8d 45 a8             	lea    -0x58(%ebp),%eax
407072:	50                   	push   %eax
407073:	8d 45 b8             	lea    -0x48(%ebp),%eax
407076:	50                   	push   %eax
407077:	6a 02                	push   $0x2
407079:	e8 14 a4 ff ff       	call   0x401492
40707e:	83 c4 0c             	add    $0xc,%esp
407081:	c3                   	ret
407082:	8d 45 cc             	lea    -0x34(%ebp),%eax
407085:	89 45 94             	mov    %eax,-0x6c(%ebp)
407088:	8d 45 94             	lea    -0x6c(%ebp),%eax
40708b:	50                   	push   %eax
40708c:	6a 00                	push   $0x0
40708e:	e8 3b a4 ff ff       	call   0x4014ce
407093:	c3                   	ret
407094:	8b 45 e8             	mov    -0x18(%ebp),%eax
407097:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40709a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4070a1:	5f                   	pop    %edi
4070a2:	5e                   	pop    %esi
4070a3:	5b                   	pop    %ebx
4070a4:	c9                   	leave
4070a5:	c2 04 00             	ret    $0x4
4070a8:	55                   	push   %ebp
4070a9:	8b ec                	mov    %esp,%ebp
4070ab:	51                   	push   %ecx
4070ac:	51                   	push   %ecx
4070ad:	68 36 13 40 00       	push   $0x401336
4070b2:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4070b8:	50                   	push   %eax
4070b9:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4070c0:	b8 28 01 00 00       	mov    $0x128,%eax
4070c5:	e8 66 a2 ff ff       	call   0x401330
4070ca:	53                   	push   %ebx
4070cb:	56                   	push   %esi
4070cc:	57                   	push   %edi
4070cd:	89 65 f8             	mov    %esp,-0x8(%ebp)
4070d0:	c7 45 fc b8 11 40 00 	movl   $0x4011b8,-0x4(%ebp)
4070d7:	6a 11                	push   $0x11
4070d9:	68 20 39 40 00       	push   $0x403920
4070de:	8d 45 c0             	lea    -0x40(%ebp),%eax
4070e1:	50                   	push   %eax
4070e2:	e8 93 a3 ff ff       	call   0x40147a
4070e7:	6a 11                	push   $0x11
4070e9:	68 20 39 40 00       	push   $0x403920
4070ee:	8d 45 94             	lea    -0x6c(%ebp),%eax
4070f1:	50                   	push   %eax
4070f2:	e8 83 a3 ff ff       	call   0x40147a
4070f7:	6a 11                	push   $0x11
4070f9:	68 e4 38 40 00       	push   $0x4038e4
4070fe:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
407104:	50                   	push   %eax
407105:	e8 70 a3 ff ff       	call   0x40147a
40710a:	66 83 8d 60 ff ff ff 	orw    $0xffff,-0xa0(%ebp)
407111:	ff
407112:	8b 45 0c             	mov    0xc(%ebp),%eax
407115:	ff 30                	push   (%eax)
407117:	6a 01                	push   $0x1
407119:	e8 44 a3 ff ff       	call   0x401462
40711e:	39 45 ec             	cmp    %eax,-0x14(%ebp)
407121:	0f 8f 3b 2b 00 00    	jg     0x409c62
407127:	8b 45 ec             	mov    -0x14(%ebp),%eax
40712a:	83 e0 03             	and    $0x3,%eax
40712d:	89 45 e8             	mov    %eax,-0x18(%ebp)
407130:	8b 45 e8             	mov    -0x18(%ebp),%eax
407133:	89 85 d0 fe ff ff    	mov    %eax,-0x130(%ebp)
407139:	8b 85 d0 fe ff ff    	mov    -0x130(%ebp),%eax
40713f:	89 85 c8 fe ff ff    	mov    %eax,-0x138(%ebp)
407145:	83 bd c8 fe ff ff 00 	cmpl   $0x0,-0x138(%ebp)
40714c:	74 05                	je     0x407153
40714e:	e9 14 2a 00 00       	jmp    0x409b67
407153:	c7 85 18 ff ff ff 04 	movl   $0x4,-0xe8(%ebp)
40715a:	00 00 00
40715d:	c7 85 10 ff ff ff 02 	movl   $0x2,-0xf0(%ebp)
407164:	00 00 00
407167:	8d 95 10 ff ff ff    	lea    -0xf0(%ebp),%edx
40716d:	8d 4d 80             	lea    -0x80(%ebp),%ecx
407170:	e8 17 a3 ff ff       	call   0x40148c
407175:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
40717b:	e8 36 a3 ff ff       	call   0x4014b6
407180:	8b f0                	mov    %eax,%esi
407182:	ff 75 a0             	push   -0x60(%ebp)
407185:	e8 2c a3 ff ff       	call   0x4014b6
40718a:	2b f0                	sub    %eax,%esi
40718c:	89 b5 18 ff ff ff    	mov    %esi,-0xe8(%ebp)
407192:	c7 85 10 ff ff ff 03 	movl   $0x3,-0xf0(%ebp)
407199:	00 00 00
40719c:	8d 95 10 ff ff ff    	lea    -0xf0(%ebp),%edx
4071a2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4071a5:	e8 e2 a2 ff ff       	call   0x40148c
4071aa:	8b 75 08             	mov    0x8(%ebp),%esi
4071ad:	03 75 ec             	add    -0x14(%ebp),%esi
4071b0:	ff 75 cc             	push   -0x34(%ebp)
4071b3:	e8 fe a2 ff ff       	call   0x4014b6
4071b8:	2b f0                	sub    %eax,%esi
4071ba:	89 b5 18 ff ff ff    	mov    %esi,-0xe8(%ebp)
4071c0:	c7 85 10 ff ff ff 03 	movl   $0x3,-0xf0(%ebp)
4071c7:	00 00 00
4071ca:	8d 95 10 ff ff ff    	lea    -0xf0(%ebp),%edx
4071d0:	8d 4d ac             	lea    -0x54(%ebp),%ecx
4071d3:	e8 b4 a2 ff ff       	call   0x40148c
4071d8:	83 c8 ff             	or     $0xffffffff,%eax
4071db:	85 c0                	test   %eax,%eax
4071dd:	74 05                	je     0x4071e4
4071df:	e9 93 28 00 00       	jmp    0x409a77
4071e4:	c7 85 28 ff ff ff 04 	movl   $0x80020004,-0xd8(%ebp)
4071eb:	00 02 80
4071ee:	c7 85 20 ff ff ff 0a 	movl   $0xa,-0xe0(%ebp)
4071f5:	00 00 00
4071f8:	c7 85 38 ff ff ff 04 	movl   $0x80020004,-0xc8(%ebp)
4071ff:	00 02 80
407202:	c7 85 30 ff ff ff 0a 	movl   $0xa,-0xd0(%ebp)
407209:	00 00 00
40720c:	c7 85 48 ff ff ff 04 	movl   $0x80020004,-0xb8(%ebp)
407213:	00 02 80
407216:	c7 85 40 ff ff ff 0a 	movl   $0xa,-0xc0(%ebp)
40721d:	00 00 00
407220:	c7 85 18 ff ff ff 00 	movl   $0x403900,-0xe8(%ebp)
407227:	39 40 00
40722a:	c7 85 10 ff ff ff 08 	movl   $0x8,-0xf0(%ebp)
407231:	00 00 00
407234:	8d 95 10 ff ff ff    	lea    -0xf0(%ebp),%edx
40723a:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
407240:	e8 11 a2 ff ff       	call   0x401456
407245:	8d 85 20 ff ff ff    	lea    -0xe0(%ebp),%eax
40724b:	50                   	push   %eax
40724c:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
407252:	50                   	push   %eax
407253:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
407259:	50                   	push   %eax
40725a:	6a 00                	push   $0x0
40725c:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
407262:	50                   	push   %eax
407263:	e8 f4 a1 ff ff       	call   0x40145c
407268:	8d 85 20 ff ff ff    	lea    -0xe0(%ebp),%eax
40726e:	50                   	push   %eax
40726f:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
407275:	50                   	push   %eax
407276:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
40727c:	50                   	push   %eax
40727d:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
407283:	50                   	push   %eax
407284:	6a 04                	push   $0x4
407286:	e8 07 a2 ff ff       	call   0x401492
40728b:	83 c4 14             	add    $0x14,%esp
40728e:	c7 85 28 ff ff ff 04 	movl   $0x80020004,-0xd8(%ebp)
407295:	00 02 80
407298:	c7 85 20 ff ff ff 0a 	movl   $0xa,-0xe0(%ebp)
40729f:	00 00 00
4072a2:	c7 85 38 ff ff ff 04 	movl   $0x80020004,-0xc8(%ebp)
4072a9:	00 02 80
4072ac:	c7 85 30 ff ff ff 0a 	movl   $0xa,-0xd0(%ebp)
4072b3:	00 00 00
4072b6:	c7 85 48 ff ff ff 04 	movl   $0x80020004,-0xb8(%ebp)
4072bd:	00 02 80
4072c0:	c7 85 40 ff ff ff 0a 	movl   $0xa,-0xc0(%ebp)
4072c7:	00 00 00
4072ca:	c7 85 18 ff ff ff 00 	movl   $0x403900,-0xe8(%ebp)
4072d1:	39 40 00
4072d4:	c7 85 10 ff ff ff 08 	movl   $0x8,-0xf0(%ebp)
4072db:	00 00 00
4072de:	8d 95 10 ff ff ff    	lea    -0xf0(%ebp),%edx