40cc63:	39 1d b0 44 42 00    	cmp    %ebx,0x4244b0
40cc69:	0f 84 cc 00 00 00    	je     0x40cd3b
40cc6f:	0f b7 05 5e 45 42 00 	movzwl 0x42455e,%eax
40cc76:	50                   	push   %eax
40cc77:	0f b7 05 5c 45 42 00 	movzwl 0x42455c,%eax
40cc7e:	50                   	push   %eax
40cc7f:	0f b7 05 5a 45 42 00 	movzwl 0x42455a,%eax
40cc86:	50                   	push   %eax
40cc87:	0f b7 05 58 45 42 00 	movzwl 0x424558,%eax
40cc8e:	50                   	push   %eax
40cc8f:	66 39 1d 50 45 42 00 	cmp    %bx,0x424550
40cc96:	75 1d                	jne    0x40ccb5
40cc98:	0f b7 05 54 45 42 00 	movzwl 0x424554,%eax
40cc9f:	53                   	push   %ebx
40cca0:	50                   	push   %eax
40cca1:	0f b7 05 56 45 42 00 	movzwl 0x424556,%eax
40cca8:	50                   	push   %eax
40cca9:	0f b7 05 52 45 42 00 	movzwl 0x424552,%eax
40ccb0:	50                   	push   %eax
40ccb1:	51                   	push   %ecx
40ccb2:	57                   	push   %edi
40ccb3:	eb 14                	jmp    0x40ccc9
40ccb5:	0f b7 05 56 45 42 00 	movzwl 0x424556,%eax
40ccbc:	50                   	push   %eax
40ccbd:	0f b7 05 52 45 42 00 	movzwl 0x424552,%eax
40ccc4:	53                   	push   %ebx
40ccc5:	53                   	push   %ebx
40ccc6:	50                   	push   %eax
40ccc7:	51                   	push   %ecx
40ccc8:	53                   	push   %ebx
40ccc9:	53                   	push   %ebx
40ccca:	e8 35 01 00 00       	call   0x40ce04
40cccf:	0f b7 05 0a 45 42 00 	movzwl 0x42450a,%eax
40ccd6:	83 c4 2c             	add    $0x2c,%esp
40ccd9:	50                   	push   %eax
40ccda:	0f b7 05 08 45 42 00 	movzwl 0x424508,%eax
40cce1:	50                   	push   %eax
40cce2:	0f b7 05 06 45 42 00 	movzwl 0x424506,%eax
40cce9:	50                   	push   %eax
40ccea:	0f b7 05 04 45 42 00 	movzwl 0x424504,%eax
40ccf1:	50                   	push   %eax
40ccf2:	66 39 1d fc 44 42 00 	cmp    %bx,0x4244fc
40ccf9:	75 1f                	jne    0x40cd1a
40ccfb:	0f b7 05 00 45 42 00 	movzwl 0x424500,%eax
40cd02:	53                   	push   %ebx
40cd03:	50                   	push   %eax
40cd04:	0f b7 05 02 45 42 00 	movzwl 0x424502,%eax
40cd0b:	50                   	push   %eax
40cd0c:	0f b7 05 fe 44 42 00 	movzwl 0x4244fe,%eax
40cd13:	50                   	push   %eax
40cd14:	ff 76 14             	push   0x14(%esi)
40cd17:	57                   	push   %edi
40cd18:	eb 16                	jmp    0x40cd30
40cd1a:	0f b7 05 02 45 42 00 	movzwl 0x424502,%eax
40cd21:	50                   	push   %eax
40cd22:	0f b7 05 fe 44 42 00 	movzwl 0x4244fe,%eax
40cd29:	53                   	push   %ebx
40cd2a:	53                   	push   %ebx
40cd2b:	50                   	push   %eax
40cd2c:	ff 76 14             	push   0x14(%esi)
40cd2f:	53                   	push   %ebx
40cd30:	57                   	push   %edi
40cd31:	e8 ce 00 00 00       	call   0x40ce04
40cd36:	83 c4 2c             	add    $0x2c,%esp
40cd39:	eb 4f                	jmp    0x40cd8a
40cd3b:	6a 03                	push   $0x3
40cd3d:	58                   	pop    %eax
40cd3e:	6a 02                	push   $0x2
40cd40:	5a                   	pop    %edx
40cd41:	33 db                	xor    %ebx,%ebx
40cd43:	6a 0b                	push   $0xb
40cd45:	43                   	inc    %ebx
40cd46:	5f                   	pop    %edi
40cd47:	83 f9 6b             	cmp    $0x6b,%ecx
40cd4a:	7d 0c                	jge    0x40cd58
40cd4c:	6a 04                	push   $0x4
40cd4e:	58                   	pop    %eax
40cd4f:	6a 0a                	push   $0xa
40cd51:	5f                   	pop    %edi
40cd52:	33 d2                	xor    %edx,%edx
40cd54:	6a 05                	push   $0x5
40cd56:	42                   	inc    %edx
40cd57:	5b                   	pop    %ebx
40cd58:	6a 00                	push   $0x0
40cd5a:	6a 00                	push   $0x0
40cd5c:	6a 00                	push   $0x0
40cd5e:	6a 02                	push   $0x2
40cd60:	6a 00                	push   $0x0
40cd62:	6a 00                	push   $0x0
40cd64:	52                   	push   %edx
40cd65:	50                   	push   %eax
40cd66:	51                   	push   %ecx
40cd67:	6a 01                	push   $0x1
40cd69:	6a 00                	push   $0x0
40cd6b:	e8 94 00 00 00       	call   0x40ce04
40cd70:	33 c0                	xor    %eax,%eax
40cd72:	50                   	push   %eax
40cd73:	50                   	push   %eax
40cd74:	50                   	push   %eax
40cd75:	6a 02                	push   $0x2
40cd77:	50                   	push   %eax
40cd78:	50                   	push   %eax
40cd79:	53                   	push   %ebx
40cd7a:	57                   	push   %edi
40cd7b:	ff 76 14             	push   0x14(%esi)
40cd7e:	6a 01                	push   $0x1
40cd80:	6a 01                	push   $0x1
40cd82:	e8 7d 00 00 00       	call   0x40ce04
40cd87:	83 c4 58             	add    $0x58,%esp
40cd8a:	8b 15 8c 32 42 00    	mov    0x42328c,%edx
40cd90:	8b 3d 98 32 42 00    	mov    0x423298,%edi
40cd96:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40cd99:	3b d7                	cmp    %edi,%edx
40cd9b:	7d 1a                	jge    0x40cdb7
40cd9d:	3b ca                	cmp    %edx,%ecx
40cd9f:	7c 26                	jl     0x40cdc7
40cda1:	3b cf                	cmp    %edi,%ecx
40cda3:	7f 22                	jg     0x40cdc7
40cda5:	3b ca                	cmp    %edx,%ecx
40cda7:	7e 22                	jle    0x40cdcb
40cda9:	3b cf                	cmp    %edi,%ecx
40cdab:	7d 1e                	jge    0x40cdcb
40cdad:	33 c0                	xor    %eax,%eax
40cdaf:	40                   	inc    %eax
40cdb0:	5f                   	pop    %edi
40cdb1:	5e                   	pop    %esi
40cdb2:	5b                   	pop    %ebx
40cdb3:	8b e5                	mov    %ebp,%esp
40cdb5:	5d                   	pop    %ebp
40cdb6:	c3                   	ret
40cdb7:	3b cf                	cmp    %edi,%ecx
40cdb9:	7c f2                	jl     0x40cdad
40cdbb:	3b ca                	cmp    %edx,%ecx
40cdbd:	7f ee                	jg     0x40cdad
40cdbf:	3b cf                	cmp    %edi,%ecx
40cdc1:	7e 08                	jle    0x40cdcb
40cdc3:	3b ca                	cmp    %edx,%ecx
40cdc5:	7d 04                	jge    0x40cdcb
40cdc7:	33 c0                	xor    %eax,%eax
40cdc9:	eb e5                	jmp    0x40cdb0
40cdcb:	6b 46 08 3c          	imul   $0x3c,0x8(%esi),%eax
40cdcf:	03 46 04             	add    0x4(%esi),%eax
40cdd2:	6b c0 3c             	imul   $0x3c,%eax,%eax
40cdd5:	03 06                	add    (%esi),%eax
40cdd7:	69 f0 e8 03 00 00    	imul   $0x3e8,%eax,%esi
40cddd:	33 c0                	xor    %eax,%eax
40cddf:	3b ca                	cmp    %edx,%ecx
40cde1:	75 0b                	jne    0x40cdee
40cde3:	3b 35 90 32 42 00    	cmp    0x423290,%esi
40cde9:	0f 9d c0             	setge  %al
40cdec:	eb c2                	jmp    0x40cdb0
40cdee:	3b 35 9c 32 42 00    	cmp    0x42329c,%esi
40cdf4:	0f 9c c0             	setl   %al
40cdf7:	eb b7                	jmp    0x40cdb0
40cdf9:	53                   	push   %ebx
40cdfa:	53                   	push   %ebx
40cdfb:	53                   	push   %ebx
40cdfc:	53                   	push   %ebx
40cdfd:	53                   	push   %ebx
40cdfe:	e8 58 ae ff ff       	call   0x407c5b
40ce03:	cc                   	int3
40ce04:	8b ff                	mov    %edi,%edi
40ce06:	55                   	push   %ebp
40ce07:	8b ec                	mov    %esp,%ebp
40ce09:	51                   	push   %ecx
40ce0a:	51                   	push   %ecx
40ce0b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40ce0f:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
40ce13:	56                   	push   %esi
40ce14:	57                   	push   %edi
40ce15:	8b 7d 10             	mov    0x10(%ebp),%edi
40ce18:	75 79                	jne    0x40ce93
40ce1a:	53                   	push   %ebx
40ce1b:	57                   	push   %edi
40ce1c:	e8 b8 f8 ff ff       	call   0x40c6d9
40ce21:	8b 5d 14             	mov    0x14(%ebp),%ebx
40ce24:	c1 e3 02             	shl    $0x2,%ebx
40ce27:	88 45 ff             	mov    %al,-0x1(%ebp)
40ce2a:	59                   	pop    %ecx
40ce2b:	84 c0                	test   %al,%al
40ce2d:	74 08                	je     0x40ce37
40ce2f:	8b b3 78 fd 41 00    	mov    0x41fd78(%ebx),%esi
40ce35:	eb 06                	jmp    0x40ce3d
40ce37:	8b b3 44 fd 41 00    	mov    0x41fd44(%ebx),%esi
40ce3d:	57                   	push   %edi
40ce3e:	46                   	inc    %esi
40ce3f:	e8 5b f8 ff ff       	call   0x40c69f
40ce44:	59                   	pop    %ecx
40ce45:	69 cf 6d 01 00 00    	imul   $0x16d,%edi,%ecx
40ce4b:	03 c6                	add    %esi,%eax
40ce4d:	6a 07                	push   $0x7
40ce4f:	81 c1 36 9c ff ff    	add    $0xffff9c36,%ecx
40ce55:	03 c1                	add    %ecx,%eax
40ce57:	99                   	cltd
40ce58:	59                   	pop    %ecx
40ce59:	f7 f9                	idiv   %ecx
40ce5b:	8b 4d 18             	mov    0x18(%ebp),%ecx
40ce5e:	6b c1 07             	imul   $0x7,%ecx,%eax
40ce61:	2b c2                	sub    %edx,%eax
40ce63:	3b 55 1c             	cmp    0x1c(%ebp),%edx
40ce66:	7f 03                	jg     0x40ce6b
40ce68:	83 c0 f9             	add    $0xfffffff9,%eax
40ce6b:	03 45 1c             	add    0x1c(%ebp),%eax
40ce6e:	03 f0                	add    %eax,%esi
40ce70:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40ce74:	74 08                	je     0x40ce7e
40ce76:	8b 83 7c fd 41 00    	mov    0x41fd7c(%ebx),%eax
40ce7c:	eb 06                	jmp    0x40ce84
40ce7e:	8b 83 48 fd 41 00    	mov    0x41fd48(%ebx),%eax
40ce84:	5b                   	pop    %ebx
40ce85:	83 f9 05             	cmp    $0x5,%ecx
40ce88:	75 2a                	jne    0x40ceb4
40ce8a:	3b f0                	cmp    %eax,%esi
40ce8c:	7e 26                	jle    0x40ceb4
40ce8e:	83 ee 07             	sub    $0x7,%esi
40ce91:	eb 21                	jmp    0x40ceb4
40ce93:	57                   	push   %edi
40ce94:	e8 40 f8 ff ff       	call   0x40c6d9
40ce99:	84 c0                	test   %al,%al
40ce9b:	8b 45 14             	mov    0x14(%ebp),%eax
40ce9e:	59                   	pop    %ecx
40ce9f:	74 09                	je     0x40ceaa
40cea1:	8b 34 85 78 fd 41 00 	mov    0x41fd78(,%eax,4),%esi
40cea8:	eb 07                	jmp    0x40ceb1
40ceaa:	8b 34 85 44 fd 41 00 	mov    0x41fd44(,%eax,4),%esi
40ceb1:	03 75 20             	add    0x20(%ebp),%esi
40ceb4:	6b 45 24 3c          	imul   $0x3c,0x24(%ebp),%eax
40ceb8:	03 45 28             	add    0x28(%ebp),%eax
40cebb:	6b c0 3c             	imul   $0x3c,%eax,%eax
40cebe:	03 45 2c             	add    0x2c(%ebp),%eax
40cec1:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
40cec7:	03 45 30             	add    0x30(%ebp),%eax
40ceca:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40cece:	75 17                	jne    0x40cee7
40ced0:	89 35 8c 32 42 00    	mov    %esi,0x42328c
40ced6:	a3 90 32 42 00       	mov    %eax,0x423290
40cedb:	89 3d 88 32 42 00    	mov    %edi,0x423288
40cee1:	5f                   	pop    %edi
40cee2:	5e                   	pop    %esi
40cee3:	8b e5                	mov    %ebp,%esp
40cee5:	5d                   	pop    %ebp
40cee6:	c3                   	ret
40cee7:	a3 9c 32 42 00       	mov    %eax,0x42329c
40ceec:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ceef:	50                   	push   %eax
40cef0:	89 35 98 32 42 00    	mov    %esi,0x423298
40cef6:	e8 ce fa ff ff       	call   0x40c9c9
40cefb:	59                   	pop    %ecx
40cefc:	85 c0                	test   %eax,%eax
40cefe:	75 44                	jne    0x40cf44
40cf00:	69 45 f8 e8 03 00 00 	imul   $0x3e8,-0x8(%ebp),%eax
40cf07:	8b 0d 9c 32 42 00    	mov    0x42329c,%ecx
40cf0d:	03 c8                	add    %eax,%ecx
40cf0f:	89 0d 9c 32 42 00    	mov    %ecx,0x42329c
40cf15:	79 0e                	jns    0x40cf25
40cf17:	81 c1 00 5c 26 05    	add    $0x5265c00,%ecx
40cf1d:	ff 0d 98 32 42 00    	decl   0x423298
40cf23:	eb 11                	jmp    0x40cf36
40cf25:	b8 00 5c 26 05       	mov    $0x5265c00,%eax
40cf2a:	3b c8                	cmp    %eax,%ecx
40cf2c:	7c 0e                	jl     0x40cf3c
40cf2e:	2b c8                	sub    %eax,%ecx
40cf30:	ff 05 98 32 42 00    	incl   0x423298
40cf36:	89 0d 9c 32 42 00    	mov    %ecx,0x42329c
40cf3c:	89 3d 94 32 42 00    	mov    %edi,0x423294
40cf42:	eb 9d                	jmp    0x40cee1
40cf44:	6a 00                	push   $0x0
40cf46:	6a 00                	push   $0x0
40cf48:	6a 00                	push   $0x0
40cf4a:	6a 00                	push   $0x0
40cf4c:	6a 00                	push   $0x0
40cf4e:	e8 08 ad ff ff       	call   0x407c5b
40cf53:	cc                   	int3
40cf54:	8b ff                	mov    %edi,%edi
40cf56:	55                   	push   %ebp
40cf57:	8b ec                	mov    %esp,%ebp
40cf59:	83 ec 0c             	sub    $0xc,%esp
40cf5c:	53                   	push   %ebx
40cf5d:	56                   	push   %esi
40cf5e:	e8 34 fa ff ff       	call   0x40c997
40cf63:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cf67:	8b d8                	mov    %eax,%ebx
40cf69:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40cf6d:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cf70:	50                   	push   %eax
40cf71:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40cf74:	e8 7c fa ff ff       	call   0x40c9f5
40cf79:	59                   	pop    %ecx
40cf7a:	85 c0                	test   %eax,%eax
40cf7c:	0f 85 9a 01 00 00    	jne    0x40d11c
40cf82:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cf85:	50                   	push   %eax
40cf86:	e8 12 fa ff ff       	call   0x40c99d
40cf8b:	59                   	pop    %ecx
40cf8c:	85 c0                	test   %eax,%eax
40cf8e:	0f 85 88 01 00 00    	jne    0x40d11c
40cf94:	8b 15 ac 44 42 00    	mov    0x4244ac,%edx
40cf9a:	8b 75 08             	mov    0x8(%ebp),%esi
40cf9d:	85 d2                	test   %edx,%edx
40cf9f:	74 34                	je     0x40cfd5
40cfa1:	8b ca                	mov    %edx,%ecx
40cfa3:	8b c6                	mov    %esi,%eax
40cfa5:	8a 18                	mov    (%eax),%bl
40cfa7:	3a 19                	cmp    (%ecx),%bl
40cfa9:	75 1a                	jne    0x40cfc5
40cfab:	84 db                	test   %bl,%bl
40cfad:	74 12                	je     0x40cfc1
40cfaf:	8a 58 01             	mov    0x1(%eax),%bl
40cfb2:	3a 59 01             	cmp    0x1(%ecx),%bl
40cfb5:	75 0e                	jne    0x40cfc5
40cfb7:	83 c0 02             	add    $0x2,%eax
40cfba:	83 c1 02             	add    $0x2,%ecx
40cfbd:	84 db                	test   %bl,%bl
40cfbf:	75 e4                	jne    0x40cfa5
40cfc1:	33 c0                	xor    %eax,%eax
40cfc3:	eb 05                	jmp    0x40cfca
40cfc5:	1b c0                	sbb    %eax,%eax
40cfc7:	83 c8 01             	or     $0x1,%eax
40cfca:	85 c0                	test   %eax,%eax
40cfcc:	0f 84 44 01 00 00    	je     0x40d116
40cfd2:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40cfd5:	52                   	push   %edx
40cfd6:	e8 49 c8 ff ff       	call   0x409824
40cfdb:	59                   	pop    %ecx
40cfdc:	8b ce                	mov    %esi,%ecx
40cfde:	8d 51 01             	lea    0x1(%ecx),%edx
40cfe1:	8a 01                	mov    (%ecx),%al
40cfe3:	41                   	inc    %ecx
40cfe4:	84 c0                	test   %al,%al
40cfe6:	75 f9                	jne    0x40cfe1
40cfe8:	2b ca                	sub    %edx,%ecx
40cfea:	8d 41 01             	lea    0x1(%ecx),%eax
40cfed:	50                   	push   %eax
40cfee:	e8 6b c8 ff ff       	call   0x40985e
40cff3:	6a 00                	push   $0x0
40cff5:	a3 ac 44 42 00       	mov    %eax,0x4244ac
40cffa:	e8 25 c8 ff ff       	call   0x409824
40cfff:	8b 15 ac 44 42 00    	mov    0x4244ac,%edx
40d005:	59                   	pop    %ecx
40d006:	59                   	pop    %ecx
40d007:	85 d2                	test   %edx,%edx
40d009:	0f 84 07 01 00 00    	je     0x40d116
40d00f:	8b ce                	mov    %esi,%ecx
40d011:	57                   	push   %edi
40d012:	8d 79 01             	lea    0x1(%ecx),%edi
40d015:	8a 01                	mov    (%ecx),%al
40d017:	41                   	inc    %ecx
40d018:	84 c0                	test   %al,%al
40d01a:	75 f9                	jne    0x40d015
40d01c:	2b cf                	sub    %edi,%ecx