46867f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
468682:	51                   	push   %ecx
468683:	6a ff                	push   $0xffffffff
468685:	57                   	push   %edi
468686:	ff 75 fc             	push   -0x4(%ebp)
468689:	8d 43 04             	lea    0x4(%ebx),%eax
46868c:	33 ff                	xor    %edi,%edi
46868e:	50                   	push   %eax
46868f:	57                   	push   %edi
468690:	e8 f8 2a 01 00       	call   0x47b18d
468695:	83 c4 18             	add    $0x18,%esp
468698:	85 c0                	test   %eax,%eax
46869a:	74 22                	je     0x4686be
46869c:	83 f8 16             	cmp    $0x16,%eax
46869f:	74 13                	je     0x4686b4
4686a1:	83 f8 22             	cmp    $0x22,%eax
4686a4:	74 0e                	je     0x4686b4
4686a6:	53                   	push   %ebx
4686a7:	e8 8d 9c 00 00       	call   0x472339
4686ac:	59                   	pop    %ecx
4686ad:	33 c0                	xor    %eax,%eax
4686af:	e9 a5 00 00 00       	jmp    0x468759
4686b4:	57                   	push   %edi
4686b5:	57                   	push   %edi
4686b6:	57                   	push   %edi
4686b7:	57                   	push   %edi
4686b8:	57                   	push   %edi
4686b9:	e9 a7 00 00 00       	jmp    0x468765
4686be:	8b 06                	mov    (%esi),%eax
4686c0:	83 c9 ff             	or     $0xffffffff,%ecx
4686c3:	8b 7d f0             	mov    -0x10(%ebp),%edi
4686c6:	8b 00                	mov    (%eax),%eax
4686c8:	03 c0                	add    %eax,%eax
4686ca:	8b 54 c7 24          	mov    0x24(%edi,%eax,8),%edx
4686ce:	85 d2                	test   %edx,%edx
4686d0:	74 26                	je     0x4686f8
4686d2:	8b c1                	mov    %ecx,%eax
4686d4:	f0 0f c1 02          	lock xadd %eax,(%edx)
4686d8:	75 1e                	jne    0x4686f8
4686da:	8b 06                	mov    (%esi),%eax
4686dc:	8b 00                	mov    (%eax),%eax
4686de:	03 c0                	add    %eax,%eax
4686e0:	ff 74 c7 24          	push   0x24(%edi,%eax,8)
4686e4:	e8 50 9c 00 00       	call   0x472339
4686e9:	8b 06                	mov    (%esi),%eax
4686eb:	59                   	pop    %ecx
4686ec:	8b 00                	mov    (%eax),%eax
4686ee:	03 c0                	add    %eax,%eax
4686f0:	83 64 c7 24 00       	andl   $0x0,0x24(%edi,%eax,8)
4686f5:	83 c9 ff             	or     $0xffffffff,%ecx
4686f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4686fb:	f6 80 50 03 00 00 02 	testb  $0x2,0x350(%eax)
468702:	75 39                	jne    0x46873d
468704:	f6 05 38 84 4b 00 01 	testb  $0x1,0x4b8438
46870b:	75 30                	jne    0x46873d
46870d:	8b 06                	mov    (%esi),%eax
46870f:	8b 00                	mov    (%eax),%eax
468711:	03 c0                	add    %eax,%eax
468713:	8b 44 c7 24          	mov    0x24(%edi,%eax,8),%eax
468717:	85 c0                	test   %eax,%eax
468719:	74 22                	je     0x46873d
46871b:	f0 0f c1 08          	lock xadd %ecx,(%eax)
46871f:	49                   	dec    %ecx
468720:	75 1b                	jne    0x46873d
468722:	8b 06                	mov    (%esi),%eax
468724:	8b 00                	mov    (%eax),%eax
468726:	03 c0                	add    %eax,%eax
468728:	ff 74 c7 24          	push   0x24(%edi,%eax,8)
46872c:	e8 08 9c 00 00       	call   0x472339
468731:	8b 06                	mov    (%esi),%eax
468733:	59                   	pop    %ecx
468734:	8b 00                	mov    (%eax),%eax
468736:	03 c0                	add    %eax,%eax
468738:	83 64 c7 24 00       	andl   $0x0,0x24(%edi,%eax,8)
46873d:	8b 4f 0c             	mov    0xc(%edi),%ecx
468740:	8d 43 04             	lea    0x4(%ebx),%eax
468743:	89 0b                	mov    %ecx,(%ebx)
468745:	8b 0e                	mov    (%esi),%ecx
468747:	8b 09                	mov    (%ecx),%ecx
468749:	03 c9                	add    %ecx,%ecx
46874b:	89 5c cf 24          	mov    %ebx,0x24(%edi,%ecx,8)
46874f:	8b 0e                	mov    (%esi),%ecx
468751:	8b 09                	mov    (%ecx),%ecx
468753:	03 c9                	add    %ecx,%ecx
468755:	89 44 cf 1c          	mov    %eax,0x1c(%edi,%ecx,8)
468759:	5b                   	pop    %ebx
46875a:	5f                   	pop    %edi
46875b:	5e                   	pop    %esi
46875c:	8b e5                	mov    %ebp,%esp
46875e:	5d                   	pop    %ebp
46875f:	c3                   	ret
468760:	53                   	push   %ebx
468761:	53                   	push   %ebx
468762:	53                   	push   %ebx
468763:	53                   	push   %ebx
468764:	53                   	push   %ebx
468765:	e8 99 45 fe ff       	call   0x44cd03
46876a:	cc                   	int3
46876b:	ff 31                	push   (%ecx)
46876d:	e8 9a f7 ff ff       	call   0x467f0c
468772:	59                   	pop    %ecx
468773:	c3                   	ret
468774:	ff 31                	push   (%ecx)
468776:	e8 d9 f7 ff ff       	call   0x467f54
46877b:	59                   	pop    %ecx
46877c:	c3                   	ret
46877d:	8b 01                	mov    (%ecx),%eax
46877f:	c3                   	ret
468780:	8b ff                	mov    %edi,%edi
468782:	55                   	push   %ebp
468783:	8b ec                	mov    %esp,%ebp
468785:	51                   	push   %ecx
468786:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46878a:	75 0e                	jne    0x46879a
46878c:	6a 00                	push   $0x0
46878e:	ff 75 08             	push   0x8(%ebp)
468791:	e8 40 70 00 00       	call   0x46f7d6
468796:	59                   	pop    %ecx
468797:	59                   	pop    %ecx
468798:	eb 74                	jmp    0x46880e
46879a:	56                   	push   %esi
46879b:	57                   	push   %edi
46879c:	68 ff ff ff 7f       	push   $0x7fffffff
4687a1:	ff 75 0c             	push   0xc(%ebp)
4687a4:	33 ff                	xor    %edi,%edi
4687a6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4687a9:	57                   	push   %edi
4687aa:	57                   	push   %edi
4687ab:	50                   	push   %eax
4687ac:	e8 0b 20 01 00       	call   0x47a7bc
4687b1:	83 c4 14             	add    $0x14,%esp
4687b4:	85 c0                	test   %eax,%eax
4687b6:	74 0a                	je     0x4687c2
4687b8:	83 f8 16             	cmp    $0x16,%eax
4687bb:	74 55                	je     0x468812
4687bd:	83 f8 22             	cmp    $0x22,%eax
4687c0:	74 50                	je     0x468812
4687c2:	6a 02                	push   $0x2
4687c4:	ff 75 fc             	push   -0x4(%ebp)
4687c7:	e8 87 9a 00 00       	call   0x472253
4687cc:	8b f0                	mov    %eax,%esi
4687ce:	59                   	pop    %ecx
4687cf:	59                   	pop    %ecx
4687d0:	85 f6                	test   %esi,%esi
4687d2:	74 2f                	je     0x468803
4687d4:	6a ff                	push   $0xffffffff
4687d6:	ff 75 0c             	push   0xc(%ebp)
4687d9:	ff 75 fc             	push   -0x4(%ebp)
4687dc:	56                   	push   %esi
4687dd:	57                   	push   %edi
4687de:	e8 d9 1f 01 00       	call   0x47a7bc
4687e3:	83 c4 14             	add    $0x14,%esp
4687e6:	85 c0                	test   %eax,%eax
4687e8:	74 0c                	je     0x4687f6
4687ea:	83 f8 16             	cmp    $0x16,%eax
4687ed:	74 23                	je     0x468812
4687ef:	83 f8 22             	cmp    $0x22,%eax
4687f2:	75 0f                	jne    0x468803
4687f4:	eb 1c                	jmp    0x468812
4687f6:	56                   	push   %esi
4687f7:	ff 75 08             	push   0x8(%ebp)
4687fa:	e8 d7 6f 00 00       	call   0x46f7d6
4687ff:	59                   	pop    %ecx
468800:	59                   	pop    %ecx
468801:	8b f8                	mov    %eax,%edi
468803:	56                   	push   %esi
468804:	e8 30 9b 00 00       	call   0x472339
468809:	59                   	pop    %ecx
46880a:	8b c7                	mov    %edi,%eax
46880c:	5f                   	pop    %edi
46880d:	5e                   	pop    %esi
46880e:	8b e5                	mov    %ebp,%esp
468810:	5d                   	pop    %ebp
468811:	c3                   	ret
468812:	57                   	push   %edi
468813:	57                   	push   %edi
468814:	57                   	push   %edi
468815:	57                   	push   %edi
468816:	57                   	push   %edi
468817:	e8 e7 44 fe ff       	call   0x44cd03
46881c:	cc                   	int3
46881d:	8b ff                	mov    %edi,%edi
46881f:	55                   	push   %ebp
468820:	8b ec                	mov    %esp,%ebp
468822:	51                   	push   %ecx
468823:	51                   	push   %ecx
468824:	e8 f9 ce 00 00       	call   0x475722
468829:	8d 45 08             	lea    0x8(%ebp),%eax
46882c:	89 45 f8             	mov    %eax,-0x8(%ebp)
46882f:	8d 45 0c             	lea    0xc(%ebp),%eax
468832:	89 45 fc             	mov    %eax,-0x4(%ebp)
468835:	8d 45 f8             	lea    -0x8(%ebp),%eax
468838:	50                   	push   %eax
468839:	6a 04                	push   $0x4
46883b:	e8 5f fd ff ff       	call   0x46859f
468840:	59                   	pop    %ecx
468841:	59                   	pop    %ecx
468842:	8b e5                	mov    %ebp,%esp
468844:	5d                   	pop    %ebp
468845:	c3                   	ret
468846:	8b ff                	mov    %edi,%edi
468848:	55                   	push   %ebp
468849:	8b ec                	mov    %esp,%ebp
46884b:	83 ec 1c             	sub    $0x1c,%esp
46884e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
468851:	53                   	push   %ebx
468852:	ff 75 10             	push   0x10(%ebp)
468855:	e8 ae 67 fe ff       	call   0x44f008
46885a:	8b 5d 08             	mov    0x8(%ebp),%ebx
46885d:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
468863:	73 4b                	jae    0x4688b0
468865:	8d 45 e8             	lea    -0x18(%ebp),%eax
468868:	50                   	push   %eax
468869:	53                   	push   %ebx
46886a:	e8 6b 02 00 00       	call   0x468ada
46886f:	59                   	pop    %ecx
468870:	59                   	pop    %ecx
468871:	84 c0                	test   %al,%al
468873:	74 24                	je     0x468899
468875:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
468879:	8b 45 e8             	mov    -0x18(%ebp),%eax
46887c:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
468882:	0f b6 0c 18          	movzbl (%eax,%ebx,1),%ecx
468886:	74 0a                	je     0x468892
468888:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46888b:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
468892:	8b c1                	mov    %ecx,%eax
468894:	e9 f2 00 00 00       	jmp    0x46898b
468899:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
46889d:	74 0a                	je     0x4688a9
46889f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4688a2:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4688a9:	8b c3                	mov    %ebx,%eax
4688ab:	e9 db 00 00 00       	jmp    0x46898b
4688b0:	33 c0                	xor    %eax,%eax
4688b2:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
4688b6:	88 45 fe             	mov    %al,-0x2(%ebp)
4688b9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4688bc:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
4688c0:	7e 2e                	jle    0x4688f0
4688c2:	8b c3                	mov    %ebx,%eax
4688c4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4688c7:	c1 f8 08             	sar    $0x8,%eax
4688ca:	89 45 f4             	mov    %eax,-0xc(%ebp)
4688cd:	51                   	push   %ecx
4688ce:	0f b6 c0             	movzbl %al,%eax
4688d1:	50                   	push   %eax
4688d2:	e8 09 2a 01 00       	call   0x47b2e0
4688d7:	59                   	pop    %ecx
4688d8:	59                   	pop    %ecx
4688d9:	85 c0                	test   %eax,%eax
4688db:	74 13                	je     0x4688f0
4688dd:	8b 45 f4             	mov    -0xc(%ebp),%eax
4688e0:	88 45 fc             	mov    %al,-0x4(%ebp)
4688e3:	33 c0                	xor    %eax,%eax
4688e5:	6a 02                	push   $0x2
4688e7:	88 5d fd             	mov    %bl,-0x3(%ebp)
4688ea:	88 45 fe             	mov    %al,-0x2(%ebp)
4688ed:	59                   	pop    %ecx
4688ee:	eb 16                	jmp    0x468906
4688f0:	e8 3a 45 fe ff       	call   0x44ce2f
4688f5:	33 c9                	xor    %ecx,%ecx
4688f7:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4688fd:	33 c0                	xor    %eax,%eax
4688ff:	88 5d fc             	mov    %bl,-0x4(%ebp)
468902:	41                   	inc    %ecx
468903:	88 45 fd             	mov    %al,-0x3(%ebp)
468906:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
46890a:	8d 55 f8             	lea    -0x8(%ebp),%edx
46890d:	88 45 fa             	mov    %al,-0x6(%ebp)
468910:	8b 45 e8             	mov    -0x18(%ebp),%eax
468913:	6a 01                	push   $0x1
468915:	ff 70 08             	push   0x8(%eax)
468918:	6a 03                	push   $0x3
46891a:	52                   	push   %edx
46891b:	51                   	push   %ecx
46891c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46891f:	51                   	push   %ecx
468920:	ff 75 0c             	push   0xc(%ebp)
468923:	ff b0 a8 00 00 00    	push   0xa8(%eax)
468929:	8d 45 e8             	lea    -0x18(%ebp),%eax
46892c:	50                   	push   %eax
46892d:	e8 4d 25 01 00       	call   0x47ae7f
468932:	83 c4 24             	add    $0x24,%esp
468935:	85 c0                	test   %eax,%eax
468937:	75 18                	jne    0x468951
468939:	38 45 f0             	cmp    %al,-0x10(%ebp)
46893c:	0f 84 67 ff ff ff    	je     0x4688a9
468942:	8b 45 e4             	mov    -0x1c(%ebp),%eax
468945:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
46894c:	e9 58 ff ff ff       	jmp    0x4688a9
468951:	83 f8 01             	cmp    $0x1,%eax
468954:	75 16                	jne    0x46896c
468956:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
46895a:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
46895e:	74 2b                	je     0x46898b
468960:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
468963:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
46896a:	eb 1f                	jmp    0x46898b
46896c:	0f b6 55 f8          	movzbl -0x8(%ebp),%edx
468970:	0f b6 45 f9          	movzbl -0x7(%ebp),%eax
468974:	c1 e2 08             	shl    $0x8,%edx
468977:	0b d0                	or     %eax,%edx
468979:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
46897d:	74 0a                	je     0x468989
46897f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
468982:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
468989:	8b c2                	mov    %edx,%eax
46898b:	5b                   	pop    %ebx
46898c:	8b e5                	mov    %ebp,%esp
46898e:	5d                   	pop    %ebp
46898f:	c3                   	ret
468990:	8b ff                	mov    %edi,%edi
468992:	55                   	push   %ebp
468993:	8b ec                	mov    %esp,%ebp
468995:	83 ec 1c             	sub    $0x1c,%esp
468998:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46899b:	53                   	push   %ebx
46899c:	ff 75 10             	push   0x10(%ebp)
46899f:	e8 64 66 fe ff       	call   0x44f008
4689a4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4689a7:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
4689ad:	73 4b                	jae    0x4689fa
4689af:	8d 45 e8             	lea    -0x18(%ebp),%eax
4689b2:	50                   	push   %eax
4689b3:	53                   	push   %ebx
4689b4:	e8 3e 01 00 00       	call   0x468af7
4689b9:	59                   	pop    %ecx
4689ba:	59                   	pop    %ecx
4689bb:	84 c0                	test   %al,%al
4689bd:	74 24                	je     0x4689e3
4689bf:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
4689c3:	8b 45 e8             	mov    -0x18(%ebp),%eax
4689c6:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
4689cc:	0f b6 0c 18          	movzbl (%eax,%ebx,1),%ecx
4689d0:	74 0a                	je     0x4689dc
4689d2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4689d5:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4689dc:	8b c1                	mov    %ecx,%eax
4689de:	e9 f2 00 00 00       	jmp    0x468ad5
4689e3:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
4689e7:	74 0a                	je     0x4689f3
4689e9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4689ec:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4689f3:	8b c3                	mov    %ebx,%eax
4689f5:	e9 db 00 00 00       	jmp    0x468ad5
4689fa:	33 c0                	xor    %eax,%eax
4689fc:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
468a00:	88 45 fe             	mov    %al,-0x2(%ebp)
468a03:	8b 45 e8             	mov    -0x18(%ebp),%eax