4865f5:	83 c4 18             	add    $0x18,%esp
4865f8:	8b c3                	mov    %ebx,%eax
4865fa:	e9 73 ff ff ff       	jmp    0x486572
4865ff:	8b ff                	mov    %edi,%edi
486601:	55                   	push   %ebp
486602:	8b ec                	mov    %esp,%ebp
486604:	51                   	push   %ecx
486605:	53                   	push   %ebx
486606:	56                   	push   %esi
486607:	57                   	push   %edi
486608:	8b 7d 0c             	mov    0xc(%ebp),%edi
48660b:	85 ff                	test   %edi,%edi
48660d:	0f 84 0a 01 00 00    	je     0x48671d
486613:	8b 5d 10             	mov    0x10(%ebp),%ebx
486616:	85 db                	test   %ebx,%ebx
486618:	0f 84 ff 00 00 00    	je     0x48671d
48661e:	80 3f 00             	cmpb   $0x0,(%edi)
486621:	75 15                	jne    0x486638
486623:	8b 45 08             	mov    0x8(%ebp),%eax
486626:	85 c0                	test   %eax,%eax
486628:	0f 84 fd 00 00 00    	je     0x48672b
48662e:	33 c9                	xor    %ecx,%ecx
486630:	66 89 08             	mov    %cx,(%eax)
486633:	e9 f3 00 00 00       	jmp    0x48672b
486638:	8b 75 14             	mov    0x14(%ebp),%esi
48663b:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
48663f:	75 07                	jne    0x486648
486641:	8b ce                	mov    %esi,%ecx
486643:	e8 c8 2a ff ff       	call   0x479110
486648:	8b 46 0c             	mov    0xc(%esi),%eax
48664b:	8b 48 08             	mov    0x8(%eax),%ecx
48664e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
486651:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
486657:	75 23                	jne    0x48667c
486659:	56                   	push   %esi
48665a:	68 e8 87 4c 00       	push   $0x4c87e8
48665f:	53                   	push   %ebx
486660:	57                   	push   %edi
486661:	ff 75 08             	push   0x8(%ebp)
486664:	e8 7d c6 00 00       	call   0x492ce6
486669:	83 c4 14             	add    $0x14,%esp
48666c:	85 c0                	test   %eax,%eax
48666e:	0f 89 b9 00 00 00    	jns    0x48672d
486674:	83 c8 ff             	or     $0xffffffff,%eax
486677:	e9 b1 00 00 00       	jmp    0x48672d
48667c:	33 d2                	xor    %edx,%edx
48667e:	39 90 a8 00 00 00    	cmp    %edx,0xa8(%eax)
486684:	75 13                	jne    0x486699
486686:	8b 4d 08             	mov    0x8(%ebp),%ecx
486689:	85 c9                	test   %ecx,%ecx
48668b:	0f 84 87 00 00 00    	je     0x486718
486691:	0f b6 07             	movzbl (%edi),%eax
486694:	66 89 01             	mov    %ax,(%ecx)
486697:	eb 7f                	jmp    0x486718
486699:	0f b6 0f             	movzbl (%edi),%ecx
48669c:	8b 00                	mov    (%eax),%eax
48669e:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
4866a2:	7d 54                	jge    0x4866f8
4866a4:	8b 46 0c             	mov    0xc(%esi),%eax
4866a7:	8b 48 04             	mov    0x4(%eax),%ecx
4866aa:	83 f9 01             	cmp    $0x1,%ecx
4866ad:	7e 23                	jle    0x4866d2
4866af:	3b d9                	cmp    %ecx,%ebx
4866b1:	7c 1f                	jl     0x4866d2
4866b3:	33 c0                	xor    %eax,%eax
4866b5:	39 45 08             	cmp    %eax,0x8(%ebp)
4866b8:	0f 95 c0             	setne  %al
4866bb:	50                   	push   %eax
4866bc:	ff 75 08             	push   0x8(%ebp)
4866bf:	51                   	push   %ecx
4866c0:	57                   	push   %edi
4866c1:	6a 09                	push   $0x9
4866c3:	ff 75 fc             	push   -0x4(%ebp)
4866c6:	e8 85 85 00 00       	call   0x48ec50
4866cb:	83 c4 18             	add    $0x18,%esp
4866ce:	85 c0                	test   %eax,%eax
4866d0:	75 0e                	jne    0x4866e0
4866d2:	8b 46 0c             	mov    0xc(%esi),%eax
4866d5:	3b 58 04             	cmp    0x4(%eax),%ebx
4866d8:	72 0e                	jb     0x4866e8
4866da:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
4866de:	74 08                	je     0x4866e8
4866e0:	8b 46 0c             	mov    0xc(%esi),%eax
4866e3:	8b 40 04             	mov    0x4(%eax),%eax
4866e6:	eb 45                	jmp    0x48672d
4866e8:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
4866ec:	c7 46 18 2a 00 00 00 	movl   $0x2a,0x18(%esi)
4866f3:	e9 7c ff ff ff       	jmp    0x486674
4866f8:	33 c0                	xor    %eax,%eax
4866fa:	39 45 08             	cmp    %eax,0x8(%ebp)
4866fd:	0f 95 c0             	setne  %al
486700:	50                   	push   %eax
486701:	ff 75 08             	push   0x8(%ebp)
486704:	6a 01                	push   $0x1
486706:	57                   	push   %edi
486707:	6a 09                	push   $0x9
486709:	ff 75 fc             	push   -0x4(%ebp)
48670c:	e8 3f 85 00 00       	call   0x48ec50
486711:	83 c4 18             	add    $0x18,%esp
486714:	85 c0                	test   %eax,%eax
486716:	74 d0                	je     0x4866e8
486718:	33 c0                	xor    %eax,%eax
48671a:	40                   	inc    %eax
48671b:	eb 10                	jmp    0x48672d
48671d:	33 d2                	xor    %edx,%edx
48671f:	89 15 e8 87 4c 00    	mov    %edx,0x4c87e8
486725:	89 15 ec 87 4c 00    	mov    %edx,0x4c87ec
48672b:	33 c0                	xor    %eax,%eax
48672d:	5f                   	pop    %edi
48672e:	5e                   	pop    %esi
48672f:	5b                   	pop    %ebx
486730:	c9                   	leave
486731:	c3                   	ret
486732:	8b ff                	mov    %edi,%edi
486734:	55                   	push   %ebp
486735:	8b ec                	mov    %esp,%ebp
486737:	8b 45 08             	mov    0x8(%ebp),%eax
48673a:	85 c0                	test   %eax,%eax
48673c:	75 15                	jne    0x486753
48673e:	e8 f2 37 ff ff       	call   0x479f35
486743:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
486749:	e8 d3 2e ff ff       	call   0x479621
48674e:	83 c8 ff             	or     $0xffffffff,%eax
486751:	5d                   	pop    %ebp
486752:	c3                   	ret
486753:	8b 40 10             	mov    0x10(%eax),%eax
486756:	90                   	nop
486757:	5d                   	pop    %ebp
486758:	c3                   	ret
486759:	8b 0d 14 40 4c 00    	mov    0x4c4014,%ecx
48675f:	33 c0                	xor    %eax,%eax
486761:	83 c9 01             	or     $0x1,%ecx
486764:	39 0d f0 87 4c 00    	cmp    %ecx,0x4c87f0
48676a:	0f 94 c0             	sete   %al
48676d:	c3                   	ret
48676e:	6a 08                	push   $0x8
486770:	68 10 19 4c 00       	push   $0x4c1910
486775:	e8 c6 3f fe ff       	call   0x46a740
48677a:	8b 45 08             	mov    0x8(%ebp),%eax
48677d:	ff 30                	push   (%eax)
48677f:	e8 dd b6 ff ff       	call   0x481e61
486784:	59                   	pop    %ecx
486785:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
486789:	8b 45 0c             	mov    0xc(%ebp),%eax
48678c:	8b 00                	mov    (%eax),%eax
48678e:	8b 00                	mov    (%eax),%eax
486790:	8b 40 48             	mov    0x48(%eax),%eax
486793:	f0 ff 00             	lock incl (%eax)
486796:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
48679d:	e8 12 00 00 00       	call   0x4867b4
4867a2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4867a5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4867ac:	59                   	pop    %ecx
4867ad:	5f                   	pop    %edi
4867ae:	5e                   	pop    %esi
4867af:	5b                   	pop    %ebx
4867b0:	c9                   	leave
4867b1:	c2 0c 00             	ret    $0xc
4867b4:	8b 45 10             	mov    0x10(%ebp),%eax
4867b7:	ff 30                	push   (%eax)
4867b9:	e8 f3 b6 ff ff       	call   0x481eb1
4867be:	59                   	pop    %ecx
4867bf:	c3                   	ret
4867c0:	6a 08                	push   $0x8
4867c2:	68 50 19 4c 00       	push   $0x4c1950
4867c7:	e8 74 3f fe ff       	call   0x46a740
4867cc:	8b 45 08             	mov    0x8(%ebp),%eax
4867cf:	ff 30                	push   (%eax)
4867d1:	e8 8b b6 ff ff       	call   0x481e61
4867d6:	59                   	pop    %ecx
4867d7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4867db:	8b 45 0c             	mov    0xc(%ebp),%eax
4867de:	8b 00                	mov    (%eax),%eax
4867e0:	8b 00                	mov    (%eax),%eax
4867e2:	8b 48 48             	mov    0x48(%eax),%ecx
4867e5:	85 c9                	test   %ecx,%ecx
4867e7:	74 18                	je     0x486801
4867e9:	83 c8 ff             	or     $0xffffffff,%eax
4867ec:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4867f0:	75 0f                	jne    0x486801
4867f2:	81 f9 90 45 4c 00    	cmp    $0x4c4590,%ecx
4867f8:	74 07                	je     0x486801
4867fa:	51                   	push   %ecx
4867fb:	e8 f8 ef ff ff       	call   0x4857f8
486800:	59                   	pop    %ecx
486801:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
486808:	e8 12 00 00 00       	call   0x48681f
48680d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
486810:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
486817:	59                   	pop    %ecx
486818:	5f                   	pop    %edi
486819:	5e                   	pop    %esi
48681a:	5b                   	pop    %ebx
48681b:	c9                   	leave
48681c:	c2 0c 00             	ret    $0xc
48681f:	8b 45 10             	mov    0x10(%ebp),%eax
486822:	ff 30                	push   (%eax)
486824:	e8 88 b6 ff ff       	call   0x481eb1
486829:	59                   	pop    %ecx
48682a:	c3                   	ret
48682b:	6a 08                	push   $0x8
48682d:	68 70 19 4c 00       	push   $0x4c1970
486832:	e8 09 3f fe ff       	call   0x46a740
486837:	8b 45 08             	mov    0x8(%ebp),%eax
48683a:	ff 30                	push   (%eax)
48683c:	e8 20 b6 ff ff       	call   0x481e61
486841:	59                   	pop    %ecx
486842:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
486846:	6a 00                	push   $0x0
486848:	8b 45 0c             	mov    0xc(%ebp),%eax
48684b:	8b 00                	mov    (%eax),%eax
48684d:	ff 30                	push   (%eax)
48684f:	e8 1a 02 00 00       	call   0x486a6e
486854:	59                   	pop    %ecx
486855:	59                   	pop    %ecx
486856:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
48685d:	e8 12 00 00 00       	call   0x486874
486862:	8b 4d f0             	mov    -0x10(%ebp),%ecx
486865:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
48686c:	59                   	pop    %ecx
48686d:	5f                   	pop    %edi
48686e:	5e                   	pop    %esi
48686f:	5b                   	pop    %ebx
486870:	c9                   	leave
486871:	c2 0c 00             	ret    $0xc
486874:	8b 45 10             	mov    0x10(%ebp),%eax
486877:	ff 30                	push   (%eax)
486879:	e8 33 b6 ff ff       	call   0x481eb1
48687e:	59                   	pop    %ecx
48687f:	c3                   	ret
486880:	6a 08                	push   $0x8
486882:	68 30 19 4c 00       	push   $0x4c1930
486887:	e8 b4 3e fe ff       	call   0x46a740
48688c:	8b 45 08             	mov    0x8(%ebp),%eax
48688f:	ff 30                	push   (%eax)
486891:	e8 cb b5 ff ff       	call   0x481e61
486896:	59                   	pop    %ecx
486897:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
48689b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48689e:	8b 41 04             	mov    0x4(%ecx),%eax
4868a1:	8b 00                	mov    (%eax),%eax
4868a3:	ff 30                	push   (%eax)
4868a5:	8b 01                	mov    (%ecx),%eax
4868a7:	ff 30                	push   (%eax)
4868a9:	e8 c0 01 00 00       	call   0x486a6e
4868ae:	59                   	pop    %ecx
4868af:	59                   	pop    %ecx
4868b0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4868b7:	e8 12 00 00 00       	call   0x4868ce
4868bc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4868bf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4868c6:	59                   	pop    %ecx
4868c7:	5f                   	pop    %edi
4868c8:	5e                   	pop    %esi
4868c9:	5b                   	pop    %ebx
4868ca:	c9                   	leave
4868cb:	c2 0c 00             	ret    $0xc
4868ce:	8b 45 10             	mov    0x10(%ebp),%eax
4868d1:	ff 30                	push   (%eax)
4868d3:	e8 d9 b5 ff ff       	call   0x481eb1
4868d8:	59                   	pop    %ecx
4868d9:	c3                   	ret
4868da:	8b ff                	mov    %edi,%edi
4868dc:	55                   	push   %ebp
4868dd:	8b ec                	mov    %esp,%ebp
4868df:	83 ec 14             	sub    $0x14,%esp
4868e2:	8b 45 08             	mov    0x8(%ebp),%eax
4868e5:	33 c9                	xor    %ecx,%ecx
4868e7:	41                   	inc    %ecx
4868e8:	6a 43                	push   $0x43
4868ea:	89 48 18             	mov    %ecx,0x18(%eax)
4868ed:	8b 45 08             	mov    0x8(%ebp),%eax
4868f0:	c7 00 70 30 4a 00    	movl   $0x4a3070,(%eax)
4868f6:	8b 45 08             	mov    0x8(%ebp),%eax
4868f9:	89 88 50 03 00 00    	mov    %ecx,0x350(%eax)
4868ff:	8b 45 08             	mov    0x8(%ebp),%eax
486902:	59                   	pop    %ecx
486903:	6a 05                	push   $0x5
486905:	c7 40 48 90 45 4c 00 	movl   $0x4c4590,0x48(%eax)
48690c:	8b 45 08             	mov    0x8(%ebp),%eax
48690f:	66 89 48 6c          	mov    %cx,0x6c(%eax)
486913:	8b 45 08             	mov    0x8(%ebp),%eax
486916:	66 89 88 72 01 00 00 	mov    %cx,0x172(%eax)
48691d:	8d 4d ff             	lea    -0x1(%ebp),%ecx
486920:	8b 45 08             	mov    0x8(%ebp),%eax
486923:	83 a0 4c 03 00 00 00 	andl   $0x0,0x34c(%eax)
48692a:	8d 45 08             	lea    0x8(%ebp),%eax
48692d:	89 45 f0             	mov    %eax,-0x10(%ebp)
486930:	58                   	pop    %eax
486931:	89 45 f8             	mov    %eax,-0x8(%ebp)
486934:	89 45 ec             	mov    %eax,-0x14(%ebp)
486937:	8d 45 f8             	lea    -0x8(%ebp),%eax
48693a:	50                   	push   %eax
48693b:	8d 45 f0             	lea    -0x10(%ebp),%eax
48693e:	50                   	push   %eax
48693f:	8d 45 ec             	lea    -0x14(%ebp),%eax
486942:	50                   	push   %eax
486943:	e8 26 fe ff ff       	call   0x48676e
486948:	8d 45 08             	lea    0x8(%ebp),%eax
48694b:	89 45 f4             	mov    %eax,-0xc(%ebp)
48694e:	8d 4d ff             	lea    -0x1(%ebp),%ecx
486951:	6a 04                	push   $0x4
486953:	8d 45 0c             	lea    0xc(%ebp),%eax
486956:	89 45 f8             	mov    %eax,-0x8(%ebp)
486959:	58                   	pop    %eax
48695a:	89 45 ec             	mov    %eax,-0x14(%ebp)
48695d:	89 45 f0             	mov    %eax,-0x10(%ebp)
486960:	8d 45 ec             	lea    -0x14(%ebp),%eax
486963:	50                   	push   %eax
486964:	8d 45 f4             	lea    -0xc(%ebp),%eax
486967:	50                   	push   %eax
486968:	8d 45 f0             	lea    -0x10(%ebp),%eax
48696b:	50                   	push   %eax
48696c:	e8 0f ff ff ff       	call   0x486880
486971:	c9                   	leave
486972:	c3                   	ret
486973:	cc                   	int3
486974:	cc                   	int3
486975:	cc                   	int3
486976:	cc                   	int3
486977:	cc                   	int3
486978:	cc                   	int3
486979:	cc                   	int3
48697a:	cc                   	int3
48697b:	cc                   	int3
48697c:	cc                   	int3
48697d:	cc                   	int3
48697e:	cc                   	int3
48697f:	cc                   	int3
486980:	8b ff                	mov    %edi,%edi
486982:	55                   	push   %ebp
486983:	8b ec                	mov    %esp,%ebp
486985:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
486989:	74 12                	je     0x48699d
48698b:	ff 75 08             	push   0x8(%ebp)
48698e:	e8 0e 00 00 00       	call   0x4869a1
486993:	ff 75 08             	push   0x8(%ebp)
486996:	e8 5d ee ff ff       	call   0x4857f8
48699b:	59                   	pop    %ecx
48699c:	59                   	pop    %ecx
48699d:	5d                   	pop    %ebp
48699e:	c2 04 00             	ret    $0x4
4869a1:	8b ff                	mov    %edi,%edi
4869a3:	55                   	push   %ebp
4869a4:	8b ec                	mov    %esp,%ebp
4869a6:	8b 45 08             	mov    0x8(%ebp),%eax
4869a9:	83 ec 10             	sub    $0x10,%esp
4869ac:	8b 08                	mov    (%eax),%ecx
4869ae:	81 f9 70 30 4a 00    	cmp    $0x4a3070,%ecx
4869b4:	74 0a                	je     0x4869c0