45b746:	57                   	push   %edi
45b747:	8b 7c 24 10          	mov    0x10(%esp),%edi
45b74b:	8b f1                	mov    %ecx,%esi
45b74d:	74 26                	je     0x45b775
45b74f:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45b753:	72 20                	jb     0x45b775
45b755:	53                   	push   %ebx
45b756:	8b 1e                	mov    (%esi),%ebx
45b758:	85 ff                	test   %edi,%edi
45b75a:	74 0b                	je     0x45b767
45b75c:	57                   	push   %edi
45b75d:	53                   	push   %ebx
45b75e:	56                   	push   %esi
45b75f:	e8 1e 8f fb ff       	call   0x414682
45b764:	83 c4 0c             	add    $0xc,%esp
45b767:	8b 46 14             	mov    0x14(%esi),%eax
45b76a:	8b ce                	mov    %esi,%ecx
45b76c:	40                   	inc    %eax
45b76d:	50                   	push   %eax
45b76e:	53                   	push   %ebx
45b76f:	e8 a8 8e fd ff       	call   0x43461c
45b774:	5b                   	pop    %ebx
45b775:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
45b77c:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45b780:	89 7e 10             	mov    %edi,0x10(%esi)
45b783:	72 0b                	jb     0x45b790
45b785:	8b 06                	mov    (%esi),%eax
45b787:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
45b78b:	5f                   	pop    %edi
45b78c:	5e                   	pop    %esi
45b78d:	c2 08 00             	ret    $0x8
45b790:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
45b794:	5f                   	pop    %edi
45b795:	5e                   	pop    %esi
45b796:	c2 08 00             	ret    $0x8
45b799:	cc                   	int3
45b79a:	cc                   	int3
45b79b:	cc                   	int3
45b79c:	cc                   	int3
45b79d:	cc                   	int3
45b79e:	cc                   	int3
45b79f:	cc                   	int3
45b7a0:	cc                   	int3
45b7a1:	cc                   	int3
45b7a2:	cc                   	int3
45b7a3:	cc                   	int3
45b7a4:	cc                   	int3
45b7a5:	cc                   	int3
45b7a6:	cc                   	int3
45b7a7:	cc                   	int3
45b7a8:	cc                   	int3
45b7a9:	cc                   	int3
45b7aa:	cc                   	int3
45b7ab:	cc                   	int3
45b7ac:	cc                   	int3
45b7ad:	cc                   	int3
45b7ae:	cc                   	int3
45b7af:	cc                   	int3
45b7b0:	68 30 17 bd 00       	push   $0xbd1730
45b7b5:	e8 5c e0 fc ff       	call   0x429816
45b7ba:	cc                   	int3
45b7bb:	cc                   	int3
45b7bc:	cc                   	int3
45b7bd:	cc                   	int3
45b7be:	cc                   	int3
45b7bf:	cc                   	int3
45b7c0:	68 44 17 bd 00       	push   $0xbd1744
45b7c5:	e8 d2 f0 fc ff       	call   0x42a89c
45b7ca:	cc                   	int3
45b7cb:	cc                   	int3
45b7cc:	cc                   	int3
45b7cd:	cc                   	int3
45b7ce:	cc                   	int3
45b7cf:	cc                   	int3
45b7d0:	c3                   	ret
45b7d1:	cc                   	int3
45b7d2:	cc                   	int3
45b7d3:	cc                   	int3
45b7d4:	cc                   	int3
45b7d5:	cc                   	int3
45b7d6:	cc                   	int3
45b7d7:	cc                   	int3
45b7d8:	cc                   	int3
45b7d9:	cc                   	int3
45b7da:	cc                   	int3
45b7db:	cc                   	int3
45b7dc:	cc                   	int3
45b7dd:	cc                   	int3
45b7de:	cc                   	int3
45b7df:	cc                   	int3
45b7e0:	c3                   	ret
45b7e1:	cc                   	int3
45b7e2:	cc                   	int3
45b7e3:	cc                   	int3
45b7e4:	cc                   	int3
45b7e5:	cc                   	int3
45b7e6:	cc                   	int3
45b7e7:	cc                   	int3
45b7e8:	cc                   	int3
45b7e9:	cc                   	int3
45b7ea:	cc                   	int3
45b7eb:	cc                   	int3
45b7ec:	cc                   	int3
45b7ed:	cc                   	int3
45b7ee:	cc                   	int3
45b7ef:	cc                   	int3
45b7f0:	8b 44 24 04          	mov    0x4(%esp),%eax
45b7f4:	85 c0                	test   %eax,%eax
45b7f6:	75 03                	jne    0x45b7fb
45b7f8:	c2 04 00             	ret    $0x4
45b7fb:	3d 00 10 00 00       	cmp    $0x1000,%eax
45b800:	72 22                	jb     0x45b824
45b802:	8d 48 23             	lea    0x23(%eax),%ecx
45b805:	3b c8                	cmp    %eax,%ecx
45b807:	76 2a                	jbe    0x45b833
45b809:	51                   	push   %ecx
45b80a:	e8 6e f1 fc ff       	call   0x42a97d
45b80f:	8b c8                	mov    %eax,%ecx
45b811:	83 c4 04             	add    $0x4,%esp
45b814:	85 c9                	test   %ecx,%ecx
45b816:	74 20                	je     0x45b838
45b818:	8d 41 23             	lea    0x23(%ecx),%eax
45b81b:	83 e0 e0             	and    $0xffffffe0,%eax
45b81e:	89 48 fc             	mov    %ecx,-0x4(%eax)
45b821:	c2 04 00             	ret    $0x4
45b824:	50                   	push   %eax
45b825:	e8 53 f1 fc ff       	call   0x42a97d
45b82a:	83 c4 04             	add    $0x4,%esp
45b82d:	85 c0                	test   %eax,%eax
45b82f:	75 c7                	jne    0x45b7f8
45b831:	eb 0a                	jmp    0x45b83d
45b833:	e8 e6 66 fa ff       	call   0x401f1e
45b838:	e8 50 21 fe ff       	call   0x43d98d
45b83d:	e8 4b 21 fe ff       	call   0x43d98d
45b842:	cc                   	int3
45b843:	cc                   	int3
45b844:	cc                   	int3
45b845:	cc                   	int3
45b846:	cc                   	int3
45b847:	cc                   	int3
45b848:	cc                   	int3
45b849:	cc                   	int3
45b84a:	cc                   	int3
45b84b:	cc                   	int3
45b84c:	cc                   	int3
45b84d:	cc                   	int3
45b84e:	cc                   	int3
45b84f:	cc                   	int3
45b850:	cc                   	int3
45b851:	cc                   	int3
45b852:	cc                   	int3
45b853:	cc                   	int3
45b854:	cc                   	int3
45b855:	cc                   	int3
45b856:	cc                   	int3
45b857:	cc                   	int3
45b858:	cc                   	int3
45b859:	cc                   	int3
45b85a:	cc                   	int3
45b85b:	cc                   	int3
45b85c:	cc                   	int3
45b85d:	cc                   	int3
45b85e:	cc                   	int3
45b85f:	cc                   	int3
45b860:	8b 44 24 04          	mov    0x4(%esp),%eax
45b864:	85 c0                	test   %eax,%eax
45b866:	75 03                	jne    0x45b86b
45b868:	c2 04 00             	ret    $0x4
45b86b:	3d 00 10 00 00       	cmp    $0x1000,%eax
45b870:	72 22                	jb     0x45b894
45b872:	8d 48 23             	lea    0x23(%eax),%ecx
45b875:	3b c8                	cmp    %eax,%ecx
45b877:	76 2a                	jbe    0x45b8a3
45b879:	51                   	push   %ecx
45b87a:	e8 fe f0 fc ff       	call   0x42a97d
45b87f:	8b c8                	mov    %eax,%ecx
45b881:	83 c4 04             	add    $0x4,%esp
45b884:	85 c9                	test   %ecx,%ecx
45b886:	74 20                	je     0x45b8a8
45b888:	8d 41 23             	lea    0x23(%ecx),%eax
45b88b:	83 e0 e0             	and    $0xffffffe0,%eax
45b88e:	89 48 fc             	mov    %ecx,-0x4(%eax)
45b891:	c2 04 00             	ret    $0x4
45b894:	50                   	push   %eax
45b895:	e8 e3 f0 fc ff       	call   0x42a97d
45b89a:	83 c4 04             	add    $0x4,%esp
45b89d:	85 c0                	test   %eax,%eax
45b89f:	75 c7                	jne    0x45b868
45b8a1:	eb 0a                	jmp    0x45b8ad
45b8a3:	e8 76 66 fa ff       	call   0x401f1e
45b8a8:	e8 e0 20 fe ff       	call   0x43d98d
45b8ad:	e8 db 20 fe ff       	call   0x43d98d
45b8b2:	cc                   	int3
45b8b3:	cc                   	int3
45b8b4:	cc                   	int3
45b8b5:	cc                   	int3
45b8b6:	cc                   	int3
45b8b7:	cc                   	int3
45b8b8:	cc                   	int3
45b8b9:	cc                   	int3
45b8ba:	cc                   	int3
45b8bb:	cc                   	int3
45b8bc:	cc                   	int3
45b8bd:	cc                   	int3
45b8be:	cc                   	int3
45b8bf:	cc                   	int3
45b8c0:	cc                   	int3
45b8c1:	cc                   	int3
45b8c2:	cc                   	int3
45b8c3:	cc                   	int3
45b8c4:	cc                   	int3
45b8c5:	cc                   	int3
45b8c6:	cc                   	int3
45b8c7:	cc                   	int3
45b8c8:	cc                   	int3
45b8c9:	cc                   	int3
45b8ca:	cc                   	int3
45b8cb:	cc                   	int3
45b8cc:	cc                   	int3
45b8cd:	cc                   	int3
45b8ce:	cc                   	int3
45b8cf:	cc                   	int3
45b8d0:	53                   	push   %ebx
45b8d1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
45b8d5:	55                   	push   %ebp
45b8d6:	8b 6c 24 10          	mov    0x10(%esp),%ebp
45b8da:	56                   	push   %esi
45b8db:	8b 43 10             	mov    0x10(%ebx),%eax
45b8de:	8b f1                	mov    %ecx,%esi
45b8e0:	3b c5                	cmp    %ebp,%eax
45b8e2:	0f 82 cd 00 00 00    	jb     0x45b9b5
45b8e8:	2b c5                	sub    %ebp,%eax
45b8ea:	57                   	push   %edi
45b8eb:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
45b8ef:	3b f8                	cmp    %eax,%edi
45b8f1:	0f 47 f8             	cmova  %eax,%edi
45b8f4:	3b f3                	cmp    %ebx,%esi
45b8f6:	75 2e                	jne    0x45b926
45b8f8:	8d 04 2f             	lea    (%edi,%ebp,1),%eax
45b8fb:	39 46 10             	cmp    %eax,0x10(%esi)
45b8fe:	0f 82 bb 00 00 00    	jb     0x45b9bf
45b904:	89 46 10             	mov    %eax,0x10(%esi)
45b907:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45b90b:	72 02                	jb     0x45b90f
45b90d:	8b 0e                	mov    (%esi),%ecx
45b90f:	55                   	push   %ebp
45b910:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
45b914:	8b ce                	mov    %esi,%ecx
45b916:	6a 00                	push   $0x0
45b918:	e8 21 0c fd ff       	call   0x42c53e
45b91d:	5f                   	pop    %edi
45b91e:	8b c6                	mov    %esi,%eax
45b920:	5e                   	pop    %esi
45b921:	5d                   	pop    %ebp
45b922:	5b                   	pop    %ebx
45b923:	c2 0c 00             	ret    $0xc
45b926:	83 ff fe             	cmp    $0xfffffffe,%edi
45b929:	0f 87 9a 00 00 00    	ja     0x45b9c9
45b92f:	39 7e 14             	cmp    %edi,0x14(%esi)
45b932:	73 1f                	jae    0x45b953
45b934:	ff 76 10             	push   0x10(%esi)
45b937:	57                   	push   %edi
45b938:	e8 bd d6 fd ff       	call   0x438ffa
45b93d:	85 ff                	test   %edi,%edi
45b93f:	74 6b                	je     0x45b9ac
45b941:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
45b945:	72 02                	jb     0x45b949
45b947:	8b 1b                	mov    (%ebx),%ebx
45b949:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45b94d:	72 2b                	jb     0x45b97a
45b94f:	8b 0e                	mov    (%esi),%ecx
45b951:	eb 29                	jmp    0x45b97c
45b953:	85 ff                	test   %edi,%edi
45b955:	75 ea                	jne    0x45b941
45b957:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45b95b:	89 7e 10             	mov    %edi,0x10(%esi)
45b95e:	72 0e                	jb     0x45b96e
45b960:	8b 06                	mov    (%esi),%eax
45b962:	5f                   	pop    %edi
45b963:	c6 00 00             	movb   $0x0,(%eax)
45b966:	8b c6                	mov    %esi,%eax
45b968:	5e                   	pop    %esi
45b969:	5d                   	pop    %ebp
45b96a:	5b                   	pop    %ebx
45b96b:	c2 0c 00             	ret    $0xc
45b96e:	5f                   	pop    %edi
45b96f:	8b c6                	mov    %esi,%eax
45b971:	5e                   	pop    %esi
45b972:	5d                   	pop    %ebp
45b973:	5b                   	pop    %ebx
45b974:	c6 00 00             	movb   $0x0,(%eax)
45b977:	c2 0c 00             	ret    $0xc
45b97a:	8b ce                	mov    %esi,%ecx
45b97c:	85 ff                	test   %edi,%edi
45b97e:	74 0e                	je     0x45b98e
45b980:	57                   	push   %edi
45b981:	8d 04 2b             	lea    (%ebx,%ebp,1),%eax
45b984:	50                   	push   %eax
45b985:	51                   	push   %ecx
45b986:	e8 f7 8c fb ff       	call   0x414682
45b98b:	83 c4 0c             	add    $0xc,%esp
45b98e:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45b992:	89 7e 10             	mov    %edi,0x10(%esi)
45b995:	72 0f                	jb     0x45b9a6
45b997:	8b 06                	mov    (%esi),%eax
45b999:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
45b99d:	8b c6                	mov    %esi,%eax
45b99f:	5f                   	pop    %edi
45b9a0:	5e                   	pop    %esi
45b9a1:	5d                   	pop    %ebp
45b9a2:	5b                   	pop    %ebx
45b9a3:	c2 0c 00             	ret    $0xc
45b9a6:	8b c6                	mov    %esi,%eax
45b9a8:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
45b9ac:	5f                   	pop    %edi
45b9ad:	8b c6                	mov    %esi,%eax
45b9af:	5e                   	pop    %esi
45b9b0:	5d                   	pop    %ebp
45b9b1:	5b                   	pop    %ebx
45b9b2:	c2 0c 00             	ret    $0xc
45b9b5:	68 44 17 bd 00       	push   $0xbd1744
45b9ba:	e8 dd ee fc ff       	call   0x42a89c
45b9bf:	68 44 17 bd 00       	push   $0xbd1744
45b9c4:	e8 d3 ee fc ff       	call   0x42a89c
45b9c9:	68 30 17 bd 00       	push   $0xbd1730
45b9ce:	e8 43 de fc ff       	call   0x429816
45b9d3:	cc                   	int3
45b9d4:	cc                   	int3
45b9d5:	cc                   	int3
45b9d6:	cc                   	int3
45b9d7:	cc                   	int3
45b9d8:	cc                   	int3
45b9d9:	cc                   	int3
45b9da:	cc                   	int3
45b9db:	cc                   	int3
45b9dc:	cc                   	int3
45b9dd:	cc                   	int3
45b9de:	cc                   	int3
45b9df:	cc                   	int3
45b9e0:	cc                   	int3
45b9e1:	cc                   	int3
45b9e2:	cc                   	int3
45b9e3:	cc                   	int3
45b9e4:	cc                   	int3
45b9e5:	cc                   	int3
45b9e6:	cc                   	int3
45b9e7:	cc                   	int3
45b9e8:	cc                   	int3
45b9e9:	cc                   	int3
45b9ea:	cc                   	int3