40ca9c:	c7 45 84 0b 00 00 00 	movl   $0xb,-0x7c(%ebp)
40caa3:	8d 45 e0             	lea    -0x20(%ebp),%eax
40caa6:	50                   	push   %eax
40caa7:	8d 45 94             	lea    -0x6c(%ebp),%eax
40caaa:	50                   	push   %eax
40caab:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40caae:	50                   	push   %eax
40caaf:	e8 42 49 ff ff       	call   0x4013f6
40cab4:	50                   	push   %eax
40cab5:	8d 45 84             	lea    -0x7c(%ebp),%eax
40cab8:	50                   	push   %eax
40cab9:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40cabc:	50                   	push   %eax
40cabd:	e8 3a 49 ff ff       	call   0x4013fc
40cac2:	50                   	push   %eax
40cac3:	e8 3a 49 ff ff       	call   0x401402
40cac8:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
40cacf:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
40cad2:	e8 cd 49 ff ff       	call   0x4014a4
40cad7:	0f bf 85 78 ff ff ff 	movswl -0x88(%ebp),%eax
40cade:	85 c0                	test   %eax,%eax
40cae0:	74 05                	je     0x40cae7
40cae2:	e9 94 00 00 00       	jmp    0x40cb7b
40cae7:	6a 00                	push   $0x0
40cae9:	8b 45 d0             	mov    -0x30(%ebp),%eax
40caec:	48                   	dec    %eax
40caed:	50                   	push   %eax
40caee:	6a 01                	push   $0x1
40caf0:	6a 11                	push   $0x11
40caf2:	ff 75 08             	push   0x8(%ebp)
40caf5:	6a 01                	push   $0x1
40caf7:	68 80 00 00 00       	push   $0x80
40cafc:	e8 03 4a ff ff       	call   0x401504
40cb01:	83 c4 1c             	add    $0x1c,%esp
40cb04:	8b 45 08             	mov    0x8(%ebp),%eax
40cb07:	ff 30                	push   (%eax)
40cb09:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cb0c:	50                   	push   %eax
40cb0d:	e8 ce 49 ff ff       	call   0x4014e0
40cb12:	8b 45 c8             	mov    -0x38(%ebp),%eax
40cb15:	33 c9                	xor    %ecx,%ecx
40cb17:	2b 48 14             	sub    0x14(%eax),%ecx
40cb1a:	8b 45 c8             	mov    -0x38(%ebp),%eax
40cb1d:	8b 40 0c             	mov    0xc(%eax),%eax
40cb20:	03 c1                	add    %ecx,%eax
40cb22:	50                   	push   %eax
40cb23:	e8 8e 49 ff ff       	call   0x4014b6
40cb28:	89 45 80             	mov    %eax,-0x80(%ebp)
40cb2b:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cb2e:	50                   	push   %eax
40cb2f:	e8 a6 49 ff ff       	call   0x4014da
40cb34:	ff 75 dc             	push   -0x24(%ebp)
40cb37:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40cb3a:	50                   	push   %eax
40cb3b:	e8 a0 49 ff ff       	call   0x4014e0
40cb40:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40cb43:	33 c9                	xor    %ecx,%ecx
40cb45:	2b 48 14             	sub    0x14(%eax),%ecx
40cb48:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40cb4b:	8b 40 0c             	mov    0xc(%eax),%eax
40cb4e:	03 c1                	add    %ecx,%eax
40cb50:	50                   	push   %eax
40cb51:	e8 60 49 ff ff       	call   0x4014b6
40cb56:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
40cb5c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40cb5f:	50                   	push   %eax
40cb60:	e8 75 49 ff ff       	call   0x4014da
40cb65:	ff 75 d0             	push   -0x30(%ebp)
40cb68:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
40cb6e:	ff 75 80             	push   -0x80(%ebp)
40cb71:	e8 e9 98 ff ff       	call   0x40645f
40cb76:	66 83 4d d4 ff       	orw    $0xffff,-0x2c(%ebp)
40cb7b:	68 bb cb 40 00       	push   $0x40cbbb
40cb80:	eb 25                	jmp    0x40cba7
40cb82:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cb85:	50                   	push   %eax
40cb86:	e8 4f 49 ff ff       	call   0x4014da
40cb8b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40cb8e:	50                   	push   %eax
40cb8f:	e8 46 49 ff ff       	call   0x4014da
40cb94:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40cb97:	50                   	push   %eax
40cb98:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40cb9b:	50                   	push   %eax
40cb9c:	6a 02                	push   $0x2
40cb9e:	e8 ef 48 ff ff       	call   0x401492
40cba3:	83 c4 0c             	add    $0xc,%esp
40cba6:	c3                   	ret
40cba7:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40cbaa:	e8 f5 48 ff ff       	call   0x4014a4
40cbaf:	8d 45 dc             	lea    -0x24(%ebp),%eax
40cbb2:	50                   	push   %eax
40cbb3:	6a 00                	push   $0x0
40cbb5:	e8 14 49 ff ff       	call   0x4014ce
40cbba:	c3                   	ret
40cbbb:	66 8b 45 d4          	mov    -0x2c(%ebp),%ax
40cbbf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40cbc2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40cbc9:	5f                   	pop    %edi
40cbca:	5e                   	pop    %esi
40cbcb:	5b                   	pop    %ebx
40cbcc:	c9                   	leave
40cbcd:	c2 04 00             	ret    $0x4
40cbd0:	55                   	push   %ebp
40cbd1:	8b ec                	mov    %esp,%ebp
40cbd3:	51                   	push   %ecx
40cbd4:	51                   	push   %ecx
40cbd5:	68 36 13 40 00       	push   $0x401336
40cbda:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40cbe0:	50                   	push   %eax
40cbe1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40cbe8:	6a 74                	push   $0x74
40cbea:	58                   	pop    %eax
40cbeb:	e8 40 47 ff ff       	call   0x401330
40cbf0:	53                   	push   %ebx
40cbf1:	56                   	push   %esi
40cbf2:	57                   	push   %edi
40cbf3:	89 65 f8             	mov    %esp,-0x8(%ebp)
40cbf6:	c7 45 fc 88 12 40 00 	movl   $0x401288,-0x4(%ebp)
40cbfd:	8b 45 08             	mov    0x8(%ebp),%eax
40cc00:	8b 00                	mov    (%eax),%eax
40cc02:	f7 d0                	not    %eax
40cc04:	f7 d0                	not    %eax
40cc06:	85 c0                	test   %eax,%eax
40cc08:	74 12                	je     0x40cc1c
40cc0a:	8b 45 08             	mov    0x8(%ebp),%eax
40cc0d:	8b 00                	mov    (%eax),%eax
40cc0f:	f7 d0                	not    %eax
40cc11:	f7 d0                	not    %eax
40cc13:	50                   	push   %eax
40cc14:	e8 38 98 ff ff       	call   0x406451
40cc19:	89 45 e8             	mov    %eax,-0x18(%ebp)
40cc1c:	e8 aa 0b 00 00       	call   0x40d7cb
40cc21:	8b d0                	mov    %eax,%edx
40cc23:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40cc26:	e8 97 48 ff ff       	call   0x4014c2
40cc2b:	8b 45 c8             	mov    -0x38(%ebp),%eax
40cc2e:	89 45 88             	mov    %eax,-0x78(%ebp)
40cc31:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
40cc35:	6a 00                	push   $0x0
40cc37:	6a 18                	push   $0x18
40cc39:	8b 55 88             	mov    -0x78(%ebp),%edx
40cc3c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40cc3f:	e8 7e 48 ff ff       	call   0x4014c2
40cc44:	50                   	push   %eax
40cc45:	8d 45 cc             	lea    -0x34(%ebp),%eax
40cc48:	50                   	push   %eax
40cc49:	e8 a2 47 ff ff       	call   0x4013f0
40cc4e:	50                   	push   %eax
40cc4f:	6a 00                	push   $0x0
40cc51:	8d 45 d8             	lea    -0x28(%ebp),%eax
40cc54:	50                   	push   %eax
40cc55:	e8 fa 78 ff ff       	call   0x404554
40cc5a:	89 45 94             	mov    %eax,-0x6c(%ebp)
40cc5d:	e8 d0 47 ff ff       	call   0x401432
40cc62:	33 c0                	xor    %eax,%eax
40cc64:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40cc68:	0f 94 c0             	sete   %al
40cc6b:	f7 d8                	neg    %eax
40cc6d:	66 89 45 90          	mov    %ax,-0x70(%ebp)
40cc71:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cc74:	50                   	push   %eax
40cc75:	8d 45 cc             	lea    -0x34(%ebp),%eax
40cc78:	50                   	push   %eax
40cc79:	8d 45 d0             	lea    -0x30(%ebp),%eax
40cc7c:	50                   	push   %eax
40cc7d:	6a 03                	push   $0x3
40cc7f:	e8 b4 47 ff ff       	call   0x401438
40cc84:	83 c4 10             	add    $0x10,%esp
40cc87:	0f bf 45 90          	movswl -0x70(%ebp),%eax
40cc8b:	85 c0                	test   %eax,%eax
40cc8d:	0f 84 68 01 00 00    	je     0x40cdfb
40cc93:	e8 33 0b 00 00       	call   0x40d7cb
40cc98:	8b d0                	mov    %eax,%edx
40cc9a:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40cc9d:	e8 20 48 ff ff       	call   0x4014c2
40cca2:	8b 45 c8             	mov    -0x38(%ebp),%eax
40cca5:	89 45 84             	mov    %eax,-0x7c(%ebp)
40cca8:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
40ccac:	6a 08                	push   $0x8
40ccae:	6a 18                	push   $0x18
40ccb0:	8b 55 84             	mov    -0x7c(%ebp),%edx
40ccb3:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40ccb6:	e8 07 48 ff ff       	call   0x4014c2
40ccbb:	50                   	push   %eax
40ccbc:	8d 45 cc             	lea    -0x34(%ebp),%eax
40ccbf:	50                   	push   %eax
40ccc0:	e8 2b 47 ff ff       	call   0x4013f0
40ccc5:	50                   	push   %eax
40ccc6:	6a 00                	push   $0x0
40ccc8:	8d 45 d8             	lea    -0x28(%ebp),%eax
40cccb:	50                   	push   %eax
40cccc:	e8 83 78 ff ff       	call   0x404554
40ccd1:	89 45 94             	mov    %eax,-0x6c(%ebp)
40ccd4:	e8 59 47 ff ff       	call   0x401432
40ccd9:	33 c0                	xor    %eax,%eax
40ccdb:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40ccdf:	0f 94 c0             	sete   %al
40cce2:	f7 d8                	neg    %eax
40cce4:	66 89 45 90          	mov    %ax,-0x70(%ebp)
40cce8:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cceb:	50                   	push   %eax
40ccec:	8d 45 cc             	lea    -0x34(%ebp),%eax
40ccef:	50                   	push   %eax
40ccf0:	8d 45 d0             	lea    -0x30(%ebp),%eax
40ccf3:	50                   	push   %eax
40ccf4:	6a 03                	push   $0x3
40ccf6:	e8 3d 47 ff ff       	call   0x401438
40ccfb:	83 c4 10             	add    $0x10,%esp
40ccfe:	0f bf 45 90          	movswl -0x70(%ebp),%eax
40cd02:	85 c0                	test   %eax,%eax
40cd04:	0f 84 f1 00 00 00    	je     0x40cdfb
40cd0a:	e8 48 0b 00 00       	call   0x40d857
40cd0f:	8b d0                	mov    %eax,%edx
40cd11:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40cd14:	e8 a9 47 ff ff       	call   0x4014c2
40cd19:	8b 45 c8             	mov    -0x38(%ebp),%eax
40cd1c:	89 45 80             	mov    %eax,-0x80(%ebp)
40cd1f:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
40cd23:	6a 00                	push   $0x0
40cd25:	6a 18                	push   $0x18
40cd27:	8b 55 80             	mov    -0x80(%ebp),%edx
40cd2a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40cd2d:	e8 90 47 ff ff       	call   0x4014c2
40cd32:	50                   	push   %eax
40cd33:	8d 45 cc             	lea    -0x34(%ebp),%eax
40cd36:	50                   	push   %eax
40cd37:	e8 b4 46 ff ff       	call   0x4013f0
40cd3c:	50                   	push   %eax
40cd3d:	6a 00                	push   $0x0
40cd3f:	8d 45 d8             	lea    -0x28(%ebp),%eax
40cd42:	50                   	push   %eax
40cd43:	e8 0c 78 ff ff       	call   0x404554
40cd48:	89 45 94             	mov    %eax,-0x6c(%ebp)
40cd4b:	e8 e2 46 ff ff       	call   0x401432
40cd50:	33 c0                	xor    %eax,%eax
40cd52:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40cd56:	0f 94 c0             	sete   %al
40cd59:	f7 d8                	neg    %eax
40cd5b:	66 89 45 90          	mov    %ax,-0x70(%ebp)
40cd5f:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cd62:	50                   	push   %eax
40cd63:	8d 45 cc             	lea    -0x34(%ebp),%eax
40cd66:	50                   	push   %eax
40cd67:	8d 45 d0             	lea    -0x30(%ebp),%eax
40cd6a:	50                   	push   %eax
40cd6b:	6a 03                	push   $0x3
40cd6d:	e8 c6 46 ff ff       	call   0x401438
40cd72:	83 c4 10             	add    $0x10,%esp
40cd75:	0f bf 45 90          	movswl -0x70(%ebp),%eax
40cd79:	85 c0                	test   %eax,%eax
40cd7b:	74 7e                	je     0x40cdfb
40cd7d:	e8 d5 0a 00 00       	call   0x40d857
40cd82:	8b d0                	mov    %eax,%edx
40cd84:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40cd87:	e8 36 47 ff ff       	call   0x4014c2
40cd8c:	8b 45 c8             	mov    -0x38(%ebp),%eax
40cd8f:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
40cd95:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
40cd99:	6a 08                	push   $0x8
40cd9b:	6a 18                	push   $0x18
40cd9d:	8b 95 7c ff ff ff    	mov    -0x84(%ebp),%edx
40cda3:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40cda6:	e8 17 47 ff ff       	call   0x4014c2
40cdab:	50                   	push   %eax
40cdac:	8d 45 cc             	lea    -0x34(%ebp),%eax
40cdaf:	50                   	push   %eax
40cdb0:	e8 3b 46 ff ff       	call   0x4013f0
40cdb5:	50                   	push   %eax
40cdb6:	6a 00                	push   $0x0
40cdb8:	8d 45 d8             	lea    -0x28(%ebp),%eax
40cdbb:	50                   	push   %eax
40cdbc:	e8 93 77 ff ff       	call   0x404554
40cdc1:	89 45 94             	mov    %eax,-0x6c(%ebp)
40cdc4:	e8 69 46 ff ff       	call   0x401432
40cdc9:	33 c0                	xor    %eax,%eax
40cdcb:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40cdcf:	0f 94 c0             	sete   %al
40cdd2:	f7 d8                	neg    %eax
40cdd4:	66 89 45 90          	mov    %ax,-0x70(%ebp)
40cdd8:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cddb:	50                   	push   %eax
40cddc:	8d 45 cc             	lea    -0x34(%ebp),%eax
40cddf:	50                   	push   %eax
40cde0:	8d 45 d0             	lea    -0x30(%ebp),%eax
40cde3:	50                   	push   %eax
40cde4:	6a 03                	push   $0x3
40cde6:	e8 4d 46 ff ff       	call   0x401438
40cdeb:	83 c4 10             	add    $0x10,%esp
40cdee:	0f bf 45 90          	movswl -0x70(%ebp),%eax
40cdf2:	85 c0                	test   %eax,%eax
40cdf4:	74 05                	je     0x40cdfb
40cdf6:	e9 21 02 00 00       	jmp    0x40d01c
40cdfb:	8d 45 dc             	lea    -0x24(%ebp),%eax
40cdfe:	50                   	push   %eax
40cdff:	6a 00                	push   $0x0
40ce01:	6a 00                	push   $0x0
40ce03:	68 03 80 00 00       	push   $0x8003
40ce08:	ff 75 d8             	push   -0x28(%ebp)
40ce0b:	e8 b8 77 ff ff       	call   0x4045c8
40ce10:	89 45 94             	mov    %eax,-0x6c(%ebp)
40ce13:	e8 1a 46 ff ff       	call   0x401432
40ce18:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40ce1c:	75 05                	jne    0x40ce23
40ce1e:	e9 be 01 00 00       	jmp    0x40cfe1
40ce23:	6a 00                	push   $0x0
40ce25:	8b 55 0c             	mov    0xc(%ebp),%edx
40ce28:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40ce2b:	e8 f0 45 ff ff       	call   0x401420
40ce30:	50                   	push   %eax
40ce31:	8d 45 b8             	lea    -0x48(%ebp),%eax
40ce34:	50                   	push   %eax
40ce35:	e8 b0 45 ff ff       	call   0x4013ea
40ce3a:	50                   	push   %eax
40ce3b:	e8 70 46 ff ff       	call   0x4014b0
40ce40:	50                   	push   %eax
40ce41:	8b 55 0c             	mov    0xc(%ebp),%edx
40ce44:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40ce47:	e8 d4 45 ff ff       	call   0x401420
40ce4c:	50                   	push   %eax
40ce4d:	e8 92 45 ff ff       	call   0x4013e4
40ce52:	8b d0                	mov    %eax,%edx
40ce54:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40ce57:	e8 66 46 ff ff       	call   0x4014c2
40ce5c:	50                   	push   %eax
40ce5d:	8d 45 cc             	lea    -0x34(%ebp),%eax
40ce60:	50                   	push   %eax
40ce61:	e8 8a 45 ff ff       	call   0x4013f0
40ce66:	50                   	push   %eax
40ce67:	ff 75 dc             	push   -0x24(%ebp)
40ce6a:	e8 99 77 ff ff       	call   0x404608
40ce6f:	89 45 94             	mov    %eax,-0x6c(%ebp)
40ce72:	e8 bb 45 ff ff       	call   0x401432
40ce77:	33 c0                	xor    %eax,%eax
40ce79:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40ce7d:	0f 94 c0             	sete   %al
40ce80:	f7 d8                	neg    %eax
40ce82:	66 89 45 90          	mov    %ax,-0x70(%ebp)
40ce86:	8d 45 cc             	lea    -0x34(%ebp),%eax
40ce89:	50                   	push   %eax
40ce8a:	8d 45 d0             	lea    -0x30(%ebp),%eax
40ce8d:	50                   	push   %eax
40ce8e:	6a 02                	push   $0x2
40ce90:	e8 a3 45 ff ff       	call   0x401438
40ce95:	83 c4 0c             	add    $0xc,%esp
40ce98:	0f bf 45 90          	movswl -0x70(%ebp),%eax
40ce9c:	85 c0                	test   %eax,%eax
40ce9e:	74 05                	je     0x40cea5
40cea0:	e9 3c 01 00 00       	jmp    0x40cfe1
40cea5:	8d 45 ec             	lea    -0x14(%ebp),%eax