4243af:	8d 45 d8             	lea    -0x28(%ebp),%eax
4243b2:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
4243b6:	74 14                	je     0x4243cc
4243b8:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
4243bc:	8b 45 d8             	mov    -0x28(%ebp),%eax
4243bf:	73 03                	jae    0x4243c4
4243c1:	8d 45 d8             	lea    -0x28(%ebp),%eax
4243c4:	0f be 04 38          	movsbl (%eax,%edi,1),%eax
4243c8:	03 f0                	add    %eax,%esi
4243ca:	eb 7e                	jmp    0x42444a
4243cc:	03 f3                	add    %ebx,%esi
4243ce:	0f b7 04 72          	movzwl (%edx,%esi,2),%eax
4243d2:	66 3b 02             	cmp    (%edx),%ax
4243d5:	74 55                	je     0x42442c
4243d7:	66 85 c0             	test   %ax,%ax
4243da:	74 50                	je     0x42442c
4243dc:	8b 55 c0             	mov    -0x40(%ebp),%edx
4243df:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4243e2:	e8 77 fe ff ff       	call   0x42425e
4243e7:	84 c0                	test   %al,%al
4243e9:	75 24                	jne    0x42440f
4243eb:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4243ee:	38 41 04             	cmp    %al,0x4(%ecx)
4243f1:	75 08                	jne    0x4243fb
4243f3:	e8 ce fa ff ff       	call   0x423ec6
4243f8:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4243fb:	8b 55 0c             	mov    0xc(%ebp),%edx
4243fe:	66 8b 04 72          	mov    (%edx,%esi,2),%ax
424402:	66 3b 41 06          	cmp    0x6(%ecx),%ax
424406:	75 0a                	jne    0x424412
424408:	b0 01                	mov    $0x1,%al
42440a:	88 45 d3             	mov    %al,-0x2d(%ebp)
42440d:	eb 41                	jmp    0x424450
42440f:	8b 55 0c             	mov    0xc(%ebp),%edx
424412:	83 fb 7f             	cmp    $0x7f,%ebx
424415:	73 04                	jae    0x42441b
424417:	8b cb                	mov    %ebx,%ecx
424419:	eb 03                	jmp    0x42441e
42441b:	6a 7f                	push   $0x7f
42441d:	59                   	pop    %ecx
42441e:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
424422:	8b 45 d8             	mov    -0x28(%ebp),%eax
424425:	73 20                	jae    0x424447
424427:	8d 45 d8             	lea    -0x28(%ebp),%eax
42442a:	eb 1b                	jmp    0x424447
42442c:	83 fb 7f             	cmp    $0x7f,%ebx
42442f:	73 04                	jae    0x424435
424431:	8b cb                	mov    %ebx,%ecx
424433:	eb 03                	jmp    0x424438
424435:	6a 7f                	push   $0x7f
424437:	59                   	pop    %ecx
424438:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
42443c:	8b 45 d8             	mov    -0x28(%ebp),%eax
42443f:	73 03                	jae    0x424444
424441:	8d 45 d8             	lea    -0x28(%ebp),%eax
424444:	89 7d c4             	mov    %edi,-0x3c(%ebp)
424447:	88 0c 38             	mov    %cl,(%eax,%edi,1)
42444a:	8b 4d cc             	mov    -0x34(%ebp),%ecx
42444d:	8a 45 d3             	mov    -0x2d(%ebp),%al
424450:	47                   	inc    %edi
424451:	3b 7d c8             	cmp    -0x38(%ebp),%edi
424454:	0f 82 31 ff ff ff    	jb     0x42438b
42445a:	84 c0                	test   %al,%al
42445c:	74 1e                	je     0x42447c
42445e:	8b 55 c0             	mov    -0x40(%ebp),%edx
424461:	e8 f8 fd ff ff       	call   0x42425e
424466:	84 c0                	test   %al,%al
424468:	75 12                	jne    0x42447c
42446a:	8b 4d cc             	mov    -0x34(%ebp),%ecx
42446d:	43                   	inc    %ebx
42446e:	e8 df f6 ff ff       	call   0x423b52
424473:	83 4d c4 ff          	orl    $0xffffffff,-0x3c(%ebp)
424477:	e9 fb fe ff ff       	jmp    0x424377
42447c:	6a 00                	push   $0x0
42447e:	6a 01                	push   $0x1
424480:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
424483:	e8 31 7e ff ff       	call   0x41c2b9
424488:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42448b:	e8 25 c0 06 00       	call   0x4904b5
424490:	c3                   	ret
424491:	6a 7c                	push   $0x7c
424493:	b8 48 1d 49 00       	mov    $0x491d48,%eax
424498:	e8 69 c0 06 00       	call   0x490506
42449d:	8b f9                	mov    %ecx,%edi
42449f:	83 3f 00             	cmpl   $0x0,(%edi)
4244a2:	75 4f                	jne    0x4244f3
4244a4:	6a 10                	push   $0x10
4244a6:	ff 15 14 74 4a 00    	call   *0x4a7414
4244ac:	8b f0                	mov    %eax,%esi
4244ae:	59                   	pop    %ecx
4244af:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
4244b5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4244b9:	85 f6                	test   %esi,%esi
4244bb:	74 32                	je     0x4244ef
4244bd:	83 66 04 00          	andl   $0x0,0x4(%esi)
4244c1:	51                   	push   %ecx
4244c2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4244c6:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
4244cc:	c7 06 e4 14 40 00    	movl   $0x4014e4,(%esi)
4244d2:	e8 14 6f ff ff       	call   0x41b3eb
4244d7:	e8 b5 9b 06 00       	call   0x48e091
4244dc:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
4244e2:	89 46 08             	mov    %eax,0x8(%esi)
4244e5:	89 56 0c             	mov    %edx,0xc(%esi)
4244e8:	e8 5c 6f ff ff       	call   0x41b449
4244ed:	eb 02                	jmp    0x4244f1
4244ef:	33 f6                	xor    %esi,%esi
4244f1:	89 37                	mov    %esi,(%edi)
4244f3:	6a 04                	push   $0x4
4244f5:	58                   	pop    %eax
4244f6:	e8 ba bf 06 00       	call   0x4904b5
4244fb:	c3                   	ret
4244fc:	6a 7c                	push   $0x7c
4244fe:	b8 48 1d 49 00       	mov    $0x491d48,%eax
424503:	e8 fe bf 06 00       	call   0x490506
424508:	8b f9                	mov    %ecx,%edi
42450a:	83 3f 00             	cmpl   $0x0,(%edi)
42450d:	75 4f                	jne    0x42455e
42450f:	6a 10                	push   $0x10
424511:	ff 15 14 74 4a 00    	call   *0x4a7414
424517:	8b f0                	mov    %eax,%esi
424519:	59                   	pop    %ecx
42451a:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
424520:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
424524:	85 f6                	test   %esi,%esi
424526:	74 32                	je     0x42455a
424528:	83 66 04 00          	andl   $0x0,0x4(%esi)
42452c:	51                   	push   %ecx
42452d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
424531:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
424537:	c7 06 bc 14 40 00    	movl   $0x4014bc,(%esi)
42453d:	e8 a9 6e ff ff       	call   0x41b3eb
424542:	e8 4a 9b 06 00       	call   0x48e091
424547:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
42454d:	89 46 08             	mov    %eax,0x8(%esi)
424550:	89 56 0c             	mov    %edx,0xc(%esi)
424553:	e8 f1 6e ff ff       	call   0x41b449
424558:	eb 02                	jmp    0x42455c
42455a:	33 f6                	xor    %esi,%esi
42455c:	89 37                	mov    %esi,(%edi)
42455e:	6a 04                	push   $0x4
424560:	58                   	pop    %eax
424561:	e8 4f bf 06 00       	call   0x4904b5
424566:	c3                   	ret
424567:	6a 7c                	push   $0x7c
424569:	b8 94 1d 49 00       	mov    $0x491d94,%eax
42456e:	e8 93 bf 06 00       	call   0x490506
424573:	8b f9                	mov    %ecx,%edi
424575:	83 3f 00             	cmpl   $0x0,(%edi)
424578:	75 50                	jne    0x4245ca
42457a:	6a 18                	push   $0x18
42457c:	ff 15 14 74 4a 00    	call   *0x4a7414
424582:	8b f0                	mov    %eax,%esi
424584:	59                   	pop    %ecx
424585:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
42458b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42458f:	85 f6                	test   %esi,%esi
424591:	74 33                	je     0x4245c6
424593:	83 66 04 00          	andl   $0x0,0x4(%esi)
424597:	51                   	push   %ecx
424598:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42459c:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
4245a2:	c7 06 a0 14 40 00    	movl   $0x4014a0,(%esi)
4245a8:	e8 3e 6e ff ff       	call   0x41b3eb
4245ad:	51                   	push   %ecx
4245ae:	8b ce                	mov    %esi,%ecx
4245b0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4245b4:	e8 1a 00 00 00       	call   0x4245d3
4245b9:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
4245bf:	e8 85 6e ff ff       	call   0x41b449
4245c4:	eb 02                	jmp    0x4245c8
4245c6:	33 f6                	xor    %esi,%esi
4245c8:	89 37                	mov    %esi,(%edi)
4245ca:	6a 04                	push   $0x4
4245cc:	58                   	pop    %eax
4245cd:	e8 e3 be 06 00       	call   0x4904b5
4245d2:	c3                   	ret
4245d3:	6a 18                	push   $0x18
4245d5:	b8 bc 1d 49 00       	mov    $0x491dbc,%eax
4245da:	e8 5d bf 06 00       	call   0x49053c
4245df:	8b f1                	mov    %ecx,%esi
4245e1:	89 75 e8             	mov    %esi,-0x18(%ebp)
4245e4:	ff 15 a4 80 4a 00    	call   *0x4a80a4
4245ea:	33 d2                	xor    %edx,%edx
4245ec:	8b d8                	mov    %eax,%ebx
4245ee:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4245f1:	89 56 08             	mov    %edx,0x8(%esi)
4245f4:	89 56 10             	mov    %edx,0x10(%esi)
4245f7:	89 56 14             	mov    %edx,0x14(%esi)
4245fa:	89 55 fc             	mov    %edx,-0x4(%ebp)
4245fd:	e8 8f 9a 06 00       	call   0x48e091
424602:	8b 7b 08             	mov    0x8(%ebx),%edi
424605:	8b cf                	mov    %edi,%ecx
424607:	8d 51 01             	lea    0x1(%ecx),%edx
42460a:	8a 01                	mov    (%ecx),%al
42460c:	41                   	inc    %ecx
42460d:	84 c0                	test   %al,%al
42460f:	75 f9                	jne    0x42460a
424611:	2b ca                	sub    %edx,%ecx
424613:	8d 59 01             	lea    0x1(%ecx),%ebx
424616:	53                   	push   %ebx
424617:	e8 f2 93 06 00       	call   0x48da0e
42461c:	8b d0                	mov    %eax,%edx
42461e:	59                   	pop    %ecx
42461f:	85 db                	test   %ebx,%ebx
424621:	74 0f                	je     0x424632
424623:	8b ca                	mov    %edx,%ecx
424625:	2b cf                	sub    %edi,%ecx
424627:	8a 07                	mov    (%edi),%al
424629:	88 04 39             	mov    %al,(%ecx,%edi,1)
42462c:	47                   	inc    %edi
42462d:	83 eb 01             	sub    $0x1,%ebx
424630:	75 f5                	jne    0x424627
424632:	89 56 08             	mov    %edx,0x8(%esi)
424635:	e8 57 9a 06 00       	call   0x48e091
42463a:	89 45 dc             	mov    %eax,-0x24(%ebp)
42463d:	b9 3c fc 40 00       	mov    $0x40fc3c,%ecx
424642:	8d 45 dc             	lea    -0x24(%ebp),%eax
424645:	89 55 e0             	mov    %edx,-0x20(%ebp)
424648:	50                   	push   %eax
424649:	e8 c3 00 00 00       	call   0x424711
42464e:	59                   	pop    %ecx
42464f:	89 46 10             	mov    %eax,0x10(%esi)
424652:	e8 3a 9a 06 00       	call   0x48e091
424657:	89 45 dc             	mov    %eax,-0x24(%ebp)
42465a:	b9 34 fc 40 00       	mov    $0x40fc34,%ecx
42465f:	8d 45 dc             	lea    -0x24(%ebp),%eax
424662:	89 55 e0             	mov    %edx,-0x20(%ebp)
424665:	50                   	push   %eax
424666:	e8 a6 00 00 00       	call   0x424711
42466b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42466f:	59                   	pop    %ecx
424670:	89 46 14             	mov    %eax,0x14(%esi)
424673:	e8 19 9a 06 00       	call   0x48e091
424678:	8b 7d ec             	mov    -0x14(%ebp),%edi
42467b:	89 45 dc             	mov    %eax,-0x24(%ebp)
42467e:	8d 45 dc             	lea    -0x24(%ebp),%eax
424681:	50                   	push   %eax
424682:	89 55 e0             	mov    %edx,-0x20(%ebp)
424685:	8b 07                	mov    (%edi),%eax
424687:	8a 08                	mov    (%eax),%cl
424689:	e8 7d 01 00 00       	call   0x42480b
42468e:	66 89 46 0c          	mov    %ax,0xc(%esi)
424692:	e8 fa 99 06 00       	call   0x48e091
424697:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42469a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42469d:	50                   	push   %eax
42469e:	8b 47 04             	mov    0x4(%edi),%eax
4246a1:	89 55 e8             	mov    %edx,-0x18(%ebp)
4246a4:	8a 08                	mov    (%eax),%cl
4246a6:	e8 60 01 00 00       	call   0x42480b
4246ab:	59                   	pop    %ecx
4246ac:	59                   	pop    %ecx
4246ad:	66 89 46 0e          	mov    %ax,0xe(%esi)
4246b1:	e8 eb bd 06 00       	call   0x4904a1
4246b6:	c2 04 00             	ret    $0x4
4246b9:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4246bc:	e8 be f5 ff ff       	call   0x423c7f
4246c1:	33 d2                	xor    %edx,%edx
4246c3:	52                   	push   %edx
4246c4:	52                   	push   %edx
4246c5:	e8 d1 bd 06 00       	call   0x49049b
4246ca:	cc                   	int3
4246cb:	8b ff                	mov    %edi,%edi
4246cd:	55                   	push   %ebp
4246ce:	8b ec                	mov    %esp,%ebp
4246d0:	85 d2                	test   %edx,%edx
4246d2:	74 14                	je     0x4246e8
4246d4:	56                   	push   %esi
4246d5:	57                   	push   %edi
4246d6:	8b 75 08             	mov    0x8(%ebp),%esi
4246d9:	8b f9                	mov    %ecx,%edi
4246db:	83 c1 0c             	add    $0xc,%ecx
4246de:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4246df:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4246e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4246e1:	83 ea 01             	sub    $0x1,%edx
4246e4:	75 f0                	jne    0x4246d6
4246e6:	5f                   	pop    %edi
4246e7:	5e                   	pop    %esi
4246e8:	5d                   	pop    %ebp
4246e9:	c2 10 00             	ret    $0x10
4246ec:	8b ff                	mov    %edi,%edi
4246ee:	55                   	push   %ebp
4246ef:	8b ec                	mov    %esp,%ebp
4246f1:	8b 45 08             	mov    0x8(%ebp),%eax
4246f4:	3b ca                	cmp    %edx,%ecx
4246f6:	74 15                	je     0x42470d
4246f8:	56                   	push   %esi
4246f9:	57                   	push   %edi
4246fa:	8b f1                	mov    %ecx,%esi
4246fc:	8b f8                	mov    %eax,%edi
4246fe:	83 c1 0c             	add    $0xc,%ecx
424701:	83 c0 0c             	add    $0xc,%eax
424704:	a5                   	movsl  %ds:(%esi),%es:(%edi)
424705:	a5                   	movsl  %ds:(%esi),%es:(%edi)
424706:	a5                   	movsl  %ds:(%esi),%es:(%edi)
424707:	3b ca                	cmp    %edx,%ecx
424709:	75 ef                	jne    0x4246fa
42470b:	5f                   	pop    %edi
42470c:	5e                   	pop    %esi
42470d:	5d                   	pop    %ebp
42470e:	c2 10 00             	ret    $0x10
424711:	8b ff                	mov    %edi,%edi
424713:	55                   	push   %ebp
424714:	8b ec                	mov    %esp,%ebp
424716:	83 ec 14             	sub    $0x14,%esp
424719:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
42471d:	53                   	push   %ebx
42471e:	56                   	push   %esi
42471f:	57                   	push   %edi
424720:	8b f9                	mov    %ecx,%edi
424722:	8b d7                	mov    %edi,%edx
424724:	89 7d f4             	mov    %edi,-0xc(%ebp)
424727:	8d 4a 01             	lea    0x1(%edx),%ecx
42472a:	8a 02                	mov    (%edx),%al
42472c:	42                   	inc    %edx
42472d:	84 c0                	test   %al,%al
42472f:	75 f9                	jne    0x42472a
424731:	2b d1                	sub    %ecx,%edx
424733:	33 f6                	xor    %esi,%esi
424735:	8d 42 01             	lea    0x1(%edx),%eax
424738:	89 45 ec             	mov    %eax,-0x14(%ebp)
42473b:	8b d8                	mov    %eax,%ebx
42473d:	85 c0                	test   %eax,%eax
42473f:	74 23                	je     0x424764
424741:	ff 75 08             	push   0x8(%ebp)
424744:	8d 45 f8             	lea    -0x8(%ebp),%eax
424747:	50                   	push   %eax
424748:	53                   	push   %ebx
424749:	8d 45 fc             	lea    -0x4(%ebp),%eax
42474c:	57                   	push   %edi
42474d:	50                   	push   %eax
42474e:	e8 b7 99 06 00       	call   0x48e10a
424753:	83 c4 14             	add    $0x14,%esp
424756:	85 c0                	test   %eax,%eax
424758:	7e 07                	jle    0x424761
42475a:	03 f8                	add    %eax,%edi
42475c:	46                   	inc    %esi
42475d:	2b d8                	sub    %eax,%ebx
42475f:	75 e0                	jne    0x424741
424761:	8b 7d f4             	mov    -0xc(%ebp),%edi
424764:	46                   	inc    %esi
424765:	33 c9                	xor    %ecx,%ecx
424767:	6a 02                	push   $0x2
424769:	5a                   	pop    %edx
42476a:	8b c6                	mov    %esi,%eax
42476c:	f7 e2                	mul    %edx
42476e:	0f 90 c1             	seto   %cl
424771:	f7 d9                	neg    %ecx