43e68f:	75 3b                	jne    0x43e6cc
43e691:	8b 52 fc             	mov    -0x4(%edx),%edx
43e694:	3b d1                	cmp    %ecx,%edx
43e696:	73 34                	jae    0x43e6cc
43e698:	2b ca                	sub    %edx,%ecx
43e69a:	83 f9 04             	cmp    $0x4,%ecx
43e69d:	72 2d                	jb     0x43e6cc
43e69f:	83 f9 23             	cmp    $0x23,%ecx
43e6a2:	77 28                	ja     0x43e6cc
43e6a4:	52                   	push   %edx
43e6a5:	e8 26 1e 0b 00       	call   0x4f04d0
43e6aa:	83 c4 04             	add    $0x4,%esp
43e6ad:	8b c6                	mov    %esi,%eax
43e6af:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43e6b2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43e6b9:	59                   	pop    %ecx
43e6ba:	5f                   	pop    %edi
43e6bb:	5e                   	pop    %esi
43e6bc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43e6bf:	33 cd                	xor    %ebp,%ecx
43e6c1:	e8 14 2e 1a 00       	call   0x5e14da
43e6c6:	8b e5                	mov    %ebp,%esp
43e6c8:	5d                   	pop    %ebp
43e6c9:	c2 1c 00             	ret    $0x1c
43e6cc:	e8 5e e8 1a 00       	call   0x5ecf2f
43e6d1:	cc                   	int3
43e6d2:	cc                   	int3
43e6d3:	cc                   	int3
43e6d4:	cc                   	int3
43e6d5:	cc                   	int3
43e6d6:	cc                   	int3
43e6d7:	cc                   	int3
43e6d8:	cc                   	int3
43e6d9:	cc                   	int3
43e6da:	cc                   	int3
43e6db:	cc                   	int3
43e6dc:	cc                   	int3
43e6dd:	cc                   	int3
43e6de:	cc                   	int3
43e6df:	cc                   	int3
43e6e0:	55                   	push   %ebp
43e6e1:	8b ec                	mov    %esp,%ebp
43e6e3:	6a ff                	push   $0xffffffff
43e6e5:	68 e8 be 64 00       	push   $0x64bee8
43e6ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43e6f0:	50                   	push   %eax
43e6f1:	83 ec 38             	sub    $0x38,%esp
43e6f4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43e6f9:	33 c5                	xor    %ebp,%eax
43e6fb:	89 45 f0             	mov    %eax,-0x10(%ebp)
43e6fe:	56                   	push   %esi
43e6ff:	57                   	push   %edi
43e700:	50                   	push   %eax
43e701:	8d 45 f4             	lea    -0xc(%ebp),%eax
43e704:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43e70a:	89 4d cc             	mov    %ecx,-0x34(%ebp)
43e70d:	8b 45 08             	mov    0x8(%ebp),%eax
43e710:	8b 4d 14             	mov    0x14(%ebp),%ecx
43e713:	89 45 bc             	mov    %eax,-0x44(%ebp)
43e716:	89 4d c0             	mov    %ecx,-0x40(%ebp)
43e719:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
43e720:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
43e727:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
43e72b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43e732:	8b 41 14             	mov    0x14(%ecx),%eax
43e735:	8b 79 18             	mov    0x18(%ecx),%edi
43e738:	25 00 30 00 00       	and    $0x3000,%eax
43e73d:	8b 49 1c             	mov    0x1c(%ecx),%ecx
43e740:	85 c9                	test   %ecx,%ecx
43e742:	7f 1b                	jg     0x43e75f
43e744:	7c 04                	jl     0x43e74a
43e746:	85 ff                	test   %edi,%edi
43e748:	75 15                	jne    0x43e75f
43e74a:	3d 00 20 00 00       	cmp    $0x2000,%eax
43e74f:	74 0e                	je     0x43e75f
43e751:	bf 06 00 00 00       	mov    $0x6,%edi
43e756:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
43e75d:	eb 03                	jmp    0x43e762
43e75f:	89 4d c8             	mov    %ecx,-0x38(%ebp)
43e762:	8b f7                	mov    %edi,%esi
43e764:	3d 00 20 00 00       	cmp    $0x2000,%eax
43e769:	75 50                	jne    0x43e7bb
43e76b:	f2 0f 10 4d 1c       	movsd  0x1c(%ebp),%xmm1
43e770:	0f 28 c1             	movaps %xmm1,%xmm0
43e773:	0f 54 05 d0 59 6e 00 	andps  0x6e59d0,%xmm0
43e77a:	66 0f 2f 05 c0 59 6e 	comisd 0x6e59c0,%xmm0
43e781:	00
43e782:	76 37                	jbe    0x43e7bb
43e784:	8d 45 c8             	lea    -0x38(%ebp),%eax
43e787:	50                   	push   %eax
43e788:	83 ec 08             	sub    $0x8,%esp
43e78b:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
43e790:	e8 21 7e 1b 00       	call   0x5f65b6
43e795:	8b 45 c8             	mov    -0x38(%ebp),%eax
43e798:	83 c4 0c             	add    $0xc,%esp
43e79b:	99                   	cltd
43e79c:	dd d8                	fstp   %st(0)
43e79e:	33 c2                	xor    %edx,%eax
43e7a0:	2b c2                	sub    %edx,%eax
43e7a2:	69 c8 97 75 00 00    	imul   $0x7597,%eax,%ecx
43e7a8:	b8 89 b5 f8 14       	mov    $0x14f8b589,%eax
43e7ad:	f7 e9                	imul   %ecx
43e7af:	c1 fa 0d             	sar    $0xd,%edx
43e7b2:	8b c2                	mov    %edx,%eax
43e7b4:	c1 e8 1f             	shr    $0x1f,%eax
43e7b7:	03 c2                	add    %edx,%eax
43e7b9:	03 f0                	add    %eax,%esi
43e7bb:	8d 46 32             	lea    0x32(%esi),%eax
43e7be:	50                   	push   %eax
43e7bf:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43e7c2:	e8 59 e4 ff ff       	call   0x43cc20
43e7c7:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
43e7cb:	8d 75 d0             	lea    -0x30(%ebp),%esi
43e7ce:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
43e7d3:	8d 45 e8             	lea    -0x18(%ebp),%eax
43e7d6:	0f 43 75 d0          	cmovae -0x30(%ebp),%esi
43e7da:	83 ec 08             	sub    $0x8,%esp
43e7dd:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
43e7e2:	57                   	push   %edi
43e7e3:	8b 7d c0             	mov    -0x40(%ebp),%edi
43e7e6:	ff 77 14             	push   0x14(%edi)
43e7e9:	6a 00                	push   $0x0
43e7eb:	50                   	push   %eax
43e7ec:	ff 75 cc             	push   -0x34(%ebp)
43e7ef:	e8 dc 19 00 00       	call   0x4401d0
43e7f4:	83 c4 10             	add    $0x10,%esp
43e7f7:	50                   	push   %eax
43e7f8:	ff 75 e0             	push   -0x20(%ebp)
43e7fb:	56                   	push   %esi
43e7fc:	e8 4f ad ff ff       	call   0x439550
43e801:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
43e805:	8d 4d d0             	lea    -0x30(%ebp),%ecx
43e808:	8b 75 bc             	mov    -0x44(%ebp),%esi
43e80b:	0f 43 4d d0          	cmovae -0x30(%ebp),%ecx
43e80f:	50                   	push   %eax
43e810:	51                   	push   %ecx
43e811:	ff 75 18             	push   0x18(%ebp)
43e814:	57                   	push   %edi
43e815:	ff 75 10             	push   0x10(%ebp)
43e818:	ff 75 0c             	push   0xc(%ebp)
43e81b:	56                   	push   %esi
43e81c:	ff 75 cc             	push   -0x34(%ebp)
43e81f:	e8 dc 14 00 00       	call   0x43fd00
43e824:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43e827:	83 c4 38             	add    $0x38,%esp
43e82a:	83 f8 10             	cmp    $0x10,%eax
43e82d:	72 2e                	jb     0x43e85d
43e82f:	8b 55 d0             	mov    -0x30(%ebp),%edx
43e832:	40                   	inc    %eax
43e833:	8b ca                	mov    %edx,%ecx
43e835:	3d 00 10 00 00       	cmp    $0x1000,%eax
43e83a:	72 18                	jb     0x43e854
43e83c:	f6 c1 1f             	test   $0x1f,%cl
43e83f:	75 3b                	jne    0x43e87c
43e841:	8b 52 fc             	mov    -0x4(%edx),%edx
43e844:	3b d1                	cmp    %ecx,%edx
43e846:	73 34                	jae    0x43e87c
43e848:	2b ca                	sub    %edx,%ecx
43e84a:	83 f9 04             	cmp    $0x4,%ecx
43e84d:	72 2d                	jb     0x43e87c
43e84f:	83 f9 23             	cmp    $0x23,%ecx
43e852:	77 28                	ja     0x43e87c
43e854:	52                   	push   %edx
43e855:	e8 76 1c 0b 00       	call   0x4f04d0
43e85a:	83 c4 04             	add    $0x4,%esp
43e85d:	8b c6                	mov    %esi,%eax
43e85f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43e862:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43e869:	59                   	pop    %ecx
43e86a:	5f                   	pop    %edi
43e86b:	5e                   	pop    %esi
43e86c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43e86f:	33 cd                	xor    %ebp,%ecx
43e871:	e8 64 2c 1a 00       	call   0x5e14da
43e876:	8b e5                	mov    %ebp,%esp
43e878:	5d                   	pop    %ebp
43e879:	c2 1c 00             	ret    $0x1c
43e87c:	e8 ae e6 1a 00       	call   0x5ecf2f
43e881:	cc                   	int3
43e882:	cc                   	int3
43e883:	cc                   	int3
43e884:	cc                   	int3
43e885:	cc                   	int3
43e886:	cc                   	int3
43e887:	cc                   	int3
43e888:	cc                   	int3
43e889:	cc                   	int3
43e88a:	cc                   	int3
43e88b:	cc                   	int3
43e88c:	cc                   	int3
43e88d:	cc                   	int3
43e88e:	cc                   	int3
43e88f:	cc                   	int3
43e890:	55                   	push   %ebp
43e891:	8b ec                	mov    %esp,%ebp
43e893:	83 e4 f8             	and    $0xfffffff8,%esp
43e896:	83 ec 5c             	sub    $0x5c,%esp
43e899:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43e89e:	33 c4                	xor    %esp,%eax
43e8a0:	89 44 24 58          	mov    %eax,0x58(%esp)
43e8a4:	0f b6 44 24 0d       	movzbl 0xd(%esp),%eax
43e8a9:	53                   	push   %ebx
43e8aa:	56                   	push   %esi
43e8ab:	8b 75 14             	mov    0x14(%ebp),%esi
43e8ae:	89 4c 24 10          	mov    %ecx,0x10(%esp)
43e8b2:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43e8b6:	c7 44 24 0c 2b 00 00 	movl   $0x2b,0xc(%esp)
43e8bd:	00
43e8be:	8b 4e 14             	mov    0x14(%esi),%ecx
43e8c1:	8b d1                	mov    %ecx,%edx
43e8c3:	83 e2 20             	and    $0x20,%edx
43e8c6:	c6 44 24 14 25       	movb   $0x25,0x14(%esp)
43e8cb:	57                   	push   %edi
43e8cc:	0f 45 44 24 10       	cmovne 0x10(%esp),%eax
43e8d1:	85 d2                	test   %edx,%edx
43e8d3:	8b 7d 08             	mov    0x8(%ebp),%edi
43e8d6:	8d 54 24 1a          	lea    0x1a(%esp),%edx
43e8da:	88 44 24 19          	mov    %al,0x19(%esp)
43e8de:	8d 44 24 19          	lea    0x19(%esp),%eax
43e8e2:	0f 45 c2             	cmovne %edx,%eax
43e8e5:	f6 c1 08             	test   $0x8,%cl
43e8e8:	74 04                	je     0x43e8ee
43e8ea:	c6 00 23             	movb   $0x23,(%eax)
43e8ed:	40                   	inc    %eax
43e8ee:	8b d1                	mov    %ecx,%edx
43e8f0:	66 c7 00 49 36       	movw   $0x3649,(%eax)
43e8f5:	81 e2 00 0e 00 00    	and    $0xe00,%edx
43e8fb:	c6 40 02 34          	movb   $0x34,0x2(%eax)
43e8ff:	81 fa 00 04 00 00    	cmp    $0x400,%edx
43e905:	75 04                	jne    0x43e90b
43e907:	b1 6f                	mov    $0x6f,%cl
43e909:	eb 17                	jmp    0x43e922
43e90b:	81 fa 00 08 00 00    	cmp    $0x800,%edx
43e911:	74 04                	je     0x43e917
43e913:	b1 75                	mov    $0x75,%cl
43e915:	eb 0b                	jmp    0x43e922
43e917:	c0 e1 03             	shl    $0x3,%cl
43e91a:	f6 d1                	not    %cl
43e91c:	80 e1 20             	and    $0x20,%cl
43e91f:	80 c9 58             	or     $0x58,%cl
43e922:	ff 75 20             	push   0x20(%ebp)
43e925:	88 48 03             	mov    %cl,0x3(%eax)
43e928:	ff 75 1c             	push   0x1c(%ebp)
43e92b:	c6 40 04 00          	movb   $0x0,0x4(%eax)
43e92f:	8d 44 24 20          	lea    0x20(%esp),%eax
43e933:	50                   	push   %eax
43e934:	8d 44 24 2c          	lea    0x2c(%esp),%eax
43e938:	6a 40                	push   $0x40
43e93a:	50                   	push   %eax
43e93b:	e8 10 ac ff ff       	call   0x439550
43e940:	83 c4 14             	add    $0x14,%esp
43e943:	50                   	push   %eax
43e944:	8d 44 24 24          	lea    0x24(%esp),%eax
43e948:	50                   	push   %eax
43e949:	ff 75 18             	push   0x18(%ebp)
43e94c:	56                   	push   %esi
43e94d:	ff 75 10             	push   0x10(%ebp)
43e950:	ff 75 0c             	push   0xc(%ebp)
43e953:	57                   	push   %edi
43e954:	53                   	push   %ebx
43e955:	e8 26 0f 00 00       	call   0x43f880
43e95a:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
43e961:	83 c4 20             	add    $0x20,%esp
43e964:	8b c7                	mov    %edi,%eax
43e966:	5f                   	pop    %edi
43e967:	5e                   	pop    %esi
43e968:	5b                   	pop    %ebx
43e969:	33 cc                	xor    %esp,%ecx
43e96b:	e8 6a 2b 1a 00       	call   0x5e14da
43e970:	8b e5                	mov    %ebp,%esp
43e972:	5d                   	pop    %ebp
43e973:	c2 1c 00             	ret    $0x1c
43e976:	cc                   	int3
43e977:	cc                   	int3
43e978:	cc                   	int3
43e979:	cc                   	int3
43e97a:	cc                   	int3
43e97b:	cc                   	int3
43e97c:	cc                   	int3
43e97d:	cc                   	int3
43e97e:	cc                   	int3
43e97f:	cc                   	int3
43e980:	55                   	push   %ebp
43e981:	8b ec                	mov    %esp,%ebp
43e983:	83 e4 f8             	and    $0xfffffff8,%esp
43e986:	83 ec 5c             	sub    $0x5c,%esp
43e989:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43e98e:	33 c4                	xor    %esp,%eax
43e990:	89 44 24 58          	mov    %eax,0x58(%esp)
43e994:	0f b6 44 24 0d       	movzbl 0xd(%esp),%eax
43e999:	53                   	push   %ebx
43e99a:	56                   	push   %esi
43e99b:	8b 75 14             	mov    0x14(%ebp),%esi
43e99e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
43e9a2:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43e9a6:	c7 44 24 0c 2b 00 00 	movl   $0x2b,0xc(%esp)
43e9ad:	00
43e9ae:	8b 4e 14             	mov    0x14(%esi),%ecx
43e9b1:	8b d1                	mov    %ecx,%edx
43e9b3:	83 e2 20             	and    $0x20,%edx
43e9b6:	c6 44 24 14 25       	movb   $0x25,0x14(%esp)
43e9bb:	57                   	push   %edi
43e9bc:	0f 45 44 24 10       	cmovne 0x10(%esp),%eax
43e9c1:	85 d2                	test   %edx,%edx
43e9c3:	8b 7d 08             	mov    0x8(%ebp),%edi
43e9c6:	8d 54 24 1a          	lea    0x1a(%esp),%edx
43e9ca:	88 44 24 19          	mov    %al,0x19(%esp)
43e9ce:	8d 44 24 19          	lea    0x19(%esp),%eax
43e9d2:	0f 45 c2             	cmovne %edx,%eax
43e9d5:	f6 c1 08             	test   $0x8,%cl
43e9d8:	74 04                	je     0x43e9de
43e9da:	c6 00 23             	movb   $0x23,(%eax)
43e9dd:	40                   	inc    %eax
43e9de:	8b d1                	mov    %ecx,%edx
43e9e0:	66 c7 00 49 36       	movw   $0x3649,(%eax)
43e9e5:	81 e2 00 0e 00 00    	and    $0xe00,%edx
43e9eb:	c6 40 02 34          	movb   $0x34,0x2(%eax)
43e9ef:	81 fa 00 04 00 00    	cmp    $0x400,%edx
43e9f5:	75 04                	jne    0x43e9fb
43e9f7:	b1 6f                	mov    $0x6f,%cl
43e9f9:	eb 17                	jmp    0x43ea12
43e9fb:	81 fa 00 08 00 00    	cmp    $0x800,%edx
43ea01:	74 04                	je     0x43ea07
43ea03:	b1 64                	mov    $0x64,%cl
43ea05:	eb 0b                	jmp    0x43ea12
43ea07:	c0 e1 03             	shl    $0x3,%cl
43ea0a:	f6 d1                	not    %cl
43ea0c:	80 e1 20             	and    $0x20,%cl
43ea0f:	80 c9 58             	or     $0x58,%cl
43ea12:	ff 75 20             	push   0x20(%ebp)
43ea15:	88 48 03             	mov    %cl,0x3(%eax)
43ea18:	ff 75 1c             	push   0x1c(%ebp)
43ea1b:	c6 40 04 00          	movb   $0x0,0x4(%eax)
43ea1f:	8d 44 24 20          	lea    0x20(%esp),%eax
43ea23:	50                   	push   %eax
43ea24:	8d 44 24 2c          	lea    0x2c(%esp),%eax
43ea28:	6a 40                	push   $0x40
43ea2a:	50                   	push   %eax
43ea2b:	e8 20 ab ff ff       	call   0x439550
43ea30:	83 c4 14             	add    $0x14,%esp
43ea33:	50                   	push   %eax
43ea34:	8d 44 24 24          	lea    0x24(%esp),%eax
43ea38:	50                   	push   %eax
43ea39:	ff 75 18             	push   0x18(%ebp)
43ea3c:	56                   	push   %esi
43ea3d:	ff 75 10             	push   0x10(%ebp)
43ea40:	ff 75 0c             	push   0xc(%ebp)
43ea43:	57                   	push   %edi
43ea44:	53                   	push   %ebx
43ea45:	e8 36 0e 00 00       	call   0x43f880