416292:	56                   	push   %esi
416293:	8b 74 24 14          	mov    0x14(%esp),%esi
416297:	57                   	push   %edi
416298:	8b 7c 24 14          	mov    0x14(%esp),%edi
41629c:	8b e9                	mov    %ecx,%ebp
41629e:	39 77 08             	cmp    %esi,0x8(%edi)
4162a1:	73 05                	jae    0x4162a8
4162a3:	e8 98 05 00 00       	call   0x416840
4162a8:	8b 47 08             	mov    0x8(%edi),%eax
4162ab:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4162af:	8b d8                	mov    %eax,%ebx
4162b1:	2b de                	sub    %esi,%ebx
4162b3:	3b cb                	cmp    %ebx,%ecx
4162b5:	73 02                	jae    0x4162b9
4162b7:	8b d9                	mov    %ecx,%ebx
4162b9:	3b ef                	cmp    %edi,%ebp
4162bb:	0f 85 b7 00 00 00    	jne    0x416378
4162c1:	8b 45 08             	mov    0x8(%ebp),%eax
4162c4:	8b 3d 90 ca 42 00    	mov    0x42ca90,%edi
4162ca:	03 de                	add    %esi,%ebx
4162cc:	3b c3                	cmp    %ebx,%eax
4162ce:	73 05                	jae    0x4162d5
4162d0:	e8 6b 05 00 00       	call   0x416840
4162d5:	8b cd                	mov    %ebp,%ecx
4162d7:	e8 34 d2 ff ff       	call   0x413510
4162dc:	8b 45 08             	mov    0x8(%ebp),%eax
4162df:	2b c3                	sub    %ebx,%eax
4162e1:	3b c7                	cmp    %edi,%eax
4162e3:	73 02                	jae    0x4162e7
4162e5:	8b f8                	mov    %eax,%edi
4162e7:	85 ff                	test   %edi,%edi
4162e9:	76 38                	jbe    0x416323
4162eb:	8b 4d 04             	mov    0x4(%ebp),%ecx
4162ee:	2b c7                	sub    %edi,%eax
4162f0:	50                   	push   %eax
4162f1:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
4162f4:	03 c1                	add    %ecx,%eax
4162f6:	03 d9                	add    %ecx,%ebx
4162f8:	50                   	push   %eax
4162f9:	53                   	push   %ebx
4162fa:	e8 a1 6c ff ff       	call   0x40cfa0
4162ff:	8b 75 08             	mov    0x8(%ebp),%esi
416302:	83 c4 0c             	add    $0xc,%esp
416305:	2b f7                	sub    %edi,%esi
416307:	8b cd                	mov    %ebp,%ecx
416309:	6a 00                	push   $0x0
41630b:	56                   	push   %esi
41630c:	e8 b5 46 ff ff       	call   0x40a9c6
416311:	84 c0                	test   %al,%al
416313:	74 0a                	je     0x41631f
416315:	8b 4d 04             	mov    0x4(%ebp),%ecx
416318:	89 75 08             	mov    %esi,0x8(%ebp)
41631b:	c6 04 0e 00          	movb   $0x0,(%esi,%ecx,1)
41631f:	8b 74 24 18          	mov    0x18(%esp),%esi
416323:	8b cd                	mov    %ebp,%ecx
416325:	8b fe                	mov    %esi,%edi
416327:	e8 e4 d1 ff ff       	call   0x413510
41632c:	8b 45 08             	mov    0x8(%ebp),%eax
41632f:	3b c6                	cmp    %esi,%eax
416331:	73 02                	jae    0x416335
416333:	8b f8                	mov    %eax,%edi
416335:	85 ff                	test   %edi,%edi
416337:	0f 86 4d 01 00 00    	jbe    0x41648a
41633d:	8b 4d 04             	mov    0x4(%ebp),%ecx
416340:	2b c7                	sub    %edi,%eax
416342:	50                   	push   %eax
416343:	8d 14 0f             	lea    (%edi,%ecx,1),%edx
416346:	52                   	push   %edx
416347:	51                   	push   %ecx
416348:	e8 53 6c ff ff       	call   0x40cfa0
41634d:	8b 75 08             	mov    0x8(%ebp),%esi
416350:	83 c4 0c             	add    $0xc,%esp
416353:	2b f7                	sub    %edi,%esi
416355:	8b cd                	mov    %ebp,%ecx
416357:	6a 00                	push   $0x0
416359:	56                   	push   %esi
41635a:	e8 67 46 ff ff       	call   0x40a9c6
41635f:	84 c0                	test   %al,%al
416361:	0f 84 23 01 00 00    	je     0x41648a
416367:	56                   	push   %esi
416368:	8b cd                	mov    %ebp,%ecx
41636a:	e8 81 d1 ff ff       	call   0x4134f0
41636f:	8b c5                	mov    %ebp,%eax
416371:	5f                   	pop    %edi
416372:	5e                   	pop    %esi
416373:	5d                   	pop    %ebp
416374:	5b                   	pop    %ebx
416375:	c2 0c 00             	ret    $0xc
416378:	33 d2                	xor    %edx,%edx
41637a:	3b da                	cmp    %edx,%ebx
41637c:	76 71                	jbe    0x4163ef
41637e:	3b d8                	cmp    %eax,%ebx
416380:	75 6d                	jne    0x4163ef
416382:	8b 47 04             	mov    0x4(%edi),%eax
416385:	3b c2                	cmp    %edx,%eax
416387:	75 05                	jne    0x41638e
416389:	b8 8c 98 42 00       	mov    $0x42988c,%eax
41638e:	80 78 ff fe          	cmpb   $0xfe,-0x1(%eax)
416392:	73 5b                	jae    0x4163ef
416394:	8b 45 04             	mov    0x4(%ebp),%eax
416397:	3b c2                	cmp    %edx,%eax
416399:	74 1f                	je     0x4163ba
41639b:	8d 48 ff             	lea    -0x1(%eax),%ecx
41639e:	8a 40 ff             	mov    -0x1(%eax),%al
4163a1:	84 c0                	test   %al,%al
4163a3:	74 0a                	je     0x4163af
4163a5:	3c ff                	cmp    $0xff,%al
4163a7:	74 06                	je     0x4163af
4163a9:	fe c8                	dec    %al
4163ab:	88 01                	mov    %al,(%ecx)
4163ad:	eb 0b                	jmp    0x4163ba
4163af:	51                   	push   %ecx
4163b0:	e8 88 69 00 00       	call   0x41cd3d
4163b5:	83 c4 04             	add    $0x4,%esp
4163b8:	33 d2                	xor    %edx,%edx
4163ba:	89 55 04             	mov    %edx,0x4(%ebp)
4163bd:	89 55 08             	mov    %edx,0x8(%ebp)
4163c0:	89 55 0c             	mov    %edx,0xc(%ebp)
4163c3:	8b 47 04             	mov    0x4(%edi),%eax
4163c6:	3b c2                	cmp    %edx,%eax
4163c8:	75 05                	jne    0x4163cf
4163ca:	b8 8c 98 42 00       	mov    $0x42988c,%eax
4163cf:	89 45 04             	mov    %eax,0x4(%ebp)
4163d2:	8b 4f 08             	mov    0x8(%edi),%ecx
4163d5:	89 4d 08             	mov    %ecx,0x8(%ebp)
4163d8:	8b 57 0c             	mov    0xc(%edi),%edx
4163db:	89 55 0c             	mov    %edx,0xc(%ebp)
4163de:	8a 48 ff             	mov    -0x1(%eax),%cl
4163e1:	fe c1                	inc    %cl
4163e3:	88 48 ff             	mov    %cl,-0x1(%eax)
4163e6:	8b c5                	mov    %ebp,%eax
4163e8:	5f                   	pop    %edi
4163e9:	5e                   	pop    %esi
4163ea:	5d                   	pop    %ebp
4163eb:	5b                   	pop    %ebx
4163ec:	c2 0c 00             	ret    $0xc
4163ef:	8b cd                	mov    %ebp,%ecx
4163f1:	e8 aa 00 00 00       	call   0x4164a0
4163f6:	3b c3                	cmp    %ebx,%eax
4163f8:	73 05                	jae    0x4163ff
4163fa:	e8 61 fd ff ff       	call   0x416160
4163ff:	8b 4d 04             	mov    0x4(%ebp),%ecx
416402:	85 c9                	test   %ecx,%ecx
416404:	74 25                	je     0x41642b
416406:	8a 41 ff             	mov    -0x1(%ecx),%al
416409:	84 c0                	test   %al,%al
41640b:	74 1e                	je     0x41642b
41640d:	3c ff                	cmp    $0xff,%al
41640f:	74 1a                	je     0x41642b
416411:	85 db                	test   %ebx,%ebx
416413:	75 41                	jne    0x416456
416415:	fe c8                	dec    %al
416417:	53                   	push   %ebx
416418:	88 41 ff             	mov    %al,-0x1(%ecx)
41641b:	8b cd                	mov    %ebp,%ecx
41641d:	e8 e3 46 ff ff       	call   0x40ab05
416422:	8b c5                	mov    %ebp,%eax
416424:	5f                   	pop    %edi
416425:	5e                   	pop    %esi
416426:	5d                   	pop    %ebp
416427:	5b                   	pop    %ebx
416428:	c2 0c 00             	ret    $0xc
41642b:	85 db                	test   %ebx,%ebx
41642d:	75 12                	jne    0x416441
41642f:	6a 01                	push   $0x1
416431:	8b cd                	mov    %ebp,%ecx
416433:	e8 cd 46 ff ff       	call   0x40ab05
416438:	8b c5                	mov    %ebp,%eax
41643a:	5f                   	pop    %edi
41643b:	5e                   	pop    %esi
41643c:	5d                   	pop    %ebp
41643d:	5b                   	pop    %ebx
41643e:	c2 0c 00             	ret    $0xc
416441:	8b 45 0c             	mov    0xc(%ebp),%eax
416444:	83 f8 1f             	cmp    $0x1f,%eax
416447:	77 04                	ja     0x41644d
416449:	3b c3                	cmp    %ebx,%eax
41644b:	73 11                	jae    0x41645e
41644d:	6a 01                	push   $0x1
41644f:	8b cd                	mov    %ebp,%ecx
416451:	e8 af 46 ff ff       	call   0x40ab05
416456:	53                   	push   %ebx
416457:	8b cd                	mov    %ebp,%ecx
416459:	e8 f3 45 ff ff       	call   0x40aa51
41645e:	8b 47 04             	mov    0x4(%edi),%eax
416461:	85 c0                	test   %eax,%eax
416463:	75 05                	jne    0x41646a
416465:	b8 8c 98 42 00       	mov    $0x42988c,%eax
41646a:	8b 7d 04             	mov    0x4(%ebp),%edi
41646d:	8b cb                	mov    %ebx,%ecx
41646f:	03 f0                	add    %eax,%esi
416471:	8b c1                	mov    %ecx,%eax
416473:	c1 e9 02             	shr    $0x2,%ecx
416476:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
416478:	8b c8                	mov    %eax,%ecx
41647a:	83 e1 03             	and    $0x3,%ecx
41647d:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41647f:	8b 45 04             	mov    0x4(%ebp),%eax
416482:	89 5d 08             	mov    %ebx,0x8(%ebp)
416485:	03 d8                	add    %eax,%ebx
416487:	c6 03 00             	movb   $0x0,(%ebx)
41648a:	5f                   	pop    %edi
41648b:	8b c5                	mov    %ebp,%eax
41648d:	5e                   	pop    %esi
41648e:	5d                   	pop    %ebp
41648f:	5b                   	pop    %ebx
416490:	c2 0c 00             	ret    $0xc
416493:	90                   	nop
416494:	90                   	nop
416495:	90                   	nop
416496:	90                   	nop
416497:	90                   	nop
416498:	90                   	nop
416499:	90                   	nop
41649a:	90                   	nop
41649b:	90                   	nop
41649c:	90                   	nop
41649d:	90                   	nop
41649e:	90                   	nop
41649f:	90                   	nop
4164a0:	b8 fd ff ff ff       	mov    $0xfffffffd,%eax
4164a5:	c3                   	ret
4164a6:	90                   	nop
4164a7:	90                   	nop
4164a8:	90                   	nop
4164a9:	90                   	nop
4164aa:	90                   	nop
4164ab:	90                   	nop
4164ac:	90                   	nop
4164ad:	90                   	nop
4164ae:	90                   	nop
4164af:	90                   	nop
4164b0:	6a ff                	push   $0xffffffff
4164b2:	68 08 80 42 00       	push   $0x428008
4164b7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4164bd:	50                   	push   %eax
4164be:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4164c5:	51                   	push   %ecx
4164c6:	53                   	push   %ebx
4164c7:	55                   	push   %ebp
4164c8:	56                   	push   %esi
4164c9:	8b 74 24 20          	mov    0x20(%esp),%esi
4164cd:	57                   	push   %edi
4164ce:	8b e9                	mov    %ecx,%ebp
4164d0:	56                   	push   %esi
4164d1:	89 6c 24 14          	mov    %ebp,0x14(%esp)
4164d5:	e8 b6 21 00 00       	call   0x418690
4164da:	8a 46 0c             	mov    0xc(%esi),%al
4164dd:	83 c6 0c             	add    $0xc,%esi
4164e0:	83 c5 0c             	add    $0xc,%ebp
4164e3:	33 ff                	xor    %edi,%edi
4164e5:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4164e9:	88 45 00             	mov    %al,0x0(%ebp)
4164ec:	89 7d 04             	mov    %edi,0x4(%ebp)
4164ef:	89 7d 08             	mov    %edi,0x8(%ebp)
4164f2:	89 7d 0c             	mov    %edi,0xc(%ebp)
4164f5:	8b 46 08             	mov    0x8(%esi),%eax
4164f8:	8b 0d 90 ca 42 00    	mov    0x42ca90,%ecx
4164fe:	8b d8                	mov    %eax,%ebx
416500:	3b cb                	cmp    %ebx,%ecx
416502:	73 02                	jae    0x416506
416504:	8b d9                	mov    %ecx,%ebx
416506:	3b ee                	cmp    %esi,%ebp
416508:	75 5e                	jne    0x416568
41650a:	3b df                	cmp    %edi,%ebx
41650c:	8b f1                	mov    %ecx,%esi
41650e:	76 05                	jbe    0x416515
416510:	e8 2b 03 00 00       	call   0x416840
416515:	8b cd                	mov    %ebp,%ecx
416517:	e8 f4 cf ff ff       	call   0x413510
41651c:	8b 45 08             	mov    0x8(%ebp),%eax
41651f:	2b c3                	sub    %ebx,%eax
416521:	3b c6                	cmp    %esi,%eax
416523:	73 02                	jae    0x416527
416525:	8b f0                	mov    %eax,%esi
416527:	3b f7                	cmp    %edi,%esi
416529:	76 31                	jbe    0x41655c
41652b:	8b 4d 04             	mov    0x4(%ebp),%ecx
41652e:	8d 14 33             	lea    (%ebx,%esi,1),%edx
416531:	2b c6                	sub    %esi,%eax
416533:	03 d1                	add    %ecx,%edx
416535:	50                   	push   %eax
416536:	03 d9                	add    %ecx,%ebx
416538:	52                   	push   %edx
416539:	53                   	push   %ebx
41653a:	e8 61 6a ff ff       	call   0x40cfa0
41653f:	8b 5d 08             	mov    0x8(%ebp),%ebx
416542:	83 c4 0c             	add    $0xc,%esp
416545:	2b de                	sub    %esi,%ebx
416547:	8b cd                	mov    %ebp,%ecx
416549:	57                   	push   %edi
41654a:	53                   	push   %ebx
41654b:	e8 76 44 ff ff       	call   0x40a9c6
416550:	84 c0                	test   %al,%al
416552:	74 08                	je     0x41655c
416554:	53                   	push   %ebx
416555:	8b cd                	mov    %ebp,%ecx
416557:	e8 94 cf ff ff       	call   0x4134f0
41655c:	8b cd                	mov    %ebp,%ecx
41655e:	e8 ad cf ff ff       	call   0x413510
416563:	e9 80 00 00 00       	jmp    0x4165e8
416568:	3b df                	cmp    %edi,%ebx
41656a:	76 44                	jbe    0x4165b0
41656c:	3b d8                	cmp    %eax,%ebx
41656e:	75 40                	jne    0x4165b0
416570:	8b 46 04             	mov    0x4(%esi),%eax
416573:	3b c7                	cmp    %edi,%eax
416575:	75 05                	jne    0x41657c
416577:	b8 8c 98 42 00       	mov    $0x42988c,%eax
41657c:	80 78 ff fe          	cmpb   $0xfe,-0x1(%eax)
416580:	73 2e                	jae    0x4165b0
416582:	6a 01                	push   $0x1
416584:	8b cd                	mov    %ebp,%ecx
416586:	e8 7a 45 ff ff       	call   0x40ab05
41658b:	8b 46 04             	mov    0x4(%esi),%eax
41658e:	3b c7                	cmp    %edi,%eax
416590:	75 05                	jne    0x416597
416592:	b8 8c 98 42 00       	mov    $0x42988c,%eax
416597:	89 45 04             	mov    %eax,0x4(%ebp)
41659a:	8b 4e 08             	mov    0x8(%esi),%ecx
41659d:	89 4d 08             	mov    %ecx,0x8(%ebp)
4165a0:	8b 56 0c             	mov    0xc(%esi),%edx
4165a3:	89 55 0c             	mov    %edx,0xc(%ebp)
4165a6:	8a 48 ff             	mov    -0x1(%eax),%cl
4165a9:	fe c1                	inc    %cl
4165ab:	88 48 ff             	mov    %cl,-0x1(%eax)
4165ae:	eb 38                	jmp    0x4165e8
4165b0:	6a 01                	push   $0x1
4165b2:	53                   	push   %ebx
4165b3:	8b cd                	mov    %ebp,%ecx
4165b5:	e8 0c 44 ff ff       	call   0x40a9c6
4165ba:	84 c0                	test   %al,%al
4165bc:	74 2a                	je     0x4165e8
4165be:	8b 76 04             	mov    0x4(%esi),%esi
4165c1:	3b f7                	cmp    %edi,%esi
4165c3:	75 05                	jne    0x4165ca
4165c5:	be 8c 98 42 00       	mov    $0x42988c,%esi
4165ca:	8b 7d 04             	mov    0x4(%ebp),%edi
4165cd:	8b cb                	mov    %ebx,%ecx
4165cf:	8b c1                	mov    %ecx,%eax
4165d1:	c1 e9 02             	shr    $0x2,%ecx
4165d4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4165d6:	8b c8                	mov    %eax,%ecx
4165d8:	83 e1 03             	and    $0x3,%ecx
4165db:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4165dd:	8b 45 04             	mov    0x4(%ebp),%eax
4165e0:	89 5d 08             	mov    %ebx,0x8(%ebp)
4165e3:	03 d8                	add    %eax,%ebx
4165e5:	c6 03 00             	movb   $0x0,(%ebx)
4165e8:	8b 44 24 10          	mov    0x10(%esp),%eax