45e5a9:	cc                   	int3
45e5aa:	cc                   	int3
45e5ab:	cc                   	int3
45e5ac:	cc                   	int3
45e5ad:	cc                   	int3
45e5ae:	cc                   	int3
45e5af:	cc                   	int3
45e5b0:	55                   	push   %ebp
45e5b1:	8b ec                	mov    %esp,%ebp
45e5b3:	83 ec 0c             	sub    $0xc,%esp
45e5b6:	53                   	push   %ebx
45e5b7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45e5ba:	56                   	push   %esi
45e5bb:	8b 75 08             	mov    0x8(%ebp),%esi
45e5be:	57                   	push   %edi
45e5bf:	3b f3                	cmp    %ebx,%esi
45e5c1:	0f 83 ae 00 00 00    	jae    0x45e675
45e5c7:	0f b6 0e             	movzbl (%esi),%ecx
45e5ca:	8b fe                	mov    %esi,%edi
45e5cc:	46                   	inc    %esi
45e5cd:	89 4d 08             	mov    %ecx,0x8(%ebp)
45e5d0:	84 c9                	test   %cl,%cl
45e5d2:	78 09                	js     0x45e5dd
45e5d4:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
45e5db:	eb 7d                	jmp    0x45e65a
45e5dd:	0f b6 0e             	movzbl (%esi),%ecx
45e5e0:	8d 77 02             	lea    0x2(%edi),%esi
45e5e3:	8b 55 08             	mov    0x8(%ebp),%edx
45e5e6:	8b c1                	mov    %ecx,%eax
45e5e8:	c1 e0 07             	shl    $0x7,%eax
45e5eb:	83 c2 80             	add    $0xffffff80,%edx
45e5ee:	03 d0                	add    %eax,%edx
45e5f0:	33 c0                	xor    %eax,%eax
45e5f2:	89 55 08             	mov    %edx,0x8(%ebp)
45e5f5:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e5f8:	84 c9                	test   %cl,%cl
45e5fa:	78 04                	js     0x45e600
45e5fc:	8b ca                	mov    %edx,%ecx
45e5fe:	eb 57                	jmp    0x45e657
45e600:	89 55 08             	mov    %edx,0x8(%ebp)
45e603:	bb 0e 00 00 00       	mov    $0xe,%ebx
45e608:	0f b6 06             	movzbl (%esi),%eax
45e60b:	8b cb                	mov    %ebx,%ecx
45e60d:	99                   	cltd
45e60e:	89 45 f8             	mov    %eax,-0x8(%ebp)
45e611:	8b fa                	mov    %edx,%edi
45e613:	83 c0 ff             	add    $0xffffffff,%eax
45e616:	83 d2 ff             	adc    $0xffffffff,%edx
45e619:	e8 92 35 17 00       	call   0x5d1bb0
45e61e:	8b 4d 08             	mov    0x8(%ebp),%ecx
45e621:	03 c8                	add    %eax,%ecx
45e623:	8b 45 fc             	mov    -0x4(%ebp),%eax
45e626:	89 4d 08             	mov    %ecx,0x8(%ebp)
45e629:	13 c2                	adc    %edx,%eax
45e62b:	46                   	inc    %esi
45e62c:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e62f:	85 ff                	test   %edi,%edi
45e631:	75 09                	jne    0x45e63c
45e633:	81 7d f8 80 00 00 00 	cmpl   $0x80,-0x8(%ebp)
45e63a:	72 18                	jb     0x45e654
45e63c:	83 c3 07             	add    $0x7,%ebx
45e63f:	83 fb 46             	cmp    $0x46,%ebx
45e642:	72 c4                	jb     0x45e608
45e644:	0f 57 c0             	xorps  %xmm0,%xmm0
45e647:	33 f6                	xor    %esi,%esi
45e649:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
45e64e:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e651:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45e654:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45e657:	89 45 f8             	mov    %eax,-0x8(%ebp)
45e65a:	85 f6                	test   %esi,%esi
45e65c:	74 20                	je     0x45e67e
45e65e:	8d 45 08             	lea    0x8(%ebp),%eax
45e661:	89 4d 08             	mov    %ecx,0x8(%ebp)
45e664:	8b 4d 10             	mov    0x10(%ebp),%ecx
45e667:	50                   	push   %eax
45e668:	e8 b3 e8 ff ff       	call   0x45cf20
45e66d:	3b f3                	cmp    %ebx,%esi
45e66f:	0f 82 52 ff ff ff    	jb     0x45e5c7
45e675:	5f                   	pop    %edi
45e676:	8b c6                	mov    %esi,%eax
45e678:	5e                   	pop    %esi
45e679:	5b                   	pop    %ebx
45e67a:	8b e5                	mov    %ebp,%esp
45e67c:	5d                   	pop    %ebp
45e67d:	c3                   	ret
45e67e:	5f                   	pop    %edi
45e67f:	5e                   	pop    %esi
45e680:	33 c0                	xor    %eax,%eax
45e682:	5b                   	pop    %ebx
45e683:	8b e5                	mov    %ebp,%esp
45e685:	5d                   	pop    %ebp
45e686:	c3                   	ret
45e687:	cc                   	int3
45e688:	cc                   	int3
45e689:	cc                   	int3
45e68a:	cc                   	int3
45e68b:	cc                   	int3
45e68c:	cc                   	int3
45e68d:	cc                   	int3
45e68e:	cc                   	int3
45e68f:	cc                   	int3
45e690:	55                   	push   %ebp
45e691:	8b ec                	mov    %esp,%ebp
45e693:	83 ec 10             	sub    $0x10,%esp
45e696:	53                   	push   %ebx
45e697:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45e69a:	56                   	push   %esi
45e69b:	8b 75 08             	mov    0x8(%ebp),%esi
45e69e:	57                   	push   %edi
45e69f:	3b f3                	cmp    %ebx,%esi
45e6a1:	73 46                	jae    0x45e6e9
45e6a3:	8d 45 f8             	lea    -0x8(%ebp),%eax
45e6a6:	50                   	push   %eax
45e6a7:	56                   	push   %esi
45e6a8:	e8 d3 24 ff ff       	call   0x450b80
45e6ad:	8b f0                	mov    %eax,%esi
45e6af:	83 c4 08             	add    $0x8,%esp
45e6b2:	33 c0                	xor    %eax,%eax
45e6b4:	85 f6                	test   %esi,%esi
45e6b6:	74 33                	je     0x45e6eb
45e6b8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45e6bb:	8b d1                	mov    %ecx,%edx
45e6bd:	8b 7d fc             	mov    -0x4(%ebp),%edi
45e6c0:	83 e1 01             	and    $0x1,%ecx
45e6c3:	0f ac fa 01          	shrd   $0x1,%edi,%edx
45e6c7:	d1 ef                	shr    $1,%edi
45e6c9:	f7 d9                	neg    %ecx
45e6cb:	13 c0                	adc    %eax,%eax
45e6cd:	33 d1                	xor    %ecx,%edx
45e6cf:	8b 4d 10             	mov    0x10(%ebp),%ecx
45e6d2:	f7 d8                	neg    %eax
45e6d4:	33 f8                	xor    %eax,%edi
45e6d6:	89 55 f0             	mov    %edx,-0x10(%ebp)
45e6d9:	8d 45 f0             	lea    -0x10(%ebp),%eax
45e6dc:	89 7d f4             	mov    %edi,-0xc(%ebp)
45e6df:	50                   	push   %eax
45e6e0:	e8 4b e9 ff ff       	call   0x45d030
45e6e5:	3b f3                	cmp    %ebx,%esi
45e6e7:	72 ba                	jb     0x45e6a3
45e6e9:	8b c6                	mov    %esi,%eax
45e6eb:	5f                   	pop    %edi
45e6ec:	5e                   	pop    %esi
45e6ed:	5b                   	pop    %ebx
45e6ee:	8b e5                	mov    %ebp,%esp
45e6f0:	5d                   	pop    %ebp
45e6f1:	c3                   	ret
45e6f2:	cc                   	int3
45e6f3:	cc                   	int3
45e6f4:	cc                   	int3
45e6f5:	cc                   	int3
45e6f6:	cc                   	int3
45e6f7:	cc                   	int3
45e6f8:	cc                   	int3
45e6f9:	cc                   	int3
45e6fa:	cc                   	int3
45e6fb:	cc                   	int3
45e6fc:	cc                   	int3
45e6fd:	cc                   	int3
45e6fe:	cc                   	int3
45e6ff:	cc                   	int3
45e700:	55                   	push   %ebp
45e701:	8b ec                	mov    %esp,%ebp
45e703:	83 ec 08             	sub    $0x8,%esp
45e706:	56                   	push   %esi
45e707:	8b 75 08             	mov    0x8(%ebp),%esi
45e70a:	57                   	push   %edi
45e70b:	8b 7d 0c             	mov    0xc(%ebp),%edi
45e70e:	3b f7                	cmp    %edi,%esi
45e710:	73 34                	jae    0x45e746
45e712:	8d 45 f8             	lea    -0x8(%ebp),%eax
45e715:	50                   	push   %eax
45e716:	56                   	push   %esi
45e717:	e8 64 24 ff ff       	call   0x450b80
45e71c:	8b f0                	mov    %eax,%esi
45e71e:	83 c4 08             	add    $0x8,%esp
45e721:	85 f6                	test   %esi,%esi
45e723:	74 29                	je     0x45e74e
45e725:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45e728:	0b 4d fc             	or     -0x4(%ebp),%ecx
45e72b:	74 04                	je     0x45e731
45e72d:	b0 01                	mov    $0x1,%al
45e72f:	eb 02                	jmp    0x45e733
45e731:	32 c0                	xor    %al,%al
45e733:	8b 4d 10             	mov    0x10(%ebp),%ecx
45e736:	88 45 0b             	mov    %al,0xb(%ebp)
45e739:	8d 45 0b             	lea    0xb(%ebp),%eax
45e73c:	50                   	push   %eax
45e73d:	e8 5e e9 ff ff       	call   0x45d0a0
45e742:	3b f7                	cmp    %edi,%esi
45e744:	72 cc                	jb     0x45e712
45e746:	5f                   	pop    %edi
45e747:	8b c6                	mov    %esi,%eax
45e749:	5e                   	pop    %esi
45e74a:	8b e5                	mov    %ebp,%esp
45e74c:	5d                   	pop    %ebp
45e74d:	c3                   	ret
45e74e:	5f                   	pop    %edi
45e74f:	33 c0                	xor    %eax,%eax
45e751:	5e                   	pop    %esi
45e752:	8b e5                	mov    %ebp,%esp
45e754:	5d                   	pop    %ebp
45e755:	c3                   	ret
45e756:	cc                   	int3
45e757:	cc                   	int3
45e758:	cc                   	int3
45e759:	cc                   	int3
45e75a:	cc                   	int3
45e75b:	cc                   	int3
45e75c:	cc                   	int3
45e75d:	cc                   	int3
45e75e:	cc                   	int3
45e75f:	cc                   	int3
45e760:	55                   	push   %ebp
45e761:	8b ec                	mov    %esp,%ebp
45e763:	83 ec 28             	sub    $0x28,%esp
45e766:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45e76b:	33 c5                	xor    %ebp,%eax
45e76d:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e770:	8b 45 0c             	mov    0xc(%ebp),%eax
45e773:	53                   	push   %ebx
45e774:	56                   	push   %esi
45e775:	8b 75 08             	mov    0x8(%ebp),%esi
45e778:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e77b:	8d 45 dc             	lea    -0x24(%ebp),%eax
45e77e:	57                   	push   %edi
45e77f:	8b 7d 10             	mov    0x10(%ebp),%edi
45e782:	50                   	push   %eax
45e783:	e8 58 10 00 00       	call   0x45f7e0
45e788:	8b 5d dc             	mov    -0x24(%ebp),%ebx
45e78b:	83 c4 04             	add    $0x4,%esp
45e78e:	8b c8                	mov    %eax,%ecx
45e790:	89 4d d8             	mov    %ecx,-0x28(%ebp)
45e793:	85 db                	test   %ebx,%ebx
45e795:	0f 84 b8 00 00 00    	je     0x45e853
45e79b:	8b 57 04             	mov    0x4(%edi),%edx
45e79e:	8b c2                	mov    %edx,%eax
45e7a0:	2b c3                	sub    %ebx,%eax
45e7a2:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e7a5:	3b c8                	cmp    %eax,%ecx
45e7a7:	7e 79                	jle    0x45e822
45e7a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45e7b0:	56                   	push   %esi
45e7b1:	52                   	push   %edx
45e7b2:	53                   	push   %ebx
45e7b3:	e8 b8 fc ff ff       	call   0x45e470
45e7b8:	8b d8                	mov    %eax,%ebx
45e7ba:	83 c4 0c             	add    $0xc,%esp
45e7bd:	85 db                	test   %ebx,%ebx
45e7bf:	0f 84 8e 00 00 00    	je     0x45e853
45e7c5:	8b 55 d8             	mov    -0x28(%ebp),%edx
45e7c8:	8b ca                	mov    %edx,%ecx
45e7ca:	8b 45 dc             	mov    -0x24(%ebp),%eax
45e7cd:	2b c8                	sub    %eax,%ecx
45e7cf:	2b 5f 04             	sub    0x4(%edi),%ebx
45e7d2:	83 f9 10             	cmp    $0x10,%ecx
45e7d5:	0f 8e 8b 00 00 00    	jle    0x45e866
45e7db:	03 c3                	add    %ebx,%eax
45e7dd:	2b d0                	sub    %eax,%edx
45e7df:	83 7f 10 10          	cmpl   $0x10,0x10(%edi)
45e7e3:	89 55 d8             	mov    %edx,-0x28(%ebp)
45e7e6:	7e 6b                	jle    0x45e853
45e7e8:	6a ff                	push   $0xffffffff
45e7ea:	6a 00                	push   $0x0
45e7ec:	8b cf                	mov    %edi,%ecx
45e7ee:	e8 6d 0a 00 00       	call   0x45f260
45e7f3:	8b 57 04             	mov    0x4(%edi),%edx
45e7f6:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e7f9:	85 c0                	test   %eax,%eax
45e7fb:	74 4d                	je     0x45e84a
45e7fd:	8b c8                	mov    %eax,%ecx
45e7ff:	b8 00 00 00 00       	mov    $0x0,%eax
45e804:	2b ca                	sub    %edx,%ecx
45e806:	01 4f 10             	add    %ecx,0x10(%edi)
45e809:	8b 4d d8             	mov    -0x28(%ebp),%ecx
45e80c:	0f 48 47 10          	cmovs  0x10(%edi),%eax
45e810:	03 c2                	add    %edx,%eax
45e812:	89 07                	mov    %eax,(%edi)
45e814:	8b c2                	mov    %edx,%eax
45e816:	03 5d dc             	add    -0x24(%ebp),%ebx
45e819:	2b c3                	sub    %ebx,%eax
45e81b:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e81e:	3b c8                	cmp    %eax,%ecx
45e820:	7f 8e                	jg     0x45e7b0
45e822:	8d 3c 19             	lea    (%ecx,%ebx,1),%edi
45e825:	56                   	push   %esi
45e826:	57                   	push   %edi
45e827:	53                   	push   %ebx
45e828:	e8 43 fc ff ff       	call   0x45e470
45e82d:	83 c4 0c             	add    $0xc,%esp
45e830:	33 c9                	xor    %ecx,%ecx
45e832:	3b f8                	cmp    %eax,%edi
45e834:	0f 44 c8             	cmove  %eax,%ecx
45e837:	5f                   	pop    %edi
45e838:	5e                   	pop    %esi
45e839:	8b c1                	mov    %ecx,%eax
45e83b:	5b                   	pop    %ebx
45e83c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45e83f:	33 cd                	xor    %ebp,%ecx
45e841:	e8 e0 31 17 00       	call   0x5d1a26
45e846:	8b e5                	mov    %ebp,%esp
45e848:	5d                   	pop    %ebp
45e849:	c3                   	ret
45e84a:	c7 47 3c 01 00 00 00 	movl   $0x1,0x3c(%edi)
45e851:	89 17                	mov    %edx,(%edi)
45e853:	5f                   	pop    %edi
45e854:	5e                   	pop    %esi
45e855:	33 c0                	xor    %eax,%eax
45e857:	5b                   	pop    %ebx
45e858:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45e85b:	33 cd                	xor    %ebp,%ecx
45e85d:	e8 c4 31 17 00       	call   0x5d1a26
45e862:	8b e5                	mov    %ebp,%esp
45e864:	5d                   	pop    %ebp
45e865:	c3                   	ret
45e866:	33 c0                	xor    %eax,%eax
45e868:	0f 57 c0             	xorps  %xmm0,%xmm0
45e86b:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
45e86f:	8b 47 04             	mov    0x4(%edi),%eax
45e872:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
45e877:	56                   	push   %esi
45e878:	0f 10 00             	movups (%eax),%xmm0
45e87b:	8d 45 e0             	lea    -0x20(%ebp),%eax
45e87e:	03 c1                	add    %ecx,%eax
45e880:	50                   	push   %eax
45e881:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e884:	8d 45 e0             	lea    -0x20(%ebp),%eax
45e887:	03 c3                	add    %ebx,%eax
45e889:	50                   	push   %eax
45e88a:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
45e88e:	e8 dd fb ff ff       	call   0x45e470
45e893:	8b c8                	mov    %eax,%ecx
45e895:	83 c4 0c             	add    $0xc,%esp
45e898:	85 c9                	test   %ecx,%ecx
45e89a:	74 b7                	je     0x45e853
45e89c:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
45e89f:	75 b2                	jne    0x45e853
45e8a1:	8b 47 04             	mov    0x4(%edi),%eax
45e8a4:	8d 55 e0             	lea    -0x20(%ebp),%edx
45e8a7:	2b c2                	sub    %edx,%eax
45e8a9:	03 c1                	add    %ecx,%eax
45e8ab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45e8ae:	5f                   	pop    %edi
45e8af:	5e                   	pop    %esi
45e8b0:	33 cd                	xor    %ebp,%ecx
45e8b2:	5b                   	pop    %ebx
45e8b3:	e8 6e 31 17 00       	call   0x5d1a26
45e8b8:	8b e5                	mov    %ebp,%esp
45e8ba:	5d                   	pop    %ebp
45e8bb:	c3                   	ret