49e631:	89 75 fc             	mov    %esi,-0x4(%ebp)
49e634:	51                   	push   %ecx
49e635:	68 40 98 49 00       	push   $0x499840
49e63a:	50                   	push   %eax
49e63b:	e8 10 c2 fd ff       	call   0x47a850
49e640:	83 c4 0c             	add    $0xc,%esp
49e643:	8b 46 3c             	mov    0x3c(%esi),%eax
49e646:	5e                   	pop    %esi
49e647:	8b e5                	mov    %ebp,%esp
49e649:	5d                   	pop    %ebp
49e64a:	c3                   	ret
49e64b:	cc                   	int3
49e64c:	cc                   	int3
49e64d:	cc                   	int3
49e64e:	cc                   	int3
49e64f:	cc                   	int3
49e650:	55                   	push   %ebp
49e651:	8b ec                	mov    %esp,%ebp
49e653:	51                   	push   %ecx
49e654:	83 49 08 04          	orl    $0x4,0x8(%ecx)
49e658:	8b 51 04             	mov    0x4(%ecx),%edx
49e65b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
49e65f:	f6 c2 03             	test   $0x3,%dl
49e662:	75 13                	jne    0x49e677
49e664:	83 e2 fc             	and    $0xfffffffc,%edx
49e667:	83 c1 18             	add    $0x18,%ecx
49e66a:	52                   	push   %edx
49e66b:	ff 75 fc             	push   -0x4(%ebp)
49e66e:	e8 bd d2 fb ff       	call   0x45b930
49e673:	8b e5                	mov    %ebp,%esp
49e675:	5d                   	pop    %ebp
49e676:	c3                   	ret
49e677:	8b c2                	mov    %edx,%eax
49e679:	d1 e8                	shr    $1,%eax
49e67b:	a8 01                	test   $0x1,%al
49e67d:	74 12                	je     0x49e691
49e67f:	33 d2                	xor    %edx,%edx
49e681:	83 c1 18             	add    $0x18,%ecx
49e684:	52                   	push   %edx
49e685:	ff 75 fc             	push   -0x4(%ebp)
49e688:	e8 a3 d2 fb ff       	call   0x45b930
49e68d:	8b e5                	mov    %ebp,%esp
49e68f:	5d                   	pop    %ebp
49e690:	c3                   	ret
49e691:	83 e2 fc             	and    $0xfffffffc,%edx
49e694:	83 c1 18             	add    $0x18,%ecx
49e697:	8b 12                	mov    (%edx),%edx
49e699:	52                   	push   %edx
49e69a:	ff 75 fc             	push   -0x4(%ebp)
49e69d:	e8 8e d2 fb ff       	call   0x45b930
49e6a2:	8b e5                	mov    %ebp,%esp
49e6a4:	5d                   	pop    %ebp
49e6a5:	c3                   	ret
49e6a6:	cc                   	int3
49e6a7:	cc                   	int3
49e6a8:	cc                   	int3
49e6a9:	cc                   	int3
49e6aa:	cc                   	int3
49e6ab:	cc                   	int3
49e6ac:	cc                   	int3
49e6ad:	cc                   	int3
49e6ae:	cc                   	int3
49e6af:	cc                   	int3
49e6b0:	55                   	push   %ebp
49e6b1:	8b ec                	mov    %esp,%ebp
49e6b3:	8b 55 08             	mov    0x8(%ebp),%edx
49e6b6:	83 ec 10             	sub    $0x10,%esp
49e6b9:	53                   	push   %ebx
49e6ba:	56                   	push   %esi
49e6bb:	57                   	push   %edi
49e6bc:	8b f9                	mov    %ecx,%edi
49e6be:	8b 4f 10             	mov    0x10(%edi),%ecx
49e6c1:	3b ca                	cmp    %edx,%ecx
49e6c3:	0f 82 43 02 00 00    	jb     0x49e90c
49e6c9:	8b 75 0c             	mov    0xc(%ebp),%esi
49e6cc:	8b c1                	mov    %ecx,%eax
49e6ce:	8b 5d 14             	mov    0x14(%ebp),%ebx
49e6d1:	2b c2                	sub    %edx,%eax
49e6d3:	3b c6                	cmp    %esi,%eax
49e6d5:	0f 42 f0             	cmovb  %eax,%esi
49e6d8:	89 75 0c             	mov    %esi,0xc(%ebp)
49e6db:	3b f3                	cmp    %ebx,%esi
49e6dd:	75 24                	jne    0x49e703
49e6df:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
49e6e3:	8b c7                	mov    %edi,%eax
49e6e5:	72 02                	jb     0x49e6e9
49e6e7:	8b 07                	mov    (%edi),%eax
49e6e9:	53                   	push   %ebx
49e6ea:	ff 75 10             	push   0x10(%ebp)
49e6ed:	03 c2                	add    %edx,%eax
49e6ef:	50                   	push   %eax
49e6f0:	e8 db 46 13 00       	call   0x5d2dd0
49e6f5:	83 c4 0c             	add    $0xc,%esp
49e6f8:	8b c7                	mov    %edi,%eax
49e6fa:	5f                   	pop    %edi
49e6fb:	5e                   	pop    %esi
49e6fc:	5b                   	pop    %ebx
49e6fd:	8b e5                	mov    %ebp,%esp
49e6ff:	5d                   	pop    %ebp
49e700:	c2 10 00             	ret    $0x10
49e703:	2b c6                	sub    %esi,%eax
49e705:	40                   	inc    %eax
49e706:	89 45 f8             	mov    %eax,-0x8(%ebp)
49e709:	3b de                	cmp    %esi,%ebx
49e70b:	73 3e                	jae    0x49e74b
49e70d:	2b ce                	sub    %esi,%ecx
49e70f:	8b c7                	mov    %edi,%eax
49e711:	03 cb                	add    %ebx,%ecx
49e713:	89 4f 10             	mov    %ecx,0x10(%edi)
49e716:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
49e71a:	72 02                	jb     0x49e71e
49e71c:	8b 07                	mov    (%edi),%eax
49e71e:	53                   	push   %ebx
49e71f:	ff 75 10             	push   0x10(%ebp)
49e722:	8d 34 10             	lea    (%eax,%edx,1),%esi
49e725:	56                   	push   %esi
49e726:	e8 a5 46 13 00       	call   0x5d2dd0
49e72b:	ff 75 f8             	push   -0x8(%ebp)
49e72e:	8b 45 0c             	mov    0xc(%ebp),%eax
49e731:	03 c6                	add    %esi,%eax
49e733:	50                   	push   %eax
49e734:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
49e737:	50                   	push   %eax
49e738:	e8 93 46 13 00       	call   0x5d2dd0
49e73d:	83 c4 18             	add    $0x18,%esp
49e740:	8b c7                	mov    %edi,%eax
49e742:	5f                   	pop    %edi
49e743:	5e                   	pop    %esi
49e744:	5b                   	pop    %ebx
49e745:	8b e5                	mov    %ebp,%esp
49e747:	5d                   	pop    %ebp
49e748:	c2 10 00             	ret    $0x10
49e74b:	8b c3                	mov    %ebx,%eax
49e74d:	2b c6                	sub    %esi,%eax
49e74f:	89 45 14             	mov    %eax,0x14(%ebp)
49e752:	8b 47 14             	mov    0x14(%edi),%eax
49e755:	89 45 fc             	mov    %eax,-0x4(%ebp)
49e758:	2b c1                	sub    %ecx,%eax
49e75a:	39 45 14             	cmp    %eax,0x14(%ebp)
49e75d:	0f 87 87 00 00 00    	ja     0x49e7ea
49e763:	8b 45 14             	mov    0x14(%ebp),%eax
49e766:	03 c1                	add    %ecx,%eax
49e768:	89 7d 08             	mov    %edi,0x8(%ebp)
49e76b:	83 7d fc 10          	cmpl   $0x10,-0x4(%ebp)
49e76f:	89 47 10             	mov    %eax,0x10(%edi)
49e772:	8b c7                	mov    %edi,%eax
49e774:	72 05                	jb     0x49e77b
49e776:	8b 07                	mov    (%edi),%eax
49e778:	89 45 08             	mov    %eax,0x8(%ebp)
49e77b:	03 c2                	add    %edx,%eax
49e77d:	8b 55 10             	mov    0x10(%ebp),%edx
49e780:	03 f0                	add    %eax,%esi
49e782:	89 45 0c             	mov    %eax,0xc(%ebp)
49e785:	89 75 f4             	mov    %esi,-0xc(%ebp)
49e788:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
49e78b:	3b 45 0c             	cmp    0xc(%ebp),%eax
49e78e:	76 15                	jbe    0x49e7a5
49e790:	8b 45 08             	mov    0x8(%ebp),%eax
49e793:	03 c1                	add    %ecx,%eax
49e795:	3b d0                	cmp    %eax,%edx
49e797:	77 0c                	ja     0x49e7a5
49e799:	3b f2                	cmp    %edx,%esi
49e79b:	77 04                	ja     0x49e7a1
49e79d:	33 f6                	xor    %esi,%esi
49e79f:	eb 06                	jmp    0x49e7a7
49e7a1:	2b f2                	sub    %edx,%esi
49e7a3:	eb 02                	jmp    0x49e7a7
49e7a5:	8b f3                	mov    %ebx,%esi
49e7a7:	ff 75 f8             	push   -0x8(%ebp)
49e7aa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
49e7ad:	8b 45 14             	mov    0x14(%ebp),%eax
49e7b0:	51                   	push   %ecx
49e7b1:	03 c1                	add    %ecx,%eax
49e7b3:	50                   	push   %eax
49e7b4:	e8 17 46 13 00       	call   0x5d2dd0
49e7b9:	56                   	push   %esi
49e7ba:	ff 75 10             	push   0x10(%ebp)
49e7bd:	ff 75 0c             	push   0xc(%ebp)
49e7c0:	e8 0b 46 13 00       	call   0x5d2dd0
49e7c5:	8b 45 14             	mov    0x14(%ebp),%eax
49e7c8:	2b de                	sub    %esi,%ebx
49e7ca:	03 c6                	add    %esi,%eax
49e7cc:	03 45 10             	add    0x10(%ebp),%eax
49e7cf:	53                   	push   %ebx
49e7d0:	50                   	push   %eax
49e7d1:	8b 45 0c             	mov    0xc(%ebp),%eax
49e7d4:	03 c6                	add    %esi,%eax
49e7d6:	50                   	push   %eax
49e7d7:	e8 f4 45 13 00       	call   0x5d2dd0
49e7dc:	83 c4 24             	add    $0x24,%esp
49e7df:	8b c7                	mov    %edi,%eax
49e7e1:	5f                   	pop    %edi
49e7e2:	5e                   	pop    %esi
49e7e3:	5b                   	pop    %ebx
49e7e4:	8b e5                	mov    %ebp,%esp
49e7e6:	5d                   	pop    %ebp
49e7e7:	c2 10 00             	ret    $0x10
49e7ea:	8b 55 14             	mov    0x14(%ebp),%edx
49e7ed:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
49e7f2:	2b c1                	sub    %ecx,%eax
49e7f4:	3b c2                	cmp    %edx,%eax
49e7f6:	0f 82 15 01 00 00    	jb     0x49e911
49e7fc:	8d 04 11             	lea    (%ecx,%edx,1),%eax
49e7ff:	8b c8                	mov    %eax,%ecx
49e801:	89 45 f4             	mov    %eax,-0xc(%ebp)
49e804:	83 c9 0f             	or     $0xf,%ecx
49e807:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
49e80d:	76 07                	jbe    0x49e816
49e80f:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
49e814:	eb 25                	jmp    0x49e83b
49e816:	8b 45 fc             	mov    -0x4(%ebp),%eax
49e819:	8b d0                	mov    %eax,%edx
49e81b:	d1 ea                	shr    $1,%edx
49e81d:	89 55 14             	mov    %edx,0x14(%ebp)
49e820:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
49e825:	2b 55 14             	sub    0x14(%ebp),%edx
49e828:	3b c2                	cmp    %edx,%eax
49e82a:	76 07                	jbe    0x49e833
49e82c:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
49e831:	eb 08                	jmp    0x49e83b
49e833:	03 45 14             	add    0x14(%ebp),%eax
49e836:	3b c8                	cmp    %eax,%ecx
49e838:	0f 42 c8             	cmovb  %eax,%ecx
49e83b:	8d 41 01             	lea    0x1(%ecx),%eax
49e83e:	89 4d 14             	mov    %ecx,0x14(%ebp)
49e841:	50                   	push   %eax
49e842:	8b cf                	mov    %edi,%ecx
49e844:	e8 d7 a5 fb ff       	call   0x458e20
49e849:	8b 4d 14             	mov    0x14(%ebp),%ecx
49e84c:	8b d0                	mov    %eax,%edx
49e84e:	8b 45 f4             	mov    -0xc(%ebp),%eax
49e851:	89 47 10             	mov    %eax,0x10(%edi)
49e854:	8b 45 08             	mov    0x8(%ebp),%eax
49e857:	89 4f 14             	mov    %ecx,0x14(%edi)
49e85a:	89 55 f0             	mov    %edx,-0x10(%ebp)
49e85d:	50                   	push   %eax
49e85e:	8d 0c 02             	lea    (%edx,%eax,1),%ecx
49e861:	89 4d 14             	mov    %ecx,0x14(%ebp)
49e864:	03 cb                	add    %ebx,%ecx
49e866:	83 7d fc 10          	cmpl   $0x10,-0x4(%ebp)
49e86a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
49e86d:	72 64                	jb     0x49e8d3
49e86f:	8b 37                	mov    (%edi),%esi
49e871:	56                   	push   %esi
49e872:	52                   	push   %edx
49e873:	e8 58 45 13 00       	call   0x5d2dd0
49e878:	53                   	push   %ebx
49e879:	ff 75 10             	push   0x10(%ebp)
49e87c:	ff 75 14             	push   0x14(%ebp)
49e87f:	e8 4c 45 13 00       	call   0x5d2dd0
49e884:	8b 45 08             	mov    0x8(%ebp),%eax
49e887:	ff 75 f8             	push   -0x8(%ebp)
49e88a:	03 c6                	add    %esi,%eax
49e88c:	03 45 0c             	add    0xc(%ebp),%eax
49e88f:	50                   	push   %eax
49e890:	ff 75 f4             	push   -0xc(%ebp)
49e893:	e8 38 45 13 00       	call   0x5d2dd0
49e898:	8b 4d fc             	mov    -0x4(%ebp),%ecx
49e89b:	83 c4 24             	add    $0x24,%esp
49e89e:	41                   	inc    %ecx
49e89f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
49e8a5:	72 12                	jb     0x49e8b9
49e8a7:	8b 56 fc             	mov    -0x4(%esi),%edx
49e8aa:	83 c1 23             	add    $0x23,%ecx
49e8ad:	2b f2                	sub    %edx,%esi
49e8af:	8d 46 fc             	lea    -0x4(%esi),%eax
49e8b2:	83 f8 1f             	cmp    $0x1f,%eax
49e8b5:	77 5f                	ja     0x49e916
49e8b7:	8b f2                	mov    %edx,%esi
49e8b9:	51                   	push   %ecx
49e8ba:	56                   	push   %esi
49e8bb:	e8 95 29 13 00       	call   0x5d1255
49e8c0:	8b 45 f0             	mov    -0x10(%ebp),%eax
49e8c3:	83 c4 08             	add    $0x8,%esp
49e8c6:	89 07                	mov    %eax,(%edi)
49e8c8:	8b c7                	mov    %edi,%eax
49e8ca:	5f                   	pop    %edi
49e8cb:	5e                   	pop    %esi
49e8cc:	5b                   	pop    %ebx
49e8cd:	8b e5                	mov    %ebp,%esp
49e8cf:	5d                   	pop    %ebp
49e8d0:	c2 10 00             	ret    $0x10
49e8d3:	57                   	push   %edi
49e8d4:	52                   	push   %edx
49e8d5:	e8 f6 44 13 00       	call   0x5d2dd0
49e8da:	53                   	push   %ebx
49e8db:	ff 75 10             	push   0x10(%ebp)
49e8de:	ff 75 14             	push   0x14(%ebp)
49e8e1:	e8 ea 44 13 00       	call   0x5d2dd0
49e8e6:	8b 45 08             	mov    0x8(%ebp),%eax
49e8e9:	ff 75 f8             	push   -0x8(%ebp)
49e8ec:	03 c6                	add    %esi,%eax
49e8ee:	03 c7                	add    %edi,%eax
49e8f0:	50                   	push   %eax
49e8f1:	ff 75 f4             	push   -0xc(%ebp)
49e8f4:	e8 d7 44 13 00       	call   0x5d2dd0
49e8f9:	8b 45 f0             	mov    -0x10(%ebp),%eax
49e8fc:	83 c4 24             	add    $0x24,%esp
49e8ff:	89 07                	mov    %eax,(%edi)
49e901:	8b c7                	mov    %edi,%eax
49e903:	5f                   	pop    %edi
49e904:	5e                   	pop    %esi
49e905:	5b                   	pop    %ebx
49e906:	8b e5                	mov    %ebp,%esp
49e908:	5d                   	pop    %ebp
49e909:	c2 10 00             	ret    $0x10
49e90c:	e8 df eb ff ff       	call   0x49d4f0
49e911:	e8 fa 8c fa ff       	call   0x447610
49e916:	e8 d5 78 13 00       	call   0x5d61f0
49e91b:	cc                   	int3
49e91c:	cc                   	int3
49e91d:	cc                   	int3
49e91e:	cc                   	int3
49e91f:	cc                   	int3
49e920:	55                   	push   %ebp
49e921:	8b ec                	mov    %esp,%ebp
49e923:	53                   	push   %ebx
49e924:	56                   	push   %esi
49e925:	8b 75 08             	mov    0x8(%ebp),%esi
49e928:	57                   	push   %edi
49e929:	8b f9                	mov    %ecx,%edi
49e92b:	8b 5f 04             	mov    0x4(%edi),%ebx
49e92e:	8b cb                	mov    %ebx,%ecx
49e930:	8b 17                	mov    (%edi),%edx
49e932:	2b ca                	sub    %edx,%ecx
49e934:	c1 f9 02             	sar    $0x2,%ecx
49e937:	3b f1                	cmp    %ecx,%esi
49e939:	73 0d                	jae    0x49e948
49e93b:	8d 04 b2             	lea    (%edx,%esi,4),%eax
49e93e:	89 47 04             	mov    %eax,0x4(%edi)
49e941:	5f                   	pop    %edi
49e942:	5e                   	pop    %esi
49e943:	5b                   	pop    %ebx
49e944:	5d                   	pop    %ebp
49e945:	c2 04 00             	ret    $0x4
49e948:	76 36                	jbe    0x49e980
49e94a:	8b 47 08             	mov    0x8(%edi),%eax
49e94d:	2b c2                	sub    %edx,%eax
49e94f:	c1 f8 02             	sar    $0x2,%eax
49e952:	3b f0                	cmp    %eax,%esi
49e954:	76 13                	jbe    0x49e969
49e956:	8d 45 0b             	lea    0xb(%ebp),%eax
49e959:	8b cf                	mov    %edi,%ecx
49e95b:	50                   	push   %eax
49e95c:	56                   	push   %esi
49e95d:	e8 be b6 fd ff       	call   0x47a020
49e962:	5f                   	pop    %edi
49e963:	5e                   	pop    %esi
49e964:	5b                   	pop    %ebx
49e965:	5d                   	pop    %ebp