44b595:	c3                   	ret
44b596:	e9 f8 19 fc ff       	jmp    0x40cf93
44b59b:	33 c0                	xor    %eax,%eax
44b59d:	c3                   	ret
44b59e:	8b 41 0c             	mov    0xc(%ecx),%eax
44b5a1:	83 f8 07             	cmp    $0x7,%eax
44b5a4:	7f 24                	jg     0x44b5ca
44b5a6:	74 1e                	je     0x44b5c6
44b5a8:	48                   	dec    %eax
44b5a9:	74 1b                	je     0x44b5c6
44b5ab:	48                   	dec    %eax
44b5ac:	74 14                	je     0x44b5c2
44b5ae:	48                   	dec    %eax
44b5af:	74 11                	je     0x44b5c2
44b5b1:	48                   	dec    %eax
44b5b2:	75 22                	jne    0x44b5d6
44b5b4:	8b 41 08             	mov    0x8(%ecx),%eax
44b5b7:	8b 40 04             	mov    0x4(%eax),%eax
44b5ba:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
44b5c1:	c3                   	ret
44b5c2:	6a 08                	push   $0x8
44b5c4:	eb 02                	jmp    0x44b5c8
44b5c6:	6a 04                	push   $0x4
44b5c8:	58                   	pop    %eax
44b5c9:	c3                   	ret
44b5ca:	83 e8 09             	sub    $0x9,%eax
44b5cd:	74 15                	je     0x44b5e4
44b5cf:	48                   	dec    %eax
44b5d0:	48                   	dec    %eax
44b5d1:	74 0c                	je     0x44b5df
44b5d3:	48                   	dec    %eax
44b5d4:	74 03                	je     0x44b5d9
44b5d6:	33 c0                	xor    %eax,%eax
44b5d8:	c3                   	ret
44b5d9:	8b 01                	mov    (%ecx),%eax
44b5db:	8b 40 0c             	mov    0xc(%eax),%eax
44b5de:	c3                   	ret
44b5df:	8b 01                	mov    (%ecx),%eax
44b5e1:	8b 00                	mov    (%eax),%eax
44b5e3:	c3                   	ret
44b5e4:	33 c0                	xor    %eax,%eax
44b5e6:	40                   	inc    %eax
44b5e7:	c3                   	ret
44b5e8:	ff 0d e0 f7 4b 00    	decl   0x4bf7e0
44b5ee:	75 05                	jne    0x44b5f5
44b5f0:	e8 d7 00 00 00       	call   0x44b6cc
44b5f5:	a1 10 33 4c 00       	mov    0x4c3310,%eax
44b5fa:	8b 08                	mov    (%eax),%ecx
44b5fc:	83 c0 04             	add    $0x4,%eax
44b5ff:	a3 10 33 4c 00       	mov    %eax,0x4c3310
44b604:	8b c1                	mov    %ecx,%eax
44b606:	c1 e8 0b             	shr    $0xb,%eax
44b609:	33 c8                	xor    %eax,%ecx
44b60b:	8b c1                	mov    %ecx,%eax
44b60d:	25 ad 58 3a ff       	and    $0xff3a58ad,%eax
44b612:	c1 e0 07             	shl    $0x7,%eax
44b615:	33 c8                	xor    %eax,%ecx
44b617:	8b c1                	mov    %ecx,%eax
44b619:	25 8c df ff ff       	and    $0xffffdf8c,%eax
44b61e:	c1 e0 0f             	shl    $0xf,%eax
44b621:	33 c8                	xor    %eax,%ecx
44b623:	8b c1                	mov    %ecx,%eax
44b625:	c1 e8 12             	shr    $0x12,%eax
44b628:	33 c1                	xor    %ecx,%eax
44b62a:	d1 e8                	shr    $1,%eax
44b62c:	c3                   	ret
44b62d:	55                   	push   %ebp
44b62e:	8b ec                	mov    %esp,%ebp
44b630:	51                   	push   %ecx
44b631:	51                   	push   %ecx
44b632:	ff 0d e0 f7 4b 00    	decl   0x4bf7e0
44b638:	75 05                	jne    0x44b63f
44b63a:	e8 8d 00 00 00       	call   0x44b6cc
44b63f:	a1 10 33 4c 00       	mov    0x4c3310,%eax
44b644:	8b 08                	mov    (%eax),%ecx
44b646:	83 c0 04             	add    $0x4,%eax
44b649:	a3 10 33 4c 00       	mov    %eax,0x4c3310
44b64e:	8b c1                	mov    %ecx,%eax
44b650:	c1 e8 0b             	shr    $0xb,%eax
44b653:	33 c8                	xor    %eax,%ecx
44b655:	8b c1                	mov    %ecx,%eax
44b657:	25 ad 58 3a ff       	and    $0xff3a58ad,%eax
44b65c:	c1 e0 07             	shl    $0x7,%eax
44b65f:	33 c8                	xor    %eax,%ecx
44b661:	8b c1                	mov    %ecx,%eax
44b663:	25 8c df ff ff       	and    $0xffffdf8c,%eax
44b668:	c1 e0 0f             	shl    $0xf,%eax
44b66b:	33 c8                	xor    %eax,%ecx
44b66d:	8b c1                	mov    %ecx,%eax
44b66f:	c1 e8 12             	shr    $0x12,%eax
44b672:	33 c1                	xor    %ecx,%eax
44b674:	89 45 fc             	mov    %eax,-0x4(%ebp)
44b677:	db 45 fc             	fildl  -0x4(%ebp)
44b67a:	79 06                	jns    0x44b682
44b67c:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
44b682:	dd 5d f8             	fstpl  -0x8(%ebp)
44b685:	dd 45 f8             	fldl   -0x8(%ebp)
44b688:	dc 0d d0 69 4b 00    	fmull  0x4b69d0
44b68e:	c9                   	leave
44b68f:	c3                   	ret
44b690:	56                   	push   %esi
44b691:	33 f6                	xor    %esi,%esi
44b693:	46                   	inc    %esi
44b694:	89 0d 18 33 4c 00    	mov    %ecx,0x4c3318
44b69a:	8b d6                	mov    %esi,%edx
44b69c:	b9 18 33 4c 00       	mov    $0x4c3318,%ecx
44b6a1:	8b 01                	mov    (%ecx),%eax
44b6a3:	c1 e8 1e             	shr    $0x1e,%eax
44b6a6:	33 01                	xor    (%ecx),%eax
44b6a8:	83 c1 04             	add    $0x4,%ecx
44b6ab:	69 c0 65 89 07 6c    	imul   $0x6c078965,%eax,%eax
44b6b1:	03 c2                	add    %edx,%eax
44b6b3:	89 01                	mov    %eax,(%ecx)
44b6b5:	42                   	inc    %edx
44b6b6:	81 f9 d4 3c 4c 00    	cmp    $0x4c3cd4,%ecx
44b6bc:	7c e3                	jl     0x44b6a1
44b6be:	89 35 e0 f7 4b 00    	mov    %esi,0x4bf7e0
44b6c4:	89 35 04 33 4c 00    	mov    %esi,0x4c3304
44b6ca:	5e                   	pop    %esi
44b6cb:	c3                   	ret
44b6cc:	83 3d 04 33 4c 00 00 	cmpl   $0x0,0x4c3304
44b6d3:	53                   	push   %ebx
44b6d4:	56                   	push   %esi
44b6d5:	57                   	push   %edi
44b6d6:	be 18 33 4c 00       	mov    $0x4c3318,%esi
44b6db:	75 0f                	jne    0x44b6ec
44b6dd:	6a 00                	push   $0x0
44b6df:	e8 66 7d fd ff       	call   0x42344a
44b6e4:	59                   	pop    %ecx
44b6e5:	8b c8                	mov    %eax,%ecx
44b6e7:	e8 a4 ff ff ff       	call   0x44b690
44b6ec:	c7 05 e0 f7 4b 00 70 	movl   $0x270,0x4bf7e0
44b6f3:	02 00 00
44b6f6:	89 35 10 33 4c 00    	mov    %esi,0x4c3310
44b6fc:	bf e3 00 00 00       	mov    $0xe3,%edi
44b701:	bb df b0 08 99       	mov    $0x9908b0df,%ebx
44b706:	8d 56 04             	lea    0x4(%esi),%edx
44b709:	8a 02                	mov    (%edx),%al
44b70b:	24 01                	and    $0x1,%al
44b70d:	0f b6 c8             	movzbl %al,%ecx
44b710:	8b 06                	mov    (%esi),%eax
44b712:	f7 d9                	neg    %ecx
44b714:	1b c9                	sbb    %ecx,%ecx
44b716:	33 02                	xor    (%edx),%eax
44b718:	23 cb                	and    %ebx,%ecx
44b71a:	25 fe ff ff 7f       	and    $0x7ffffffe,%eax
44b71f:	33 06                	xor    (%esi),%eax
44b721:	d1 e8                	shr    $1,%eax
44b723:	33 86 34 06 00 00    	xor    0x634(%esi),%eax
44b729:	33 c1                	xor    %ecx,%eax
44b72b:	89 06                	mov    %eax,(%esi)
44b72d:	8b f2                	mov    %edx,%esi
44b72f:	4f                   	dec    %edi
44b730:	75 d4                	jne    0x44b706
44b732:	bf 8c 01 00 00       	mov    $0x18c,%edi
44b737:	8d 56 04             	lea    0x4(%esi),%edx
44b73a:	8a 02                	mov    (%edx),%al
44b73c:	24 01                	and    $0x1,%al
44b73e:	0f b6 c8             	movzbl %al,%ecx
44b741:	8b 06                	mov    (%esi),%eax
44b743:	f7 d9                	neg    %ecx
44b745:	1b c9                	sbb    %ecx,%ecx
44b747:	33 02                	xor    (%edx),%eax
44b749:	23 cb                	and    %ebx,%ecx
44b74b:	25 fe ff ff 7f       	and    $0x7ffffffe,%eax
44b750:	33 06                	xor    (%esi),%eax
44b752:	d1 e8                	shr    $1,%eax
44b754:	33 86 74 fc ff ff    	xor    -0x38c(%esi),%eax
44b75a:	33 c1                	xor    %ecx,%eax
44b75c:	89 06                	mov    %eax,(%esi)
44b75e:	8d 32                	lea    (%edx),%esi
44b760:	4f                   	dec    %edi
44b761:	75 d4                	jne    0x44b737
44b763:	8b 0d 18 33 4c 00    	mov    0x4c3318,%ecx
44b769:	8a c1                	mov    %cl,%al
44b76b:	24 01                	and    $0x1,%al
44b76d:	0f b6 d0             	movzbl %al,%edx
44b770:	8b 06                	mov    (%esi),%eax
44b772:	f7 da                	neg    %edx
44b774:	1b d2                	sbb    %edx,%edx
44b776:	33 c1                	xor    %ecx,%eax
44b778:	25 fe ff ff 7f       	and    $0x7ffffffe,%eax
44b77d:	33 06                	xor    (%esi),%eax
44b77f:	23 d3                	and    %ebx,%edx
44b781:	d1 e8                	shr    $1,%eax
44b783:	33 86 74 fc ff ff    	xor    -0x38c(%esi),%eax
44b789:	5f                   	pop    %edi
44b78a:	33 c2                	xor    %edx,%eax
44b78c:	89 06                	mov    %eax,(%esi)
44b78e:	5e                   	pop    %esi
44b78f:	5b                   	pop    %ebx
44b790:	c3                   	ret
44b791:	55                   	push   %ebp
44b792:	8b ec                	mov    %esp,%ebp
44b794:	51                   	push   %ecx
44b795:	57                   	push   %edi
44b796:	8b 7d 0c             	mov    0xc(%ebp),%edi
44b799:	89 4d fc             	mov    %ecx,-0x4(%ebp)
44b79c:	85 ff                	test   %edi,%edi
44b79e:	74 40                	je     0x44b7e0
44b7a0:	53                   	push   %ebx
44b7a1:	0f b7 19             	movzwl (%ecx),%ebx
44b7a4:	56                   	push   %esi
44b7a5:	0f b7 71 02          	movzwl 0x2(%ecx),%esi
44b7a9:	7e 2c                	jle    0x44b7d7
44b7ab:	33 c9                	xor    %ecx,%ecx
44b7ad:	8b 45 08             	mov    0x8(%ebp),%eax
44b7b0:	33 d2                	xor    %edx,%edx
44b7b2:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
44b7b6:	03 c3                	add    %ebx,%eax
44b7b8:	bb f1 ff 00 00       	mov    $0xfff1,%ebx
44b7bd:	f7 f3                	div    %ebx
44b7bf:	8b da                	mov    %edx,%ebx
44b7c1:	33 d2                	xor    %edx,%edx
44b7c3:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
44b7c6:	be f1 ff 00 00       	mov    $0xfff1,%esi
44b7cb:	f7 f6                	div    %esi
44b7cd:	41                   	inc    %ecx
44b7ce:	8b f2                	mov    %edx,%esi
44b7d0:	3b cf                	cmp    %edi,%ecx
44b7d2:	7c d9                	jl     0x44b7ad
44b7d4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44b7d7:	c1 e6 10             	shl    $0x10,%esi
44b7da:	03 f3                	add    %ebx,%esi
44b7dc:	89 31                	mov    %esi,(%ecx)
44b7de:	5e                   	pop    %esi
44b7df:	5b                   	pop    %ebx
44b7e0:	5f                   	pop    %edi
44b7e1:	c9                   	leave
44b7e2:	c2 08 00             	ret    $0x8
44b7e5:	53                   	push   %ebx
44b7e6:	56                   	push   %esi
44b7e7:	57                   	push   %edi
44b7e8:	68 00 00 02 00       	push   $0x20000
44b7ed:	8b f9                	mov    %ecx,%edi
44b7ef:	e8 68 81 fd ff       	call   0x42395c
44b7f4:	8b f0                	mov    %eax,%esi
44b7f6:	89 b7 34 04 00 00    	mov    %esi,0x434(%edi)
44b7fc:	c7 04 24 00 00 01 00 	movl   $0x10000,(%esp)
44b803:	e8 54 81 fd ff       	call   0x42395c
44b808:	8b d8                	mov    %eax,%ebx
44b80a:	89 9f 58 04 00 00    	mov    %ebx,0x458(%edi)
44b810:	c7 04 24 00 00 01 00 	movl   $0x10000,(%esp)
44b817:	e8 40 81 fd ff       	call   0x42395c
44b81c:	59                   	pop    %ecx
44b81d:	89 87 54 04 00 00    	mov    %eax,0x454(%edi)
44b823:	85 f6                	test   %esi,%esi
44b825:	74 0c                	je     0x44b833
44b827:	85 db                	test   %ebx,%ebx
44b829:	74 08                	je     0x44b833
44b82b:	85 c0                	test   %eax,%eax
44b82d:	74 04                	je     0x44b833
44b82f:	33 c0                	xor    %eax,%eax
44b831:	eb 0a                	jmp    0x44b83d
44b833:	8b cf                	mov    %edi,%ecx
44b835:	e8 2a 03 00 00       	call   0x44bb64
44b83a:	6a 05                	push   $0x5
44b83c:	58                   	pop    %eax
44b83d:	5f                   	pop    %edi
44b83e:	5e                   	pop    %esi
44b83f:	5b                   	pop    %ebx
44b840:	c3                   	ret
44b841:	55                   	push   %ebp
44b842:	8b ec                	mov    %esp,%ebp
44b844:	56                   	push   %esi
44b845:	8b f1                	mov    %ecx,%esi
44b847:	33 c0                	xor    %eax,%eax
44b849:	57                   	push   %edi
44b84a:	8b 7d 08             	mov    0x8(%ebp),%edi
44b84d:	66 89 86 4a 04 00 00 	mov    %ax,0x44a(%esi)
44b854:	4f                   	dec    %edi
44b855:	83 be 4c 04 00 00 00 	cmpl   $0x0,0x44c(%esi)
44b85c:	75 60                	jne    0x44b8be
44b85e:	83 7e 14 01          	cmpl   $0x1,0x14(%esi)
44b862:	75 29                	jne    0x44b88d
44b864:	8b 4e 0c             	mov    0xc(%esi),%ecx
44b867:	8b 56 04             	mov    0x4(%esi),%edx
44b86a:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
44b86e:	c1 e0 08             	shl    $0x8,%eax
44b871:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
44b877:	41                   	inc    %ecx
44b878:	89 4e 0c             	mov    %ecx,0xc(%esi)
44b87b:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
44b87f:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
44b885:	8d 41 01             	lea    0x1(%ecx),%eax
44b888:	89 46 0c             	mov    %eax,0xc(%esi)
44b88b:	eb 27                	jmp    0x44b8b4
44b88d:	8b ce                	mov    %esi,%ecx
44b88f:	e8 60 04 00 00       	call   0x44bcf4
44b894:	0f b6 c0             	movzbl %al,%eax
44b897:	c1 e0 08             	shl    $0x8,%eax
44b89a:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
44b8a0:	8b ce                	mov    %esi,%ecx
44b8a2:	e8 4d 04 00 00       	call   0x44bcf4
44b8a7:	0f b6 c0             	movzbl %al,%eax
44b8aa:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
44b8b0:	83 46 0c 02          	addl   $0x2,0xc(%esi)
44b8b4:	c7 86 4c 04 00 00 10 	movl   $0x10,0x44c(%esi)
44b8bb:	00 00 00
44b8be:	d1 a6 48 04 00 00    	shll   $1,0x448(%esi)
44b8c4:	ff 8e 4c 04 00 00    	decl   0x44c(%esi)
44b8ca:	8b 86 48 04 00 00    	mov    0x448(%esi),%eax
44b8d0:	85 ff                	test   %edi,%edi
44b8d2:	75 80                	jne    0x44b854
44b8d4:	5f                   	pop    %edi
44b8d5:	c1 e8 10             	shr    $0x10,%eax
44b8d8:	5e                   	pop    %esi
44b8d9:	5d                   	pop    %ebp
44b8da:	c2 04 00             	ret    $0x4
44b8dd:	56                   	push   %esi
44b8de:	57                   	push   %edi
44b8df:	6a 02                	push   $0x2
44b8e1:	8b f9                	mov    %ecx,%edi
44b8e3:	33 f6                	xor    %esi,%esi
44b8e5:	e8 57 ff ff ff       	call   0x44b841
44b8ea:	83 f8 03             	cmp    $0x3,%eax
44b8ed:	75 4b                	jne    0x44b93a
44b8ef:	50                   	push   %eax
44b8f0:	5e                   	pop    %esi
44b8f1:	50                   	push   %eax
44b8f2:	8b cf                	mov    %edi,%ecx
44b8f4:	e8 48 ff ff ff       	call   0x44b841
44b8f9:	83 f8 07             	cmp    $0x7,%eax
44b8fc:	75 3c                	jne    0x44b93a
44b8fe:	6a 0a                	push   $0xa
44b900:	5e                   	pop    %esi
44b901:	6a 05                	push   $0x5
44b903:	8b cf                	mov    %edi,%ecx
44b905:	e8 37 ff ff ff       	call   0x44b841
44b90a:	83 f8 1f             	cmp    $0x1f,%eax
44b90d:	75 2b                	jne    0x44b93a
44b90f:	53                   	push   %ebx
44b910:	6a 29                	push   $0x29
44b912:	5e                   	pop    %esi
44b913:	6a 08                	push   $0x8
44b915:	8b cf                	mov    %edi,%ecx
44b917:	e8 25 ff ff ff       	call   0x44b841
44b91c:	bb ff 00 00 00       	mov    $0xff,%ebx
44b921:	3b c3                	cmp    %ebx,%eax
44b923:	75 14                	jne    0x44b939
44b925:	8d 73 29             	lea    0x29(%ebx),%esi
44b928:	eb 02                	jmp    0x44b92c
44b92a:	03 f3                	add    %ebx,%esi
44b92c:	6a 08                	push   $0x8
44b92e:	8b cf                	mov    %edi,%ecx
44b930:	e8 0c ff ff ff       	call   0x44b841
44b935:	3b c3                	cmp    %ebx,%eax
44b937:	74 f1                	je     0x44b92a
44b939:	5b                   	pop    %ebx
44b93a:	83 c6 03             	add    $0x3,%esi