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
40cea8:	50                   	push   %eax
40cea9:	6a 00                	push   $0x0
40ceab:	ff 75 dc             	push   -0x24(%ebp)
40ceae:	68 10 66 00 00       	push   $0x6610
40ceb3:	ff 75 d8             	push   -0x28(%ebp)
40ceb6:	e8 8d 77 ff ff       	call   0x404648
40cebb:	89 45 94             	mov    %eax,-0x6c(%ebp)
40cebe:	e8 6f 45 ff ff       	call   0x401432
40cec3:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40cec7:	75 05                	jne    0x40cece
40cec9:	e9 13 01 00 00       	jmp    0x40cfe1
40cece:	0f bf 45 10          	movswl 0x10(%ebp),%eax
40ced2:	85 c0                	test   %eax,%eax
40ced4:	74 6f                	je     0x40cf45
40ced6:	8b 45 08             	mov    0x8(%ebp),%eax
40ced9:	ff 30                	push   (%eax)
40cedb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40cede:	50                   	push   %eax
40cedf:	e8 fc 45 ff ff       	call   0x4014e0
40cee4:	8d 45 e8             	lea    -0x18(%ebp),%eax
40cee7:	50                   	push   %eax
40cee8:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40ceeb:	33 c9                	xor    %ecx,%ecx
40ceed:	2b 48 14             	sub    0x14(%eax),%ecx
40cef0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40cef3:	8b 40 0c             	mov    0xc(%eax),%eax
40cef6:	03 c1                	add    %ecx,%eax
40cef8:	50                   	push   %eax
40cef9:	6a 00                	push   $0x0
40cefb:	6a 01                	push   $0x1
40cefd:	6a 00                	push   $0x0
40ceff:	ff 75 ec             	push   -0x14(%ebp)
40cf02:	e8 01 78 ff ff       	call   0x404708
40cf07:	89 45 94             	mov    %eax,-0x6c(%ebp)
40cf0a:	e8 23 45 ff ff       	call   0x401432
40cf0f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40cf12:	50                   	push   %eax
40cf13:	e8 c2 45 ff ff       	call   0x4014da
40cf18:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40cf1c:	75 05                	jne    0x40cf23
40cf1e:	e9 be 00 00 00       	jmp    0x40cfe1
40cf23:	6a 00                	push   $0x0
40cf25:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cf28:	48                   	dec    %eax
40cf29:	50                   	push   %eax
40cf2a:	6a 01                	push   $0x1
40cf2c:	6a 11                	push   $0x11
40cf2e:	ff 75 08             	push   0x8(%ebp)
40cf31:	6a 01                	push   $0x1
40cf33:	68 80 00 00 00       	push   $0x80
40cf38:	e8 a1 44 ff ff       	call   0x4013de
40cf3d:	83 c4 1c             	add    $0x1c,%esp
40cf40:	e9 97 00 00 00       	jmp    0x40cfdc
40cf45:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cf48:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40cf4b:	ff 75 e4             	push   -0x1c(%ebp)
40cf4e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40cf51:	50                   	push   %eax
40cf52:	6a 00                	push   $0x0
40cf54:	6a 00                	push   $0x0
40cf56:	6a 01                	push   $0x1
40cf58:	6a 00                	push   $0x0
40cf5a:	ff 75 ec             	push   -0x14(%ebp)
40cf5d:	e8 e6 77 ff ff       	call   0x404748
40cf62:	89 45 94             	mov    %eax,-0x6c(%ebp)
40cf65:	e8 c8 44 ff ff       	call   0x401432
40cf6a:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40cf6e:	75 02                	jne    0x40cf72
40cf70:	eb 6f                	jmp    0x40cfe1
40cf72:	6a 00                	push   $0x0
40cf74:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40cf77:	48                   	dec    %eax
40cf78:	50                   	push   %eax
40cf79:	6a 01                	push   $0x1
40cf7b:	6a 11                	push   $0x11
40cf7d:	ff 75 08             	push   0x8(%ebp)
40cf80:	6a 01                	push   $0x1
40cf82:	68 80 00 00 00       	push   $0x80
40cf87:	e8 52 44 ff ff       	call   0x4013de
40cf8c:	83 c4 1c             	add    $0x1c,%esp
40cf8f:	8b 45 08             	mov    0x8(%ebp),%eax
40cf92:	ff 30                	push   (%eax)
40cf94:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40cf97:	50                   	push   %eax
40cf98:	e8 43 45 ff ff       	call   0x4014e0
40cf9d:	ff 75 e4             	push   -0x1c(%ebp)
40cfa0:	8d 45 e8             	lea    -0x18(%ebp),%eax
40cfa3:	50                   	push   %eax
40cfa4:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40cfa7:	33 c9                	xor    %ecx,%ecx
40cfa9:	2b 48 14             	sub    0x14(%eax),%ecx
40cfac:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40cfaf:	8b 40 0c             	mov    0xc(%eax),%eax
40cfb2:	03 c1                	add    %ecx,%eax
40cfb4:	50                   	push   %eax
40cfb5:	6a 00                	push   $0x0
40cfb7:	6a 01                	push   $0x1
40cfb9:	6a 00                	push   $0x0
40cfbb:	ff 75 ec             	push   -0x14(%ebp)
40cfbe:	e8 85 77 ff ff       	call   0x404748
40cfc3:	89 45 94             	mov    %eax,-0x6c(%ebp)
40cfc6:	e8 67 44 ff ff       	call   0x401432
40cfcb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40cfce:	50                   	push   %eax
40cfcf:	e8 06 45 ff ff       	call   0x4014da
40cfd4:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40cfd8:	75 02                	jne    0x40cfdc
40cfda:	eb 05                	jmp    0x40cfe1
40cfdc:	66 83 4d e0 ff       	orw    $0xffff,-0x20(%ebp)
40cfe1:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
40cfe5:	74 0d                	je     0x40cff4
40cfe7:	ff 75 ec             	push   -0x14(%ebp)
40cfea:	e8 d9 76 ff ff       	call   0x4046c8
40cfef:	e8 3e 44 ff ff       	call   0x401432
40cff4:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
40cff8:	74 0d                	je     0x40d007
40cffa:	ff 75 dc             	push   -0x24(%ebp)
40cffd:	e8 86 76 ff ff       	call   0x404688
40d002:	e8 2b 44 ff ff       	call   0x401432
40d007:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
40d00b:	74 0f                	je     0x40d01c
40d00d:	6a 00                	push   $0x0
40d00f:	ff 75 d8             	push   -0x28(%ebp)
40d012:	e8 71 75 ff ff       	call   0x404588
40d017:	e8 16 44 ff ff       	call   0x401432
40d01c:	68 4c d0 40 00       	push   $0x40d04c
40d021:	eb 28                	jmp    0x40d04b
40d023:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40d026:	50                   	push   %eax
40d027:	e8 ae 44 ff ff       	call   0x4014da
40d02c:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d02f:	50                   	push   %eax
40d030:	8d 45 cc             	lea    -0x34(%ebp),%eax
40d033:	50                   	push   %eax
40d034:	8d 45 d0             	lea    -0x30(%ebp),%eax
40d037:	50                   	push   %eax
40d038:	6a 03                	push   $0x3
40d03a:	e8 f9 43 ff ff       	call   0x401438
40d03f:	83 c4 10             	add    $0x10,%esp
40d042:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d045:	e8 5a 44 ff ff       	call   0x4014a4
40d04a:	c3                   	ret
40d04b:	c3                   	ret
40d04c:	66 8b 45 e0          	mov    -0x20(%ebp),%ax
40d050:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d053:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d05a:	5f                   	pop    %edi
40d05b:	5e                   	pop    %esi
40d05c:	5b                   	pop    %ebx
40d05d:	c9                   	leave
40d05e:	c2 0c 00             	ret    $0xc
40d061:	55                   	push   %ebp
40d062:	8b ec                	mov    %esp,%ebp
40d064:	6a 20                	push   $0x20
40d066:	58                   	pop    %eax
40d067:	e8 c4 42 ff ff       	call   0x401330
40d06c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40d06f:	50                   	push   %eax
40d070:	e8 41 44 ff ff       	call   0x4014b6
40d075:	50                   	push   %eax
40d076:	8b 45 08             	mov    0x8(%ebp),%eax
40d079:	83 c0 3c             	add    $0x3c,%eax
40d07c:	50                   	push   %eax
40d07d:	e8 c0 93 ff ff       	call   0x406442
40d082:	8d 45 f0             	lea    -0x10(%ebp),%eax
40d085:	50                   	push   %eax
40d086:	e8 2b 44 ff ff       	call   0x4014b6
40d08b:	50                   	push   %eax
40d08c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40d08f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d092:	8d 84 01 80 00 00 00 	lea    0x80(%ecx,%eax,1),%eax
40d099:	50                   	push   %eax
40d09a:	e8 a3 93 ff ff       	call   0x406442
40d09f:	8b 45 f0             	mov    -0x10(%ebp),%eax
40d0a2:	89 45 fc             	mov    %eax,-0x4(%ebp)