41235e:	c1 e0 02             	shl    $0x2,%eax
412361:	50                   	push   %eax
412362:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
412368:	89 b5 cc f6 ff ff    	mov    %esi,-0x934(%ebp)
41236e:	50                   	push   %eax
41236f:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
412375:	57                   	push   %edi
412376:	50                   	push   %eax
412377:	e8 96 1a 00 00       	call   0x413e12
41237c:	83 c4 10             	add    $0x10,%esp
41237f:	33 c0                	xor    %eax,%eax
412381:	85 f6                	test   %esi,%esi
412383:	75 1a                	jne    0x41239f
412385:	50                   	push   %eax
412386:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
41238c:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
412392:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
412398:	50                   	push   %eax
412399:	57                   	push   %edi
41239a:	e9 23 ff ff ff       	jmp    0x4122c2
41239f:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
4123a5:	40                   	inc    %eax
4123a6:	89 8d e0 f6 ff ff    	mov    %ecx,-0x920(%ebp)
4123ac:	3b f0                	cmp    %eax,%esi
4123ae:	0f 84 2b ff ff ff    	je     0x4122df
4123b4:	85 c9                	test   %ecx,%ecx
4123b6:	0f 84 23 ff ff ff    	je     0x4122df
4123bc:	8b 9d cc f6 ff ff    	mov    -0x934(%ebp),%ebx
4123c2:	33 f6                	xor    %esi,%esi
4123c4:	33 ff                	xor    %edi,%edi
4123c6:	8b c3                	mov    %ebx,%eax
4123c8:	f7 a4 bd 60 fc ff ff 	mull   -0x3a0(%ebp,%edi,4)
4123cf:	03 c6                	add    %esi,%eax
4123d1:	89 84 bd 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%edi,4)
4123d8:	83 d2 00             	adc    $0x0,%edx
4123db:	47                   	inc    %edi
4123dc:	8b f2                	mov    %edx,%esi
4123de:	3b f9                	cmp    %ecx,%edi
4123e0:	75 e4                	jne    0x4123c6
4123e2:	8b 9d e4 f6 ff ff    	mov    -0x91c(%ebp),%ebx
4123e8:	85 f6                	test   %esi,%esi
4123ea:	0f 84 e1 fe ff ff    	je     0x4122d1
4123f0:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
4123f6:	83 f8 73             	cmp    $0x73,%eax
4123f9:	0f 82 2a ff ff ff    	jb     0x412329
4123ff:	33 c0                	xor    %eax,%eax
412401:	50                   	push   %eax
412402:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
412408:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
41240e:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
412414:	50                   	push   %eax
412415:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
41241b:	68 cc 01 00 00       	push   $0x1cc
412420:	50                   	push   %eax
412421:	e8 ec 19 00 00       	call   0x413e12
412426:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
41242c:	83 c4 10             	add    $0x10,%esp
41242f:	32 c0                	xor    %al,%al
412431:	e9 a3 fe ff ff       	jmp    0x4122d9
412436:	3b c1                	cmp    %ecx,%eax
412438:	8d b5 c0 f8 ff ff    	lea    -0x740(%ebp),%esi
41243e:	0f 92 c2             	setb   %dl
412441:	84 d2                	test   %dl,%dl
412443:	75 79                	jne    0x4124be
412445:	8d b5 60 fc ff ff    	lea    -0x3a0(%ebp),%esi
41244b:	8d bd c0 f8 ff ff    	lea    -0x740(%ebp),%edi
412451:	89 bd c4 f6 ff ff    	mov    %edi,-0x93c(%ebp)
412457:	89 85 d8 f6 ff ff    	mov    %eax,-0x928(%ebp)
41245d:	84 d2                	test   %dl,%dl
41245f:	75 08                	jne    0x412469
412461:	89 8d d8 f6 ff ff    	mov    %ecx,-0x928(%ebp)
412467:	8b c8                	mov    %eax,%ecx
412469:	33 d2                	xor    %edx,%edx
41246b:	33 ff                	xor    %edi,%edi
41246d:	89 95 ec f6 ff ff    	mov    %edx,-0x914(%ebp)
412473:	39 95 d8 f6 ff ff    	cmp    %edx,-0x928(%ebp)
412479:	0f 84 25 01 00 00    	je     0x4125a4
41247f:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
412485:	2b f0                	sub    %eax,%esi
412487:	89 b5 b8 f6 ff ff    	mov    %esi,-0x948(%ebp)
41248d:	8d 04 be             	lea    (%esi,%edi,4),%eax
412490:	8b 84 05 f0 f6 ff ff 	mov    -0x910(%ebp,%eax,1),%eax
412497:	89 85 cc f6 ff ff    	mov    %eax,-0x934(%ebp)
41249d:	85 c0                	test   %eax,%eax
41249f:	75 25                	jne    0x4124c6
4124a1:	3b fa                	cmp    %edx,%edi
4124a3:	0f 85 ee 00 00 00    	jne    0x412597
4124a9:	21 84 bd f0 f6 ff ff 	and    %eax,-0x910(%ebp,%edi,4)
4124b0:	8d 57 01             	lea    0x1(%edi),%edx
4124b3:	89 95 ec f6 ff ff    	mov    %edx,-0x914(%ebp)
4124b9:	e9 d9 00 00 00       	jmp    0x412597
4124be:	8d bd 60 fc ff ff    	lea    -0x3a0(%ebp),%edi
4124c4:	eb 8b                	jmp    0x412451
4124c6:	83 a5 d4 f6 ff ff 00 	andl   $0x0,-0x92c(%ebp)
4124cd:	33 c0                	xor    %eax,%eax
4124cf:	89 85 dc f6 ff ff    	mov    %eax,-0x924(%ebp)
4124d5:	8b f7                	mov    %edi,%esi
4124d7:	85 c9                	test   %ecx,%ecx
4124d9:	0f 84 a9 00 00 00    	je     0x412588
4124df:	83 fe 73             	cmp    $0x73,%esi
4124e2:	74 5b                	je     0x41253f
4124e4:	3b f2                	cmp    %edx,%esi
4124e6:	75 17                	jne    0x4124ff
4124e8:	83 a4 b5 f0 f6 ff ff 	andl   $0x0,-0x910(%ebp,%esi,4)
4124ef:	00
4124f0:	40                   	inc    %eax
4124f1:	03 c7                	add    %edi,%eax
4124f3:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
4124f9:	8b 85 dc f6 ff ff    	mov    -0x924(%ebp),%eax
4124ff:	8b 95 c4 f6 ff ff    	mov    -0x93c(%ebp),%edx
412505:	8b 04 82             	mov    (%edx,%eax,4),%eax
412508:	f7 a5 cc f6 ff ff    	mull   -0x934(%ebp)
41250e:	03 85 d4 f6 ff ff    	add    -0x92c(%ebp),%eax
412514:	83 d2 00             	adc    $0x0,%edx
412517:	01 84 b5 f0 f6 ff ff 	add    %eax,-0x910(%ebp,%esi,4)
41251e:	8b 85 dc f6 ff ff    	mov    -0x924(%ebp),%eax
412524:	83 d2 00             	adc    $0x0,%edx
412527:	40                   	inc    %eax
412528:	46                   	inc    %esi
412529:	89 95 d4 f6 ff ff    	mov    %edx,-0x92c(%ebp)
41252f:	8b 95 ec f6 ff ff    	mov    -0x914(%ebp),%edx
412535:	89 85 dc f6 ff ff    	mov    %eax,-0x924(%ebp)
41253b:	3b c1                	cmp    %ecx,%eax
41253d:	75 a0                	jne    0x4124df
41253f:	83 bd d4 f6 ff ff 00 	cmpl   $0x0,-0x92c(%ebp)
412546:	74 40                	je     0x412588
412548:	83 fe 73             	cmp    $0x73,%esi
41254b:	0f 84 00 01 00 00    	je     0x412651
412551:	3b f2                	cmp    %edx,%esi
412553:	75 11                	jne    0x412566
412555:	83 a4 b5 f0 f6 ff ff 	andl   $0x0,-0x910(%ebp,%esi,4)
41255c:	00
41255d:	8d 46 01             	lea    0x1(%esi),%eax
412560:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
412566:	8b 85 d4 f6 ff ff    	mov    -0x92c(%ebp),%eax
41256c:	33 d2                	xor    %edx,%edx
41256e:	01 84 b5 f0 f6 ff ff 	add    %eax,-0x910(%ebp,%esi,4)
412575:	13 d2                	adc    %edx,%edx
412577:	46                   	inc    %esi
412578:	89 95 d4 f6 ff ff    	mov    %edx,-0x92c(%ebp)
41257e:	85 d2                	test   %edx,%edx
412580:	8b 95 ec f6 ff ff    	mov    -0x914(%ebp),%edx
412586:	75 c0                	jne    0x412548
412588:	83 fe 73             	cmp    $0x73,%esi
41258b:	0f 84 c0 00 00 00    	je     0x412651
412591:	8b b5 b8 f6 ff ff    	mov    -0x948(%ebp),%esi
412597:	47                   	inc    %edi
412598:	3b bd d8 f6 ff ff    	cmp    -0x928(%ebp),%edi
41259e:	0f 85 e9 fe ff ff    	jne    0x41248d
4125a4:	8b c2                	mov    %edx,%eax
4125a6:	89 95 5c fc ff ff    	mov    %edx,-0x3a4(%ebp)
4125ac:	c1 e0 02             	shl    $0x2,%eax
4125af:	50                   	push   %eax
4125b0:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
4125b6:	50                   	push   %eax
4125b7:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4125bd:	68 cc 01 00 00       	push   $0x1cc
4125c2:	50                   	push   %eax
4125c3:	e8 4a 18 00 00       	call   0x413e12
4125c8:	83 c4 10             	add    $0x10,%esp
4125cb:	b0 01                	mov    $0x1,%al
4125cd:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
4125d3:	89 8d e0 f6 ff ff    	mov    %ecx,-0x920(%ebp)
4125d9:	84 c0                	test   %al,%al
4125db:	0f 84 a1 00 00 00    	je     0x412682
4125e1:	8b 85 c8 f6 ff ff    	mov    -0x938(%ebp),%eax
4125e7:	2b 85 d0 f6 ff ff    	sub    -0x930(%ebp),%eax
4125ed:	89 85 c8 f6 ff ff    	mov    %eax,-0x938(%ebp)
4125f3:	0f 85 2c fc ff ff    	jne    0x412225
4125f9:	8b 95 b4 f6 ff ff    	mov    -0x94c(%ebp),%edx
4125ff:	85 d2                	test   %edx,%edx
412601:	0f 84 3d 01 00 00    	je     0x412744
412607:	8b 04 95 cc b8 42 00 	mov    0x42b8cc(,%edx,4),%eax
41260e:	89 85 cc f6 ff ff    	mov    %eax,-0x934(%ebp)
412614:	85 c0                	test   %eax,%eax
412616:	75 7c                	jne    0x412694
412618:	50                   	push   %eax
412619:	89 85 d4 f4 ff ff    	mov    %eax,-0xb2c(%ebp)
41261f:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
412625:	8d 85 d8 f4 ff ff    	lea    -0xb28(%ebp),%eax
41262b:	50                   	push   %eax
41262c:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
412632:	68 cc 01 00 00       	push   $0x1cc
412637:	50                   	push   %eax
412638:	e8 d5 17 00 00       	call   0x413e12
41263d:	83 c4 10             	add    $0x10,%esp
412640:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
412646:	89 8d e0 f6 ff ff    	mov    %ecx,-0x920(%ebp)
41264c:	e9 f9 00 00 00       	jmp    0x41274a
412651:	33 c0                	xor    %eax,%eax
412653:	50                   	push   %eax
412654:	89 85 d4 f4 ff ff    	mov    %eax,-0xb2c(%ebp)
41265a:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
412660:	8d 85 d8 f4 ff ff    	lea    -0xb28(%ebp),%eax
412666:	50                   	push   %eax
412667:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
41266d:	68 cc 01 00 00       	push   $0x1cc
412672:	50                   	push   %eax
412673:	e8 9a 17 00 00       	call   0x413e12
412678:	83 c4 10             	add    $0x10,%esp
41267b:	32 c0                	xor    %al,%al
41267d:	e9 4b ff ff ff       	jmp    0x4125cd
412682:	83 a5 d4 f4 ff ff 00 	andl   $0x0,-0xb2c(%ebp)
412689:	83 a5 5c fc ff ff 00 	andl   $0x0,-0x3a4(%ebp)
412690:	6a 00                	push   $0x0
412692:	eb 73                	jmp    0x412707
412694:	83 f8 01             	cmp    $0x1,%eax
412697:	0f 84 a7 00 00 00    	je     0x412744
41269d:	85 c9                	test   %ecx,%ecx
41269f:	0f 84 9f 00 00 00    	je     0x412744
4126a5:	33 ff                	xor    %edi,%edi
4126a7:	33 f6                	xor    %esi,%esi
4126a9:	f7 a4 b5 60 fc ff ff 	mull   -0x3a0(%ebp,%esi,4)
4126b0:	03 c7                	add    %edi,%eax
4126b2:	89 84 b5 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%esi,4)
4126b9:	8b 85 cc f6 ff ff    	mov    -0x934(%ebp),%eax
4126bf:	83 d2 00             	adc    $0x0,%edx
4126c2:	46                   	inc    %esi
4126c3:	8b fa                	mov    %edx,%edi
4126c5:	3b f1                	cmp    %ecx,%esi
4126c7:	75 e0                	jne    0x4126a9
4126c9:	85 ff                	test   %edi,%edi
4126cb:	0f 84 6f ff ff ff    	je     0x412640
4126d1:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
4126d7:	83 f8 73             	cmp    $0x73,%eax
4126da:	73 1c                	jae    0x4126f8
4126dc:	89 bc 85 60 fc ff ff 	mov    %edi,-0x3a0(%ebp,%eax,4)
4126e3:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
4126e9:	41                   	inc    %ecx
4126ea:	89 8d e0 f6 ff ff    	mov    %ecx,-0x920(%ebp)
4126f0:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)
4126f6:	eb 52                	jmp    0x41274a
4126f8:	33 c0                	xor    %eax,%eax
4126fa:	89 85 d4 f4 ff ff    	mov    %eax,-0xb2c(%ebp)
412700:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
412706:	50                   	push   %eax
412707:	8d 85 d8 f4 ff ff    	lea    -0xb28(%ebp),%eax
41270d:	50                   	push   %eax
41270e:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
412714:	68 cc 01 00 00       	push   $0x1cc
412719:	50                   	push   %eax
41271a:	e8 f3 16 00 00       	call   0x413e12
41271f:	8b 85 b0 f6 ff ff    	mov    -0x950(%ebp),%eax
412725:	83 c4 10             	add    $0x10,%esp
412728:	ff b5 a8 f6 ff ff    	push   -0x958(%ebp)
41272e:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
412735:	50                   	push   %eax
412736:	e8 a7 e7 ff ff       	call   0x410ee2
41273b:	59                   	pop    %ecx
41273c:	59                   	pop    %ecx
41273d:	6a 02                	push   $0x2
41273f:	e9 f0 f3 ff ff       	jmp    0x411b34
412744:	8b 8d e0 f6 ff ff    	mov    -0x920(%ebp),%ecx
41274a:	85 db                	test   %ebx,%ebx
41274c:	75 04                	jne    0x412752
41274e:	33 f6                	xor    %esi,%esi
412750:	eb 20                	jmp    0x412772
412752:	8b 84 9d 8c fa ff ff 	mov    -0x574(%ebp,%ebx,4),%eax
412759:	83 a5 cc f6 ff ff 00 	andl   $0x0,-0x934(%ebp)
412760:	0f bd c0             	bsr    %eax,%eax
412763:	74 03                	je     0x412768
412765:	40                   	inc    %eax
412766:	eb 02                	jmp    0x41276a
412768:	33 c0                	xor    %eax,%eax
41276a:	8d 73 ff             	lea    -0x1(%ebx),%esi
41276d:	c1 e6 05             	shl    $0x5,%esi
412770:	03 f0                	add    %eax,%esi
412772:	85 c9                	test   %ecx,%ecx
412774:	75 04                	jne    0x41277a
412776:	33 d2                	xor    %edx,%edx
412778:	eb 20                	jmp    0x41279a
41277a:	8b 84 8d 5c fc ff ff 	mov    -0x3a4(%ebp,%ecx,4),%eax
412781:	83 a5 cc f6 ff ff 00 	andl   $0x0,-0x934(%ebp)
412788:	0f bd c0             	bsr    %eax,%eax
41278b:	74 03                	je     0x412790
41278d:	40                   	inc    %eax
41278e:	eb 02                	jmp    0x412792
412790:	33 c0                	xor    %eax,%eax
412792:	8d 51 ff             	lea    -0x1(%ecx),%edx
412795:	c1 e2 05             	shl    $0x5,%edx
412798:	03 d0                	add    %eax,%edx
41279a:	8b c2                	mov    %edx,%eax
41279c:	2b c6                	sub    %esi,%eax
41279e:	3b f2                	cmp    %edx,%esi
4127a0:	6a ff                	push   $0xffffffff
4127a2:	1b f6                	sbb    %esi,%esi
4127a4:	23 f0                	and    %eax,%esi
4127a6:	89 b5 d4 f6 ff ff    	mov    %esi,-0x92c(%ebp)
4127ac:	5f                   	pop    %edi
4127ad:	0f 86 ad 01 00 00    	jbe    0x412960
4127b3:	8b 85 d4 f6 ff ff    	mov    -0x92c(%ebp),%eax
4127b9:	33 d2                	xor    %edx,%edx
4127bb:	83 e0 1f             	and    $0x1f,%eax
4127be:	c1 ee 05             	shr    $0x5,%esi
4127c1:	6a 20                	push   $0x20
4127c3:	59                   	pop    %ecx
4127c4:	2b c8                	sub    %eax,%ecx
4127c6:	89 85 c8 f6 ff ff    	mov    %eax,-0x938(%ebp)
4127cc:	33 c0                	xor    %eax,%eax
4127ce:	89 b5 dc f6 ff ff    	mov    %esi,-0x924(%ebp)
4127d4:	40                   	inc    %eax
4127d5:	89 8d b8 f6 ff ff    	mov    %ecx,-0x948(%ebp)
4127db:	e8 f0 3b 01 00       	call   0x4263d0
4127e0:	8b 8c 9d 8c fa ff ff 	mov    -0x574(%ebp,%ebx,4),%ecx
4127e7:	48                   	dec    %eax
4127e8:	0f bd c9             	bsr    %ecx,%ecx
4127eb:	89 85 b4 f6 ff ff    	mov    %eax,-0x94c(%ebp)
4127f1:	f7 d0                	not    %eax
4127f3:	89 85 cc f6 ff ff    	mov    %eax,-0x934(%ebp)
4127f9:	74 03                	je     0x4127fe
4127fb:	41                   	inc    %ecx
4127fc:	eb 02                	jmp    0x412800
4127fe:	33 c9                	xor    %ecx,%ecx
412800:	6a 20                	push   $0x20
412802:	58                   	pop    %eax
412803:	2b c1                	sub    %ecx,%eax
412805:	8d 14 1e             	lea    (%esi,%ebx,1),%edx
412808:	39 85 c8 f6 ff ff    	cmp    %eax,-0x938(%ebp)
41280e:	89 95 d0 f6 ff ff    	mov    %edx,-0x930(%ebp)
412814:	0f 97 c0             	seta   %al
412817:	83 fa 73             	cmp    $0x73,%edx
41281a:	88 85 c3 f6 ff ff    	mov    %al,-0x93d(%ebp)
412820:	0f 97 c1             	seta   %cl
412823:	83 fa 73             	cmp    $0x73,%edx
412826:	75 08                	jne    0x412830
412828:	84 c0                	test   %al,%al
41282a:	74 04                	je     0x412830
41282c:	b0 01                	mov    $0x1,%al
41282e:	eb 02                	jmp    0x412832
412830:	32 c0                	xor    %al,%al
412832:	84 c9                	test   %cl,%cl
412834:	0f 85 ea 00 00 00    	jne    0x412924
41283a:	84 c0                	test   %al,%al
41283c:	0f 85 e2 00 00 00    	jne    0x412924
412842:	83 fa 72             	cmp    $0x72,%edx
412845:	72 09                	jb     0x412850
412847:	6a 72                	push   $0x72
412849:	5a                   	pop    %edx
41284a:	89 95 d0 f6 ff ff    	mov    %edx,-0x930(%ebp)
412850:	8b ca                	mov    %edx,%ecx
412852:	89 8d d8 f6 ff ff    	mov    %ecx,-0x928(%ebp)
412858:	3b d7                	cmp    %edi,%edx
41285a:	0f 84 8f 00 00 00    	je     0x4128ef
412860:	8b 85 dc f6 ff ff    	mov    -0x924(%ebp),%eax
412866:	8b f2                	mov    %edx,%esi
412868:	2b f0                	sub    %eax,%esi
41286a:	8d 95 90 fa ff ff    	lea    -0x570(%ebp),%edx
412870:	8d 14 b2             	lea    (%edx,%esi,4),%edx
412873:	3b c8                	cmp    %eax,%ecx
412875:	72 6c                	jb     0x4128e3