457300:	50                   	push   %eax
457301:	83 ec 1c             	sub    $0x1c,%esp
457304:	a1 c0 14 69 00       	mov    0x6914c0,%eax
457309:	33 c5                	xor    %ebp,%eax
45730b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45730e:	50                   	push   %eax
45730f:	8d 45 f4             	lea    -0xc(%ebp),%eax
457312:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
457318:	8b 45 08             	mov    0x8(%ebp),%eax
45731b:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
457322:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
457329:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
457330:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
457334:	50                   	push   %eax
457335:	8d 45 d8             	lea    -0x28(%ebp),%eax
457338:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45733f:	50                   	push   %eax
457340:	51                   	push   %ecx
457341:	e8 5a 29 01 00       	call   0x469ca0
457346:	8b 55 ec             	mov    -0x14(%ebp),%edx
457349:	83 c4 0c             	add    $0xc,%esp
45734c:	83 fa 10             	cmp    $0x10,%edx
45734f:	72 28                	jb     0x457379
457351:	8b 4d d8             	mov    -0x28(%ebp),%ecx
457354:	42                   	inc    %edx
457355:	8b c1                	mov    %ecx,%eax
457357:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
45735d:	72 10                	jb     0x45736f
45735f:	8b 49 fc             	mov    -0x4(%ecx),%ecx
457362:	83 c2 23             	add    $0x23,%edx
457365:	2b c1                	sub    %ecx,%eax
457367:	83 c0 fc             	add    $0xfffffffc,%eax
45736a:	83 f8 1f             	cmp    $0x1f,%eax
45736d:	77 25                	ja     0x457394
45736f:	52                   	push   %edx
457370:	51                   	push   %ecx
457371:	e8 df 9e 17 00       	call   0x5d1255
457376:	83 c4 08             	add    $0x8,%esp
457379:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45737c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
457383:	59                   	pop    %ecx
457384:	8b 4d f0             	mov    -0x10(%ebp),%ecx
457387:	33 cd                	xor    %ebp,%ecx
457389:	e8 98 a6 17 00       	call   0x5d1a26
45738e:	8b e5                	mov    %ebp,%esp
457390:	5d                   	pop    %ebp
457391:	c2 04 00             	ret    $0x4
457394:	e8 57 ee 17 00       	call   0x5d61f0
457399:	cc                   	int3
45739a:	cc                   	int3
45739b:	cc                   	int3
45739c:	cc                   	int3
45739d:	cc                   	int3
45739e:	cc                   	int3
45739f:	cc                   	int3
4573a0:	55                   	push   %ebp
4573a1:	8b ec                	mov    %esp,%ebp
4573a3:	56                   	push   %esi
4573a4:	57                   	push   %edi
4573a5:	ff 75 10             	push   0x10(%ebp)
4573a8:	8b f9                	mov    %ecx,%edi
4573aa:	8b 4d 08             	mov    0x8(%ebp),%ecx
4573ad:	ff 75 0c             	push   0xc(%ebp)
4573b0:	8b 37                	mov    (%edi),%esi
4573b2:	e8 f9 5e 00 00       	call   0x45d2b0
4573b7:	50                   	push   %eax
4573b8:	8b cf                	mov    %edi,%ecx
4573ba:	ff 56 44             	call   *0x44(%esi)
4573bd:	5f                   	pop    %edi
4573be:	5e                   	pop    %esi
4573bf:	5d                   	pop    %ebp
4573c0:	c2 0c 00             	ret    $0xc
4573c3:	cc                   	int3
4573c4:	cc                   	int3
4573c5:	cc                   	int3
4573c6:	cc                   	int3
4573c7:	cc                   	int3
4573c8:	cc                   	int3
4573c9:	cc                   	int3
4573ca:	cc                   	int3
4573cb:	cc                   	int3
4573cc:	cc                   	int3
4573cd:	cc                   	int3
4573ce:	cc                   	int3
4573cf:	cc                   	int3
4573d0:	55                   	push   %ebp
4573d1:	8b ec                	mov    %esp,%ebp
4573d3:	56                   	push   %esi
4573d4:	57                   	push   %edi
4573d5:	ff 75 10             	push   0x10(%ebp)
4573d8:	8b f9                	mov    %ecx,%edi
4573da:	8b 4d 08             	mov    0x8(%ebp),%ecx
4573dd:	ff 75 0c             	push   0xc(%ebp)
4573e0:	8b 37                	mov    (%edi),%esi
4573e2:	e8 d9 5e 00 00       	call   0x45d2c0
4573e7:	50                   	push   %eax
4573e8:	8b cf                	mov    %edi,%ecx
4573ea:	ff 56 44             	call   *0x44(%esi)
4573ed:	5f                   	pop    %edi
4573ee:	5e                   	pop    %esi
4573ef:	5d                   	pop    %ebp
4573f0:	c2 0c 00             	ret    $0xc
4573f3:	cc                   	int3
4573f4:	cc                   	int3
4573f5:	cc                   	int3
4573f6:	cc                   	int3
4573f7:	cc                   	int3
4573f8:	cc                   	int3
4573f9:	cc                   	int3
4573fa:	cc                   	int3
4573fb:	cc                   	int3
4573fc:	cc                   	int3
4573fd:	cc                   	int3
4573fe:	cc                   	int3
4573ff:	cc                   	int3
457400:	55                   	push   %ebp
457401:	8b ec                	mov    %esp,%ebp
457403:	56                   	push   %esi
457404:	57                   	push   %edi
457405:	ff 75 10             	push   0x10(%ebp)
457408:	8b f9                	mov    %ecx,%edi
45740a:	8b 4d 08             	mov    0x8(%ebp),%ecx
45740d:	ff 75 0c             	push   0xc(%ebp)
457410:	8b 37                	mov    (%edi),%esi
457412:	e8 b9 5e 00 00       	call   0x45d2d0
457417:	50                   	push   %eax
457418:	8b cf                	mov    %edi,%ecx
45741a:	ff 56 44             	call   *0x44(%esi)
45741d:	5f                   	pop    %edi
45741e:	5e                   	pop    %esi
45741f:	5d                   	pop    %ebp
457420:	c2 0c 00             	ret    $0xc
457423:	cc                   	int3
457424:	cc                   	int3
457425:	cc                   	int3
457426:	cc                   	int3
457427:	cc                   	int3
457428:	cc                   	int3
457429:	cc                   	int3
45742a:	cc                   	int3
45742b:	cc                   	int3
45742c:	cc                   	int3
45742d:	cc                   	int3
45742e:	cc                   	int3
45742f:	cc                   	int3
457430:	55                   	push   %ebp
457431:	8b ec                	mov    %esp,%ebp
457433:	56                   	push   %esi
457434:	57                   	push   %edi
457435:	ff 75 10             	push   0x10(%ebp)
457438:	8b f9                	mov    %ecx,%edi
45743a:	8b 4d 08             	mov    0x8(%ebp),%ecx
45743d:	ff 75 0c             	push   0xc(%ebp)
457440:	8b 37                	mov    (%edi),%esi
457442:	e8 99 5e 00 00       	call   0x45d2e0
457447:	50                   	push   %eax
457448:	8b cf                	mov    %edi,%ecx
45744a:	ff 56 48             	call   *0x48(%esi)
45744d:	5f                   	pop    %edi
45744e:	5e                   	pop    %esi
45744f:	5d                   	pop    %ebp
457450:	c2 0c 00             	ret    $0xc
457453:	cc                   	int3
457454:	cc                   	int3
457455:	cc                   	int3
457456:	cc                   	int3
457457:	cc                   	int3
457458:	cc                   	int3
457459:	cc                   	int3
45745a:	cc                   	int3
45745b:	cc                   	int3
45745c:	cc                   	int3
45745d:	cc                   	int3
45745e:	cc                   	int3
45745f:	cc                   	int3
457460:	55                   	push   %ebp
457461:	8b ec                	mov    %esp,%ebp
457463:	8b 45 08             	mov    0x8(%ebp),%eax
457466:	8b 55 0c             	mov    0xc(%ebp),%edx
457469:	56                   	push   %esi
45746a:	8b 31                	mov    (%ecx),%esi
45746c:	8b 40 0c             	mov    0xc(%eax),%eax
45746f:	57                   	push   %edi
457470:	8b 7d 10             	mov    0x10(%ebp),%edi
457473:	57                   	push   %edi
457474:	ff 74 90 04          	push   0x4(%eax,%edx,4)
457478:	ff 56 48             	call   *0x48(%esi)
45747b:	5f                   	pop    %edi
45747c:	5e                   	pop    %esi
45747d:	5d                   	pop    %ebp
45747e:	c2 0c 00             	ret    $0xc
457481:	cc                   	int3
457482:	cc                   	int3
457483:	cc                   	int3
457484:	cc                   	int3
457485:	cc                   	int3
457486:	cc                   	int3
457487:	cc                   	int3
457488:	cc                   	int3
457489:	cc                   	int3
45748a:	cc                   	int3
45748b:	cc                   	int3
45748c:	cc                   	int3
45748d:	cc                   	int3
45748e:	cc                   	int3
45748f:	cc                   	int3
457490:	55                   	push   %ebp
457491:	8b ec                	mov    %esp,%ebp
457493:	8b 4d 08             	mov    0x8(%ebp),%ecx
457496:	e8 e5 b6 04 00       	call   0x4a2b80
45749b:	8b 48 0c             	mov    0xc(%eax),%ecx
45749e:	8b 45 0c             	mov    0xc(%ebp),%eax
4574a1:	8b 44 81 04          	mov    0x4(%ecx,%eax,4),%eax
4574a5:	5d                   	pop    %ebp
4574a6:	c2 0c 00             	ret    $0xc
4574a9:	cc                   	int3
4574aa:	cc                   	int3
4574ab:	cc                   	int3
4574ac:	cc                   	int3
4574ad:	cc                   	int3
4574ae:	cc                   	int3
4574af:	cc                   	int3
4574b0:	55                   	push   %ebp
4574b1:	8b ec                	mov    %esp,%ebp
4574b3:	8b 45 08             	mov    0x8(%ebp),%eax
4574b6:	8b 48 04             	mov    0x4(%eax),%ecx
4574b9:	f6 c1 03             	test   $0x3,%cl
4574bc:	75 07                	jne    0x4574c5
4574be:	83 e1 fc             	and    $0xfffffffc,%ecx
4574c1:	8b c1                	mov    %ecx,%eax
4574c3:	5d                   	pop    %ebp
4574c4:	c3                   	ret
4574c5:	8b c1                	mov    %ecx,%eax
4574c7:	d1 e8                	shr    $1,%eax
4574c9:	a8 01                	test   $0x1,%al
4574cb:	74 04                	je     0x4574d1
4574cd:	33 c0                	xor    %eax,%eax
4574cf:	5d                   	pop    %ebp
4574d0:	c3                   	ret
4574d1:	83 e1 fc             	and    $0xfffffffc,%ecx
4574d4:	8b 01                	mov    (%ecx),%eax
4574d6:	5d                   	pop    %ebp
4574d7:	c3                   	ret
4574d8:	cc                   	int3
4574d9:	cc                   	int3
4574da:	cc                   	int3
4574db:	cc                   	int3
4574dc:	cc                   	int3
4574dd:	cc                   	int3
4574de:	cc                   	int3
4574df:	cc                   	int3
4574e0:	55                   	push   %ebp
4574e1:	8b ec                	mov    %esp,%ebp
4574e3:	8b 01                	mov    (%ecx),%eax
4574e5:	5d                   	pop    %ebp
4574e6:	ff 60 08             	jmp    *0x8(%eax)
4574e9:	cc                   	int3
4574ea:	cc                   	int3
4574eb:	cc                   	int3
4574ec:	cc                   	int3
4574ed:	cc                   	int3
4574ee:	cc                   	int3
4574ef:	cc                   	int3
4574f0:	55                   	push   %ebp
4574f1:	8b ec                	mov    %esp,%ebp
4574f3:	8b 45 08             	mov    0x8(%ebp),%eax
4574f6:	8b 40 04             	mov    0x4(%eax),%eax
4574f9:	5d                   	pop    %ebp
4574fa:	c3                   	ret
4574fb:	cc                   	int3
4574fc:	cc                   	int3
4574fd:	cc                   	int3
4574fe:	cc                   	int3
4574ff:	cc                   	int3
457500:	55                   	push   %ebp
457501:	8b ec                	mov    %esp,%ebp
457503:	6a ff                	push   $0xffffffff
457505:	68 1d 85 5f 00       	push   $0x5f851d
45750a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
457510:	50                   	push   %eax
457511:	83 ec 74             	sub    $0x74,%esp
457514:	a1 c0 14 69 00       	mov    0x6914c0,%eax
457519:	33 c5                	xor    %ebp,%eax
45751b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45751e:	53                   	push   %ebx
45751f:	56                   	push   %esi
457520:	57                   	push   %edi
457521:	50                   	push   %eax
457522:	8d 45 f4             	lea    -0xc(%ebp),%eax
457525:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45752b:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
45752e:	8b 5d 08             	mov    0x8(%ebp),%ebx
457531:	8d 79 24             	lea    0x24(%ecx),%edi
457534:	8b c3                	mov    %ebx,%eax
457536:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
457539:	c1 e8 18             	shr    $0x18,%eax
45753c:	89 45 a0             	mov    %eax,-0x60(%ebp)
45753f:	8b c3                	mov    %ebx,%eax
457541:	c1 e8 10             	shr    $0x10,%eax
457544:	89 45 84             	mov    %eax,-0x7c(%ebp)
457547:	8b c3                	mov    %ebx,%eax
457549:	c1 e8 08             	shr    $0x8,%eax
45754c:	6a 00                	push   $0x0
45754e:	89 45 88             	mov    %eax,-0x78(%ebp)
457551:	8d 45 8c             	lea    -0x74(%ebp),%eax
457554:	50                   	push   %eax
457555:	6a 00                	push   $0x0
457557:	57                   	push   %edi
457558:	89 7d 90             	mov    %edi,-0x70(%ebp)
45755b:	ff 15 98 21 60 00    	call   *0x602198
457561:	85 c0                	test   %eax,%eax
457563:	0f 84 2d 02 00 00    	je     0x457796
457569:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
45756d:	8d 77 04             	lea    0x4(%edi),%esi
457570:	74 1e                	je     0x457590
457572:	6a 02                	push   $0x2
457574:	56                   	push   %esi
457575:	e8 9c 96 17 00       	call   0x5d0c16
45757a:	83 c4 08             	add    $0x8,%esp
45757d:	6a 00                	push   $0x0
45757f:	6a 00                	push   $0x0
457581:	57                   	push   %edi
457582:	ff 15 94 21 60 00    	call   *0x602194
457588:	85 c0                	test   %eax,%eax
45758a:	0f 84 06 02 00 00    	je     0x457796
457590:	56                   	push   %esi
457591:	e8 9c 96 17 00       	call   0x5d0c32
457596:	83 c4 04             	add    $0x4,%esp
457599:	85 c0                	test   %eax,%eax
45759b:	0f 85 fa 01 00 00    	jne    0x45779b
4575a1:	0f b6 c3             	movzbl %bl,%eax
4575a4:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
4575a9:	8b 7d a4             	mov    -0x5c(%ebp),%edi
4575ac:	69 c8 93 01 00 01    	imul   $0x1000193,%eax,%ecx
4575b2:	8b 45 88             	mov    -0x78(%ebp),%eax
4575b5:	0f b6 c0             	movzbl %al,%eax
4575b8:	33 c8                	xor    %eax,%ecx
4575ba:	8b 45 84             	mov    -0x7c(%ebp),%eax
4575bd:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
4575c3:	0f b6 c0             	movzbl %al,%eax
4575c6:	33 c8                	xor    %eax,%ecx
4575c8:	69 c1 93 01 00 01    	imul   $0x1000193,%ecx,%eax
4575ce:	8d 4f 58             	lea    0x58(%edi),%ecx
4575d1:	33 45 a0             	xor    -0x60(%ebp),%eax
4575d4:	69 c0 93 01 00 01    	imul   $0x1000193,%eax,%eax
4575da:	50                   	push   %eax
4575db:	8d 45 94             	lea    -0x6c(%ebp),%eax
4575de:	50                   	push   %eax
4575df:	8d 45 9c             	lea    -0x64(%ebp),%eax
4575e2:	50                   	push   %eax