45e582:	ff d6                	call   *%esi
45e584:	8d 44 24 10          	lea    0x10(%esp),%eax
45e588:	0f 57 c0             	xorps  %xmm0,%xmm0
45e58b:	50                   	push   %eax
45e58c:	51                   	push   %ecx
45e58d:	8d 4b 38             	lea    0x38(%ebx),%ecx
45e590:	66 0f 13 44 24 18    	movlpd %xmm0,0x18(%esp)
45e596:	e8 c5 07 00 00       	call   0x45ed60
45e59b:	8d 44 24 10          	lea    0x10(%esp),%eax
45e59f:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
45e5a6:	00
45e5a7:	50                   	push   %eax
45e5a8:	51                   	push   %ecx
45e5a9:	8d 4b 4c             	lea    0x4c(%ebx),%ecx
45e5ac:	e8 6f 06 00 00       	call   0x45ec20
45e5b1:	5f                   	pop    %edi
45e5b2:	5e                   	pop    %esi
45e5b3:	5b                   	pop    %ebx
45e5b4:	8b e5                	mov    %ebp,%esp
45e5b6:	5d                   	pop    %ebp
45e5b7:	c2 04 00             	ret    $0x4
45e5ba:	cc                   	int3
45e5bb:	cc                   	int3
45e5bc:	cc                   	int3
45e5bd:	cc                   	int3
45e5be:	cc                   	int3
45e5bf:	cc                   	int3
45e5c0:	55                   	push   %ebp
45e5c1:	8b ec                	mov    %esp,%ebp
45e5c3:	83 e4 f8             	and    $0xfffffff8,%esp
45e5c6:	83 ec 0c             	sub    $0xc,%esp
45e5c9:	53                   	push   %ebx
45e5ca:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45e5cd:	56                   	push   %esi
45e5ce:	8b 71 10             	mov    0x10(%ecx),%esi
45e5d1:	57                   	push   %edi
45e5d2:	8d 79 10             	lea    0x10(%ecx),%edi
45e5d5:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45e5d9:	6a 01                	push   $0x1
45e5db:	8b 76 14             	mov    0x14(%esi),%esi
45e5de:	8b ce                	mov    %esi,%ecx
45e5e0:	6a 00                	push   $0x0
45e5e2:	53                   	push   %ebx
45e5e3:	ff 75 08             	push   0x8(%ebp)
45e5e6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45e5ec:	8b cf                	mov    %edi,%ecx
45e5ee:	ff d6                	call   *%esi
45e5f0:	8b 74 24 10          	mov    0x10(%esp),%esi
45e5f4:	8b 56 48             	mov    0x48(%esi),%edx
45e5f7:	03 56 44             	add    0x44(%esi),%edx
45e5fa:	8b 46 40             	mov    0x40(%esi),%eax
45e5fd:	4a                   	dec    %edx
45e5fe:	48                   	dec    %eax
45e5ff:	8b ca                	mov    %edx,%ecx
45e601:	d1 e9                	shr    $1,%ecx
45e603:	83 e2 01             	and    $0x1,%edx
45e606:	23 c8                	and    %eax,%ecx
45e608:	8b 46 3c             	mov    0x3c(%esi),%eax
45e60b:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45e60e:	01 1c d0             	add    %ebx,(%eax,%edx,8)
45e611:	83 54 d0 04 00       	adcl   $0x0,0x4(%eax,%edx,8)
45e616:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
45e61a:	0f 84 98 00 00 00    	je     0x45e6b8
45e620:	8b 46 44             	mov    0x44(%esi),%eax
45e623:	8b 4e 48             	mov    0x48(%esi),%ecx
45e626:	03 c1                	add    %ecx,%eax
45e628:	a8 01                	test   $0x1,%al
45e62a:	75 13                	jne    0x45e63f
45e62c:	8d 41 02             	lea    0x2(%ecx),%eax
45e62f:	d1 e8                	shr    $1,%eax
45e631:	39 46 40             	cmp    %eax,0x40(%esi)
45e634:	77 09                	ja     0x45e63f
45e636:	51                   	push   %ecx
45e637:	8d 4e 38             	lea    0x38(%esi),%ecx
45e63a:	e8 01 0b 00 00       	call   0x45f140
45e63f:	8b 4e 40             	mov    0x40(%esi),%ecx
45e642:	8d 04 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%eax
45e649:	49                   	dec    %ecx
45e64a:	21 46 44             	and    %eax,0x44(%esi)
45e64d:	8b 5e 48             	mov    0x48(%esi),%ebx
45e650:	03 5e 44             	add    0x44(%esi),%ebx
45e653:	8b c3                	mov    %ebx,%eax
45e655:	d1 e8                	shr    $1,%eax
45e657:	23 c8                	and    %eax,%ecx
45e659:	8b 46 3c             	mov    0x3c(%esi),%eax
45e65c:	c1 e1 02             	shl    $0x2,%ecx
45e65f:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45e663:	83 3c 01 00          	cmpl   $0x0,(%ecx,%eax,1)
45e667:	75 16                	jne    0x45e67f
45e669:	6a 10                	push   $0x10
45e66b:	e8 68 b3 00 00       	call   0x4699d8
45e670:	8b 4e 3c             	mov    0x3c(%esi),%ecx
45e673:	83 c4 04             	add    $0x4,%esp
45e676:	8b 54 24 10          	mov    0x10(%esp),%edx
45e67a:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
45e67d:	8b ca                	mov    %edx,%ecx
45e67f:	8b 46 3c             	mov    0x3c(%esi),%eax
45e682:	83 e3 01             	and    $0x1,%ebx
45e685:	8b 04 01             	mov    (%ecx,%eax,1),%eax
45e688:	c7 04 d8 00 00 00 00 	movl   $0x0,(%eax,%ebx,8)
45e68f:	c7 44 d8 04 00 00 00 	movl   $0x0,0x4(%eax,%ebx,8)
45e696:	00
45e697:	ff 46 48             	incl   0x48(%esi)
45e69a:	8b 56 5c             	mov    0x5c(%esi),%edx
45e69d:	03 56 58             	add    0x58(%esi),%edx
45e6a0:	8b 46 54             	mov    0x54(%esi),%eax
45e6a3:	4a                   	dec    %edx
45e6a4:	8b ca                	mov    %edx,%ecx
45e6a6:	48                   	dec    %eax
45e6a7:	c1 e9 02             	shr    $0x2,%ecx
45e6aa:	83 e2 03             	and    $0x3,%edx
45e6ad:	23 c8                	and    %eax,%ecx
45e6af:	8b 46 50             	mov    0x50(%esi),%eax
45e6b2:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45e6b5:	ff 04 90             	incl   (%eax,%edx,4)
45e6b8:	5f                   	pop    %edi
45e6b9:	5e                   	pop    %esi
45e6ba:	33 c0                	xor    %eax,%eax
45e6bc:	5b                   	pop    %ebx
45e6bd:	8b e5                	mov    %ebp,%esp
45e6bf:	5d                   	pop    %ebp
45e6c0:	c2 10 00             	ret    $0x10
45e6c3:	cc                   	int3
45e6c4:	cc                   	int3
45e6c5:	cc                   	int3
45e6c6:	cc                   	int3
45e6c7:	cc                   	int3
45e6c8:	cc                   	int3
45e6c9:	cc                   	int3
45e6ca:	cc                   	int3
45e6cb:	cc                   	int3
45e6cc:	cc                   	int3
45e6cd:	cc                   	int3
45e6ce:	cc                   	int3
45e6cf:	cc                   	int3
45e6d0:	8b 41 58             	mov    0x58(%ecx),%eax
45e6d3:	53                   	push   %ebx
45e6d4:	56                   	push   %esi
45e6d5:	8d 71 4c             	lea    0x4c(%ecx),%esi
45e6d8:	8b 4e 10             	mov    0x10(%esi),%ecx
45e6db:	03 c1                	add    %ecx,%eax
45e6dd:	57                   	push   %edi
45e6de:	a8 03                	test   $0x3,%al
45e6e0:	75 13                	jne    0x45e6f5
45e6e2:	8d 41 04             	lea    0x4(%ecx),%eax
45e6e5:	c1 e8 02             	shr    $0x2,%eax
45e6e8:	39 46 08             	cmp    %eax,0x8(%esi)
45e6eb:	77 08                	ja     0x45e6f5
45e6ed:	51                   	push   %ecx
45e6ee:	8b ce                	mov    %esi,%ecx
45e6f0:	e8 ab 08 00 00       	call   0x45efa0
45e6f5:	8b 4e 08             	mov    0x8(%esi),%ecx
45e6f8:	8d 04 8d ff ff ff ff 	lea    -0x1(,%ecx,4),%eax
45e6ff:	49                   	dec    %ecx
45e700:	21 46 0c             	and    %eax,0xc(%esi)
45e703:	8b 7e 10             	mov    0x10(%esi),%edi
45e706:	03 7e 0c             	add    0xc(%esi),%edi
45e709:	8b c7                	mov    %edi,%eax
45e70b:	c1 e8 02             	shr    $0x2,%eax
45e70e:	23 c8                	and    %eax,%ecx
45e710:	8b 46 04             	mov    0x4(%esi),%eax
45e713:	8d 1c 8d 00 00 00 00 	lea    0x0(,%ecx,4),%ebx
45e71a:	83 3c 03 00          	cmpl   $0x0,(%ebx,%eax,1)
45e71e:	75 10                	jne    0x45e730
45e720:	6a 10                	push   $0x10
45e722:	e8 b1 b2 00 00       	call   0x4699d8
45e727:	8b 4e 04             	mov    0x4(%esi),%ecx
45e72a:	83 c4 04             	add    $0x4,%esp
45e72d:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
45e730:	8b 46 04             	mov    0x4(%esi),%eax
45e733:	83 e7 03             	and    $0x3,%edi
45e736:	8b 04 03             	mov    (%ebx,%eax,1),%eax
45e739:	c7 04 b8 00 00 00 00 	movl   $0x0,(%eax,%edi,4)
45e740:	32 c0                	xor    %al,%al
45e742:	ff 46 10             	incl   0x10(%esi)
45e745:	5f                   	pop    %edi
45e746:	5e                   	pop    %esi
45e747:	5b                   	pop    %ebx
45e748:	c2 04 00             	ret    $0x4
45e74b:	cc                   	int3
45e74c:	cc                   	int3
45e74d:	cc                   	int3
45e74e:	cc                   	int3
45e74f:	cc                   	int3
45e750:	8b 51 40             	mov    0x40(%ecx),%edx
45e753:	56                   	push   %esi
45e754:	8b 71 44             	mov    0x44(%ecx),%esi
45e757:	4a                   	dec    %edx
45e758:	8b c6                	mov    %esi,%eax
45e75a:	83 e6 01             	and    $0x1,%esi
45e75d:	d1 e8                	shr    $1,%eax
45e75f:	23 d0                	and    %eax,%edx
45e761:	8b 41 3c             	mov    0x3c(%ecx),%eax
45e764:	8b 14 90             	mov    (%eax,%edx,4),%edx
45e767:	8b 04 f2             	mov    (%edx,%esi,8),%eax
45e76a:	8b 54 f2 04          	mov    0x4(%edx,%esi,8),%edx
45e76e:	5e                   	pop    %esi
45e76f:	c3                   	ret
45e770:	8b 51 40             	mov    0x40(%ecx),%edx
45e773:	56                   	push   %esi
45e774:	8b 71 44             	mov    0x44(%ecx),%esi
45e777:	4a                   	dec    %edx
45e778:	8b c6                	mov    %esi,%eax
45e77a:	83 e6 01             	and    $0x1,%esi
45e77d:	d1 e8                	shr    $1,%eax
45e77f:	23 d0                	and    %eax,%edx
45e781:	8b 41 3c             	mov    0x3c(%ecx),%eax
45e784:	8b 04 90             	mov    (%eax,%edx,4),%eax
45e787:	83 7c f0 04 00       	cmpl   $0x0,0x4(%eax,%esi,8)
45e78c:	77 0a                	ja     0x45e798
45e78e:	83 3c f0 00          	cmpl   $0x0,(%eax,%esi,8)
45e792:	77 04                	ja     0x45e798
45e794:	32 c0                	xor    %al,%al
45e796:	5e                   	pop    %esi
45e797:	c3                   	ret
45e798:	b0 01                	mov    $0x1,%al
45e79a:	5e                   	pop    %esi
45e79b:	c3                   	ret
45e79c:	cc                   	int3
45e79d:	cc                   	int3
45e79e:	cc                   	int3
45e79f:	cc                   	int3
45e7a0:	8b 41 10             	mov    0x10(%ecx),%eax
45e7a3:	56                   	push   %esi
45e7a4:	57                   	push   %edi
45e7a5:	8d 79 10             	lea    0x10(%ecx),%edi
45e7a8:	8b 70 3c             	mov    0x3c(%eax),%esi
45e7ab:	8b ce                	mov    %esi,%ecx
45e7ad:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45e7b3:	8b cf                	mov    %edi,%ecx
45e7b5:	ff d6                	call   *%esi
45e7b7:	5f                   	pop    %edi
45e7b8:	5e                   	pop    %esi
45e7b9:	c3                   	ret
45e7ba:	cc                   	int3
45e7bb:	cc                   	int3
45e7bc:	cc                   	int3
45e7bd:	cc                   	int3
45e7be:	cc                   	int3
45e7bf:	cc                   	int3
45e7c0:	8b 41 48             	mov    0x48(%ecx),%eax
45e7c3:	48                   	dec    %eax
45e7c4:	c3                   	ret
45e7c5:	cc                   	int3
45e7c6:	cc                   	int3
45e7c7:	cc                   	int3
45e7c8:	cc                   	int3
45e7c9:	cc                   	int3
45e7ca:	cc                   	int3
45e7cb:	cc                   	int3
45e7cc:	cc                   	int3
45e7cd:	cc                   	int3
45e7ce:	cc                   	int3
45e7cf:	cc                   	int3
45e7d0:	8b c1                	mov    %ecx,%eax
45e7d2:	56                   	push   %esi
45e7d3:	8b 70 58             	mov    0x58(%eax),%esi
45e7d6:	8b ce                	mov    %esi,%ecx
45e7d8:	8b 50 54             	mov    0x54(%eax),%edx
45e7db:	83 e6 03             	and    $0x3,%esi
45e7de:	8b 40 50             	mov    0x50(%eax),%eax
45e7e1:	4a                   	dec    %edx
45e7e2:	c1 e9 02             	shr    $0x2,%ecx
45e7e5:	23 d1                	and    %ecx,%edx
45e7e7:	8b 04 90             	mov    (%eax,%edx,4),%eax
45e7ea:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45e7ed:	5e                   	pop    %esi
45e7ee:	c3                   	ret
45e7ef:	cc                   	int3
45e7f0:	8b 41 5c             	mov    0x5c(%ecx),%eax
45e7f3:	48                   	dec    %eax
45e7f4:	c3                   	ret
45e7f5:	cc                   	int3
45e7f6:	cc                   	int3
45e7f7:	cc                   	int3
45e7f8:	cc                   	int3
45e7f9:	cc                   	int3
45e7fa:	cc                   	int3
45e7fb:	cc                   	int3
45e7fc:	cc                   	int3
45e7fd:	cc                   	int3
45e7fe:	cc                   	int3
45e7ff:	cc                   	int3
45e800:	55                   	push   %ebp
45e801:	8b ec                	mov    %esp,%ebp
45e803:	6a ff                	push   $0xffffffff
45e805:	68 8b c4 49 00       	push   $0x49c48b
45e80a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45e810:	50                   	push   %eax
45e811:	83 ec 18             	sub    $0x18,%esp
45e814:	53                   	push   %ebx
45e815:	56                   	push   %esi
45e816:	57                   	push   %edi
45e817:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45e81c:	33 c5                	xor    %ebp,%eax
45e81e:	50                   	push   %eax
45e81f:	8d 45 f4             	lea    -0xc(%ebp),%eax
45e822:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45e828:	8b d9                	mov    %ecx,%ebx
45e82a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45e82d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
45e830:	8d 4b 10             	lea    0x10(%ebx),%ecx
45e833:	68 00 01 00 00       	push   $0x100
45e838:	c7 43 0c ff ff ff ff 	movl   $0xffffffff,0xc(%ebx)
45e83f:	c7 03 08 72 4b 00    	movl   $0x4b7208,(%ebx)
45e845:	c7 43 04 bc 72 4b 00 	movl   $0x4b72bc,0x4(%ebx)
45e84c:	e8 8f e1 ff ff       	call   0x45c9e0
45e851:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45e858:	8d 73 38             	lea    0x38(%ebx),%esi
45e85b:	8d 45 ef             	lea    -0x11(%ebp),%eax
45e85e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45e864:	6a 08                	push   $0x8
45e866:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45e86d:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
45e874:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
45e87b:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45e882:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45e885:	e8 4e b1 00 00       	call   0x4699d8
45e88a:	83 c4 04             	add    $0x4,%esp
45e88d:	89 45 e0             	mov    %eax,-0x20(%ebp)
45e890:	89 30                	mov    %esi,(%eax)
45e892:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45e899:	89 06                	mov    %eax,(%esi)
45e89b:	89 75 e8             	mov    %esi,-0x18(%ebp)
45e89e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45e8a2:	8b 46 0c             	mov    0xc(%esi),%eax
45e8a5:	8b 4e 10             	mov    0x10(%esi),%ecx
45e8a8:	03 c1                	add    %ecx,%eax
45e8aa:	a8 01                	test   $0x1,%al
45e8ac:	75 12                	jne    0x45e8c0
45e8ae:	8d 41 02             	lea    0x2(%ecx),%eax
45e8b1:	d1 e8                	shr    $1,%eax
45e8b3:	39 46 08             	cmp    %eax,0x8(%esi)
45e8b6:	77 08                	ja     0x45e8c0
45e8b8:	51                   	push   %ecx
45e8b9:	8b ce                	mov    %esi,%ecx
45e8bb:	e8 80 08 00 00       	call   0x45f140
45e8c0:	8b 4e 08             	mov    0x8(%esi),%ecx
45e8c3:	8b 7e 10             	mov    0x10(%esi),%edi
45e8c6:	8d 04 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%eax
45e8cd:	49                   	dec    %ecx
45e8ce:	21 46 0c             	and    %eax,0xc(%esi)
45e8d1:	03 7e 0c             	add    0xc(%esi),%edi
45e8d4:	8b c7                	mov    %edi,%eax
45e8d6:	d1 e8                	shr    $1,%eax
45e8d8:	23 c8                	and    %eax,%ecx
45e8da:	8b 46 04             	mov    0x4(%esi),%eax
45e8dd:	c1 e1 02             	shl    $0x2,%ecx
45e8e0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
45e8e3:	83 3c 01 00          	cmpl   $0x0,(%ecx,%eax,1)