7b0785:	cc                   	int3
7b0786:	cc                   	int3
7b0787:	cc                   	int3
7b0788:	cc                   	int3
7b0789:	cc                   	int3
7b078a:	cc                   	int3
7b078b:	cc                   	int3
7b078c:	cc                   	int3
7b078d:	cc                   	int3
7b078e:	cc                   	int3
7b078f:	cc                   	int3
7b0790:	8b 44 24 04          	mov    0x4(%esp),%eax
7b0794:	85 c0                	test   %eax,%eax
7b0796:	75 03                	jne    0x7b079b
7b0798:	c2 04 00             	ret    $0x4
7b079b:	3d 66 66 66 06       	cmp    $0x6666666,%eax
7b07a0:	77 3e                	ja     0x7b07e0
7b07a2:	8d 04 80             	lea    (%eax,%eax,4),%eax
7b07a5:	c1 e0 03             	shl    $0x3,%eax
7b07a8:	3d 00 10 00 00       	cmp    $0x1000,%eax
7b07ad:	72 22                	jb     0x7b07d1
7b07af:	8d 48 23             	lea    0x23(%eax),%ecx
7b07b2:	3b c8                	cmp    %eax,%ecx
7b07b4:	76 2f                	jbe    0x7b07e5
7b07b6:	51                   	push   %ecx
7b07b7:	e8 c1 a1 c7 ff       	call   0x42a97d
7b07bc:	8b c8                	mov    %eax,%ecx
7b07be:	83 c4 04             	add    $0x4,%esp
7b07c1:	85 c9                	test   %ecx,%ecx
7b07c3:	74 25                	je     0x7b07ea
7b07c5:	8d 41 23             	lea    0x23(%ecx),%eax
7b07c8:	83 e0 e0             	and    $0xffffffe0,%eax
7b07cb:	89 48 fc             	mov    %ecx,-0x4(%eax)
7b07ce:	c2 04 00             	ret    $0x4
7b07d1:	50                   	push   %eax
7b07d2:	e8 a6 a1 c7 ff       	call   0x42a97d
7b07d7:	83 c4 04             	add    $0x4,%esp
7b07da:	85 c0                	test   %eax,%eax
7b07dc:	75 ba                	jne    0x7b0798
7b07de:	eb 0f                	jmp    0x7b07ef
7b07e0:	e8 39 17 c5 ff       	call   0x401f1e
7b07e5:	e8 34 17 c5 ff       	call   0x401f1e
7b07ea:	e8 9e d1 c8 ff       	call   0x43d98d
7b07ef:	e8 99 d1 c8 ff       	call   0x43d98d
7b07f4:	cc                   	int3
7b07f5:	cc                   	int3
7b07f6:	cc                   	int3
7b07f7:	cc                   	int3
7b07f8:	cc                   	int3
7b07f9:	cc                   	int3
7b07fa:	cc                   	int3
7b07fb:	cc                   	int3
7b07fc:	cc                   	int3
7b07fd:	cc                   	int3
7b07fe:	cc                   	int3
7b07ff:	cc                   	int3
7b0800:	cc                   	int3
7b0801:	cc                   	int3
7b0802:	cc                   	int3
7b0803:	cc                   	int3
7b0804:	cc                   	int3
7b0805:	cc                   	int3
7b0806:	cc                   	int3
7b0807:	cc                   	int3
7b0808:	cc                   	int3
7b0809:	cc                   	int3
7b080a:	cc                   	int3
7b080b:	cc                   	int3
7b080c:	cc                   	int3
7b080d:	cc                   	int3
7b080e:	cc                   	int3
7b080f:	cc                   	int3
7b0810:	8b 44 24 04          	mov    0x4(%esp),%eax
7b0814:	85 c0                	test   %eax,%eax
7b0816:	75 03                	jne    0x7b081b
7b0818:	c2 04 00             	ret    $0x4
7b081b:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
7b0820:	77 3b                	ja     0x7b085d
7b0822:	c1 e0 02             	shl    $0x2,%eax
7b0825:	3d 00 10 00 00       	cmp    $0x1000,%eax
7b082a:	72 22                	jb     0x7b084e
7b082c:	8d 48 23             	lea    0x23(%eax),%ecx
7b082f:	3b c8                	cmp    %eax,%ecx
7b0831:	76 2f                	jbe    0x7b0862
7b0833:	51                   	push   %ecx
7b0834:	e8 44 a1 c7 ff       	call   0x42a97d
7b0839:	8b c8                	mov    %eax,%ecx
7b083b:	83 c4 04             	add    $0x4,%esp
7b083e:	85 c9                	test   %ecx,%ecx
7b0840:	74 25                	je     0x7b0867
7b0842:	8d 41 23             	lea    0x23(%ecx),%eax
7b0845:	83 e0 e0             	and    $0xffffffe0,%eax
7b0848:	89 48 fc             	mov    %ecx,-0x4(%eax)
7b084b:	c2 04 00             	ret    $0x4
7b084e:	50                   	push   %eax
7b084f:	e8 29 a1 c7 ff       	call   0x42a97d
7b0854:	83 c4 04             	add    $0x4,%esp
7b0857:	85 c0                	test   %eax,%eax
7b0859:	75 bd                	jne    0x7b0818
7b085b:	eb 0f                	jmp    0x7b086c
7b085d:	e8 bc 16 c5 ff       	call   0x401f1e
7b0862:	e8 b7 16 c5 ff       	call   0x401f1e
7b0867:	e8 21 d1 c8 ff       	call   0x43d98d
7b086c:	e8 1c d1 c8 ff       	call   0x43d98d
7b0871:	cc                   	int3
7b0872:	cc                   	int3
7b0873:	cc                   	int3
7b0874:	cc                   	int3
7b0875:	cc                   	int3
7b0876:	cc                   	int3
7b0877:	cc                   	int3
7b0878:	cc                   	int3
7b0879:	cc                   	int3
7b087a:	cc                   	int3
7b087b:	cc                   	int3
7b087c:	cc                   	int3
7b087d:	cc                   	int3
7b087e:	cc                   	int3
7b087f:	cc                   	int3
7b0880:	cc                   	int3
7b0881:	cc                   	int3
7b0882:	cc                   	int3
7b0883:	cc                   	int3
7b0884:	cc                   	int3
7b0885:	cc                   	int3
7b0886:	cc                   	int3
7b0887:	cc                   	int3
7b0888:	cc                   	int3
7b0889:	cc                   	int3
7b088a:	cc                   	int3
7b088b:	cc                   	int3
7b088c:	cc                   	int3
7b088d:	cc                   	int3
7b088e:	cc                   	int3
7b088f:	cc                   	int3
7b0890:	ff 74 24 08          	push   0x8(%esp)
7b0894:	8b 01                	mov    (%ecx),%eax
7b0896:	ff 74 24 08          	push   0x8(%esp)
7b089a:	89 41 04             	mov    %eax,0x4(%ecx)
7b089d:	8d 44 24 10          	lea    0x10(%esp),%eax
7b08a1:	ff 31                	push   (%ecx)
7b08a3:	50                   	push   %eax
7b08a4:	e8 0a df c6 ff       	call   0x41e7b3
7b08a9:	c2 08 00             	ret    $0x8
7b08ac:	cc                   	int3
7b08ad:	cc                   	int3
7b08ae:	cc                   	int3
7b08af:	cc                   	int3
7b08b0:	cc                   	int3
7b08b1:	cc                   	int3
7b08b2:	cc                   	int3
7b08b3:	cc                   	int3
7b08b4:	cc                   	int3
7b08b5:	cc                   	int3
7b08b6:	cc                   	int3
7b08b7:	cc                   	int3
7b08b8:	cc                   	int3
7b08b9:	cc                   	int3
7b08ba:	cc                   	int3
7b08bb:	cc                   	int3
7b08bc:	cc                   	int3
7b08bd:	cc                   	int3
7b08be:	cc                   	int3
7b08bf:	cc                   	int3
7b08c0:	8b 41 04             	mov    0x4(%ecx),%eax
7b08c3:	8b 08                	mov    (%eax),%ecx
7b08c5:	8b 44 24 04          	mov    0x4(%esp),%eax
7b08c9:	89 08                	mov    %ecx,(%eax)
7b08cb:	c2 04 00             	ret    $0x4
7b08ce:	cc                   	int3
7b08cf:	cc                   	int3
7b08d0:	cc                   	int3
7b08d1:	cc                   	int3
7b08d2:	cc                   	int3
7b08d3:	cc                   	int3
7b08d4:	cc                   	int3
7b08d5:	cc                   	int3
7b08d6:	cc                   	int3
7b08d7:	cc                   	int3
7b08d8:	cc                   	int3
7b08d9:	cc                   	int3
7b08da:	cc                   	int3
7b08db:	cc                   	int3
7b08dc:	cc                   	int3
7b08dd:	cc                   	int3
7b08de:	cc                   	int3
7b08df:	cc                   	int3
7b08e0:	8b 01                	mov    (%ecx),%eax
7b08e2:	8b 08                	mov    (%eax),%ecx
7b08e4:	8b 44 24 04          	mov    0x4(%esp),%eax
7b08e8:	89 08                	mov    %ecx,(%eax)
7b08ea:	c2 04 00             	ret    $0x4
7b08ed:	cc                   	int3
7b08ee:	cc                   	int3
7b08ef:	cc                   	int3
7b08f0:	8b 44 24 04          	mov    0x4(%esp),%eax
7b08f4:	8b 09                	mov    (%ecx),%ecx
7b08f6:	89 08                	mov    %ecx,(%eax)
7b08f8:	c2 04 00             	ret    $0x4
7b08fb:	cc                   	int3
7b08fc:	cc                   	int3
7b08fd:	cc                   	int3
7b08fe:	cc                   	int3
7b08ff:	cc                   	int3
7b0900:	8b 44 24 04          	mov    0x4(%esp),%eax
7b0904:	8b 09                	mov    (%ecx),%ecx
7b0906:	89 08                	mov    %ecx,(%eax)
7b0908:	c2 04 00             	ret    $0x4
7b090b:	cc                   	int3
7b090c:	cc                   	int3
7b090d:	cc                   	int3
7b090e:	cc                   	int3
7b090f:	cc                   	int3
7b0910:	8b 41 1c             	mov    0x1c(%ecx),%eax
7b0913:	c3                   	ret
7b0914:	cc                   	int3
7b0915:	cc                   	int3
7b0916:	cc                   	int3
7b0917:	cc                   	int3
7b0918:	cc                   	int3
7b0919:	cc                   	int3
7b091a:	cc                   	int3
7b091b:	cc                   	int3
7b091c:	cc                   	int3
7b091d:	cc                   	int3
7b091e:	cc                   	int3
7b091f:	cc                   	int3
7b0920:	8b 41 08             	mov    0x8(%ecx),%eax
7b0923:	2b 01                	sub    (%ecx),%eax
7b0925:	c1 f8 02             	sar    $0x2,%eax
7b0928:	c3                   	ret
7b0929:	cc                   	int3
7b092a:	cc                   	int3
7b092b:	cc                   	int3
7b092c:	cc                   	int3
7b092d:	cc                   	int3
7b092e:	cc                   	int3
7b092f:	cc                   	int3
7b0930:	8b 41 08             	mov    0x8(%ecx),%eax
7b0933:	2b 01                	sub    (%ecx),%eax
7b0935:	c1 f8 02             	sar    $0x2,%eax
7b0938:	c3                   	ret
7b0939:	cc                   	int3
7b093a:	cc                   	int3
7b093b:	cc                   	int3
7b093c:	cc                   	int3
7b093d:	cc                   	int3
7b093e:	cc                   	int3
7b093f:	cc                   	int3
7b0940:	51                   	push   %ecx
7b0941:	8b 01                	mov    (%ecx),%eax
7b0943:	53                   	push   %ebx
7b0944:	89 4c 24 04          	mov    %ecx,0x4(%esp)
7b0948:	8b 18                	mov    (%eax),%ebx
7b094a:	89 00                	mov    %eax,(%eax)
7b094c:	8b 01                	mov    (%ecx),%eax
7b094e:	89 40 04             	mov    %eax,0x4(%eax)
7b0951:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
7b0958:	3b 19                	cmp    (%ecx),%ebx
7b095a:	0f 84 98 00 00 00    	je     0x7b09f8
7b0960:	55                   	push   %ebp
7b0961:	56                   	push   %esi
7b0962:	57                   	push   %edi
7b0963:	8b 7b 24             	mov    0x24(%ebx),%edi
7b0966:	8d 73 08             	lea    0x8(%ebx),%esi
7b0969:	8b 2b                	mov    (%ebx),%ebp
7b096b:	85 ff                	test   %edi,%edi
7b096d:	74 21                	je     0x7b0990
7b096f:	83 c8 ff             	or     $0xffffffff,%eax
7b0972:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
7b0977:	75 17                	jne    0x7b0990
7b0979:	8b 07                	mov    (%edi),%eax
7b097b:	8b cf                	mov    %edi,%ecx
7b097d:	ff 10                	call   *(%eax)
7b097f:	83 c8 ff             	or     $0xffffffff,%eax
7b0982:	f0 0f c1 47 08       	lock xadd %eax,0x8(%edi)
7b0987:	75 07                	jne    0x7b0990
7b0989:	8b 07                	mov    (%edi),%eax
7b098b:	8b cf                	mov    %edi,%ecx
7b098d:	ff 50 04             	call   *0x4(%eax)
7b0990:	8b 46 14             	mov    0x14(%esi),%eax
7b0993:	83 f8 10             	cmp    $0x10,%eax
7b0996:	72 2d                	jb     0x7b09c5
7b0998:	8b 0e                	mov    (%esi),%ecx
7b099a:	40                   	inc    %eax
7b099b:	3d 00 10 00 00       	cmp    $0x1000,%eax
7b09a0:	72 1a                	jb     0x7b09bc
7b09a2:	f6 c1 1f             	test   $0x1f,%cl
7b09a5:	75 54                	jne    0x7b09fb
7b09a7:	8b 41 fc             	mov    -0x4(%ecx),%eax
7b09aa:	3b c1                	cmp    %ecx,%eax
7b09ac:	73 4d                	jae    0x7b09fb
7b09ae:	2b c8                	sub    %eax,%ecx
7b09b0:	83 f9 04             	cmp    $0x4,%ecx
7b09b3:	72 46                	jb     0x7b09fb
7b09b5:	83 f9 23             	cmp    $0x23,%ecx
7b09b8:	77 41                	ja     0x7b09fb
7b09ba:	8b c8                	mov    %eax,%ecx
7b09bc:	51                   	push   %ecx
7b09bd:	e8 cd 0d c5 ff       	call   0x40178f
7b09c2:	83 c4 04             	add    $0x4,%esp
7b09c5:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
7b09cc:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
7b09d0:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
7b09d7:	72 02                	jb     0x7b09db
7b09d9:	8b 36                	mov    (%esi),%esi
7b09db:	53                   	push   %ebx
7b09dc:	c6 06 00             	movb   $0x0,(%esi)
7b09df:	e8 ab 0d c5 ff       	call   0x40178f
7b09e4:	8b 44 24 14          	mov    0x14(%esp),%eax
7b09e8:	83 c4 04             	add    $0x4,%esp
7b09eb:	8b dd                	mov    %ebp,%ebx
7b09ed:	3b 28                	cmp    (%eax),%ebp
7b09ef:	0f 85 6e ff ff ff    	jne    0x7b0963
7b09f5:	5f                   	pop    %edi
7b09f6:	5e                   	pop    %esi
7b09f7:	5d                   	pop    %ebp
7b09f8:	5b                   	pop    %ebx
7b09f9:	59                   	pop    %ecx
7b09fa:	c3                   	ret
7b09fb:	e8 8d cf c8 ff       	call   0x43d98d
7b0a00:	cc                   	int3
7b0a01:	cc                   	int3
7b0a02:	cc                   	int3
7b0a03:	cc                   	int3
7b0a04:	cc                   	int3
7b0a05:	cc                   	int3
7b0a06:	cc                   	int3
7b0a07:	cc                   	int3
7b0a08:	cc                   	int3
7b0a09:	cc                   	int3
7b0a0a:	cc                   	int3
7b0a0b:	cc                   	int3
7b0a0c:	cc                   	int3
7b0a0d:	cc                   	int3
7b0a0e:	cc                   	int3
7b0a0f:	cc                   	int3
7b0a10:	cc                   	int3
7b0a11:	cc                   	int3
7b0a12:	cc                   	int3
7b0a13:	cc                   	int3
7b0a14:	cc                   	int3
7b0a15:	cc                   	int3
7b0a16:	cc                   	int3
7b0a17:	cc                   	int3
7b0a18:	cc                   	int3
7b0a19:	cc                   	int3
7b0a1a:	cc                   	int3
7b0a1b:	cc                   	int3
7b0a1c:	cc                   	int3