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
45195d:	73 05                	jae    0x451964
45195f:	8b 42 fc             	mov    -0x4(%edx),%eax
451962:	eb 02                	jmp    0x451966
451964:	33 c0                	xor    %eax,%eax
451966:	23 85 cc f6 ff ff    	and    -0x934(%ebp),%eax
45196c:	83 ea 04             	sub    $0x4,%edx
45196f:	8b 8d b8 f6 ff ff    	mov    -0x948(%ebp),%ecx
451975:	8b 9d c4 f6 ff ff    	mov    -0x93c(%ebp),%ebx
45197b:	23 9d b4 f6 ff ff    	and    -0x94c(%ebp),%ebx
451981:	d3 e8                	shr    %cl,%eax
451983:	8b 8d c8 f6 ff ff    	mov    -0x938(%ebp),%ecx
451989:	d3 e3                	shl    %cl,%ebx
45198b:	8b 8d d4 f6 ff ff    	mov    -0x92c(%ebp),%ecx
451991:	0b c3                	or     %ebx,%eax
451993:	89 84 8d 90 fa ff ff 	mov    %eax,-0x570(%ebp,%ecx,4)
45199a:	49                   	dec    %ecx
45199b:	4e                   	dec    %esi
45199c:	89 8d d4 f6 ff ff    	mov    %ecx,-0x92c(%ebp)
4519a2:	3b cf                	cmp    %edi,%ecx
4519a4:	74 0e                	je     0x4519b4
4519a6:	8b 9d 8c fa ff ff    	mov    -0x574(%ebp),%ebx
4519ac:	8b 85 dc f6 ff ff    	mov    -0x924(%ebp),%eax
4519b2:	eb 90                	jmp    0x451944
4519b4:	8b 95 d0 f6 ff ff    	mov    -0x930(%ebp),%edx
4519ba:	8b b5 dc f6 ff ff    	mov    -0x924(%ebp),%esi
4519c0:	85 f6                	test   %esi,%esi
4519c2:	74 0f                	je     0x4519d3
4519c4:	33 c0                	xor    %eax,%eax
4519c6:	8d bd 90 fa ff ff    	lea    -0x570(%ebp),%edi
4519cc:	8b ce                	mov    %esi,%ecx
4519ce:	f3 ab                	rep stos %eax,%es:(%edi)
4519d0:	83 cf ff             	or     $0xffffffff,%edi
4519d3:	80 bd c3 f6 ff ff 00 	cmpb   $0x0,-0x93d(%ebp)
4519da:	8d 5a 01             	lea    0x1(%edx),%ebx
4519dd:	8b 8d e0 f6 ff ff    	mov    -0x920(%ebp),%ecx
4519e3:	8b b5 d8 f6 ff ff    	mov    -0x928(%ebp),%esi
4519e9:	75 02                	jne    0x4519ed
4519eb:	8b da                	mov    %edx,%ebx
4519ed:	89 9d 8c fa ff ff    	mov    %ebx,-0x574(%ebp)
4519f3:	eb 3c                	jmp    0x451a31
4519f5:	33 c0                	xor    %eax,%eax
4519f7:	50                   	push   %eax
4519f8:	89 85 d4 f4 ff ff    	mov    %eax,-0xb2c(%ebp)
4519fe:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
451a04:	8d 85 d8 f4 ff ff    	lea    -0xb28(%ebp),%eax
451a0a:	50                   	push   %eax
451a0b:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
451a11:	68 cc 01 00 00       	push   $0x1cc
451a16:	50                   	push   %eax
451a17:	e8 86 1c 00 00       	call   0x4536a2
451a1c:	8b 9d 8c fa ff ff    	mov    -0x574(%ebp),%ebx
451a22:	83 c4 10             	add    $0x10,%esp
451a25:	8b 8d e0 f6 ff ff    	mov    -0x920(%ebp),%ecx
451a2b:	8b b5 d8 f6 ff ff    	mov    -0x928(%ebp),%esi
451a31:	8b 95 b0 f6 ff ff    	mov    -0x950(%ebp),%edx
451a37:	8b 85 bc f6 ff ff    	mov    -0x944(%ebp),%eax
451a3d:	2b d0                	sub    %eax,%edx
451a3f:	89 95 b0 f6 ff ff    	mov    %edx,-0x950(%ebp)
451a45:	85 c0                	test   %eax,%eax
451a47:	74 2b                	je     0x451a74
451a49:	8b c2                	mov    %edx,%eax
451a4b:	3b f0                	cmp    %eax,%esi
451a4d:	76 21                	jbe    0x451a70
451a4f:	ff b5 a8 f6 ff ff    	push   -0x958(%ebp)
451a55:	8b 85 ac f6 ff ff    	mov    -0x954(%ebp),%eax
451a5b:	6a 01                	push   $0x1
451a5d:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
451a64:	50                   	push   %eax
451a65:	ff b5 bc f6 ff ff    	push   -0x944(%ebp)
451a6b:	e9 1a 03 00 00       	jmp    0x451d8a
451a70:	8b d0                	mov    %eax,%edx
451a72:	2b d6                	sub    %esi,%edx
451a74:	3b d9                	cmp    %ecx,%ebx
451a76:	77 39                	ja     0x451ab1
451a78:	72 30                	jb     0x451aaa
451a7a:	8d 4b ff             	lea    -0x1(%ebx),%ecx
451a7d:	3b cf                	cmp    %edi,%ecx
451a7f:	74 30                	je     0x451ab1
451a81:	8b 84 8d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,4),%eax
451a88:	3b 84 8d 60 fc ff ff 	cmp    -0x3a0(%ebp,%ecx,4),%eax
451a8f:	75 05                	jne    0x451a96
451a91:	49                   	dec    %ecx
451a92:	3b cf                	cmp    %edi,%ecx
451a94:	75 eb                	jne    0x451a81
451a96:	3b cf                	cmp    %edi,%ecx
451a98:	74 17                	je     0x451ab1
451a9a:	8b 84 8d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,4),%eax
451aa1:	3b 84 8d 60 fc ff ff 	cmp    -0x3a0(%ebp,%ecx,4),%eax
451aa8:	77 07                	ja     0x451ab1
451aaa:	46                   	inc    %esi
451aab:	89 b5 d8 f6 ff ff    	mov    %esi,-0x928(%ebp)
451ab1:	8b f2                	mov    %edx,%esi
451ab3:	33 c0                	xor    %eax,%eax
451ab5:	83 e2 1f             	and    $0x1f,%edx
451ab8:	c1 ee 05             	shr    $0x5,%esi
451abb:	6a 20                	push   $0x20
451abd:	59                   	pop    %ecx
451abe:	2b ca                	sub    %edx,%ecx
451ac0:	89 95 c8 f6 ff ff    	mov    %edx,-0x938(%ebp)
451ac6:	40                   	inc    %eax
451ac7:	89 b5 dc f6 ff ff    	mov    %esi,-0x924(%ebp)
451acd:	33 d2                	xor    %edx,%edx
451acf:	89 8d b8 f6 ff ff    	mov    %ecx,-0x948(%ebp)
451ad5:	e8 26 e2 fe ff       	call   0x43fd00
451ada:	8b 8c 9d 8c fa ff ff 	mov    -0x574(%ebp,%ebx,4),%ecx
451ae1:	48                   	dec    %eax
451ae2:	0f bd c9             	bsr    %ecx,%ecx
451ae5:	89 85 b4 f6 ff ff    	mov    %eax,-0x94c(%ebp)
451aeb:	f7 d0                	not    %eax
451aed:	89 85 cc f6 ff ff    	mov    %eax,-0x934(%ebp)
451af3:	74 05                	je     0x451afa
451af5:	8d 41 01             	lea    0x1(%ecx),%eax
451af8:	eb 02                	jmp    0x451afc
451afa:	33 c0                	xor    %eax,%eax
451afc:	6a 20                	push   $0x20
451afe:	59                   	pop    %ecx
451aff:	2b c8                	sub    %eax,%ecx
451b01:	8d 14 1e             	lea    (%esi,%ebx,1),%edx
451b04:	39 8d c8 f6 ff ff    	cmp    %ecx,-0x938(%ebp)
451b0a:	89 95 d0 f6 ff ff    	mov    %edx,-0x930(%ebp)
451b10:	0f 97 c0             	seta   %al
451b13:	83 fa 73             	cmp    $0x73,%edx
451b16:	88 85 c3 f6 ff ff    	mov    %al,-0x93d(%ebp)
451b1c:	0f 97 c1             	seta   %cl
451b1f:	83 fa 73             	cmp    $0x73,%edx
451b22:	75 08                	jne    0x451b2c
451b24:	84 c0                	test   %al,%al
451b26:	74 04                	je     0x451b2c
451b28:	b0 01                	mov    $0x1,%al
451b2a:	eb 02                	jmp    0x451b2e
451b2c:	32 c0                	xor    %al,%al
451b2e:	84 c9                	test   %cl,%cl
451b30:	0f 85 e4 00 00 00    	jne    0x451c1a
451b36:	84 c0                	test   %al,%al
451b38:	0f 85 dc 00 00 00    	jne    0x451c1a
451b3e:	83 fa 72             	cmp    $0x72,%edx
451b41:	72 09                	jb     0x451b4c
451b43:	6a 72                	push   $0x72
451b45:	5a                   	pop    %edx
451b46:	89 95 d0 f6 ff ff    	mov    %edx,-0x930(%ebp)
451b4c:	8b ca                	mov    %edx,%ecx
451b4e:	89 8d d4 f6 ff ff    	mov    %ecx,-0x92c(%ebp)
451b54:	3b d7                	cmp    %edi,%edx
451b56:	0f 84 8f 00 00 00    	je     0x451beb
451b5c:	8b 85 dc f6 ff ff    	mov    -0x924(%ebp),%eax
451b62:	8b f2                	mov    %edx,%esi
451b64:	2b f0                	sub    %eax,%esi
451b66:	8d 95 90 fa ff ff    	lea    -0x570(%ebp),%edx
451b6c:	8d 14 b2             	lea    (%edx,%esi,4),%edx
451b6f:	3b c8                	cmp    %eax,%ecx
451b71:	72 6c                	jb     0x451bdf
451b73:	3b f3                	cmp    %ebx,%esi
451b75:	73 04                	jae    0x451b7b
451b77:	8b 02                	mov    (%edx),%eax
451b79:	eb 02                	jmp    0x451b7d
451b7b:	33 c0                	xor    %eax,%eax
451b7d:	89 85 c4 f6 ff ff    	mov    %eax,-0x93c(%ebp)
451b83:	8d 46 ff             	lea    -0x1(%esi),%eax
451b86:	3b c3                	cmp    %ebx,%eax
451b88:	73 05                	jae    0x451b8f
451b8a:	8b 42 fc             	mov    -0x4(%edx),%eax
451b8d:	eb 02                	jmp    0x451b91
451b8f:	33 c0                	xor    %eax,%eax
451b91:	23 85 cc f6 ff ff    	and    -0x934(%ebp),%eax
451b97:	83 ea 04             	sub    $0x4,%edx
451b9a:	8b 8d b8 f6 ff ff    	mov    -0x948(%ebp),%ecx
451ba0:	8b 9d c4 f6 ff ff    	mov    -0x93c(%ebp),%ebx
451ba6:	23 9d b4 f6 ff ff    	and    -0x94c(%ebp),%ebx
451bac:	d3 e8                	shr    %cl,%eax
451bae:	8b 8d c8 f6 ff ff    	mov    -0x938(%ebp),%ecx
451bb4:	d3 e3                	shl    %cl,%ebx
451bb6:	8b 8d d4 f6 ff ff    	mov    -0x92c(%ebp),%ecx
451bbc:	0b c3                	or     %ebx,%eax
451bbe:	89 84 8d 90 fa ff ff 	mov    %eax,-0x570(%ebp,%ecx,4)
451bc5:	49                   	dec    %ecx