451448:	e8 55 22 00 00       	call   0x4536a2
45144d:	83 c4 10             	add    $0x10,%esp
451450:	33 c0                	xor    %eax,%eax
451452:	85 f6                	test   %esi,%esi
451454:	75 1a                	jne    0x451470
451456:	50                   	push   %eax
451457:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
45145d:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
451463:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
451469:	50                   	push   %eax
45146a:	57                   	push   %edi
45146b:	e9 23 ff ff ff       	jmp    0x451393
451470:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
451476:	40                   	inc    %eax
451477:	89 8d e0 f6 ff ff    	mov    %ecx,-0x920(%ebp)
45147d:	3b f0                	cmp    %eax,%esi
45147f:	0f 84 2b ff ff ff    	je     0x4513b0
451485:	85 c9                	test   %ecx,%ecx
451487:	0f 84 23 ff ff ff    	je     0x4513b0
45148d:	8b 9d cc f6 ff ff    	mov    -0x934(%ebp),%ebx
451493:	33 f6                	xor    %esi,%esi
451495:	33 ff                	xor    %edi,%edi
451497:	8b c3                	mov    %ebx,%eax
451499:	f7 a4 bd 60 fc ff ff 	mull   -0x3a0(%ebp,%edi,4)
4514a0:	03 c6                	add    %esi,%eax
4514a2:	89 84 bd 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%edi,4)
4514a9:	83 d2 00             	adc    $0x0,%edx
4514ac:	47                   	inc    %edi
4514ad:	8b f2                	mov    %edx,%esi
4514af:	3b f9                	cmp    %ecx,%edi
4514b1:	75 e4                	jne    0x451497
4514b3:	8b 9d e4 f6 ff ff    	mov    -0x91c(%ebp),%ebx
4514b9:	85 f6                	test   %esi,%esi
4514bb:	0f 84 e1 fe ff ff    	je     0x4513a2
4514c1:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
4514c7:	83 f8 73             	cmp    $0x73,%eax
4514ca:	0f 82 2a ff ff ff    	jb     0x4513fa
4514d0:	33 c0                	xor    %eax,%eax
4514d2:	50                   	push   %eax
4514d3:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
4514d9:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4514df:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
4514e5:	50                   	push   %eax
4514e6:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4514ec:	68 cc 01 00 00       	push   $0x1cc
4514f1:	50                   	push   %eax
4514f2:	e8 ab 21 00 00       	call   0x4536a2
4514f7:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
4514fd:	83 c4 10             	add    $0x10,%esp
451500:	32 c0                	xor    %al,%al
451502:	e9 a3 fe ff ff       	jmp    0x4513aa
451507:	3b c1                	cmp    %ecx,%eax
451509:	8d b5 c0 f8 ff ff    	lea    -0x740(%ebp),%esi
45150f:	0f 92 c2             	setb   %dl
451512:	84 d2                	test   %dl,%dl
451514:	75 79                	jne    0x45158f
451516:	8d b5 60 fc ff ff    	lea    -0x3a0(%ebp),%esi
45151c:	8d bd c0 f8 ff ff    	lea    -0x740(%ebp),%edi
451522:	89 bd c4 f6 ff ff    	mov    %edi,-0x93c(%ebp)
451528:	89 85 d4 f6 ff ff    	mov    %eax,-0x92c(%ebp)
45152e:	84 d2                	test   %dl,%dl
451530:	75 08                	jne    0x45153a
451532:	89 8d d4 f6 ff ff    	mov    %ecx,-0x92c(%ebp)
451538:	8b c8                	mov    %eax,%ecx
45153a:	33 d2                	xor    %edx,%edx
45153c:	33 ff                	xor    %edi,%edi
45153e:	89 95 ec f6 ff ff    	mov    %edx,-0x914(%ebp)
451544:	39 95 d4 f6 ff ff    	cmp    %edx,-0x92c(%ebp)
45154a:	0f 84 25 01 00 00    	je     0x451675
451550:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
451556:	2b f0                	sub    %eax,%esi
451558:	89 b5 b8 f6 ff ff    	mov    %esi,-0x948(%ebp)
45155e:	8d 04 be             	lea    (%esi,%edi,4),%eax
451561:	8b 84 05 f0 f6 ff ff 	mov    -0x910(%ebp,%eax,1),%eax
451568:	89 85 cc f6 ff ff    	mov    %eax,-0x934(%ebp)
45156e:	85 c0                	test   %eax,%eax
451570:	75 25                	jne    0x451597
451572:	3b fa                	cmp    %edx,%edi
451574:	0f 85 ee 00 00 00    	jne    0x451668
45157a:	21 84 bd f0 f6 ff ff 	and    %eax,-0x910(%ebp,%edi,4)
451581:	8d 57 01             	lea    0x1(%edi),%edx
451584:	89 95 ec f6 ff ff    	mov    %edx,-0x914(%ebp)
45158a:	e9 d9 00 00 00       	jmp    0x451668
45158f:	8d bd 60 fc ff ff    	lea    -0x3a0(%ebp),%edi
451595:	eb 8b                	jmp    0x451522
451597:	83 a5 d8 f6 ff ff 00 	andl   $0x0,-0x928(%ebp)
45159e:	33 c0                	xor    %eax,%eax
4515a0:	89 85 dc f6 ff ff    	mov    %eax,-0x924(%ebp)
4515a6:	8b f7                	mov    %edi,%esi
4515a8:	85 c9                	test   %ecx,%ecx
4515aa:	0f 84 a9 00 00 00    	je     0x451659
4515b0:	83 fe 73             	cmp    $0x73,%esi
4515b3:	74 5b                	je     0x451610
4515b5:	3b f2                	cmp    %edx,%esi
4515b7:	75 17                	jne    0x4515d0
4515b9:	83 a4 b5 f0 f6 ff ff 	andl   $0x0,-0x910(%ebp,%esi,4)
4515c0:	00
4515c1:	40                   	inc    %eax
4515c2:	03 c7                	add    %edi,%eax
4515c4:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
4515ca:	8b 85 dc f6 ff ff    	mov    -0x924(%ebp),%eax
4515d0:	8b 95 c4 f6 ff ff    	mov    -0x93c(%ebp),%edx
4515d6:	8b 04 82             	mov    (%edx,%eax,4),%eax
4515d9:	f7 a5 cc f6 ff ff    	mull   -0x934(%ebp)
4515df:	03 85 d8 f6 ff ff    	add    -0x928(%ebp),%eax
4515e5:	83 d2 00             	adc    $0x0,%edx
4515e8:	01 84 b5 f0 f6 ff ff 	add    %eax,-0x910(%ebp,%esi,4)
4515ef:	8b 85 dc f6 ff ff    	mov    -0x924(%ebp),%eax
4515f5:	83 d2 00             	adc    $0x0,%edx
4515f8:	40                   	inc    %eax
4515f9:	46                   	inc    %esi
4515fa:	89 95 d8 f6 ff ff    	mov    %edx,-0x928(%ebp)
451600:	8b 95 ec f6 ff ff    	mov    -0x914(%ebp),%edx
451606:	89 85 dc f6 ff ff    	mov    %eax,-0x924(%ebp)
45160c:	3b c1                	cmp    %ecx,%eax
45160e:	75 a0                	jne    0x4515b0
451610:	83 bd d8 f6 ff ff 00 	cmpl   $0x0,-0x928(%ebp)
451617:	74 40                	je     0x451659
451619:	83 fe 73             	cmp    $0x73,%esi
45161c:	0f 84 00 01 00 00    	je     0x451722
451622:	3b f2                	cmp    %edx,%esi
451624:	75 11                	jne    0x451637
451626:	83 a4 b5 f0 f6 ff ff 	andl   $0x0,-0x910(%ebp,%esi,4)
45162d:	00
45162e:	8d 46 01             	lea    0x1(%esi),%eax
451631:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
451637:	8b 85 d8 f6 ff ff    	mov    -0x928(%ebp),%eax
45163d:	33 d2                	xor    %edx,%edx
45163f:	01 84 b5 f0 f6 ff ff 	add    %eax,-0x910(%ebp,%esi,4)
451646:	13 d2                	adc    %edx,%edx
451648:	46                   	inc    %esi
451649:	89 95 d8 f6 ff ff    	mov    %edx,-0x928(%ebp)
45164f:	85 d2                	test   %edx,%edx
451651:	8b 95 ec f6 ff ff    	mov    -0x914(%ebp),%edx
451657:	75 c0                	jne    0x451619
451659:	83 fe 73             	cmp    $0x73,%esi
45165c:	0f 84 c0 00 00 00    	je     0x451722
451662:	8b b5 b8 f6 ff ff    	mov    -0x948(%ebp),%esi
451668:	47                   	inc    %edi
451669:	3b bd d4 f6 ff ff    	cmp    -0x92c(%ebp),%edi
45166f:	0f 85 e9 fe ff ff    	jne    0x45155e
451675:	8b c2                	mov    %edx,%eax
451677:	89 95 5c fc ff ff    	mov    %edx,-0x3a4(%ebp)
45167d:	c1 e0 02             	shl    $0x2,%eax
451680:	50                   	push   %eax
451681:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
451687:	50                   	push   %eax
451688:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
45168e:	68 cc 01 00 00       	push   $0x1cc
451693:	50                   	push   %eax
451694:	e8 09 20 00 00       	call   0x4536a2
451699:	83 c4 10             	add    $0x10,%esp
45169c:	b0 01                	mov    $0x1,%al
45169e:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
4516a4:	89 8d e0 f6 ff ff    	mov    %ecx,-0x920(%ebp)
4516aa:	84 c0                	test   %al,%al
4516ac:	0f 84 a1 00 00 00    	je     0x451753
4516b2:	8b 85 c8 f6 ff ff    	mov    -0x938(%ebp),%eax
4516b8:	2b 85 d0 f6 ff ff    	sub    -0x930(%ebp),%eax
4516be:	89 85 c8 f6 ff ff    	mov    %eax,-0x938(%ebp)
4516c4:	0f 85 2c fc ff ff    	jne    0x4512f6
4516ca:	8b 95 b4 f6 ff ff    	mov    -0x94c(%ebp),%edx
4516d0:	85 d2                	test   %edx,%edx
4516d2:	0f 84 3d 01 00 00    	je     0x451815
4516d8:	8b 04 95 c4 c7 49 00 	mov    0x49c7c4(,%edx,4),%eax
4516df:	89 85 cc f6 ff ff    	mov    %eax,-0x934(%ebp)
4516e5:	85 c0                	test   %eax,%eax
4516e7:	75 7c                	jne    0x451765
4516e9:	50                   	push   %eax
4516ea:	89 85 d4 f4 ff ff    	mov    %eax,-0xb2c(%ebp)
4516f0:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4516f6:	8d 85 d8 f4 ff ff    	lea    -0xb28(%ebp),%eax
4516fc:	50                   	push   %eax
4516fd:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
451703:	68 cc 01 00 00       	push   $0x1cc
451708:	50                   	push   %eax
451709:	e8 94 1f 00 00       	call   0x4536a2
45170e:	83 c4 10             	add    $0x10,%esp
451711:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
451717:	89 8d e0 f6 ff ff    	mov    %ecx,-0x920(%ebp)
45171d:	e9 f9 00 00 00       	jmp    0x45181b
451722:	33 c0                	xor    %eax,%eax
451724:	50                   	push   %eax
451725:	89 85 d4 f4 ff ff    	mov    %eax,-0xb2c(%ebp)
45172b:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
451731:	8d 85 d8 f4 ff ff    	lea    -0xb28(%ebp),%eax
451737:	50                   	push   %eax
451738:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
45173e:	68 cc 01 00 00       	push   $0x1cc
451743:	50                   	push   %eax
451744:	e8 59 1f 00 00       	call   0x4536a2
451749:	83 c4 10             	add    $0x10,%esp
45174c:	32 c0                	xor    %al,%al
45174e:	e9 4b ff ff ff       	jmp    0x45169e
451753:	83 a5 d4 f4 ff ff 00 	andl   $0x0,-0xb2c(%ebp)
45175a:	83 a5 5c fc ff ff 00 	andl   $0x0,-0x3a4(%ebp)
451761:	6a 00                	push   $0x0
451763:	eb 73                	jmp    0x4517d8
451765:	83 f8 01             	cmp    $0x1,%eax
451768:	0f 84 a7 00 00 00    	je     0x451815
45176e:	85 c9                	test   %ecx,%ecx
451770:	0f 84 9f 00 00 00    	je     0x451815
451776:	33 ff                	xor    %edi,%edi
451778:	33 f6                	xor    %esi,%esi
45177a:	f7 a4 b5 60 fc ff ff 	mull   -0x3a0(%ebp,%esi,4)
451781:	03 c7                	add    %edi,%eax
451783:	89 84 b5 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%esi,4)
45178a:	8b 85 cc f6 ff ff    	mov    -0x934(%ebp),%eax
451790:	83 d2 00             	adc    $0x0,%edx
451793:	46                   	inc    %esi
451794:	8b fa                	mov    %edx,%edi
451796:	3b f1                	cmp    %ecx,%esi
451798:	75 e0                	jne    0x45177a
45179a:	85 ff                	test   %edi,%edi
45179c:	0f 84 6f ff ff ff    	je     0x451711
4517a2:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
4517a8:	83 f8 73             	cmp    $0x73,%eax
4517ab:	73 1c                	jae    0x4517c9
4517ad:	89 bc 85 60 fc ff ff 	mov    %edi,-0x3a0(%ebp,%eax,4)
4517b4:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
4517ba:	41                   	inc    %ecx
4517bb:	89 8d e0 f6 ff ff    	mov    %ecx,-0x920(%ebp)
4517c1:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)
4517c7:	eb 52                	jmp    0x45181b
4517c9:	33 c0                	xor    %eax,%eax
4517cb:	89 85 d4 f4 ff ff    	mov    %eax,-0xb2c(%ebp)
4517d1:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4517d7:	50                   	push   %eax
4517d8:	8d 85 d8 f4 ff ff    	lea    -0xb28(%ebp),%eax
4517de:	50                   	push   %eax
4517df:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4517e5:	68 cc 01 00 00       	push   $0x1cc
4517ea:	50                   	push   %eax
4517eb:	e8 b2 1e 00 00       	call   0x4536a2
4517f0:	8b 85 ac f6 ff ff    	mov    -0x954(%ebp),%eax
4517f6:	83 c4 10             	add    $0x10,%esp
4517f9:	ff b5 a8 f6 ff ff    	push   -0x958(%ebp)
4517ff:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
451806:	50                   	push   %eax
451807:	e8 ed e6 ff ff       	call   0x44fef9
45180c:	59                   	pop    %ecx
45180d:	59                   	pop    %ecx
45180e:	6a 02                	push   $0x2
451810:	e9 f0 f3 ff ff       	jmp    0x450c05
451815:	8b 8d e0 f6 ff ff    	mov    -0x920(%ebp),%ecx
45181b:	85 db                	test   %ebx,%ebx
45181d:	75 04                	jne    0x451823
45181f:	33 f6                	xor    %esi,%esi
451821:	eb 20                	jmp    0x451843
451823:	8b 84 9d 8c fa ff ff 	mov    -0x574(%ebp,%ebx,4),%eax
45182a:	83 a5 cc f6 ff ff 00 	andl   $0x0,-0x934(%ebp)
451831:	0f bd c0             	bsr    %eax,%eax
451834:	74 03                	je     0x451839
451836:	40                   	inc    %eax
451837:	eb 02                	jmp    0x45183b
451839:	33 c0                	xor    %eax,%eax
45183b:	8d 73 ff             	lea    -0x1(%ebx),%esi
45183e:	c1 e6 05             	shl    $0x5,%esi
451841:	03 f0                	add    %eax,%esi
451843:	85 c9                	test   %ecx,%ecx
451845:	75 04                	jne    0x45184b
451847:	33 d2                	xor    %edx,%edx
451849:	eb 20                	jmp    0x45186b
45184b:	8b 84 8d 5c fc ff ff 	mov    -0x3a4(%ebp,%ecx,4),%eax
451852:	83 a5 cc f6 ff ff 00 	andl   $0x0,-0x934(%ebp)
451859:	0f bd c0             	bsr    %eax,%eax
45185c:	74 03                	je     0x451861
45185e:	40                   	inc    %eax
45185f:	eb 02                	jmp    0x451863
451861:	33 c0                	xor    %eax,%eax
451863:	8d 51 ff             	lea    -0x1(%ecx),%edx
451866:	c1 e2 05             	shl    $0x5,%edx
451869:	03 d0                	add    %eax,%edx
45186b:	8b c2                	mov    %edx,%eax
45186d:	2b c6                	sub    %esi,%eax
45186f:	3b f2                	cmp    %edx,%esi
451871:	6a ff                	push   $0xffffffff
451873:	1b f6                	sbb    %esi,%esi
451875:	23 f0                	and    %eax,%esi
451877:	89 b5 d8 f6 ff ff    	mov    %esi,-0x928(%ebp)
45187d:	5f                   	pop    %edi
45187e:	0f 86 ad 01 00 00    	jbe    0x451a31
451884:	8b 85 d8 f6 ff ff    	mov    -0x928(%ebp),%eax
45188a:	33 d2                	xor    %edx,%edx
45188c:	83 e0 1f             	and    $0x1f,%eax
45188f:	c1 ee 05             	shr    $0x5,%esi
451892:	6a 20                	push   $0x20
451894:	59                   	pop    %ecx
451895:	2b c8                	sub    %eax,%ecx
451897:	89 85 c8 f6 ff ff    	mov    %eax,-0x938(%ebp)
45189d:	33 c0                	xor    %eax,%eax
45189f:	89 b5 dc f6 ff ff    	mov    %esi,-0x924(%ebp)
4518a5:	40                   	inc    %eax
4518a6:	89 8d b8 f6 ff ff    	mov    %ecx,-0x948(%ebp)
4518ac:	e8 4f e4 fe ff       	call   0x43fd00
4518b1:	8b 8c 9d 8c fa ff ff 	mov    -0x574(%ebp,%ebx,4),%ecx
4518b8:	48                   	dec    %eax
4518b9:	0f bd c9             	bsr    %ecx,%ecx
4518bc:	89 85 b4 f6 ff ff    	mov    %eax,-0x94c(%ebp)
4518c2:	f7 d0                	not    %eax
4518c4:	89 85 cc f6 ff ff    	mov    %eax,-0x934(%ebp)
4518ca:	74 03                	je     0x4518cf
4518cc:	41                   	inc    %ecx
4518cd:	eb 02                	jmp    0x4518d1
4518cf:	33 c9                	xor    %ecx,%ecx
4518d1:	6a 20                	push   $0x20
4518d3:	58                   	pop    %eax
4518d4:	2b c1                	sub    %ecx,%eax
4518d6:	8d 14 1e             	lea    (%esi,%ebx,1),%edx
4518d9:	39 85 c8 f6 ff ff    	cmp    %eax,-0x938(%ebp)
4518df:	89 95 d0 f6 ff ff    	mov    %edx,-0x930(%ebp)
4518e5:	0f 97 c0             	seta   %al
4518e8:	83 fa 73             	cmp    $0x73,%edx
4518eb:	88 85 c3 f6 ff ff    	mov    %al,-0x93d(%ebp)
4518f1:	0f 97 c1             	seta   %cl
4518f4:	83 fa 73             	cmp    $0x73,%edx
4518f7:	75 08                	jne    0x451901
4518f9:	84 c0                	test   %al,%al
4518fb:	74 04                	je     0x451901
4518fd:	b0 01                	mov    $0x1,%al
4518ff:	eb 02                	jmp    0x451903
451901:	32 c0                	xor    %al,%al
451903:	84 c9                	test   %cl,%cl
451905:	0f 85 ea 00 00 00    	jne    0x4519f5
45190b:	84 c0                	test   %al,%al
45190d:	0f 85 e2 00 00 00    	jne    0x4519f5
451913:	83 fa 72             	cmp    $0x72,%edx
451916:	72 09                	jb     0x451921
451918:	6a 72                	push   $0x72
45191a:	5a                   	pop    %edx
45191b:	89 95 d0 f6 ff ff    	mov    %edx,-0x930(%ebp)
451921:	8b ca                	mov    %edx,%ecx
451923:	89 8d d4 f6 ff ff    	mov    %ecx,-0x92c(%ebp)
451929:	3b d7                	cmp    %edi,%edx
45192b:	0f 84 8f 00 00 00    	je     0x4519c0
451931:	8b 85 dc f6 ff ff    	mov    -0x924(%ebp),%eax
451937:	8b f2                	mov    %edx,%esi
451939:	2b f0                	sub    %eax,%esi
45193b:	8d 95 90 fa ff ff    	lea    -0x570(%ebp),%edx
451941:	8d 14 b2             	lea    (%edx,%esi,4),%edx
451944:	3b c8                	cmp    %eax,%ecx
451946:	72 6c                	jb     0x4519b4
451948:	3b f3                	cmp    %ebx,%esi
45194a:	73 04                	jae    0x451950
45194c:	8b 02                	mov    (%edx),%eax
45194e:	eb 02                	jmp    0x451952
451950:	33 c0                	xor    %eax,%eax
451952:	89 85 c4 f6 ff ff    	mov    %eax,-0x93c(%ebp)
451958:	8d 46 ff             	lea    -0x1(%esi),%eax
45195b:	3b c3                	cmp    %ebx,%eax