414df7:	73 09                	jae    0x414e02
414df9:	50                   	push   %eax
414dfa:	8d 4f 18             	lea    0x18(%edi),%ecx
414dfd:	e8 cd cd fe ff       	call   0x401bcf
414e02:	8b 43 1c             	mov    0x1c(%ebx),%eax
414e05:	83 e8 40             	sub    $0x40,%eax
414e08:	50                   	push   %eax
414e09:	8b 43 18             	mov    0x18(%ebx),%eax
414e0c:	83 c0 40             	add    $0x40,%eax
414e0f:	50                   	push   %eax
414e10:	8b 47 18             	mov    0x18(%edi),%eax
414e13:	83 c0 40             	add    $0x40,%eax
414e16:	50                   	push   %eax
414e17:	e8 54 6e 00 00       	call   0x41bc70
414e1c:	83 c4 0c             	add    $0xc,%esp
414e1f:	eb 08                	jmp    0x414e29
414e21:	8d 4f 18             	lea    0x18(%edi),%ecx
414e24:	e8 50 bc ff ff       	call   0x410a79
414e29:	8b 43 54             	mov    0x54(%ebx),%eax
414e2c:	ff 45 fc             	incl   -0x4(%ebp)
414e2f:	8b 7b 58             	mov    0x58(%ebx),%edi
414e32:	8b 5d fc             	mov    -0x4(%ebp),%ebx
414e35:	ff 45 f8             	incl   -0x8(%ebp)
414e38:	c1 e3 02             	shl    $0x2,%ebx
414e3b:	89 45 ec             	mov    %eax,-0x14(%ebp)
414e3e:	8b 86 d0 e6 00 00    	mov    0xe6d0(%esi),%eax
414e44:	8b 0c 03             	mov    (%ebx,%eax,1),%ecx
414e47:	89 5d f0             	mov    %ebx,-0x10(%ebp)
414e4a:	85 c9                	test   %ecx,%ecx
414e4c:	74 07                	je     0x414e55
414e4e:	6a 01                	push   $0x1
414e50:	e8 33 fd ff ff       	call   0x414b88
414e55:	8b 86 d0 e6 00 00    	mov    0xe6d0(%esi),%eax
414e5b:	83 24 03 00          	andl   $0x0,(%ebx,%eax,1)
414e5f:	8b 45 f8             	mov    -0x8(%ebp),%eax
414e62:	3b 86 d4 e6 00 00    	cmp    0xe6d4(%esi),%eax
414e68:	0f 82 f2 fe ff ff    	jb     0x414d60
414e6e:	8b 0e                	mov    (%esi),%ecx
414e70:	57                   	push   %edi
414e71:	ff 75 ec             	push   -0x14(%ebp)
414e74:	e8 d6 6a ff ff       	call   0x40b94f
414e79:	8b 4d e8             	mov    -0x18(%ebp),%ecx
414e7c:	8d 86 50 4c 00 00    	lea    0x4c50(%esi),%eax
414e82:	01 38                	add    %edi,(%eax)
414e84:	c6 86 4a 4c 00 00 01 	movb   $0x1,0x4c4a(%esi)
414e8b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
414e8e:	83 50 04 00          	adcl   $0x0,0x4(%eax)
414e92:	8b 46 70             	mov    0x70(%esi),%eax
414e95:	2b c1                	sub    %ecx,%eax
414e97:	23 86 f8 e6 00 00    	and    0xe6f8(%esi),%eax
414e9d:	ff 45 fc             	incl   -0x4(%ebp)
414ea0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414ea3:	3b 8e d4 e6 00 00    	cmp    0xe6d4(%esi),%ecx
414ea9:	0f 82 25 fd ff ff    	jb     0x414bd4
414eaf:	ff 76 70             	push   0x70(%esi)
414eb2:	8b ce                	mov    %esi,%ecx
414eb4:	ff 75 f8             	push   -0x8(%ebp)
414eb7:	e8 c8 f1 ff ff       	call   0x414084
414ebc:	8b 46 70             	mov    0x70(%esi),%eax
414ebf:	89 46 74             	mov    %eax,0x74(%esi)
414ec2:	5f                   	pop    %edi
414ec3:	5e                   	pop    %esi
414ec4:	5b                   	pop    %ebx
414ec5:	c9                   	leave
414ec6:	c3                   	ret
414ec7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414eca:	eb 18                	jmp    0x414ee4
414ecc:	8b 86 d0 e6 00 00    	mov    0xe6d0(%esi),%eax
414ed2:	8b 04 88             	mov    (%eax,%ecx,4),%eax
414ed5:	85 c0                	test   %eax,%eax
414ed7:	74 0a                	je     0x414ee3
414ed9:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
414edd:	74 04                	je     0x414ee3
414edf:	c6 40 0c 00          	movb   $0x0,0xc(%eax)
414ee3:	41                   	inc    %ecx
414ee4:	3b 8e d4 e6 00 00    	cmp    0xe6d4(%esi),%ecx
414eea:	72 e0                	jb     0x414ecc
414eec:	89 56 74             	mov    %edx,0x74(%esi)
414eef:	eb d1                	jmp    0x414ec2
414ef1:	56                   	push   %esi
414ef2:	8b f1                	mov    %ecx,%esi
414ef4:	57                   	push   %edi
414ef5:	8d 8e e0 e6 00 00    	lea    0xe6e0(%esi),%ecx
414efb:	e8 79 bb ff ff       	call   0x410a79
414f00:	83 a6 f0 e6 00 00 00 	andl   $0x0,0xe6f0(%esi)
414f07:	33 ff                	xor    %edi,%edi
414f09:	39 be c4 e6 00 00    	cmp    %edi,0xe6c4(%esi)
414f0f:	76 1d                	jbe    0x414f2e
414f11:	8b 86 c0 e6 00 00    	mov    0xe6c0(%esi),%eax
414f17:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
414f1a:	85 c9                	test   %ecx,%ecx
414f1c:	74 07                	je     0x414f25
414f1e:	6a 01                	push   $0x1
414f20:	e8 63 fc ff ff       	call   0x414b88
414f25:	47                   	inc    %edi
414f26:	3b be c4 e6 00 00    	cmp    0xe6c4(%esi),%edi
414f2c:	72 e3                	jb     0x414f11
414f2e:	8d 8e c0 e6 00 00    	lea    0xe6c0(%esi),%ecx
414f34:	e8 40 bb ff ff       	call   0x410a79
414f39:	33 ff                	xor    %edi,%edi
414f3b:	39 be d4 e6 00 00    	cmp    %edi,0xe6d4(%esi)
414f41:	76 1d                	jbe    0x414f60
414f43:	8b 86 d0 e6 00 00    	mov    0xe6d0(%esi),%eax
414f49:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
414f4c:	85 c9                	test   %ecx,%ecx
414f4e:	74 07                	je     0x414f57
414f50:	6a 01                	push   $0x1
414f52:	e8 31 fc ff ff       	call   0x414b88
414f57:	47                   	inc    %edi
414f58:	3b be d4 e6 00 00    	cmp    0xe6d4(%esi),%edi
414f5e:	72 e3                	jb     0x414f43
414f60:	5f                   	pop    %edi
414f61:	8d 8e d0 e6 00 00    	lea    0xe6d0(%esi),%ecx
414f67:	5e                   	pop    %esi
414f68:	e9 0c bb ff ff       	jmp    0x410a79
414f6d:	55                   	push   %ebp
414f6e:	8b ec                	mov    %esp,%ebp
414f70:	83 ec 20             	sub    $0x20,%esp
414f73:	53                   	push   %ebx
414f74:	8b d9                	mov    %ecx,%ebx
414f76:	8b 43 74             	mov    0x74(%ebx),%eax
414f79:	8b 53 70             	mov    0x70(%ebx),%edx
414f7c:	2b d0                	sub    %eax,%edx
414f7e:	23 93 f8 e6 00 00    	and    0xe6f8(%ebx),%edx
414f84:	33 c9                	xor    %ecx,%ecx
414f86:	56                   	push   %esi
414f87:	89 45 f8             	mov    %eax,-0x8(%ebp)
414f8a:	57                   	push   %edi
414f8b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
414f8e:	8b c2                	mov    %edx,%eax
414f90:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
414f94:	89 4d ec             	mov    %ecx,-0x14(%ebp)
414f97:	39 4b 48             	cmp    %ecx,0x48(%ebx)
414f9a:	0f 86 bf 01 00 00    	jbe    0x41515f
414fa0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
414fa3:	eb 03                	jmp    0x414fa8
414fa5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
414fa8:	8b 4b 44             	mov    0x44(%ebx),%ecx
414fab:	03 4d f0             	add    -0x10(%ebp),%ecx
414fae:	80 39 08             	cmpb   $0x8,(%ecx)
414fb1:	89 4d e0             	mov    %ecx,-0x20(%ebp)
414fb4:	0f 84 60 01 00 00    	je     0x41511a
414fba:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
414fbe:	8b 71 04             	mov    0x4(%ecx),%esi
414fc1:	74 1a                	je     0x414fdd
414fc3:	2b 73 74             	sub    0x74(%ebx),%esi
414fc6:	23 b3 f8 e6 00 00    	and    0xe6f8(%ebx),%esi
414fcc:	3b f2                	cmp    %edx,%esi
414fce:	0f 87 46 01 00 00    	ja     0x41511a
414fd4:	c6 41 0d 00          	movb   $0x0,0xd(%ecx)
414fd8:	e9 3d 01 00 00       	jmp    0x41511a
414fdd:	8b 79 08             	mov    0x8(%ecx),%edi
414fe0:	8b 8b f8 e6 00 00    	mov    0xe6f8(%ebx),%ecx
414fe6:	8b d6                	mov    %esi,%edx
414fe8:	2b 55 f8             	sub    -0x8(%ebp),%edx
414feb:	89 7d e8             	mov    %edi,-0x18(%ebp)
414fee:	23 d1                	and    %ecx,%edx
414ff0:	3b d0                	cmp    %eax,%edx
414ff2:	0f 83 22 01 00 00    	jae    0x41511a
414ff8:	39 75 f8             	cmp    %esi,-0x8(%ebp)
414ffb:	74 1b                	je     0x415018
414ffd:	56                   	push   %esi
414ffe:	ff 75 f8             	push   -0x8(%ebp)
415001:	8b cb                	mov    %ebx,%ecx
415003:	e8 7c f0 ff ff       	call   0x414084
415008:	8b 43 70             	mov    0x70(%ebx),%eax
41500b:	8b 8b f8 e6 00 00    	mov    0xe6f8(%ebx),%ecx
415011:	2b c6                	sub    %esi,%eax
415013:	89 75 f8             	mov    %esi,-0x8(%ebp)
415016:	23 c1                	and    %ecx,%eax
415018:	3b f8                	cmp    %eax,%edi
41501a:	0f 87 0f 01 00 00    	ja     0x41512f
415020:	85 ff                	test   %edi,%edi
415022:	0f 86 f2 00 00 00    	jbe    0x41511a
415028:	8d 04 37             	lea    (%edi,%esi,1),%eax
41502b:	23 c1                	and    %ecx,%eax
41502d:	8d 4b 24             	lea    0x24(%ebx),%ecx
415030:	57                   	push   %edi
415031:	89 45 f4             	mov    %eax,-0xc(%ebp)
415034:	e8 96 cb fe ff       	call   0x401bcf
415039:	8b 43 24             	mov    0x24(%ebx),%eax
41503c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41503f:	3b 75 f4             	cmp    -0xc(%ebp),%esi
415042:	72 62                	jb     0x4150a6
415044:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
415048:	74 5c                	je     0x4150a6
41504a:	8b bb f4 e6 00 00    	mov    0xe6f4(%ebx),%edi
415050:	2b fe                	sub    %esi,%edi
415052:	80 bb 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%ebx)
415059:	57                   	push   %edi
41505a:	74 1f                	je     0x41507b
41505c:	56                   	push   %esi
41505d:	8d 8b 38 4b 00 00    	lea    0x4b38(%ebx),%ecx
415063:	50                   	push   %eax
415064:	e8 4a d2 ff ff       	call   0x4122b3
415069:	ff 75 f4             	push   -0xc(%ebp)
41506c:	8b 45 f8             	mov    -0x8(%ebp),%eax
41506f:	6a 00                	push   $0x0
415071:	03 f8                	add    %eax,%edi
415073:	57                   	push   %edi
415074:	e8 3a d2 ff ff       	call   0x4122b3
415079:	eb 26                	jmp    0x4150a1
41507b:	8b 8b 34 4b 00 00    	mov    0x4b34(%ebx),%ecx
415081:	03 ce                	add    %esi,%ecx
415083:	51                   	push   %ecx
415084:	50                   	push   %eax
415085:	e8 e6 6b 00 00       	call   0x41bc70
41508a:	ff 75 f4             	push   -0xc(%ebp)
41508d:	8b 45 f8             	mov    -0x8(%ebp),%eax
415090:	ff b3 34 4b 00 00    	push   0x4b34(%ebx)
415096:	03 f8                	add    %eax,%edi
415098:	57                   	push   %edi
415099:	e8 d2 6b 00 00       	call   0x41bc70
41509e:	83 c4 18             	add    $0x18,%esp
4150a1:	8b 7d e8             	mov    -0x18(%ebp),%edi
4150a4:	eb 2b                	jmp    0x4150d1
4150a6:	80 bb 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%ebx)
4150ad:	57                   	push   %edi
4150ae:	74 0f                	je     0x4150bf
4150b0:	56                   	push   %esi
4150b1:	50                   	push   %eax
4150b2:	8d 8b 38 4b 00 00    	lea    0x4b38(%ebx),%ecx
4150b8:	e8 f6 d1 ff ff       	call   0x4122b3
4150bd:	eb 12                	jmp    0x4150d1
4150bf:	8b 8b 34 4b 00 00    	mov    0x4b34(%ebx),%ecx
4150c5:	03 ce                	add    %esi,%ecx
4150c7:	51                   	push   %ecx
4150c8:	50                   	push   %eax
4150c9:	e8 a2 6b 00 00       	call   0x41bc70
4150ce:	83 c4 0c             	add    $0xc,%esp
4150d1:	ff 75 e0             	push   -0x20(%ebp)
4150d4:	8b cb                	mov    %ebx,%ecx
4150d6:	57                   	push   %edi
4150d7:	ff 75 f8             	push   -0x8(%ebp)
4150da:	e8 4b ee ff ff       	call   0x413f2a
4150df:	8b 4b 44             	mov    0x44(%ebx),%ecx
4150e2:	8b 55 f0             	mov    -0x10(%ebp),%edx
4150e5:	c6 04 0a 08          	movb   $0x8,(%edx,%ecx,1)
4150e9:	85 c0                	test   %eax,%eax
4150eb:	74 09                	je     0x4150f6
4150ed:	8b 0b                	mov    (%ebx),%ecx
4150ef:	57                   	push   %edi
4150f0:	50                   	push   %eax
4150f1:	e8 59 68 ff ff       	call   0x40b94f
4150f6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4150f9:	8d 83 50 4c 00 00    	lea    0x4c50(%ebx),%eax
4150ff:	01 38                	add    %edi,(%eax)
415101:	c6 83 4a 4c 00 00 01 	movb   $0x1,0x4c4a(%ebx)
415108:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41510b:	83 50 04 00          	adcl   $0x0,0x4(%eax)
41510f:	8b 43 70             	mov    0x70(%ebx),%eax
415112:	2b c1                	sub    %ecx,%eax
415114:	23 83 f8 e6 00 00    	and    0xe6f8(%ebx),%eax
41511a:	ff 45 ec             	incl   -0x14(%ebp)
41511d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415120:	83 45 f0 10          	addl   $0x10,-0x10(%ebp)
415124:	3b 4b 48             	cmp    0x48(%ebx),%ecx
415127:	0f 82 78 fe ff ff    	jb     0x414fa5
41512d:	eb 30                	jmp    0x41515f
41512f:	8b 45 f8             	mov    -0x8(%ebp),%eax
415132:	89 43 74             	mov    %eax,0x74(%ebx)
415135:	8b 45 ec             	mov    -0x14(%ebp),%eax
415138:	8b c8                	mov    %eax,%ecx
41513a:	3b 43 48             	cmp    0x48(%ebx),%eax
41513d:	73 1c                	jae    0x41515b
41513f:	c1 e0 04             	shl    $0x4,%eax
415142:	8b d0                	mov    %eax,%edx
415144:	8b 43 44             	mov    0x44(%ebx),%eax
415147:	03 c2                	add    %edx,%eax
415149:	80 38 08             	cmpb   $0x8,(%eax)
41514c:	74 04                	je     0x415152
41514e:	c6 40 0d 00          	movb   $0x0,0xd(%eax)
415152:	41                   	inc    %ecx
415153:	83 c2 10             	add    $0x10,%edx
415156:	3b 4b 48             	cmp    0x48(%ebx),%ecx
415159:	72 e9                	jb     0x415144
41515b:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
41515f:	33 d2                	xor    %edx,%edx
415161:	89 55 f4             	mov    %edx,-0xc(%ebp)
415164:	89 55 ec             	mov    %edx,-0x14(%ebp)
415167:	39 53 48             	cmp    %edx,0x48(%ebx)
41516a:	76 48                	jbe    0x4151b4
41516c:	8d 4b 44             	lea    0x44(%ebx),%ecx
41516f:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
415173:	76 14                	jbe    0x415189
415175:	8b 01                	mov    (%ecx),%eax
415177:	8b 7d ec             	mov    -0x14(%ebp),%edi
41517a:	2b 7d f4             	sub    -0xc(%ebp),%edi
41517d:	8d 34 02             	lea    (%edx,%eax,1),%esi
415180:	c1 e7 04             	shl    $0x4,%edi
415183:	03 f8                	add    %eax,%edi
415185:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415186:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415187:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415188:	a5                   	movsl  %ds:(%esi),%es:(%edi)
415189:	8b 01                	mov    (%ecx),%eax
41518b:	80 3c 02 08          	cmpb   $0x8,(%edx,%eax,1)
41518f:	75 03                	jne    0x415194
415191:	ff 45 f4             	incl   -0xc(%ebp)
415194:	ff 45 ec             	incl   -0x14(%ebp)
415197:	8b 45 ec             	mov    -0x14(%ebp),%eax
41519a:	83 c2 10             	add    $0x10,%edx
41519d:	3b 43 48             	cmp    0x48(%ebx),%eax
4151a0:	72 cd                	jb     0x41516f
4151a2:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4151a6:	76 0c                	jbe    0x4151b4
4151a8:	8b 43 48             	mov    0x48(%ebx),%eax
4151ab:	2b 45 f4             	sub    -0xc(%ebp),%eax
4151ae:	50                   	push   %eax
4151af:	e8 78 f3 ff ff       	call   0x41452c
4151b4:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
4151b8:	75 13                	jne    0x4151cd
4151ba:	ff 73 70             	push   0x70(%ebx)
4151bd:	8b cb                	mov    %ebx,%ecx
4151bf:	ff 75 f8             	push   -0x8(%ebp)
4151c2:	e8 bd ee ff ff       	call   0x414084
4151c7:	8b 43 70             	mov    0x70(%ebx),%eax
4151ca:	89 43 74             	mov    %eax,0x74(%ebx)
4151cd:	8b 8b f4 e6 00 00    	mov    0xe6f4(%ebx),%ecx
4151d3:	b8 00 00 40 00       	mov    $0x400000,%eax
4151d8:	3b c8                	cmp    %eax,%ecx
4151da:	73 02                	jae    0x4151de
4151dc:	8b c1                	mov    %ecx,%eax
4151de:	8b 4b 70             	mov    0x70(%ebx),%ecx
4151e1:	8b b3 f8 e6 00 00    	mov    0xe6f8(%ebx),%esi
4151e7:	03 c1                	add    %ecx,%eax
4151e9:	23 c6                	and    %esi,%eax
4151eb:	89 83 30 4b 00 00    	mov    %eax,0x4b30(%ebx)
4151f1:	3b c1                	cmp    %ecx,%eax
4151f3:	74 13                	je     0x415208
4151f5:	8b 53 74             	mov    0x74(%ebx),%edx
4151f8:	3b d1                	cmp    %ecx,%edx
4151fa:	74 15                	je     0x415211
4151fc:	2b c1                	sub    %ecx,%eax
4151fe:	2b d1                	sub    %ecx,%edx
415200:	23 c6                	and    %esi,%eax
415202:	23 d6                	and    %esi,%edx
415204:	3b d0                	cmp    %eax,%edx
415206:	73 09                	jae    0x415211
415208:	8b 43 74             	mov    0x74(%ebx),%eax
41520b:	89 83 30 4b 00 00    	mov    %eax,0x4b30(%ebx)
415211:	5f                   	pop    %edi
415212:	5e                   	pop    %esi
415213:	5b                   	pop    %ebx
415214:	c9                   	leave
415215:	c3                   	ret
415216:	b8 d8 94 42 00       	mov    $0x4294d8,%eax
41521b:	e8 98 4c 00 00       	call   0x419eb8
415220:	51                   	push   %ecx
415221:	56                   	push   %esi