450794:	0f 87 94 00 00 00    	ja     0x45082e
45079a:	8b bd c0 f8 ff ff    	mov    -0x740(%ebp),%edi
4507a0:	85 ff                	test   %edi,%edi
4507a2:	75 43                	jne    0x4507e7
4507a4:	33 c0                	xor    %eax,%eax
4507a6:	50                   	push   %eax
4507a7:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
4507ad:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
4507b3:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
4507b9:	50                   	push   %eax
4507ba:	68 cc 01 00 00       	push   $0x1cc
4507bf:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4507c5:	50                   	push   %eax
4507c6:	e8 d7 2e 00 00       	call   0x4536a2
4507cb:	83 c4 10             	add    $0x10,%esp
4507ce:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
4507d4:	b0 01                	mov    $0x1,%al
4507d6:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
4507dc:	8b 9d e8 f6 ff ff    	mov    -0x918(%ebp),%ebx
4507e2:	e9 c1 02 00 00       	jmp    0x450aa8
4507e7:	3b f9                	cmp    %ecx,%edi
4507e9:	75 04                	jne    0x4507ef
4507eb:	8a c1                	mov    %cl,%al
4507ed:	eb ed                	jmp    0x4507dc
4507ef:	85 db                	test   %ebx,%ebx
4507f1:	74 f8                	je     0x4507eb
4507f3:	33 c9                	xor    %ecx,%ecx
4507f5:	33 f6                	xor    %esi,%esi
4507f7:	8b c7                	mov    %edi,%eax
4507f9:	f7 a4 b5 30 fe ff ff 	mull   -0x1d0(%ebp,%esi,4)
450800:	03 c1                	add    %ecx,%eax
450802:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
450809:	83 d2 00             	adc    $0x0,%edx
45080c:	46                   	inc    %esi
45080d:	8b ca                	mov    %edx,%ecx
45080f:	3b f3                	cmp    %ebx,%esi
450811:	75 e4                	jne    0x4507f7
450813:	e9 a7 00 00 00       	jmp    0x4508bf
450818:	89 8c 85 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%eax,4)
45081f:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
450825:	43                   	inc    %ebx
450826:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
45082c:	eb a6                	jmp    0x4507d4
45082e:	3b d9                	cmp    %ecx,%ebx
450830:	0f 87 d7 00 00 00    	ja     0x45090d
450836:	8b bd 30 fe ff ff    	mov    -0x1d0(%ebp),%edi
45083c:	bb cc 01 00 00       	mov    $0x1cc,%ebx
450841:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
450847:	c1 e0 02             	shl    $0x2,%eax
45084a:	50                   	push   %eax
45084b:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
450851:	50                   	push   %eax
450852:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
450858:	53                   	push   %ebx
450859:	50                   	push   %eax
45085a:	e8 43 2e 00 00       	call   0x4536a2
45085f:	83 c4 10             	add    $0x10,%esp
450862:	33 c0                	xor    %eax,%eax
450864:	85 ff                	test   %edi,%edi
450866:	75 1a                	jne    0x450882
450868:	50                   	push   %eax
450869:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
45086f:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
450875:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
45087b:	50                   	push   %eax
45087c:	53                   	push   %ebx
45087d:	e9 3d ff ff ff       	jmp    0x4507bf
450882:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
450888:	40                   	inc    %eax
450889:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
45088f:	3b f8                	cmp    %eax,%edi
450891:	0f 84 45 ff ff ff    	je     0x4507dc
450897:	85 db                	test   %ebx,%ebx
450899:	0f 84 3d ff ff ff    	je     0x4507dc
45089f:	33 c9                	xor    %ecx,%ecx
4508a1:	33 f6                	xor    %esi,%esi
4508a3:	8b c7                	mov    %edi,%eax
4508a5:	f7 a4 b5 30 fe ff ff 	mull   -0x1d0(%ebp,%esi,4)
4508ac:	03 c1                	add    %ecx,%eax
4508ae:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
4508b5:	83 d2 00             	adc    $0x0,%edx
4508b8:	46                   	inc    %esi
4508b9:	8b ca                	mov    %edx,%ecx
4508bb:	3b f3                	cmp    %ebx,%esi
4508bd:	75 e4                	jne    0x4508a3
4508bf:	85 c9                	test   %ecx,%ecx
4508c1:	0f 84 07 ff ff ff    	je     0x4507ce
4508c7:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
4508cd:	83 f8 73             	cmp    $0x73,%eax
4508d0:	0f 82 42 ff ff ff    	jb     0x450818
4508d6:	33 db                	xor    %ebx,%ebx
4508d8:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
4508de:	53                   	push   %ebx
4508df:	50                   	push   %eax
4508e0:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4508e6:	89 9d bc f8 ff ff    	mov    %ebx,-0x744(%ebp)
4508ec:	68 cc 01 00 00       	push   $0x1cc
4508f1:	50                   	push   %eax
4508f2:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
4508f8:	e8 a5 2d 00 00       	call   0x4536a2
4508fd:	8a c3                	mov    %bl,%al
4508ff:	83 c4 10             	add    $0x10,%esp
450902:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
450908:	e9 c9 fe ff ff       	jmp    0x4507d6
45090d:	3b c3                	cmp    %ebx,%eax
45090f:	8d 95 c0 f8 ff ff    	lea    -0x740(%ebp),%edx
450915:	0f 92 c1             	setb   %cl
450918:	84 c9                	test   %cl,%cl
45091a:	75 06                	jne    0x450922
45091c:	8d 95 30 fe ff ff    	lea    -0x1d0(%ebp),%edx
450922:	89 95 e4 f6 ff ff    	mov    %edx,-0x91c(%ebp)
450928:	8d 95 30 fe ff ff    	lea    -0x1d0(%ebp),%edx
45092e:	84 c9                	test   %cl,%cl
450930:	75 06                	jne    0x450938
450932:	8d 95 c0 f8 ff ff    	lea    -0x740(%ebp),%edx
450938:	89 95 c8 f6 ff ff    	mov    %edx,-0x938(%ebp)
45093e:	84 c9                	test   %cl,%cl
450940:	74 0a                	je     0x45094c
450942:	8b f8                	mov    %eax,%edi
450944:	89 bd dc f6 ff ff    	mov    %edi,-0x924(%ebp)
45094a:	eb 08                	jmp    0x450954
45094c:	8b fb                	mov    %ebx,%edi
45094e:	89 9d dc f6 ff ff    	mov    %ebx,-0x924(%ebp)
450954:	84 c9                	test   %cl,%cl
450956:	75 02                	jne    0x45095a
450958:	8b d8                	mov    %eax,%ebx
45095a:	33 d2                	xor    %edx,%edx
45095c:	33 f6                	xor    %esi,%esi
45095e:	89 95 5c fc ff ff    	mov    %edx,-0x3a4(%ebp)
450964:	85 ff                	test   %edi,%edi
450966:	0f 84 07 01 00 00    	je     0x450a73
45096c:	8b 85 e4 f6 ff ff    	mov    -0x91c(%ebp),%eax
450972:	8d 8d 60 fc ff ff    	lea    -0x3a0(%ebp),%ecx
450978:	2b c1                	sub    %ecx,%eax
45097a:	89 85 e4 f6 ff ff    	mov    %eax,-0x91c(%ebp)
450980:	8d 04 b0             	lea    (%eax,%esi,4),%eax
450983:	8b 84 05 60 fc ff ff 	mov    -0x3a0(%ebp,%eax,1),%eax
45098a:	89 85 cc f6 ff ff    	mov    %eax,-0x934(%ebp)
450990:	85 c0                	test   %eax,%eax
450992:	75 1d                	jne    0x4509b1
450994:	3b f2                	cmp    %edx,%esi
450996:	0f 85 c8 00 00 00    	jne    0x450a64
45099c:	21 84 b5 60 fc ff ff 	and    %eax,-0x3a0(%ebp,%esi,4)
4509a3:	8d 56 01             	lea    0x1(%esi),%edx
4509a6:	89 95 5c fc ff ff    	mov    %edx,-0x3a4(%ebp)
4509ac:	e9 b3 00 00 00       	jmp    0x450a64
4509b1:	33 c0                	xor    %eax,%eax
4509b3:	33 ff                	xor    %edi,%edi
4509b5:	89 85 d0 f6 ff ff    	mov    %eax,-0x930(%ebp)
4509bb:	8b ce                	mov    %esi,%ecx
4509bd:	85 db                	test   %ebx,%ebx
4509bf:	0f 84 90 00 00 00    	je     0x450a55
4509c5:	83 f9 73             	cmp    $0x73,%ecx
4509c8:	74 53                	je     0x450a1d
4509ca:	3b ca                	cmp    %edx,%ecx
4509cc:	75 17                	jne    0x4509e5
4509ce:	83 a4 8d 60 fc ff ff 	andl   $0x0,-0x3a0(%ebp,%ecx,4)
4509d5:	00
4509d6:	40                   	inc    %eax
4509d7:	03 c6                	add    %esi,%eax
4509d9:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4509df:	8b 85 d0 f6 ff ff    	mov    -0x930(%ebp),%eax
4509e5:	8b 95 c8 f6 ff ff    	mov    -0x938(%ebp),%edx
4509eb:	8b 04 82             	mov    (%edx,%eax,4),%eax
4509ee:	f7 a5 cc f6 ff ff    	mull   -0x934(%ebp)
4509f4:	03 c7                	add    %edi,%eax
4509f6:	83 d2 00             	adc    $0x0,%edx
4509f9:	01 84 8d 60 fc ff ff 	add    %eax,-0x3a0(%ebp,%ecx,4)
450a00:	8b 85 d0 f6 ff ff    	mov    -0x930(%ebp),%eax
450a06:	83 d2 00             	adc    $0x0,%edx
450a09:	40                   	inc    %eax
450a0a:	41                   	inc    %ecx
450a0b:	89 85 d0 f6 ff ff    	mov    %eax,-0x930(%ebp)
450a11:	8b fa                	mov    %edx,%edi
450a13:	8b 95 5c fc ff ff    	mov    -0x3a4(%ebp),%edx
450a19:	3b c3                	cmp    %ebx,%eax
450a1b:	75 a8                	jne    0x4509c5
450a1d:	85 ff                	test   %edi,%edi
450a1f:	74 34                	je     0x450a55
450a21:	83 f9 73             	cmp    $0x73,%ecx
450a24:	0f 84 fc 00 00 00    	je     0x450b26
450a2a:	3b ca                	cmp    %edx,%ecx
450a2c:	75 11                	jne    0x450a3f
450a2e:	83 a4 8d 60 fc ff ff 	andl   $0x0,-0x3a0(%ebp,%ecx,4)
450a35:	00
450a36:	8d 41 01             	lea    0x1(%ecx),%eax
450a39:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
450a3f:	8b c7                	mov    %edi,%eax
450a41:	33 ff                	xor    %edi,%edi
450a43:	01 84 8d 60 fc ff ff 	add    %eax,-0x3a0(%ebp,%ecx,4)
450a4a:	8b 95 5c fc ff ff    	mov    -0x3a4(%ebp),%edx
450a50:	13 ff                	adc    %edi,%edi
450a52:	41                   	inc    %ecx
450a53:	eb c8                	jmp    0x450a1d
450a55:	83 f9 73             	cmp    $0x73,%ecx
450a58:	0f 84 c8 00 00 00    	je     0x450b26
450a5e:	8b bd dc f6 ff ff    	mov    -0x924(%ebp),%edi
450a64:	8b 85 e4 f6 ff ff    	mov    -0x91c(%ebp),%eax
450a6a:	46                   	inc    %esi
450a6b:	3b f7                	cmp    %edi,%esi
450a6d:	0f 85 0d ff ff ff    	jne    0x450980
450a73:	8b c2                	mov    %edx,%eax
450a75:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
450a7b:	c1 e0 02             	shl    $0x2,%eax
450a7e:	50                   	push   %eax
450a7f:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
450a85:	50                   	push   %eax
450a86:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
450a8c:	68 cc 01 00 00       	push   $0x1cc
450a91:	50                   	push   %eax
450a92:	e8 0b 2c 00 00       	call   0x4536a2
450a97:	83 c4 10             	add    $0x10,%esp
450a9a:	b0 01                	mov    $0x1,%al
450a9c:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
450aa2:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
450aa8:	84 c0                	test   %al,%al
450aaa:	0f 84 a7 00 00 00    	je     0x450b57
450ab0:	8b 85 d4 f6 ff ff    	mov    -0x92c(%ebp),%eax
450ab6:	2b 85 bc f6 ff ff    	sub    -0x944(%ebp),%eax
450abc:	89 85 d4 f6 ff ff    	mov    %eax,-0x92c(%ebp)
450ac2:	0f 85 59 fc ff ff    	jne    0x450721
450ac8:	8b 8d b8 f6 ff ff    	mov    -0x948(%ebp),%ecx
450ace:	85 c9                	test   %ecx,%ecx
450ad0:	74 45                	je     0x450b17
450ad2:	8b 3c 8d c4 c7 49 00 	mov    0x49c7c4(,%ecx,4),%edi
450ad9:	85 ff                	test   %edi,%edi
450adb:	0f 85 88 00 00 00    	jne    0x450b69
450ae1:	33 c0                	xor    %eax,%eax
450ae3:	50                   	push   %eax
450ae4:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
450aea:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
450af0:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
450af6:	50                   	push   %eax
450af7:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
450afd:	68 cc 01 00 00       	push   $0x1cc
450b02:	50                   	push   %eax
450b03:	e8 9a 2b 00 00       	call   0x4536a2
450b08:	83 c4 10             	add    $0x10,%esp
450b0b:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
450b11:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
450b17:	85 db                	test   %ebx,%ebx
450b19:	0f 85 ec 00 00 00    	jne    0x450c0b
450b1f:	33 c9                	xor    %ecx,%ecx
450b21:	e9 05 01 00 00       	jmp    0x450c2b
450b26:	33 c0                	xor    %eax,%eax
450b28:	50                   	push   %eax
450b29:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
450b2f:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
450b35:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
450b3b:	50                   	push   %eax
450b3c:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
450b42:	68 cc 01 00 00       	push   $0x1cc
450b47:	50                   	push   %eax
450b48:	e8 55 2b 00 00       	call   0x4536a2
450b4d:	83 c4 10             	add    $0x10,%esp
450b50:	32 c0                	xor    %al,%al
450b52:	e9 45 ff ff ff       	jmp    0x450a9c
450b57:	83 a5 bc f8 ff ff 00 	andl   $0x0,-0x744(%ebp)
450b5e:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
450b65:	6a 00                	push   $0x0
450b67:	eb 64                	jmp    0x450bcd
450b69:	83 ff 01             	cmp    $0x1,%edi
450b6c:	74 a9                	je     0x450b17
450b6e:	85 db                	test   %ebx,%ebx
450b70:	74 ad                	je     0x450b1f
450b72:	33 c9                	xor    %ecx,%ecx
450b74:	33 f6                	xor    %esi,%esi
450b76:	8b c7                	mov    %edi,%eax
450b78:	f7 a4 b5 30 fe ff ff 	mull   -0x1d0(%ebp,%esi,4)
450b7f:	03 c1                	add    %ecx,%eax
450b81:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
450b88:	83 d2 00             	adc    $0x0,%edx
450b8b:	46                   	inc    %esi
450b8c:	8b ca                	mov    %edx,%ecx
450b8e:	3b f3                	cmp    %ebx,%esi
450b90:	75 e4                	jne    0x450b76
450b92:	85 c9                	test   %ecx,%ecx
450b94:	0f 84 71 ff ff ff    	je     0x450b0b
450b9a:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
450ba0:	83 f8 73             	cmp    $0x73,%eax
450ba3:	73 19                	jae    0x450bbe
450ba5:	89 8c 85 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%eax,4)
450bac:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
450bb2:	43                   	inc    %ebx
450bb3:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
450bb9:	e9 53 ff ff ff       	jmp    0x450b11
450bbe:	33 c0                	xor    %eax,%eax
450bc0:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
450bc6:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
450bcc:	50                   	push   %eax
450bcd:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
450bd3:	50                   	push   %eax
450bd4:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
450bda:	68 cc 01 00 00       	push   $0x1cc
450bdf:	50                   	push   %eax
450be0:	e8 bd 2a 00 00       	call   0x4536a2
450be5:	8b 85 ac f6 ff ff    	mov    -0x954(%ebp),%eax
450beb:	83 c4 10             	add    $0x10,%esp
450bee:	ff b5 a8 f6 ff ff    	push   -0x958(%ebp)
450bf4:	0f b6 80 08 03 00 00 	movzbl 0x308(%eax),%eax
450bfb:	50                   	push   %eax
450bfc:	e8 e8 ed ff ff       	call   0x44f9e9
450c01:	59                   	pop    %ecx
450c02:	59                   	pop    %ecx
450c03:	6a 03                	push   $0x3
450c05:	58                   	pop    %eax
450c06:	e9 8e 11 00 00       	jmp    0x451d99
450c0b:	8b 84 9d 2c fe ff ff 	mov    -0x1d4(%ebp,%ebx,4),%eax
450c12:	83 a5 cc f6 ff ff 00 	andl   $0x0,-0x934(%ebp)
450c19:	0f bd c0             	bsr    %eax,%eax
450c1c:	74 03                	je     0x450c21
450c1e:	40                   	inc    %eax
450c1f:	eb 02                	jmp    0x450c23
450c21:	33 c0                	xor    %eax,%eax
450c23:	8d 4b ff             	lea    -0x1(%ebx),%ecx
450c26:	c1 e1 05             	shl    $0x5,%ecx
450c29:	03 c8                	add    %eax,%ecx
450c2b:	8b 85 e0 f6 ff ff    	mov    -0x920(%ebp),%eax
450c31:	89 8d bc f6 ff ff    	mov    %ecx,-0x944(%ebp)
450c37:	3b 8d b0 f6 ff ff    	cmp    -0x950(%ebp),%ecx
450c3d:	0f 83 29 11 00 00    	jae    0x451d6c
450c43:	85 c0                	test   %eax,%eax
450c45:	0f 84 21 11 00 00    	je     0x451d6c
450c4b:	8b bd d8 f6 ff ff    	mov    -0x928(%ebp),%edi
450c51:	33 db                	xor    %ebx,%ebx
450c53:	33 f6                	xor    %esi,%esi
450c55:	89 9d e4 f6 ff ff    	mov    %ebx,-0x91c(%ebp)
450c5b:	33 c9                	xor    %ecx,%ecx
450c5d:	89 9d 8c fa ff ff    	mov    %ebx,-0x574(%ebp)
450c63:	89 b5 dc f6 ff ff    	mov    %esi,-0x924(%ebp)
450c69:	3b bd c4 f6 ff ff    	cmp    -0x93c(%ebp),%edi
450c6f:	0f 84 3d 06 00 00    	je     0x4512b2
450c75:	83 f9 09             	cmp    $0x9,%ecx
450c78:	0f 85 04 01 00 00    	jne    0x450d82
450c7e:	85 db                	test   %ebx,%ebx
450c80:	0f 84 86 00 00 00    	je     0x450d0c
450c86:	33 c9                	xor    %ecx,%ecx
450c88:	be 00 ca 9a 3b       	mov    $0x3b9aca00,%esi
450c8d:	33 ff                	xor    %edi,%edi
450c8f:	8b 84 bd 90 fa ff ff 	mov    -0x570(%ebp,%edi,4),%eax
450c96:	f7 e6                	mul    %esi
450c98:	03 c1                	add    %ecx,%eax
450c9a:	89 84 bd 90 fa ff ff 	mov    %eax,-0x570(%ebp,%edi,4)
450ca1:	83 d2 00             	adc    $0x0,%edx
450ca4:	47                   	inc    %edi
450ca5:	8b ca                	mov    %edx,%ecx
450ca7:	3b fb                	cmp    %ebx,%edi
450ca9:	75 e4                	jne    0x450c8f
450cab:	8b b5 dc f6 ff ff    	mov    -0x924(%ebp),%esi
450cb1:	85 c9                	test   %ecx,%ecx