42346b:	8d 0c b1             	lea    (%ecx,%esi,4),%ecx
42346e:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
423474:	3b c2                	cmp    %edx,%eax
423476:	72 67                	jb     0x4234df
423478:	3b f3                	cmp    %ebx,%esi
42347a:	73 04                	jae    0x423480
42347c:	8b 39                	mov    (%ecx),%edi
42347e:	eb 02                	jmp    0x423482
423480:	33 ff                	xor    %edi,%edi
423482:	8d 46 ff             	lea    -0x1(%esi),%eax
423485:	3b c3                	cmp    %ebx,%eax
423487:	73 05                	jae    0x42348e
423489:	8b 41 fc             	mov    -0x4(%ecx),%eax
42348c:	eb 02                	jmp    0x423490
42348e:	33 c0                	xor    %eax,%eax
423490:	23 bd a8 f8 ff ff    	and    -0x758(%ebp),%edi
423496:	23 85 8c f8 ff ff    	and    -0x774(%ebp),%eax
42349c:	8b 8d b0 f8 ff ff    	mov    -0x750(%ebp),%ecx
4234a2:	d3 e7                	shl    %cl,%edi
4234a4:	8b 8d 90 f8 ff ff    	mov    -0x770(%ebp),%ecx
4234aa:	d3 e8                	shr    %cl,%eax
4234ac:	8b 8d a4 f8 ff ff    	mov    -0x75c(%ebp),%ecx
4234b2:	0b f8                	or     %eax,%edi
4234b4:	8b 85 ac f8 ff ff    	mov    -0x754(%ebp),%eax
4234ba:	83 e9 04             	sub    $0x4,%ecx
4234bd:	89 8d a4 f8 ff ff    	mov    %ecx,-0x75c(%ebp)
4234c3:	89 bc 85 30 fe ff ff 	mov    %edi,-0x1d0(%ebp,%eax,4)
4234ca:	48                   	dec    %eax
4234cb:	4e                   	dec    %esi
4234cc:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
4234d2:	83 f8 ff             	cmp    $0xffffffff,%eax
4234d5:	74 08                	je     0x4234df
4234d7:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
4234dd:	eb 95                	jmp    0x423474
4234df:	8b 95 a0 f8 ff ff    	mov    -0x760(%ebp),%edx
4234e5:	8b bd b4 f8 ff ff    	mov    -0x74c(%ebp),%edi
4234eb:	6a 02                	push   $0x2
4234ed:	5e                   	pop    %esi
4234ee:	85 ff                	test   %edi,%edi
4234f0:	74 0c                	je     0x4234fe
4234f2:	8b cf                	mov    %edi,%ecx
4234f4:	33 c0                	xor    %eax,%eax
4234f6:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
4234fc:	f3 ab                	rep stos %eax,%es:(%edi)
4234fe:	80 bd bb f8 ff ff 00 	cmpb   $0x0,-0x745(%ebp)
423505:	bb cc 01 00 00       	mov    $0x1cc,%ebx
42350a:	74 0b                	je     0x423517
42350c:	8d 42 01             	lea    0x1(%edx),%eax
42350f:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
423515:	eb 33                	jmp    0x42354a
423517:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
42351d:	eb 2b                	jmp    0x42354a
42351f:	33 c0                	xor    %eax,%eax
423521:	bb cc 01 00 00       	mov    $0x1cc,%ebx
423526:	50                   	push   %eax
423527:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
42352d:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
423533:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423539:	50                   	push   %eax
42353a:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
423540:	53                   	push   %ebx
423541:	50                   	push   %eax
423542:	e8 45 0e 00 00       	call   0x42438c
423547:	83 c4 10             	add    $0x10,%esp
42354a:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
423551:	33 c0                	xor    %eax,%eax
423553:	40                   	inc    %eax
423554:	89 b5 90 fa ff ff    	mov    %esi,-0x570(%ebp)
42355a:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
423560:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
423566:	6a 04                	push   $0x4
423568:	e9 19 fe ff ff       	jmp    0x423386
42356d:	81 fe 02 fc ff ff    	cmp    $0xfffffc02,%esi
423573:	0f 84 19 01 00 00    	je     0x423692
423579:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
423580:	6a 02                	push   $0x2
423582:	59                   	pop    %ecx
423583:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
42358a:	00 10 00
42358d:	89 8d 8c fa ff ff    	mov    %ecx,-0x574(%ebp)
423593:	3b d9                	cmp    %ecx,%ebx
423595:	0f 85 f7 00 00 00    	jne    0x423692
42359b:	33 d2                	xor    %edx,%edx
42359d:	8b 84 15 90 fa ff ff 	mov    -0x570(%ebp,%edx,1),%eax
4235a4:	3b 84 15 30 fe ff ff 	cmp    -0x1d0(%ebp,%edx,1),%eax
4235ab:	0f 85 e1 00 00 00    	jne    0x423692
4235b1:	83 c2 04             	add    $0x4,%edx
4235b4:	83 fa 08             	cmp    $0x8,%edx
4235b7:	75 e4                	jne    0x42359d
4235b9:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
4235c0:	0f bd c7             	bsr    %edi,%eax
4235c3:	74 05                	je     0x4235ca
4235c5:	8d 50 01             	lea    0x1(%eax),%edx
4235c8:	eb 02                	jmp    0x4235cc
4235ca:	33 d2                	xor    %edx,%edx
4235cc:	6a 20                	push   $0x20
4235ce:	58                   	pop    %eax
4235cf:	2b c2                	sub    %edx,%eax
4235d1:	8b f1                	mov    %ecx,%esi
4235d3:	3b c1                	cmp    %ecx,%eax
4235d5:	8d 85 38 fe ff ff    	lea    -0x1c8(%ebp),%eax
4235db:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
4235e1:	8b f8                	mov    %eax,%edi
4235e3:	0f 92 85 bb f8 ff ff 	setb   -0x745(%ebp)
4235ea:	3b f3                	cmp    %ebx,%esi
4235ec:	73 0a                	jae    0x4235f8
4235ee:	8b 17                	mov    (%edi),%edx
4235f0:	89 95 b0 f8 ff ff    	mov    %edx,-0x750(%ebp)
4235f6:	eb 07                	jmp    0x4235ff
4235f8:	83 a5 b0 f8 ff ff 00 	andl   $0x0,-0x750(%ebp)
4235ff:	8d 46 ff             	lea    -0x1(%esi),%eax
423602:	3b c3                	cmp    %ebx,%eax
423604:	73 05                	jae    0x42360b
423606:	8b 57 fc             	mov    -0x4(%edi),%edx
423609:	eb 02                	jmp    0x42360d
42360b:	33 d2                	xor    %edx,%edx
42360d:	8b 85 b0 f8 ff ff    	mov    -0x750(%ebp),%eax
423613:	83 ef 04             	sub    $0x4,%edi
423616:	c1 e0 02             	shl    $0x2,%eax
423619:	c1 ea 1e             	shr    $0x1e,%edx
42361c:	33 d0                	xor    %eax,%edx
42361e:	8b 85 ac f8 ff ff    	mov    -0x754(%ebp),%eax
423624:	4e                   	dec    %esi
423625:	89 10                	mov    %edx,(%eax)
423627:	83 e8 04             	sub    $0x4,%eax
42362a:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
423630:	83 fe ff             	cmp    $0xffffffff,%esi
423633:	74 08                	je     0x42363d
423635:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
42363b:	eb ad                	jmp    0x4235ea
42363d:	33 c0                	xor    %eax,%eax
42363f:	38 85 bb f8 ff ff    	cmp    %al,-0x745(%ebp)
423645:	0f 95 c0             	setne  %al
423648:	03 c1                	add    %ecx,%eax
42364a:	2b 8d b4 f8 ff ff    	sub    -0x74c(%ebp),%ecx
423650:	8b f9                	mov    %ecx,%edi
423652:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
423658:	c1 ef 05             	shr    $0x5,%edi
42365b:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423661:	8b f7                	mov    %edi,%esi
423663:	89 8d a8 f8 ff ff    	mov    %ecx,-0x758(%ebp)
423669:	c1 e6 02             	shl    $0x2,%esi
42366c:	56                   	push   %esi
42366d:	6a 00                	push   $0x0
42366f:	50                   	push   %eax
423670:	e8 6b 53 fe ff       	call   0x4089e0
423675:	8b 8d a8 f8 ff ff    	mov    -0x758(%ebp),%ecx
42367b:	33 c0                	xor    %eax,%eax
42367d:	40                   	inc    %eax
42367e:	83 e1 1f             	and    $0x1f,%ecx
423681:	d3 e0                	shl    %cl,%eax
423683:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
42368a:	8d 47 01             	lea    0x1(%edi),%eax
42368d:	e9 40 01 00 00       	jmp    0x4237d2
423692:	8b 84 9d 2c fe ff ff 	mov    -0x1d4(%ebp,%ebx,4),%eax
423699:	83 a5 9c f8 ff ff 00 	andl   $0x0,-0x764(%ebp)
4236a0:	0f bd c0             	bsr    %eax,%eax
4236a3:	74 05                	je     0x4236aa
4236a5:	8d 48 01             	lea    0x1(%eax),%ecx
4236a8:	eb 02                	jmp    0x4236ac
4236aa:	33 c9                	xor    %ecx,%ecx
4236ac:	6a 20                	push   $0x20
4236ae:	58                   	pop    %eax
4236af:	2b c1                	sub    %ecx,%eax
4236b1:	83 f8 01             	cmp    $0x1,%eax
4236b4:	0f 92 c0             	setb   %al
4236b7:	83 fb 73             	cmp    $0x73,%ebx
4236ba:	88 85 bb f8 ff ff    	mov    %al,-0x745(%ebp)
4236c0:	0f 97 c1             	seta   %cl
4236c3:	83 fb 73             	cmp    $0x73,%ebx
4236c6:	75 08                	jne    0x4236d0
4236c8:	84 c0                	test   %al,%al
4236ca:	74 04                	je     0x4236d0
4236cc:	b0 01                	mov    $0x1,%al
4236ce:	eb 02                	jmp    0x4236d2
4236d0:	32 c0                	xor    %al,%al
4236d2:	84 c9                	test   %cl,%cl
4236d4:	0f 85 9b 00 00 00    	jne    0x423775
4236da:	84 c0                	test   %al,%al
4236dc:	0f 85 93 00 00 00    	jne    0x423775
4236e2:	6a 72                	push   $0x72
4236e4:	59                   	pop    %ecx
4236e5:	3b d9                	cmp    %ecx,%ebx
4236e7:	73 02                	jae    0x4236eb
4236e9:	8b cb                	mov    %ebx,%ecx
4236eb:	83 f9 ff             	cmp    $0xffffffff,%ecx
4236ee:	74 69                	je     0x423759
4236f0:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
4236f6:	8b f1                	mov    %ecx,%esi
4236f8:	8d 3c 8f             	lea    (%edi,%ecx,4),%edi
4236fb:	89 bd ac f8 ff ff    	mov    %edi,-0x754(%ebp)
423701:	3b f3                	cmp    %ebx,%esi
423703:	73 0a                	jae    0x42370f
423705:	8b 17                	mov    (%edi),%edx
423707:	89 95 b0 f8 ff ff    	mov    %edx,-0x750(%ebp)
42370d:	eb 07                	jmp    0x423716
42370f:	83 a5 b0 f8 ff ff 00 	andl   $0x0,-0x750(%ebp)
423716:	8d 46 ff             	lea    -0x1(%esi),%eax
423719:	3b c3                	cmp    %ebx,%eax
42371b:	73 05                	jae    0x423722
42371d:	8b 57 fc             	mov    -0x4(%edi),%edx
423720:	eb 02                	jmp    0x423724
423722:	33 d2                	xor    %edx,%edx
423724:	8b 85 b0 f8 ff ff    	mov    -0x750(%ebp),%eax
42372a:	83 ef 04             	sub    $0x4,%edi
42372d:	03 c0                	add    %eax,%eax
42372f:	c1 ea 1f             	shr    $0x1f,%edx
423732:	33 d0                	xor    %eax,%edx
423734:	8b 85 ac f8 ff ff    	mov    -0x754(%ebp),%eax
42373a:	4e                   	dec    %esi
42373b:	89 10                	mov    %edx,(%eax)
42373d:	83 e8 04             	sub    $0x4,%eax
423740:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
423746:	83 fe ff             	cmp    $0xffffffff,%esi
423749:	74 08                	je     0x423753
42374b:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
423751:	eb ae                	jmp    0x423701
423753:	8b b5 b4 f8 ff ff    	mov    -0x74c(%ebp),%esi
423759:	80 bd bb f8 ff ff 00 	cmpb   $0x0,-0x745(%ebp)
423760:	74 0b                	je     0x42376d
423762:	8d 41 01             	lea    0x1(%ecx),%eax
423765:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
42376b:	eb 33                	jmp    0x4237a0
42376d:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
423773:	eb 2b                	jmp    0x4237a0
423775:	83 a5 8c fa ff ff 00 	andl   $0x0,-0x574(%ebp)
42377c:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423782:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
423789:	6a 00                	push   $0x0
42378b:	50                   	push   %eax
42378c:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
423792:	68 cc 01 00 00       	push   $0x1cc
423797:	50                   	push   %eax
423798:	e8 ef 0b 00 00       	call   0x42438c
42379d:	83 c4 10             	add    $0x10,%esp
4237a0:	33 ff                	xor    %edi,%edi
4237a2:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4237a8:	47                   	inc    %edi
4237a9:	2b fe                	sub    %esi,%edi
4237ab:	8b df                	mov    %edi,%ebx
4237ad:	c1 eb 05             	shr    $0x5,%ebx
4237b0:	8b f3                	mov    %ebx,%esi
4237b2:	c1 e6 02             	shl    $0x2,%esi
4237b5:	56                   	push   %esi
4237b6:	6a 00                	push   $0x0
4237b8:	50                   	push   %eax
4237b9:	e8 22 52 fe ff       	call   0x4089e0
4237be:	33 c0                	xor    %eax,%eax
4237c0:	83 e7 1f             	and    $0x1f,%edi
4237c3:	40                   	inc    %eax
4237c4:	8b cf                	mov    %edi,%ecx
4237c6:	d3 e0                	shl    %cl,%eax
4237c8:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
4237cf:	8d 43 01             	lea    0x1(%ebx),%eax
4237d2:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
4237d8:	bb cc 01 00 00       	mov    $0x1cc,%ebx
4237dd:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4237e3:	c1 e0 02             	shl    $0x2,%eax
4237e6:	50                   	push   %eax
4237e7:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4237ed:	50                   	push   %eax
4237ee:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4237f4:	53                   	push   %ebx
4237f5:	50                   	push   %eax
4237f6:	e8 91 0b 00 00       	call   0x42438c
4237fb:	83 c4 1c             	add    $0x1c,%esp
4237fe:	8b 85 94 f8 ff ff    	mov    -0x76c(%ebp),%eax
423804:	33 d2                	xor    %edx,%edx
423806:	6a 0a                	push   $0xa
423808:	59                   	pop    %ecx
423809:	89 8d 8c f8 ff ff    	mov    %ecx,-0x774(%ebp)
42380f:	85 c0                	test   %eax,%eax
423811:	0f 88 63 04 00 00    	js     0x423c7a
423817:	f7 f1                	div    %ecx
423819:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
42381f:	8b ca                	mov    %edx,%ecx
423821:	89 8d 9c f8 ff ff    	mov    %ecx,-0x764(%ebp)
423827:	85 c0                	test   %eax,%eax
423829:	0f 84 71 03 00 00    	je     0x423ba0
42382f:	83 f8 26             	cmp    $0x26,%eax
423832:	76 03                	jbe    0x423837
423834:	6a 26                	push   $0x26
423836:	58                   	pop    %eax
423837:	0f b6 0c 85 36 b8 42 	movzbl 0x42b836(,%eax,4),%ecx
42383e:	00
42383f:	0f b6 34 85 37 b8 42 	movzbl 0x42b837(,%eax,4),%esi
423846:	00
423847:	8b f9                	mov    %ecx,%edi
423849:	89 85 a4 f8 ff ff    	mov    %eax,-0x75c(%ebp)
42384f:	c1 e7 02             	shl    $0x2,%edi
423852:	57                   	push   %edi
423853:	8d 04 31             	lea    (%ecx,%esi,1),%eax
423856:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
42385c:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423862:	6a 00                	push   $0x0
423864:	50                   	push   %eax
423865:	e8 76 51 fe ff       	call   0x4089e0
42386a:	8b c6                	mov    %esi,%eax
42386c:	c1 e0 02             	shl    $0x2,%eax
42386f:	50                   	push   %eax
423870:	8b 85 a4 f8 ff ff    	mov    -0x75c(%ebp),%eax
423876:	0f b7 04 85 34 b8 42 	movzwl 0x42b834(,%eax,4),%eax
42387d:	00
42387e:	8d 04 85 30 af 42 00 	lea    0x42af30(,%eax,4),%eax
423885:	50                   	push   %eax
423886:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
42388c:	03 c7                	add    %edi,%eax
42388e:	50                   	push   %eax
42388f:	e8 cc 4b fe ff       	call   0x408460
423894:	8b 8d 8c fa ff ff    	mov    -0x574(%ebp),%ecx
42389a:	83 c4 18             	add    $0x18,%esp
42389d:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
4238a3:	83 f9 01             	cmp    $0x1,%ecx
4238a6:	77 7a                	ja     0x423922
4238a8:	8b bd 90 fa ff ff    	mov    -0x570(%ebp),%edi
4238ae:	85 ff                	test   %edi,%edi
4238b0:	75 13                	jne    0x4238c5
4238b2:	33 c0                	xor    %eax,%eax
4238b4:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
4238ba:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4238c0:	e9 9f 02 00 00       	jmp    0x423b64
4238c5:	83 ff 01             	cmp    $0x1,%edi
4238c8:	0f 84 ae 02 00 00    	je     0x423b7c
4238ce:	83 bd 5c fc ff ff 00 	cmpl   $0x0,-0x3a4(%ebp)
4238d5:	0f 84 a1 02 00 00    	je     0x423b7c
4238db:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
4238e1:	33 c9                	xor    %ecx,%ecx
4238e3:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
4238e9:	33 f6                	xor    %esi,%esi
4238eb:	8b c7                	mov    %edi,%eax
4238ed:	f7 a4 b5 60 fc ff ff 	mull   -0x3a0(%ebp,%esi,4)
4238f4:	03 c1                	add    %ecx,%eax
4238f6:	89 84 b5 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%esi,4)
4238fd:	83 d2 00             	adc    $0x0,%edx
423900:	46                   	inc    %esi
423901:	8b ca                	mov    %edx,%ecx
423903:	3b b5 a8 f8 ff ff    	cmp    -0x758(%ebp),%esi
423909:	75 e0                	jne    0x4238eb
42390b:	e9 ac 00 00 00       	jmp    0x4239bc
423910:	89 8c 85 60 fc ff ff 	mov    %ecx,-0x3a0(%ebp,%eax,4)
423917:	ff 85 5c fc ff ff    	incl   -0x3a4(%ebp)
42391d:	e9 5a 02 00 00       	jmp    0x423b7c
423922:	83 bd 5c fc ff ff 01 	cmpl   $0x1,-0x3a4(%ebp)
423929:	0f 87 be 00 00 00    	ja     0x4239ed
42392f:	8b bd 60 fc ff ff    	mov    -0x3a0(%ebp),%edi
423935:	8b c1                	mov    %ecx,%eax
423937:	c1 e0 02             	shl    $0x2,%eax
42393a:	50                   	push   %eax
42393b:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423941:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)