415fca:	83 c4 10             	add    $0x10,%esp
415fcd:	83 f8 ff             	cmp    $0xffffffff,%eax
415fd0:	0f 84 af 01 00 00    	je     0x416185
415fd6:	8b 75 d4             	mov    -0x2c(%ebp),%esi
415fd9:	4f                   	dec    %edi
415fda:	03 fe                	add    %esi,%edi
415fdc:	eb 7f                	jmp    0x41605d
415fde:	8a 54 01 2d          	mov    0x2d(%ecx,%eax,1),%dl
415fe2:	f6 c2 04             	test   $0x4,%dl
415fe5:	74 1e                	je     0x416005
415fe7:	8a 44 01 2e          	mov    0x2e(%ecx,%eax,1),%al
415feb:	80 e2 fb             	and    $0xfb,%dl
415fee:	88 45 ec             	mov    %al,-0x14(%ebp)
415ff1:	8a 07                	mov    (%edi),%al
415ff3:	88 45 ed             	mov    %al,-0x13(%ebp)
415ff6:	8b 45 d4             	mov    -0x2c(%ebp),%eax
415ff9:	6a 02                	push   $0x2
415ffb:	88 54 01 2d          	mov    %dl,0x2d(%ecx,%eax,1)
415fff:	8d 45 ec             	lea    -0x14(%ebp),%eax
416002:	50                   	push   %eax
416003:	eb 43                	jmp    0x416048
416005:	8a 07                	mov    (%edi),%al
416007:	88 45 e3             	mov    %al,-0x1d(%ebp)
41600a:	e8 06 87 ff ff       	call   0x40e715
41600f:	0f b6 4d e3          	movzbl -0x1d(%ebp),%ecx
416013:	66 39 1c 48          	cmp    %bx,(%eax,%ecx,2)
416017:	7d 2c                	jge    0x416045
416019:	8d 47 01             	lea    0x1(%edi),%eax
41601c:	89 45 cc             	mov    %eax,-0x34(%ebp)
41601f:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
416022:	0f 83 31 01 00 00    	jae    0x416159
416028:	6a 02                	push   $0x2
41602a:	8d 45 b8             	lea    -0x48(%ebp),%eax
41602d:	57                   	push   %edi
41602e:	50                   	push   %eax
41602f:	e8 ec dc ff ff       	call   0x413d20
416034:	83 c4 0c             	add    $0xc,%esp
416037:	83 f8 ff             	cmp    $0xffffffff,%eax
41603a:	0f 84 45 01 00 00    	je     0x416185
416040:	8b 7d cc             	mov    -0x34(%ebp),%edi
416043:	eb 18                	jmp    0x41605d
416045:	6a 01                	push   $0x1
416047:	57                   	push   %edi
416048:	8d 45 b8             	lea    -0x48(%ebp),%eax
41604b:	50                   	push   %eax
41604c:	e8 cf dc ff ff       	call   0x413d20
416051:	83 c4 0c             	add    $0xc,%esp
416054:	83 f8 ff             	cmp    $0xffffffff,%eax
416057:	0f 84 28 01 00 00    	je     0x416185
41605d:	53                   	push   %ebx
41605e:	53                   	push   %ebx
41605f:	6a 05                	push   $0x5
416061:	8d 45 e4             	lea    -0x1c(%ebp),%eax
416064:	47                   	inc    %edi
416065:	50                   	push   %eax
416066:	ff 75 dc             	push   -0x24(%ebp)
416069:	8d 45 b8             	lea    -0x48(%ebp),%eax
41606c:	89 7d 9c             	mov    %edi,-0x64(%ebp)
41606f:	50                   	push   %eax
416070:	53                   	push   %ebx
416071:	ff 75 88             	push   -0x78(%ebp)
416074:	e8 72 42 00 00       	call   0x41a2eb
416079:	83 c4 20             	add    $0x20,%esp
41607c:	89 45 cc             	mov    %eax,-0x34(%ebp)
41607f:	85 c0                	test   %eax,%eax
416081:	0f 84 fe 00 00 00    	je     0x416185
416087:	53                   	push   %ebx
416088:	8d 4d a0             	lea    -0x60(%ebp),%ecx
41608b:	51                   	push   %ecx
41608c:	50                   	push   %eax
41608d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
416090:	50                   	push   %eax
416091:	ff 75 94             	push   -0x6c(%ebp)
416094:	ff 15 c0 40 42 00    	call   *0x4240c0
41609a:	85 c0                	test   %eax,%eax
41609c:	0f 84 da 00 00 00    	je     0x41617c
4160a2:	8b 75 b0             	mov    -0x50(%ebp),%esi
4160a5:	2b 75 98             	sub    -0x68(%ebp),%esi
4160a8:	8b 45 cc             	mov    -0x34(%ebp),%eax
4160ab:	03 f7                	add    %edi,%esi
4160ad:	89 75 ac             	mov    %esi,-0x54(%ebp)
4160b0:	39 45 a0             	cmp    %eax,-0x60(%ebp)
4160b3:	0f 82 cc 00 00 00    	jb     0x416185
4160b9:	80 7d d1 0a          	cmpb   $0xa,-0x2f(%ebp)
4160bd:	75 34                	jne    0x4160f3
4160bf:	6a 0d                	push   $0xd
4160c1:	58                   	pop    %eax
4160c2:	53                   	push   %ebx
4160c3:	66 89 45 d0          	mov    %ax,-0x30(%ebp)
4160c7:	8d 45 a0             	lea    -0x60(%ebp),%eax
4160ca:	50                   	push   %eax
4160cb:	6a 01                	push   $0x1
4160cd:	8d 45 d0             	lea    -0x30(%ebp),%eax
4160d0:	50                   	push   %eax
4160d1:	ff 75 94             	push   -0x6c(%ebp)
4160d4:	ff 15 c0 40 42 00    	call   *0x4240c0
4160da:	85 c0                	test   %eax,%eax
4160dc:	0f 84 9a 00 00 00    	je     0x41617c
4160e2:	83 7d a0 01          	cmpl   $0x1,-0x60(%ebp)
4160e6:	0f 82 99 00 00 00    	jb     0x416185
4160ec:	ff 45 b0             	incl   -0x50(%ebp)
4160ef:	46                   	inc    %esi
4160f0:	89 75 ac             	mov    %esi,-0x54(%ebp)
4160f3:	3b 7d a4             	cmp    -0x5c(%ebp),%edi
4160f6:	0f 83 89 00 00 00    	jae    0x416185
4160fc:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
4160ff:	e9 7c fd ff ff       	jmp    0x415e80
416104:	85 d2                	test   %edx,%edx
416106:	7e 25                	jle    0x41612d
416108:	8b f1                	mov    %ecx,%esi
41610a:	8b 45 b4             	mov    -0x4c(%ebp),%eax
41610d:	8b 0c 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%ecx
416114:	8a 04 3b             	mov    (%ebx,%edi,1),%al
416117:	03 ce                	add    %esi,%ecx
416119:	8b 75 dc             	mov    -0x24(%ebp),%esi
41611c:	03 cb                	add    %ebx,%ecx
41611e:	43                   	inc    %ebx
41611f:	88 44 31 2e          	mov    %al,0x2e(%ecx,%esi,1)
416123:	8b 75 d8             	mov    -0x28(%ebp),%esi
416126:	3b da                	cmp    %edx,%ebx
416128:	7c e0                	jl     0x41610a
41612a:	8b 75 ac             	mov    -0x54(%ebp),%esi
41612d:	03 f2                	add    %edx,%esi
41612f:	80 7d c8 00          	cmpb   $0x0,-0x38(%ebp)
416133:	89 75 ac             	mov    %esi,-0x54(%ebp)
416136:	eb 50                	jmp    0x416188
416138:	85 d2                	test   %edx,%edx
41613a:	7e f1                	jle    0x41612d
41613c:	8b 75 d8             	mov    -0x28(%ebp),%esi
41613f:	8b 45 b4             	mov    -0x4c(%ebp),%eax
416142:	8b 0c 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%ecx
416149:	8a 04 3b             	mov    (%ebx,%edi,1),%al
41614c:	03 ce                	add    %esi,%ecx
41614e:	88 44 19 2e          	mov    %al,0x2e(%ecx,%ebx,1)
416152:	43                   	inc    %ebx
416153:	3b da                	cmp    %edx,%ebx
416155:	7c e8                	jl     0x41613f
416157:	eb d1                	jmp    0x41612a
416159:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41615c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41615f:	8a 5d e3             	mov    -0x1d(%ebp),%bl
416162:	8b 04 95 c0 4a 43 00 	mov    0x434ac0(,%edx,4),%eax
416169:	88 5c 01 2e          	mov    %bl,0x2e(%ecx,%eax,1)
41616d:	8b 04 95 c0 4a 43 00 	mov    0x434ac0(,%edx,4),%eax
416174:	80 4c 01 2d 04       	orb    $0x4,0x2d(%ecx,%eax,1)
416179:	46                   	inc    %esi
41617a:	eb b3                	jmp    0x41612f
41617c:	ff 15 98 40 42 00    	call   *0x424098
416182:	89 45 a8             	mov    %eax,-0x58(%ebp)
416185:	38 5d c8             	cmp    %bl,-0x38(%ebp)
416188:	74 0a                	je     0x416194
41618a:	8b 45 bc             	mov    -0x44(%ebp),%eax
41618d:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
416194:	8b 45 08             	mov    0x8(%ebp),%eax
416197:	8d 75 a8             	lea    -0x58(%ebp),%esi
41619a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41619d:	8b f8                	mov    %eax,%edi
41619f:	33 cd                	xor    %ebp,%ecx
4161a1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4161a2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4161a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4161a4:	5f                   	pop    %edi
4161a5:	5e                   	pop    %esi
4161a6:	5b                   	pop    %ebx
4161a7:	e8 60 12 ff ff       	call   0x40740c
4161ac:	c9                   	leave
4161ad:	c3                   	ret
4161ae:	8b ff                	mov    %edi,%edi
4161b0:	55                   	push   %ebp
4161b1:	8b ec                	mov    %esp,%ebp
4161b3:	51                   	push   %ecx
4161b4:	53                   	push   %ebx
4161b5:	56                   	push   %esi
4161b6:	8b 75 08             	mov    0x8(%ebp),%esi
4161b9:	33 c0                	xor    %eax,%eax
4161bb:	57                   	push   %edi
4161bc:	8b fe                	mov    %esi,%edi
4161be:	ab                   	stos   %eax,%es:(%edi)
4161bf:	ab                   	stos   %eax,%es:(%edi)
4161c0:	ab                   	stos   %eax,%es:(%edi)
4161c1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4161c4:	8b 45 10             	mov    0x10(%ebp),%eax
4161c7:	03 c7                	add    %edi,%eax
4161c9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4161cc:	3b f8                	cmp    %eax,%edi
4161ce:	73 3f                	jae    0x41620f
4161d0:	0f b7 1f             	movzwl (%edi),%ebx
4161d3:	53                   	push   %ebx
4161d4:	e8 b3 a4 00 00       	call   0x42068c
4161d9:	59                   	pop    %ecx
4161da:	66 3b c3             	cmp    %bx,%ax
4161dd:	75 28                	jne    0x416207
4161df:	83 46 04 02          	addl   $0x2,0x4(%esi)
4161e3:	83 fb 0a             	cmp    $0xa,%ebx
4161e6:	75 15                	jne    0x4161fd
4161e8:	6a 0d                	push   $0xd
4161ea:	5b                   	pop    %ebx
4161eb:	53                   	push   %ebx
4161ec:	e8 9b a4 00 00       	call   0x42068c
4161f1:	59                   	pop    %ecx
4161f2:	66 3b c3             	cmp    %bx,%ax
4161f5:	75 10                	jne    0x416207
4161f7:	ff 46 04             	incl   0x4(%esi)
4161fa:	ff 46 08             	incl   0x8(%esi)
4161fd:	83 c7 02             	add    $0x2,%edi
416200:	3b 7d fc             	cmp    -0x4(%ebp),%edi
416203:	72 cb                	jb     0x4161d0
416205:	eb 08                	jmp    0x41620f
416207:	ff 15 98 40 42 00    	call   *0x424098
41620d:	89 06                	mov    %eax,(%esi)
41620f:	5f                   	pop    %edi
416210:	8b c6                	mov    %esi,%eax
416212:	5e                   	pop    %esi
416213:	5b                   	pop    %ebx
416214:	c9                   	leave
416215:	c3                   	ret
416216:	8b ff                	mov    %edi,%edi
416218:	55                   	push   %ebp
416219:	8b ec                	mov    %esp,%ebp
41621b:	51                   	push   %ecx
41621c:	56                   	push   %esi
41621d:	8b 75 08             	mov    0x8(%ebp),%esi
416220:	57                   	push   %edi
416221:	56                   	push   %esi
416222:	e8 d1 a3 00 00       	call   0x4205f8
416227:	59                   	pop    %ecx
416228:	85 c0                	test   %eax,%eax
41622a:	74 55                	je     0x416281
41622c:	8b fe                	mov    %esi,%edi
41622e:	83 e6 3f             	and    $0x3f,%esi
416231:	c1 ff 06             	sar    $0x6,%edi
416234:	6b f6 38             	imul   $0x38,%esi,%esi
416237:	8b 04 bd c0 4a 43 00 	mov    0x434ac0(,%edi,4),%eax
41623e:	80 7c 30 28 00       	cmpb   $0x0,0x28(%eax,%esi,1)
416243:	7d 3c                	jge    0x416281
416245:	e8 89 df ff ff       	call   0x4141d3
41624a:	8b 40 4c             	mov    0x4c(%eax),%eax
41624d:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
416254:	75 0e                	jne    0x416264
416256:	8b 04 bd c0 4a 43 00 	mov    0x434ac0(,%edi,4),%eax
41625d:	80 7c 30 29 00       	cmpb   $0x0,0x29(%eax,%esi,1)
416262:	74 1d                	je     0x416281
416264:	8d 45 fc             	lea    -0x4(%ebp),%eax
416267:	50                   	push   %eax
416268:	8b 04 bd c0 4a 43 00 	mov    0x434ac0(,%edi,4),%eax
41626f:	ff 74 30 18          	push   0x18(%eax,%esi,1)
416273:	ff 15 fc 40 42 00    	call   *0x4240fc
416279:	85 c0                	test   %eax,%eax
41627b:	74 04                	je     0x416281
41627d:	b0 01                	mov    $0x1,%al
41627f:	eb 02                	jmp    0x416283
416281:	32 c0                	xor    %al,%al
416283:	5f                   	pop    %edi
416284:	5e                   	pop    %esi
416285:	c9                   	leave
416286:	c3                   	ret
416287:	8b ff                	mov    %edi,%edi
416289:	55                   	push   %ebp
41628a:	8b ec                	mov    %esp,%ebp
41628c:	b8 0c 14 00 00       	mov    $0x140c,%eax
416291:	e8 5a 1f ff ff       	call   0x4081f0
416296:	a1 14 30 43 00       	mov    0x433014,%eax
41629b:	33 c5                	xor    %ebp,%eax
41629d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4162a0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4162a3:	8b c1                	mov    %ecx,%eax
4162a5:	8b 55 14             	mov    0x14(%ebp),%edx
4162a8:	83 e1 3f             	and    $0x3f,%ecx
4162ab:	c1 f8 06             	sar    $0x6,%eax
4162ae:	6b c9 38             	imul   $0x38,%ecx,%ecx
4162b1:	53                   	push   %ebx
4162b2:	8b 5d 08             	mov    0x8(%ebp),%ebx
4162b5:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
4162bc:	56                   	push   %esi
4162bd:	57                   	push   %edi
4162be:	8b fb                	mov    %ebx,%edi
4162c0:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
4162c4:	8b 4d 10             	mov    0x10(%ebp),%ecx
4162c7:	03 d1                	add    %ecx,%edx
4162c9:	89 85 f8 eb ff ff    	mov    %eax,-0x1408(%ebp)
4162cf:	33 c0                	xor    %eax,%eax
4162d1:	ab                   	stos   %eax,%es:(%edi)
4162d2:	89 95 f4 eb ff ff    	mov    %edx,-0x140c(%ebp)
4162d8:	ab                   	stos   %eax,%es:(%edi)
4162d9:	ab                   	stos   %eax,%es:(%edi)
4162da:	3b ca                	cmp    %edx,%ecx
4162dc:	73 73                	jae    0x416351
4162de:	8b bd f8 eb ff ff    	mov    -0x1408(%ebp),%edi
4162e4:	8d b5 fc eb ff ff    	lea    -0x1404(%ebp),%esi
4162ea:	3b ca                	cmp    %edx,%ecx
4162ec:	73 18                	jae    0x416306
4162ee:	8a 01                	mov    (%ecx),%al
4162f0:	41                   	inc    %ecx
4162f1:	3c 0a                	cmp    $0xa,%al
4162f3:	75 07                	jne    0x4162fc
4162f5:	ff 43 08             	incl   0x8(%ebx)
4162f8:	c6 06 0d             	movb   $0xd,(%esi)
4162fb:	46                   	inc    %esi
4162fc:	88 06                	mov    %al,(%esi)
4162fe:	46                   	inc    %esi
4162ff:	8d 45 fb             	lea    -0x5(%ebp),%eax
416302:	3b f0                	cmp    %eax,%esi
416304:	72 e4                	jb     0x4162ea
416306:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
41630c:	89 4d 10             	mov    %ecx,0x10(%ebp)
41630f:	2b f0                	sub    %eax,%esi
416311:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
416317:	6a 00                	push   $0x0
416319:	50                   	push   %eax
41631a:	56                   	push   %esi
41631b:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
416321:	50                   	push   %eax
416322:	57                   	push   %edi
416323:	ff 15 c0 40 42 00    	call   *0x4240c0
416329:	85 c0                	test   %eax,%eax
41632b:	74 1c                	je     0x416349
41632d:	8b 85 f8 eb ff ff    	mov    -0x1408(%ebp),%eax
416333:	01 43 04             	add    %eax,0x4(%ebx)
416336:	3b c6                	cmp    %esi,%eax
416338:	72 17                	jb     0x416351
41633a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41633d:	8b 95 f4 eb ff ff    	mov    -0x140c(%ebp),%edx
416343:	3b ca                	cmp    %edx,%ecx
416345:	72 9d                	jb     0x4162e4
416347:	eb 08                	jmp    0x416351
416349:	ff 15 98 40 42 00    	call   *0x424098
41634f:	89 03                	mov    %eax,(%ebx)
416351:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416354:	8b c3                	mov    %ebx,%eax
416356:	5f                   	pop    %edi
416357:	5e                   	pop    %esi
416358:	33 cd                	xor    %ebp,%ecx
41635a:	5b                   	pop    %ebx
41635b:	e8 ac 10 ff ff       	call   0x40740c
416360:	c9                   	leave
416361:	c3                   	ret
416362:	8b ff                	mov    %edi,%edi
416364:	55                   	push   %ebp
416365:	8b ec                	mov    %esp,%ebp
416367:	b8 10 14 00 00       	mov    $0x1410,%eax
41636c:	e8 7f 1e ff ff       	call   0x4081f0
416371:	a1 14 30 43 00       	mov    0x433014,%eax
416376:	33 c5                	xor    %ebp,%eax
416378:	89 45 fc             	mov    %eax,-0x4(%ebp)
41637b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41637e:	8b c1                	mov    %ecx,%eax
416380:	8b 55 14             	mov    0x14(%ebp),%edx
416383:	83 e1 3f             	and    $0x3f,%ecx
416386:	c1 f8 06             	sar    $0x6,%eax
416389:	6b c9 38             	imul   $0x38,%ecx,%ecx