41edaf:	89 46 14             	mov    %eax,0x14(%esi)
41edb2:	eb 24                	jmp    0x41edd8
41edb4:	8b 46 08             	mov    0x8(%esi),%eax
41edb7:	99                   	cltd
41edb8:	8b c8                	mov    %eax,%ecx
41edba:	0f b7 46 0e          	movzwl 0xe(%esi),%eax
41edbe:	0f af 46 04          	imul   0x4(%esi),%eax
41edc2:	33 ca                	xor    %edx,%ecx
41edc4:	2b ca                	sub    %edx,%ecx
41edc6:	83 c0 1f             	add    $0x1f,%eax
41edc9:	83 e0 e0             	and    $0xffffffe0,%eax
41edcc:	0f af c1             	imul   %ecx,%eax
41edcf:	99                   	cltd
41edd0:	83 e2 07             	and    $0x7,%edx
41edd3:	03 c2                	add    %edx,%eax
41edd5:	c1 f8 03             	sar    $0x3,%eax
41edd8:	8d 34 38             	lea    (%eax,%edi,1),%esi
41eddb:	85 f6                	test   %esi,%esi
41eddd:	7e 2f                	jle    0x41ee0e
41eddf:	3b f7                	cmp    %edi,%esi
41ede1:	76 2b                	jbe    0x41ee0e
41ede3:	3b f0                	cmp    %eax,%esi
41ede5:	76 27                	jbe    0x41ee0e
41ede7:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
41edeb:	74 07                	je     0x41edf4
41eded:	8b cb                	mov    %ebx,%ecx
41edef:	e8 0a f5 ff ff       	call   0x41e2fe
41edf4:	8b 45 08             	mov    0x8(%ebp),%eax
41edf7:	89 43 30             	mov    %eax,0x30(%ebx)
41edfa:	89 7b 34             	mov    %edi,0x34(%ebx)
41edfd:	89 73 38             	mov    %esi,0x38(%ebx)
41ee00:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41ee07:	eb 08                	jmp    0x41ee11
41ee09:	8b 45 08             	mov    0x8(%ebp),%eax
41ee0c:	eb 04                	jmp    0x41ee12
41ee0e:	8b 45 08             	mov    0x8(%ebp),%eax
41ee11:	5f                   	pop    %edi
41ee12:	50                   	push   %eax
41ee13:	ff 15 50 72 4a 00    	call   *0x4a7250
41ee19:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ee1c:	85 c0                	test   %eax,%eax
41ee1e:	75 18                	jne    0x41ee38
41ee20:	eb 02                	jmp    0x41ee24
41ee22:	33 c0                	xor    %eax,%eax
41ee24:	c7 05 30 5c 4a 00 f4 	movl   $0x3f4,0x4a5c30
41ee2b:	03 00 00
41ee2e:	c7 05 48 5c 4a 00 04 	movl   $0x804,0x4a5c48
41ee35:	08 00 00
41ee38:	5e                   	pop    %esi
41ee39:	5b                   	pop    %ebx
41ee3a:	c9                   	leave
41ee3b:	c2 04 00             	ret    $0x4
41ee3e:	8b ff                	mov    %edi,%edi
41ee40:	55                   	push   %ebp
41ee41:	8b ec                	mov    %esp,%ebp
41ee43:	83 e4 f8             	and    $0xfffffff8,%esp
41ee46:	51                   	push   %ecx
41ee47:	53                   	push   %ebx
41ee48:	56                   	push   %esi
41ee49:	57                   	push   %edi
41ee4a:	8b f9                	mov    %ecx,%edi
41ee4c:	8b 4f 04             	mov    0x4(%edi),%ecx
41ee4f:	e8 56 de 00 00       	call   0x42ccaa
41ee54:	e8 9b f1 00 00       	call   0x42dff4
41ee59:	e8 9d e1 00 00       	call   0x42cffb
41ee5e:	83 67 04 00          	andl   $0x0,0x4(%edi)
41ee62:	8b cf                	mov    %edi,%ecx
41ee64:	e8 c8 f5 ff ff       	call   0x41e431
41ee69:	85 c0                	test   %eax,%eax
41ee6b:	74 6f                	je     0x41eedc
41ee6d:	8b 5d 08             	mov    0x8(%ebp),%ebx
41ee70:	8b 03                	mov    (%ebx),%eax
41ee72:	8b 70 68             	mov    0x68(%eax),%esi
41ee75:	8b ce                	mov    %esi,%ecx
41ee77:	ff 15 2c 81 4a 00    	call   *0x4a812c
41ee7d:	8b cb                	mov    %ebx,%ecx
41ee7f:	ff d6                	call   *%esi
41ee81:	89 44 24 0c          	mov    %eax,0xc(%esp)
41ee85:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
41ee89:	8b 03                	mov    (%ebx),%eax
41ee8b:	51                   	push   %ecx
41ee8c:	8b 70 6c             	mov    0x6c(%eax),%esi
41ee8f:	8b ce                	mov    %esi,%ecx
41ee91:	ff 15 2c 81 4a 00    	call   *0x4a812c
41ee97:	8b cb                	mov    %ebx,%ecx
41ee99:	ff d6                	call   *%esi
41ee9b:	8b d8                	mov    %eax,%ebx
41ee9d:	85 db                	test   %ebx,%ebx
41ee9f:	74 3b                	je     0x41eedc
41eea1:	8b 4f 04             	mov    0x4(%edi),%ecx
41eea4:	8b 73 48             	mov    0x48(%ebx),%esi
41eea7:	8b 11                	mov    (%ecx),%edx
41eea9:	89 56 50             	mov    %edx,0x50(%esi)
41eeac:	89 31                	mov    %esi,(%ecx)
41eeae:	89 4e 48             	mov    %ecx,0x48(%esi)
41eeb1:	3b 0d 4c 65 4a 00    	cmp    0x4a654c,%ecx
41eeb7:	74 0b                	je     0x41eec4
41eeb9:	89 0d 4c 65 4a 00    	mov    %ecx,0x4a654c
41eebf:	e8 b6 e4 00 00       	call   0x42d37a
41eec4:	8b 4d 08             	mov    0x8(%ebp),%ecx
41eec7:	6a 00                	push   $0x0
41eec9:	6a 00                	push   $0x0
41eecb:	53                   	push   %ebx
41eecc:	ff 15 7c 75 4a 00    	call   *0x4a757c
41eed2:	8b 4f 04             	mov    0x4(%edi),%ecx
41eed5:	33 d2                	xor    %edx,%edx
41eed7:	e8 00 df 00 00       	call   0x42cddc
41eedc:	5f                   	pop    %edi
41eedd:	5e                   	pop    %esi
41eede:	5b                   	pop    %ebx
41eedf:	8b e5                	mov    %ebp,%esp
41eee1:	5d                   	pop    %ebp
41eee2:	c2 04 00             	ret    $0x4
41eee5:	6a 40                	push   $0x40
41eee7:	b8 54 17 49 00       	mov    $0x491754,%eax
41eeec:	e8 e2 15 07 00       	call   0x4904d3
41eef1:	89 55 ec             	mov    %edx,-0x14(%ebp)
41eef4:	8b f1                	mov    %ecx,%esi
41eef6:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
41eef9:	ff 15 80 75 4a 00    	call   *0x4a7580
41eeff:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41ef03:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41ef06:	ff 15 80 75 4a 00    	call   *0x4a7580
41ef0c:	33 db                	xor    %ebx,%ebx
41ef0e:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41ef11:	43                   	inc    %ebx
41ef12:	88 5d fc             	mov    %bl,-0x4(%ebp)
41ef15:	ff 15 80 75 4a 00    	call   *0x4a7580
41ef1b:	56                   	push   %esi
41ef1c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41ef1f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41ef23:	ff 15 88 75 4a 00    	call   *0x4a7588
41ef29:	ff 75 14             	push   0x14(%ebp)
41ef2c:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41ef2f:	ff 15 88 75 4a 00    	call   *0x4a7588
41ef35:	ff 75 d8             	push   -0x28(%ebp)
41ef38:	ff 15 74 71 4a 00    	call   *0x4a7174
41ef3e:	50                   	push   %eax
41ef3f:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
41ef42:	ff 15 88 75 4a 00    	call   *0x4a7588
41ef48:	8b f0                	mov    %eax,%esi
41ef4a:	8b cb                	mov    %ebx,%ecx
41ef4c:	b8 00 00 01 00       	mov    $0x10000,%eax
41ef51:	99                   	cltd
41ef52:	f7 7d 0c             	idivl  0xc(%ebp)
41ef55:	8b f8                	mov    %eax,%edi
41ef57:	3b fb                	cmp    %ebx,%edi
41ef59:	7c 02                	jl     0x41ef5d
41ef5b:	8b cf                	mov    %edi,%ecx
41ef5d:	39 4d 10             	cmp    %ecx,0x10(%ebp)
41ef60:	7d 05                	jge    0x41ef67
41ef62:	8b 7d 10             	mov    0x10(%ebp),%edi
41ef65:	eb 06                	jmp    0x41ef6d
41ef67:	3b fb                	cmp    %ebx,%edi
41ef69:	7d 02                	jge    0x41ef6d
41ef6b:	8b fb                	mov    %ebx,%edi
41ef6d:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
41ef71:	c7 45 e4 1c 14 40 00 	movl   $0x40141c,-0x1c(%ebp)
41ef78:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
41ef7c:	85 f6                	test   %esi,%esi
41ef7e:	0f 84 de 00 00 00    	je     0x41f062
41ef84:	57                   	push   %edi
41ef85:	ff 75 0c             	push   0xc(%ebp)
41ef88:	ff 75 d8             	push   -0x28(%ebp)
41ef8b:	ff 15 78 71 4a 00    	call   *0x4a7178
41ef91:	50                   	push   %eax
41ef92:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41ef95:	ff 15 8c 75 4a 00    	call   *0x4a758c
41ef9b:	85 c0                	test   %eax,%eax
41ef9d:	0f 84 bf 00 00 00    	je     0x41f062
41efa3:	ff 75 e8             	push   -0x18(%ebp)
41efa6:	ff 75 c8             	push   -0x38(%ebp)
41efa9:	ff 15 90 75 4a 00    	call   *0x4a7590
41efaf:	85 c0                	test   %eax,%eax
41efb1:	0f 84 ab 00 00 00    	je     0x41f062
41efb7:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
41efbb:	74 16                	je     0x41efd3
41efbd:	53                   	push   %ebx
41efbe:	ff 75 20             	push   0x20(%ebp)
41efc1:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
41efc4:	ff 15 98 75 4a 00    	call   *0x4a7598
41efca:	ff 75 c8             	push   -0x38(%ebp)
41efcd:	ff 15 70 71 4a 00    	call   *0x4a7170
41efd3:	33 db                	xor    %ebx,%ebx
41efd5:	39 5d 10             	cmp    %ebx,0x10(%ebp)
41efd8:	7e 6b                	jle    0x41f045
41efda:	8b 45 10             	mov    0x10(%ebp),%eax
41efdd:	2b c3                	sub    %ebx,%eax
41efdf:	3b f8                	cmp    %eax,%edi
41efe1:	7c 02                	jl     0x41efe5
41efe3:	8b f8                	mov    %eax,%edi
41efe5:	8b 75 08             	mov    0x8(%ebp),%esi
41efe8:	68 20 00 cc 00       	push   $0xcc0020
41efed:	03 f3                	add    %ebx,%esi
41efef:	56                   	push   %esi
41eff0:	ff 75 ec             	push   -0x14(%ebp)
41eff3:	ff 75 d8             	push   -0x28(%ebp)
41eff6:	57                   	push   %edi
41eff7:	ff 75 0c             	push   0xc(%ebp)
41effa:	6a 00                	push   $0x0
41effc:	6a 00                	push   $0x0
41effe:	ff 75 c8             	push   -0x38(%ebp)
41f001:	ff 15 7c 71 4a 00    	call   *0x4a717c
41f007:	68 20 00 cc 00       	push   $0xcc0020
41f00c:	53                   	push   %ebx
41f00d:	6a 00                	push   $0x0
41f00f:	ff 75 b8             	push   -0x48(%ebp)
41f012:	57                   	push   %edi
41f013:	ff 75 0c             	push   0xc(%ebp)
41f016:	56                   	push   %esi
41f017:	ff 75 ec             	push   -0x14(%ebp)
41f01a:	ff 75 d8             	push   -0x28(%ebp)
41f01d:	ff 15 7c 71 4a 00    	call   *0x4a717c
41f023:	68 20 00 cc 00       	push   $0xcc0020
41f028:	33 c0                	xor    %eax,%eax
41f02a:	50                   	push   %eax
41f02b:	50                   	push   %eax
41f02c:	ff 75 c8             	push   -0x38(%ebp)
41f02f:	57                   	push   %edi
41f030:	ff 75 0c             	push   0xc(%ebp)
41f033:	53                   	push   %ebx
41f034:	50                   	push   %eax
41f035:	ff 75 b8             	push   -0x48(%ebp)
41f038:	ff 15 7c 71 4a 00    	call   *0x4a717c
41f03e:	03 df                	add    %edi,%ebx
41f040:	3b 5d 10             	cmp    0x10(%ebp),%ebx
41f043:	7c 95                	jl     0x41efda
41f045:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41f048:	ff 15 94 75 4a 00    	call   *0x4a7594
41f04e:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41f051:	ff 15 94 75 4a 00    	call   *0x4a7594
41f057:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
41f05a:	ff 15 9c 75 4a 00    	call   *0x4a759c
41f060:	eb 12                	jmp    0x41f074
41f062:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41f065:	ff 15 94 75 4a 00    	call   *0x4a7594
41f06b:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41f06e:	ff 15 94 75 4a 00    	call   *0x4a7594
41f074:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41f077:	c7 45 e4 1c 14 40 00 	movl   $0x40141c,-0x1c(%ebp)
41f07e:	e8 50 0d 00 00       	call   0x41fdd3
41f083:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41f086:	ff 15 84 75 4a 00    	call   *0x4a7584
41f08c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41f08f:	ff 15 84 75 4a 00    	call   *0x4a7584
41f095:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
41f098:	ff 15 84 75 4a 00    	call   *0x4a7584
41f09e:	e8 fe 13 07 00       	call   0x4904a1
41f0a3:	c2 1c 00             	ret    $0x1c
41f0a6:	8b ff                	mov    %edi,%edi
41f0a8:	55                   	push   %ebp
41f0a9:	8b ec                	mov    %esp,%ebp
41f0ab:	83 ec 28             	sub    $0x28,%esp
41f0ae:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41f0b3:	33 c5                	xor    %ebp,%eax
41f0b5:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f0b8:	a1 08 01 4a 00       	mov    0x4a0108,%eax
41f0bd:	53                   	push   %ebx
41f0be:	56                   	push   %esi
41f0bf:	8b 75 08             	mov    0x8(%ebp),%esi
41f0c2:	81 78 40 59 02 00 00 	cmpl   $0x259,0x40(%eax)
41f0c9:	57                   	push   %edi
41f0ca:	8b f9                	mov    %ecx,%edi
41f0cc:	74 09                	je     0x41f0d7
41f0ce:	81 78 40 5a 02 00 00 	cmpl   $0x25a,0x40(%eax)
41f0d5:	75 22                	jne    0x41f0f9
41f0d7:	83 3d 30 49 4a 00 00 	cmpl   $0x0,0x4a4930
41f0de:	74 19                	je     0x41f0f9
41f0e0:	e8 c6 e1 00 00       	call   0x42d2ab
41f0e5:	8b 0d 30 49 4a 00    	mov    0x4a4930,%ecx
41f0eb:	33 d2                	xor    %edx,%edx
41f0ed:	e8 ea dc 00 00       	call   0x42cddc
41f0f2:	83 25 30 49 4a 00 00 	andl   $0x0,0x4a4930
41f0f9:	6a 04                	push   $0x4
41f0fb:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41f0fe:	8b ce                	mov    %esi,%ecx
41f100:	50                   	push   %eax
41f101:	e8 91 a2 04 00       	call   0x469397
41f106:	6a 10                	push   $0x10
41f108:	8d 45 e8             	lea    -0x18(%ebp),%eax
41f10b:	8b ce                	mov    %esi,%ecx
41f10d:	50                   	push   %eax
41f10e:	e8 84 a2 04 00       	call   0x469397
41f113:	8b 5e 20             	mov    0x20(%esi),%ebx
41f116:	8d 45 dc             	lea    -0x24(%ebp),%eax
41f119:	6a 04                	push   $0x4
41f11b:	50                   	push   %eax
41f11c:	8b ce                	mov    %esi,%ecx
41f11e:	e8 74 a2 04 00       	call   0x469397
41f123:	85 db                	test   %ebx,%ebx
41f125:	0f 88 45 01 00 00    	js     0x41f270
41f12b:	3b 5e 08             	cmp    0x8(%esi),%ebx
41f12e:	0f 8d 3c 01 00 00    	jge    0x41f270
41f134:	8b 46 04             	mov    0x4(%esi),%eax
41f137:	83 24 18 00          	andl   $0x0,(%eax,%ebx,1)
41f13b:	8b 4f 04             	mov    0x4(%edi),%ecx
41f13e:	e8 37 e2 00 00       	call   0x42d37a
41f143:	8b 4f 04             	mov    0x4(%edi),%ecx
41f146:	e8 d5 ee 00 00       	call   0x42e020
41f14b:	e8 5b e1 00 00       	call   0x42d2ab
41f150:	8b 47 04             	mov    0x4(%edi),%eax
41f153:	ff 70 0c             	push   0xc(%eax)
41f156:	ff 15 74 71 4a 00    	call   *0x4a7174
41f15c:	8b f0                	mov    %eax,%esi
41f15e:	85 f6                	test   %esi,%esi
41f160:	75 1d                	jne    0x41f17f
41f162:	6a 01                	push   $0x1
41f164:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
41f169:	e8 39 eb 02 00       	call   0x44dca7
41f16e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41f171:	5f                   	pop    %edi
41f172:	5e                   	pop    %esi
41f173:	33 cd                	xor    %ebp,%ecx
41f175:	5b                   	pop    %ebx
41f176:	e8 85 0d 07 00       	call   0x48ff00
41f17b:	c9                   	leave
41f17c:	c2 04 00             	ret    $0x4
41f17f:	ff 75 dc             	push   -0x24(%ebp)
41f182:	33 db                	xor    %ebx,%ebx
41f184:	56                   	push   %esi
41f185:	ff 15 68 71 4a 00    	call   *0x4a7168
41f18b:	8b 4f 04             	mov    0x4(%edi),%ecx
41f18e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41f191:	8b 51 24             	mov    0x24(%ecx),%edx
41f194:	85 d2                	test   %edx,%edx
41f196:	74 17                	je     0x41f1af
41f198:	53                   	push   %ebx
41f199:	ff 72 04             	push   0x4(%edx)
41f19c:	56                   	push   %esi
41f19d:	ff 15 6c 71 4a 00    	call   *0x4a716c
41f1a3:	56                   	push   %esi
41f1a4:	8b d8                	mov    %eax,%ebx
41f1a6:	ff 15 70 71 4a 00    	call   *0x4a7170
41f1ac:	8b 4f 04             	mov    0x4(%edi),%ecx
41f1af:	ff 71 24             	push   0x24(%ecx)
41f1b2:	8b 45 f4             	mov    -0xc(%ebp),%eax
41f1b5:	2b 45 ec             	sub    -0x14(%ebp),%eax
41f1b8:	8b 55 e8             	mov    -0x18(%ebp),%edx
41f1bb:	51                   	push   %ecx
41f1bc:	51                   	push   %ecx
41f1bd:	8b 49 0c             	mov    0xc(%ecx),%ecx
41f1c0:	56                   	push   %esi
41f1c1:	50                   	push   %eax
41f1c2:	8b 45 f0             	mov    -0x10(%ebp),%eax
41f1c5:	2b c2                	sub    %edx,%eax
41f1c7:	50                   	push   %eax
41f1c8:	ff 75 ec             	push   -0x14(%ebp)
41f1cb:	e8 15 fd ff ff       	call   0x41eee5
41f1d0:	85 db                	test   %ebx,%ebx
41f1d2:	74 0a                	je     0x41f1de