40cab6:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40cab9:	59                   	pop    %ecx
40caba:	59                   	pop    %ecx
40cabb:	6a 00                	push   $0x0
40cabd:	89 46 14             	mov    %eax,0x14(%esi)
40cac0:	b8 80 51 01 00       	mov    $0x15180,%eax
40cac5:	50                   	push   %eax
40cac6:	ff 75 f8             	push   -0x8(%ebp)
40cac9:	53                   	push   %ebx
40caca:	e8 c1 b5 00 00       	call   0x418090
40cacf:	89 46 1c             	mov    %eax,0x1c(%esi)
40cad2:	b9 80 51 01 00       	mov    $0x15180,%ecx
40cad7:	f7 e9                	imul   %ecx
40cad9:	b9 7c fd 41 00       	mov    $0x41fd7c,%ecx
40cade:	2b d8                	sub    %eax,%ebx
40cae0:	8b 45 f8             	mov    -0x8(%ebp),%eax
40cae3:	1b c2                	sbb    %edx,%eax
40cae5:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40cae9:	89 45 f8             	mov    %eax,-0x8(%ebp)
40caec:	75 05                	jne    0x40caf3
40caee:	b9 48 fd 41 00       	mov    $0x41fd48,%ecx
40caf3:	8b 56 1c             	mov    0x1c(%esi),%edx
40caf6:	33 c0                	xor    %eax,%eax
40caf8:	40                   	inc    %eax
40caf9:	39 51 04             	cmp    %edx,0x4(%ecx)
40cafc:	7d 06                	jge    0x40cb04
40cafe:	40                   	inc    %eax
40caff:	39 14 81             	cmp    %edx,(%ecx,%eax,4)
40cb02:	7c fa                	jl     0x40cafe
40cb04:	48                   	dec    %eax
40cb05:	89 46 10             	mov    %eax,0x10(%esi)
40cb08:	6a 00                	push   $0x0
40cb0a:	2b 14 81             	sub    (%ecx,%eax,4),%edx
40cb0d:	b8 80 51 01 00       	mov    $0x15180,%eax
40cb12:	50                   	push   %eax
40cb13:	89 56 0c             	mov    %edx,0xc(%esi)
40cb16:	ff 77 04             	push   0x4(%edi)
40cb19:	ff 37                	push   (%edi)
40cb1b:	e8 70 b5 00 00       	call   0x418090
40cb20:	6a 07                	push   $0x7
40cb22:	83 c0 04             	add    $0x4,%eax
40cb25:	8b 7d f8             	mov    -0x8(%ebp),%edi
40cb28:	59                   	pop    %ecx
40cb29:	99                   	cltd
40cb2a:	f7 f9                	idiv   %ecx
40cb2c:	6a 00                	push   $0x0
40cb2e:	b8 10 0e 00 00       	mov    $0xe10,%eax
40cb33:	89 56 18             	mov    %edx,0x18(%esi)
40cb36:	50                   	push   %eax
40cb37:	57                   	push   %edi
40cb38:	53                   	push   %ebx
40cb39:	e8 52 b5 00 00       	call   0x418090
40cb3e:	b9 10 0e 00 00       	mov    $0xe10,%ecx
40cb43:	89 46 08             	mov    %eax,0x8(%esi)
40cb46:	f7 e9                	imul   %ecx
40cb48:	6a 00                	push   $0x0
40cb4a:	2b d8                	sub    %eax,%ebx
40cb4c:	6a 3c                	push   $0x3c
40cb4e:	1b fa                	sbb    %edx,%edi
40cb50:	57                   	push   %edi
40cb51:	53                   	push   %ebx
40cb52:	e8 39 b5 00 00       	call   0x418090
40cb57:	83 66 20 00          	andl   $0x0,0x20(%esi)
40cb5b:	89 46 04             	mov    %eax,0x4(%esi)
40cb5e:	6b c0 3c             	imul   $0x3c,%eax,%eax
40cb61:	2b d8                	sub    %eax,%ebx
40cb63:	33 c0                	xor    %eax,%eax
40cb65:	89 1e                	mov    %ebx,(%esi)
40cb67:	5b                   	pop    %ebx
40cb68:	5f                   	pop    %edi
40cb69:	5e                   	pop    %esi
40cb6a:	8b e5                	mov    %ebp,%esp
40cb6c:	5d                   	pop    %ebp
40cb6d:	c3                   	ret
40cb6e:	8b ff                	mov    %edi,%edi
40cb70:	55                   	push   %ebp
40cb71:	8b ec                	mov    %esp,%ebp
40cb73:	51                   	push   %ecx
40cb74:	53                   	push   %ebx
40cb75:	8b 5d 08             	mov    0x8(%ebp),%ebx
40cb78:	b8 80 33 e1 01       	mov    $0x1e13380,%eax
40cb7d:	56                   	push   %esi
40cb7e:	57                   	push   %edi
40cb7f:	6a 00                	push   $0x0
40cb81:	8b 73 04             	mov    0x4(%ebx),%esi
40cb84:	8b 3b                	mov    (%ebx),%edi
40cb86:	50                   	push   %eax
40cb87:	56                   	push   %esi
40cb88:	57                   	push   %edi
40cb89:	e8 02 b5 00 00       	call   0x418090
40cb8e:	ba 80 33 e1 01       	mov    $0x1e13380,%edx
40cb93:	8d 48 46             	lea    0x46(%eax),%ecx
40cb96:	8d 41 ba             	lea    -0x46(%ecx),%eax
40cb99:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40cb9c:	f7 ea                	imul   %edx
40cb9e:	51                   	push   %ecx
40cb9f:	2b f8                	sub    %eax,%edi
40cba1:	89 3b                	mov    %edi,(%ebx)
40cba3:	1b f2                	sbb    %edx,%esi
40cba5:	89 73 04             	mov    %esi,0x4(%ebx)
40cba8:	e8 f2 fa ff ff       	call   0x40c69f
40cbad:	bf 80 51 01 00       	mov    $0x15180,%edi
40cbb2:	f7 ef                	imul   %edi
40cbb4:	59                   	pop    %ecx
40cbb5:	29 03                	sub    %eax,(%ebx)
40cbb7:	8b 03                	mov    (%ebx),%eax
40cbb9:	19 53 04             	sbb    %edx,0x4(%ebx)
40cbbc:	8b 4b 04             	mov    0x4(%ebx),%ecx
40cbbf:	85 c9                	test   %ecx,%ecx
40cbc1:	7f 32                	jg     0x40cbf5
40cbc3:	7c 04                	jl     0x40cbc9
40cbc5:	85 c0                	test   %eax,%eax
40cbc7:	73 2c                	jae    0x40cbf5
40cbc9:	8b 75 fc             	mov    -0x4(%ebp),%esi
40cbcc:	ba 80 33 e1 01       	mov    $0x1e13380,%edx
40cbd1:	03 c2                	add    %edx,%eax
40cbd3:	89 03                	mov    %eax,(%ebx)
40cbd5:	83 d1 00             	adc    $0x0,%ecx
40cbd8:	4e                   	dec    %esi
40cbd9:	56                   	push   %esi
40cbda:	89 4b 04             	mov    %ecx,0x4(%ebx)
40cbdd:	e8 f7 fa ff ff       	call   0x40c6d9
40cbe2:	59                   	pop    %ecx
40cbe3:	84 c0                	test   %al,%al
40cbe5:	74 22                	je     0x40cc09
40cbe7:	01 3b                	add    %edi,(%ebx)
40cbe9:	8b 45 0c             	mov    0xc(%ebp),%eax
40cbec:	83 53 04 00          	adcl   $0x0,0x4(%ebx)
40cbf0:	c6 00 01             	movb   $0x1,(%eax)
40cbf3:	eb 14                	jmp    0x40cc09
40cbf5:	8b 75 fc             	mov    -0x4(%ebp),%esi
40cbf8:	56                   	push   %esi
40cbf9:	e8 db fa ff ff       	call   0x40c6d9
40cbfe:	59                   	pop    %ecx
40cbff:	84 c0                	test   %al,%al
40cc01:	74 06                	je     0x40cc09
40cc03:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40cc06:	c6 01 01             	movb   $0x1,(%ecx)
40cc09:	5f                   	pop    %edi
40cc0a:	8b c6                	mov    %esi,%eax
40cc0c:	5e                   	pop    %esi
40cc0d:	5b                   	pop    %ebx
40cc0e:	8b e5                	mov    %ebp,%esp
40cc10:	5d                   	pop    %ebp
40cc11:	c3                   	ret
40cc12:	8b ff                	mov    %edi,%edi
40cc14:	55                   	push   %ebp
40cc15:	8b ec                	mov    %esp,%ebp
40cc17:	5d                   	pop    %ebp
40cc18:	e9 04 fe ff ff       	jmp    0x40ca21
40cc1d:	8b ff                	mov    %edi,%edi
40cc1f:	55                   	push   %ebp
40cc20:	8b ec                	mov    %esp,%ebp
40cc22:	51                   	push   %ecx
40cc23:	53                   	push   %ebx
40cc24:	8d 45 fc             	lea    -0x4(%ebp),%eax
40cc27:	33 db                	xor    %ebx,%ebx
40cc29:	50                   	push   %eax
40cc2a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40cc2d:	e8 6b fd ff ff       	call   0x40c99d
40cc32:	59                   	pop    %ecx
40cc33:	85 c0                	test   %eax,%eax
40cc35:	0f 85 be 01 00 00    	jne    0x40cdf9
40cc3b:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
40cc3e:	0f 84 6e 01 00 00    	je     0x40cdb2
40cc44:	56                   	push   %esi
40cc45:	8b 75 08             	mov    0x8(%ebp),%esi
40cc48:	57                   	push   %edi
40cc49:	33 ff                	xor    %edi,%edi
40cc4b:	47                   	inc    %edi
40cc4c:	8b 4e 14             	mov    0x14(%esi),%ecx
40cc4f:	3b 0d 88 32 42 00    	cmp    0x423288,%ecx
40cc55:	75 0c                	jne    0x40cc63
40cc57:	3b 0d 94 32 42 00    	cmp    0x423294,%ecx
40cc5d:	0f 84 27 01 00 00    	je     0x40cd8a
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