42f35f:	56                   	push   %esi
42f360:	53                   	push   %ebx
42f361:	e8 6b 5a ff ff       	call   0x424dd1
42f366:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
42f36a:	8b 75 14             	mov    0x14(%ebp),%esi
42f36d:	59                   	pop    %ecx
42f36e:	88 45 ff             	mov    %al,-0x1(%ebp)
42f371:	75 6c                	jne    0x42f3df
42f373:	8d 1c b5 80 28 44 00 	lea    0x442880(,%esi,4),%ebx
42f37a:	57                   	push   %edi
42f37b:	8d 3c b5 b4 28 44 00 	lea    0x4428b4(,%esi,4),%edi
42f382:	84 c0                	test   %al,%al
42f384:	74 05                	je     0x42f38b
42f386:	8b 77 fc             	mov    -0x4(%edi),%esi
42f389:	eb 03                	jmp    0x42f38e
42f38b:	8b 73 fc             	mov    -0x4(%ebx),%esi
42f38e:	ff 75 10             	push   0x10(%ebp)
42f391:	46                   	inc    %esi
42f392:	e8 7f 72 ff ff       	call   0x426616
42f397:	59                   	pop    %ecx
42f398:	69 4d 10 6d 01 00 00 	imul   $0x16d,0x10(%ebp),%ecx
42f39f:	03 c6                	add    %esi,%eax
42f3a1:	6a 07                	push   $0x7
42f3a3:	81 c1 36 9c ff ff    	add    $0xffff9c36,%ecx
42f3a9:	03 c1                	add    %ecx,%eax
42f3ab:	59                   	pop    %ecx
42f3ac:	99                   	cltd
42f3ad:	f7 f9                	idiv   %ecx
42f3af:	6b 4d 18 07          	imul   $0x7,0x18(%ebp),%ecx
42f3b3:	2b ca                	sub    %edx,%ecx
42f3b5:	03 f1                	add    %ecx,%esi
42f3b7:	03 75 1c             	add    0x1c(%ebp),%esi
42f3ba:	3b 55 1c             	cmp    0x1c(%ebp),%edx
42f3bd:	7f 03                	jg     0x42f3c2
42f3bf:	83 c6 f9             	add    $0xfffffff9,%esi
42f3c2:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
42f3c6:	75 02                	jne    0x42f3ca
42f3c8:	8b fb                	mov    %ebx,%edi
42f3ca:	83 7d 18 05          	cmpl   $0x5,0x18(%ebp)
42f3ce:	8b 07                	mov    (%edi),%eax
42f3d0:	8b 5d 10             	mov    0x10(%ebp),%ebx
42f3d3:	5f                   	pop    %edi
42f3d4:	75 20                	jne    0x42f3f6
42f3d6:	3b f0                	cmp    %eax,%esi
42f3d8:	7e 1c                	jle    0x42f3f6
42f3da:	83 ee 07             	sub    $0x7,%esi
42f3dd:	eb 17                	jmp    0x42f3f6
42f3df:	84 c0                	test   %al,%al
42f3e1:	74 09                	je     0x42f3ec
42f3e3:	8b 34 b5 b0 28 44 00 	mov    0x4428b0(,%esi,4),%esi
42f3ea:	eb 07                	jmp    0x42f3f3
42f3ec:	8b 34 b5 7c 28 44 00 	mov    0x44287c(,%esi,4),%esi
42f3f3:	03 75 20             	add    0x20(%ebp),%esi
42f3f6:	6b 45 24 3c          	imul   $0x3c,0x24(%ebp),%eax
42f3fa:	03 45 28             	add    0x28(%ebp),%eax
42f3fd:	6b c0 3c             	imul   $0x3c,%eax,%eax
42f400:	03 45 2c             	add    0x2c(%ebp),%eax
42f403:	69 c8 e8 03 00 00    	imul   $0x3e8,%eax,%ecx
42f409:	8b 45 30             	mov    0x30(%ebp),%eax
42f40c:	03 c1                	add    %ecx,%eax
42f40e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42f412:	75 15                	jne    0x42f429
42f414:	89 35 4c 55 45 00    	mov    %esi,0x45554c
42f41a:	a3 50 55 45 00       	mov    %eax,0x455550
42f41f:	89 1d 48 55 45 00    	mov    %ebx,0x455548
42f425:	5e                   	pop    %esi
42f426:	5b                   	pop    %ebx
42f427:	c9                   	leave
42f428:	c3                   	ret
42f429:	a3 5c 55 45 00       	mov    %eax,0x45555c
42f42e:	8d 45 f8             	lea    -0x8(%ebp),%eax
42f431:	50                   	push   %eax
42f432:	89 35 58 55 45 00    	mov    %esi,0x455558
42f438:	e8 62 fc ff ff       	call   0x42f09f
42f43d:	59                   	pop    %ecx
42f43e:	85 c0                	test   %eax,%eax
42f440:	75 41                	jne    0x42f483
42f442:	69 4d f8 e8 03 00 00 	imul   $0x3e8,-0x8(%ebp),%ecx
42f449:	a1 5c 55 45 00       	mov    0x45555c,%eax
42f44e:	03 c1                	add    %ecx,%eax
42f450:	a3 5c 55 45 00       	mov    %eax,0x45555c
42f455:	79 0d                	jns    0x42f464
42f457:	05 00 5c 26 05       	add    $0x5265c00,%eax
42f45c:	ff 0d 58 55 45 00    	decl   0x455558
42f462:	eb 12                	jmp    0x42f476
42f464:	3d 00 5c 26 05       	cmp    $0x5265c00,%eax
42f469:	7c 10                	jl     0x42f47b
42f46b:	05 00 a4 d9 fa       	add    $0xfad9a400,%eax
42f470:	ff 05 58 55 45 00    	incl   0x455558
42f476:	a3 5c 55 45 00       	mov    %eax,0x45555c
42f47b:	89 1d 54 55 45 00    	mov    %ebx,0x455554
42f481:	eb a2                	jmp    0x42f425
42f483:	6a 00                	push   $0x0
42f485:	6a 00                	push   $0x0
42f487:	6a 00                	push   $0x0
42f489:	6a 00                	push   $0x0
42f48b:	6a 00                	push   $0x0
42f48d:	e8 1e 05 ff ff       	call   0x41f9b0
42f492:	cc                   	int3
42f493:	8b ff                	mov    %edi,%edi
42f495:	55                   	push   %ebp
42f496:	8b ec                	mov    %esp,%ebp
42f498:	51                   	push   %ecx
42f499:	51                   	push   %ecx
42f49a:	57                   	push   %edi
42f49b:	bf 78 28 44 00       	mov    $0x442878,%edi
42f4a0:	8d 45 fc             	lea    -0x4(%ebp),%eax
42f4a3:	57                   	push   %edi
42f4a4:	68 00 01 00 00       	push   $0x100
42f4a9:	ff 75 08             	push   0x8(%ebp)
42f4ac:	50                   	push   %eax
42f4ad:	e8 e3 93 00 00       	call   0x438895
42f4b2:	83 c4 10             	add    $0x10,%esp
42f4b5:	85 c0                	test   %eax,%eax
42f4b7:	75 05                	jne    0x42f4be
42f4b9:	8b 45 08             	mov    0x8(%ebp),%eax
42f4bc:	eb 49                	jmp    0x42f507
42f4be:	83 f8 22             	cmp    $0x22,%eax
42f4c1:	74 04                	je     0x42f4c7
42f4c3:	33 c0                	xor    %eax,%eax
42f4c5:	eb 40                	jmp    0x42f507
42f4c7:	8b 45 fc             	mov    -0x4(%ebp),%eax
42f4ca:	03 c0                	add    %eax,%eax
42f4cc:	56                   	push   %esi
42f4cd:	50                   	push   %eax
42f4ce:	e8 21 b4 ff ff       	call   0x42a8f4
42f4d3:	8b f0                	mov    %eax,%esi
42f4d5:	59                   	pop    %ecx
42f4d6:	85 f6                	test   %esi,%esi
42f4d8:	75 0a                	jne    0x42f4e4
42f4da:	50                   	push   %eax
42f4db:	e8 da b3 ff ff       	call   0x42a8ba
42f4e0:	33 c0                	xor    %eax,%eax
42f4e2:	eb 21                	jmp    0x42f505
42f4e4:	57                   	push   %edi
42f4e5:	ff 75 fc             	push   -0x4(%ebp)
42f4e8:	8d 45 f8             	lea    -0x8(%ebp),%eax
42f4eb:	56                   	push   %esi
42f4ec:	50                   	push   %eax
42f4ed:	e8 a3 93 00 00       	call   0x438895
42f4f2:	83 c4 10             	add    $0x10,%esp
42f4f5:	85 c0                	test   %eax,%eax
42f4f7:	74 03                	je     0x42f4fc
42f4f9:	56                   	push   %esi
42f4fa:	eb df                	jmp    0x42f4db
42f4fc:	6a 00                	push   $0x0
42f4fe:	e8 b7 b3 ff ff       	call   0x42a8ba
42f503:	8b c6                	mov    %esi,%eax
42f505:	59                   	pop    %ecx
42f506:	5e                   	pop    %esi
42f507:	5f                   	pop    %edi
42f508:	c9                   	leave
42f509:	c3                   	ret
42f50a:	8b ff                	mov    %edi,%edi
42f50c:	55                   	push   %ebp
42f50d:	8b ec                	mov    %esp,%ebp
42f50f:	ff 75 14             	push   0x14(%ebp)
42f512:	ff 75 08             	push   0x8(%ebp)
42f515:	6a 40                	push   $0x40
42f517:	ff 75 0c             	push   0xc(%ebp)
42f51a:	e8 0b 56 ff ff       	call   0x424b2a
42f51f:	83 c4 10             	add    $0x10,%esp
42f522:	85 c0                	test   %eax,%eax
42f524:	75 1e                	jne    0x42f544
42f526:	50                   	push   %eax
42f527:	50                   	push   %eax
42f528:	6a 3f                	push   $0x3f
42f52a:	ff 75 10             	push   0x10(%ebp)
42f52d:	ff 75 14             	push   0x14(%ebp)
42f530:	ff 75 0c             	push   0xc(%ebp)
42f533:	50                   	push   %eax
42f534:	e8 be fb ff ff       	call   0x42f0f7
42f539:	50                   	push   %eax
42f53a:	e8 8b 28 00 00       	call   0x431dca
42f53f:	83 c4 20             	add    $0x20,%esp
42f542:	5d                   	pop    %ebp
42f543:	c3                   	ret
42f544:	33 c0                	xor    %eax,%eax
42f546:	50                   	push   %eax
42f547:	50                   	push   %eax
42f548:	50                   	push   %eax
42f549:	50                   	push   %eax
42f54a:	50                   	push   %eax
42f54b:	e8 60 04 ff ff       	call   0x41f9b0
42f550:	cc                   	int3
42f551:	8b ff                	mov    %edi,%edi
42f553:	55                   	push   %ebp
42f554:	8b ec                	mov    %esp,%ebp
42f556:	83 ec 1c             	sub    $0x1c,%esp
42f559:	53                   	push   %ebx
42f55a:	56                   	push   %esi
42f55b:	57                   	push   %edi
42f55c:	e8 06 fb ff ff       	call   0x42f067
42f561:	8b d8                	mov    %eax,%ebx
42f563:	89 5d f0             	mov    %ebx,-0x10(%ebp)
42f566:	e8 02 fb ff ff       	call   0x42f06d
42f56b:	89 45 ec             	mov    %eax,-0x14(%ebp)
42f56e:	33 f6                	xor    %esi,%esi
42f570:	8d 45 fc             	lea    -0x4(%ebp),%eax
42f573:	89 75 e8             	mov    %esi,-0x18(%ebp)
42f576:	50                   	push   %eax
42f577:	89 75 fc             	mov    %esi,-0x4(%ebp)
42f57a:	89 75 f8             	mov    %esi,-0x8(%ebp)
42f57d:	e8 49 fb ff ff       	call   0x42f0cb
42f582:	59                   	pop    %ecx
42f583:	85 c0                	test   %eax,%eax
42f585:	0f 85 4d 02 00 00    	jne    0x42f7d8
42f58b:	8d 45 f8             	lea    -0x8(%ebp),%eax
42f58e:	50                   	push   %eax
42f58f:	e8 df fa ff ff       	call   0x42f073
42f594:	59                   	pop    %ecx
42f595:	85 c0                	test   %eax,%eax
42f597:	0f 85 3b 02 00 00    	jne    0x42f7d8
42f59d:	a1 c4 70 45 00       	mov    0x4570c4,%eax
42f5a2:	8b 7d 08             	mov    0x8(%ebp),%edi
42f5a5:	85 c0                	test   %eax,%eax
42f5a7:	74 31                	je     0x42f5da
42f5a9:	8b cf                	mov    %edi,%ecx
42f5ab:	66 8b 11             	mov    (%ecx),%dx
42f5ae:	66 3b 10             	cmp    (%eax),%dx
42f5b1:	75 1e                	jne    0x42f5d1
42f5b3:	66 85 d2             	test   %dx,%dx
42f5b6:	74 15                	je     0x42f5cd
42f5b8:	66 8b 51 02          	mov    0x2(%ecx),%dx
42f5bc:	66 3b 50 02          	cmp    0x2(%eax),%dx
42f5c0:	75 0f                	jne    0x42f5d1
42f5c2:	83 c1 04             	add    $0x4,%ecx
42f5c5:	83 c0 04             	add    $0x4,%eax
42f5c8:	66 85 d2             	test   %dx,%dx
42f5cb:	75 de                	jne    0x42f5ab
42f5cd:	8b c6                	mov    %esi,%eax
42f5cf:	eb 05                	jmp    0x42f5d6
42f5d1:	1b c0                	sbb    %eax,%eax
42f5d3:	83 c8 01             	or     $0x1,%eax
42f5d6:	85 c0                	test   %eax,%eax
42f5d8:	74 31                	je     0x42f60b
42f5da:	8b cf                	mov    %edi,%ecx
42f5dc:	8d 51 02             	lea    0x2(%ecx),%edx
42f5df:	66 8b 01             	mov    (%ecx),%ax
42f5e2:	83 c1 02             	add    $0x2,%ecx
42f5e5:	66 3b c6             	cmp    %si,%ax
42f5e8:	75 f5                	jne    0x42f5df
42f5ea:	2b ca                	sub    %edx,%ecx
42f5ec:	d1 f9                	sar    $1,%ecx
42f5ee:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
42f5f5:	50                   	push   %eax
42f5f6:	e8 f9 b2 ff ff       	call   0x42a8f4
42f5fb:	8b f0                	mov    %eax,%esi
42f5fd:	59                   	pop    %ecx
42f5fe:	85 f6                	test   %esi,%esi
42f600:	75 0e                	jne    0x42f610
42f602:	33 c0                	xor    %eax,%eax
42f604:	50                   	push   %eax
42f605:	e8 b0 b2 ff ff       	call   0x42a8ba
42f60a:	59                   	pop    %ecx
42f60b:	5f                   	pop    %edi
42f60c:	5e                   	pop    %esi
42f60d:	5b                   	pop    %ebx
42f60e:	c9                   	leave
42f60f:	c3                   	ret
42f610:	ff 35 c4 70 45 00    	push   0x4570c4
42f616:	e8 9f b2 ff ff       	call   0x42a8ba
42f61b:	59                   	pop    %ecx
42f61c:	8b cf                	mov    %edi,%ecx
42f61e:	89 35 c4 70 45 00    	mov    %esi,0x4570c4
42f624:	8d 51 02             	lea    0x2(%ecx),%edx
42f627:	66 8b 01             	mov    (%ecx),%ax
42f62a:	83 c1 02             	add    $0x2,%ecx
42f62d:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
42f631:	75 f4                	jne    0x42f627
42f633:	2b ca                	sub    %edx,%ecx
42f635:	d1 f9                	sar    $1,%ecx
42f637:	57                   	push   %edi
42f638:	8d 41 01             	lea    0x1(%ecx),%eax
42f63b:	50                   	push   %eax
42f63c:	56                   	push   %esi
42f63d:	e8 24 42 ff ff       	call   0x423866
42f642:	83 c4 0c             	add    $0xc,%esp
42f645:	85 c0                	test   %eax,%eax
42f647:	0f 85 89 01 00 00    	jne    0x42f7d6
42f64d:	8b 75 ec             	mov    -0x14(%ebp),%esi
42f650:	68 80 00 00 00       	push   $0x80
42f655:	50                   	push   %eax
42f656:	ff 36                	push   (%esi)
42f658:	e8 b3 c5 fe ff       	call   0x41bc10
42f65d:	68 80 00 00 00       	push   $0x80
42f662:	33 c0                	xor    %eax,%eax
42f664:	50                   	push   %eax
42f665:	ff 76 04             	push   0x4(%esi)
42f668:	e8 a3 c5 fe ff       	call   0x41bc10
42f66d:	6a 40                	push   $0x40
42f66f:	33 c0                	xor    %eax,%eax
42f671:	50                   	push   %eax
42f672:	ff 33                	push   (%ebx)
42f674:	e8 97 c5 fe ff       	call   0x41bc10
42f679:	6a 40                	push   $0x40
42f67b:	33 c0                	xor    %eax,%eax
42f67d:	50                   	push   %eax
42f67e:	ff 73 04             	push   0x4(%ebx)
42f681:	e8 8a c5 fe ff       	call   0x41bc10
42f686:	6a 03                	push   $0x3
42f688:	ff 33                	push   (%ebx)
42f68a:	ff 36                	push   (%esi)
42f68c:	57                   	push   %edi
42f68d:	e8 78 fe ff ff       	call   0x42f50a
42f692:	83 c4 40             	add    $0x40,%esp
42f695:	33 c9                	xor    %ecx,%ecx
42f697:	6a 03                	push   $0x3
42f699:	58                   	pop    %eax
42f69a:	66 39 0f             	cmp    %cx,(%edi)
42f69d:	74 03                	je     0x42f6a2
42f69f:	83 c7 02             	add    $0x2,%edi
42f6a2:	83 e8 01             	sub    $0x1,%eax
42f6a5:	75 f3                	jne    0x42f69a
42f6a7:	0f b7 07             	movzwl (%edi),%eax
42f6aa:	8b c8                	mov    %eax,%ecx
42f6ac:	6a 2d                	push   $0x2d
42f6ae:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
42f6b1:	59                   	pop    %ecx
42f6b2:	66 3b c1             	cmp    %cx,%ax
42f6b5:	75 03                	jne    0x42f6ba
42f6b7:	83 c7 02             	add    $0x2,%edi
42f6ba:	6a 0a                	push   $0xa
42f6bc:	8d 45 f4             	lea    -0xc(%ebp),%eax
42f6bf:	50                   	push   %eax
42f6c0:	57                   	push   %edi
42f6c1:	e8 52 00 ff ff       	call   0x41f718
42f6c6:	83 c4 0c             	add    $0xc,%esp
42f6c9:	69 f0 10 0e 00 00    	imul   $0xe10,%eax,%esi
42f6cf:	89 75 fc             	mov    %esi,-0x4(%ebp)
42f6d2:	0f b7 0f             	movzwl (%edi),%ecx
42f6d5:	83 f9 2b             	cmp    $0x2b,%ecx
42f6d8:	74 09                	je     0x42f6e3
42f6da:	8d 41 d0             	lea    -0x30(%ecx),%eax
42f6dd:	66 83 f8 09          	cmp    $0x9,%ax
42f6e1:	77 05                	ja     0x42f6e8
42f6e3:	83 c7 02             	add    $0x2,%edi
42f6e6:	eb ea                	jmp    0x42f6d2
42f6e8:	6a 3a                	push   $0x3a
42f6ea:	58                   	pop    %eax
42f6eb:	66 3b c8             	cmp    %ax,%cx
42f6ee:	0f 85 94 00 00 00    	jne    0x42f788
42f6f4:	6a 0a                	push   $0xa
42f6f6:	8d 45 f4             	lea    -0xc(%ebp),%eax
42f6f9:	83 c7 02             	add    $0x2,%edi
42f6fc:	50                   	push   %eax
42f6fd:	57                   	push   %edi
42f6fe:	e8 15 00 ff ff       	call   0x41f718
42f703:	8b 75 fc             	mov    -0x4(%ebp),%esi
42f706:	83 c4 0c             	add    $0xc,%esp