5ee53a:	eb 2f                	jmp    0x5ee56b
5ee53c:	81 0e 80 00 00 00    	orl    $0x80,(%esi)
5ee542:	b1 01                	mov    $0x1,%cl
5ee544:	e9 86 00 00 00       	jmp    0x5ee5cf
5ee549:	56                   	push   %esi
5ee54a:	e8 9f 02 00 00       	call   0x5ee7ee
5ee54f:	eb 78                	jmp    0x5ee5c9
5ee551:	b7 01                	mov    $0x1,%bh
5ee553:	32 c9                	xor    %cl,%cl
5ee555:	eb 78                	jmp    0x5ee5cf
5ee557:	8d 45 fe             	lea    -0x2(%ebp),%eax
5ee55a:	50                   	push   %eax
5ee55b:	56                   	push   %esi
5ee55c:	e8 2b 03 00 00       	call   0x5ee88c
5ee561:	59                   	pop    %ecx
5ee562:	eb 65                	jmp    0x5ee5c9
5ee564:	84 db                	test   %bl,%bl
5ee566:	75 eb                	jne    0x5ee553
5ee568:	83 0e 20             	orl    $0x20,(%esi)
5ee56b:	b3 01                	mov    $0x1,%bl
5ee56d:	8a cb                	mov    %bl,%cl
5ee56f:	eb 5e                	jmp    0x5ee5cf
5ee571:	83 e8 54             	sub    $0x54,%eax
5ee574:	74 4d                	je     0x5ee5c3
5ee576:	83 e8 0e             	sub    $0xe,%eax
5ee579:	74 40                	je     0x5ee5bb
5ee57b:	83 e8 01             	sub    $0x1,%eax
5ee57e:	74 2f                	je     0x5ee5af
5ee580:	83 e8 0b             	sub    $0xb,%eax
5ee583:	74 1e                	je     0x5ee5a3
5ee585:	83 e8 06             	sub    $0x6,%eax
5ee588:	74 11                	je     0x5ee59b
5ee58a:	83 e8 04             	sub    $0x4,%eax
5ee58d:	0f 85 3e 01 00 00    	jne    0x5ee6d1
5ee593:	56                   	push   %esi
5ee594:	e8 49 03 00 00       	call   0x5ee8e2
5ee599:	eb 2e                	jmp    0x5ee5c9
5ee59b:	56                   	push   %esi
5ee59c:	e8 21 03 00 00       	call   0x5ee8c2
5ee5a1:	eb 26                	jmp    0x5ee5c9
5ee5a3:	8d 45 ff             	lea    -0x1(%ebp),%eax
5ee5a6:	50                   	push   %eax
5ee5a7:	56                   	push   %esi
5ee5a8:	e8 bd 02 00 00       	call   0x5ee86a
5ee5ad:	eb b2                	jmp    0x5ee561
5ee5af:	8d 45 ff             	lea    -0x1(%ebp),%eax
5ee5b2:	50                   	push   %eax
5ee5b3:	56                   	push   %esi
5ee5b4:	e8 8f 02 00 00       	call   0x5ee848
5ee5b9:	eb a6                	jmp    0x5ee561
5ee5bb:	56                   	push   %esi
5ee5bc:	e8 67 02 00 00       	call   0x5ee828
5ee5c1:	eb 06                	jmp    0x5ee5c9
5ee5c3:	56                   	push   %esi
5ee5c4:	e8 40 02 00 00       	call   0x5ee809
5ee5c9:	59                   	pop    %ecx
5ee5ca:	6a 0a                	push   $0xa
5ee5cc:	5a                   	pop    %edx
5ee5cd:	8a c8                	mov    %al,%cl
5ee5cf:	0f b6 c1             	movzbl %cl,%eax
5ee5d2:	f7 d8                	neg    %eax
5ee5d4:	1b c0                	sbb    %eax,%eax
5ee5d6:	83 e0 02             	and    $0x2,%eax
5ee5d9:	03 f8                	add    %eax,%edi
5ee5db:	84 c9                	test   %cl,%cl
5ee5dd:	0f 85 18 ff ff ff    	jne    0x5ee4fb
5ee5e3:	84 ff                	test   %bh,%bh
5ee5e5:	74 03                	je     0x5ee5ea
5ee5e7:	83 c7 02             	add    $0x2,%edi
5ee5ea:	6a 20                	push   $0x20
5ee5ec:	58                   	pop    %eax
5ee5ed:	eb 03                	jmp    0x5ee5f2
5ee5ef:	83 c7 02             	add    $0x2,%edi
5ee5f2:	66 39 07             	cmp    %ax,(%edi)
5ee5f5:	74 f8                	je     0x5ee5ef
5ee5f7:	84 ff                	test   %bh,%bh
5ee5f9:	75 14                	jne    0x5ee60f
5ee5fb:	33 c0                	xor    %eax,%eax
5ee5fd:	66 39 07             	cmp    %ax,(%edi)
5ee600:	0f 85 cb 00 00 00    	jne    0x5ee6d1
5ee606:	c6 46 08 01          	movb   $0x1,0x8(%esi)
5ee60a:	e9 d2 00 00 00       	jmp    0x5ee6e1
5ee60f:	6a 03                	push   $0x3
5ee611:	68 a4 52 67 00       	push   $0x6752a4
5ee616:	57                   	push   %edi
5ee617:	e8 7f c6 fe ff       	call   0x5dac9b
5ee61c:	83 c4 0c             	add    $0xc,%esp
5ee61f:	85 c0                	test   %eax,%eax
5ee621:	0f 85 aa 00 00 00    	jne    0x5ee6d1
5ee627:	83 c7 06             	add    $0x6,%edi
5ee62a:	6a 20                	push   $0x20
5ee62c:	5b                   	pop    %ebx
5ee62d:	0f b7 07             	movzwl (%edi),%eax
5ee630:	8b c8                	mov    %eax,%ecx
5ee632:	66 3b c3             	cmp    %bx,%ax
5ee635:	75 0d                	jne    0x5ee644
5ee637:	83 c7 02             	add    $0x2,%edi
5ee63a:	0f b7 07             	movzwl (%edi),%eax
5ee63d:	66 3b c3             	cmp    %bx,%ax
5ee640:	74 f5                	je     0x5ee637
5ee642:	8b c8                	mov    %eax,%ecx
5ee644:	66 83 f9 3d          	cmp    $0x3d,%cx
5ee648:	0f 85 83 00 00 00    	jne    0x5ee6d1
5ee64e:	83 c7 02             	add    $0x2,%edi
5ee651:	66 39 1f             	cmp    %bx,(%edi)
5ee654:	74 f8                	je     0x5ee64e
5ee656:	6a 05                	push   $0x5
5ee658:	68 ac 52 67 00       	push   $0x6752ac
5ee65d:	57                   	push   %edi
5ee65e:	e8 39 9c ff ff       	call   0x5e829c
5ee663:	83 c4 0c             	add    $0xc,%esp
5ee666:	85 c0                	test   %eax,%eax
5ee668:	75 0a                	jne    0x5ee674
5ee66a:	81 0e 00 00 04 00    	orl    $0x40000,(%esi)
5ee670:	6a 0a                	push   $0xa
5ee672:	eb 3a                	jmp    0x5ee6ae
5ee674:	6a 08                	push   $0x8
5ee676:	68 b8 52 67 00       	push   $0x6752b8
5ee67b:	57                   	push   %edi
5ee67c:	e8 1b 9c ff ff       	call   0x5e829c
5ee681:	83 c4 0c             	add    $0xc,%esp
5ee684:	85 c0                	test   %eax,%eax
5ee686:	75 0a                	jne    0x5ee692
5ee688:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
5ee68e:	6a 10                	push   $0x10
5ee690:	eb 1c                	jmp    0x5ee6ae
5ee692:	6a 07                	push   $0x7
5ee694:	68 c8 52 67 00       	push   $0x6752c8
5ee699:	57                   	push   %edi
5ee69a:	e8 fd 9b ff ff       	call   0x5e829c
5ee69f:	83 c4 0c             	add    $0xc,%esp
5ee6a2:	85 c0                	test   %eax,%eax
5ee6a4:	75 2b                	jne    0x5ee6d1
5ee6a6:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
5ee6ac:	6a 0e                	push   $0xe
5ee6ae:	58                   	pop    %eax
5ee6af:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
5ee6b2:	0f b7 01             	movzwl (%ecx),%eax
5ee6b5:	8b d0                	mov    %eax,%edx
5ee6b7:	66 3b c3             	cmp    %bx,%ax
5ee6ba:	75 0d                	jne    0x5ee6c9
5ee6bc:	8d 49 02             	lea    0x2(%ecx),%ecx
5ee6bf:	0f b7 01             	movzwl (%ecx),%eax
5ee6c2:	66 3b c3             	cmp    %bx,%ax
5ee6c5:	74 f5                	je     0x5ee6bc
5ee6c7:	8b d0                	mov    %eax,%edx
5ee6c9:	66 85 d2             	test   %dx,%dx
5ee6cc:	e9 2f ff ff ff       	jmp    0x5ee600
5ee6d1:	e8 b2 c5 fe ff       	call   0x5dac88
5ee6d6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ee6dc:	e8 ff 7a fe ff       	call   0x5d61e0
5ee6e1:	5f                   	pop    %edi
5ee6e2:	8b c6                	mov    %esi,%eax
5ee6e4:	5e                   	pop    %esi
5ee6e5:	5b                   	pop    %ebx
5ee6e6:	c9                   	leave
5ee6e7:	c3                   	ret
5ee6e8:	8b ff                	mov    %edi,%edi
5ee6ea:	55                   	push   %ebp
5ee6eb:	8b ec                	mov    %esp,%ebp
5ee6ed:	83 ec 1c             	sub    $0x1c,%esp
5ee6f0:	56                   	push   %esi
5ee6f1:	57                   	push   %edi
5ee6f2:	ff 75 0c             	push   0xc(%ebp)
5ee6f5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5ee6f8:	50                   	push   %eax
5ee6f9:	e8 55 fb ff ff       	call   0x5ee253
5ee6fe:	8b f0                	mov    %eax,%esi
5ee700:	8d 7d f0             	lea    -0x10(%ebp),%edi
5ee703:	59                   	pop    %ecx
5ee704:	59                   	pop    %ecx
5ee705:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5ee706:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5ee707:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5ee708:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
5ee70c:	5f                   	pop    %edi
5ee70d:	5e                   	pop    %esi
5ee70e:	74 57                	je     0x5ee767
5ee710:	68 80 01 00 00       	push   $0x180
5ee715:	ff 75 10             	push   0x10(%ebp)
5ee718:	8d 45 fc             	lea    -0x4(%ebp),%eax
5ee71b:	ff 75 f0             	push   -0x10(%ebp)
5ee71e:	ff 75 08             	push   0x8(%ebp)
5ee721:	50                   	push   %eax
5ee722:	e8 b9 3d ff ff       	call   0x5e24e0
5ee727:	83 c4 14             	add    $0x14,%esp
5ee72a:	85 c0                	test   %eax,%eax
5ee72c:	75 39                	jne    0x5ee767
5ee72e:	8b 45 14             	mov    0x14(%ebp),%eax
5ee731:	ff 05 c4 6c 71 00    	incl   0x716cc4
5ee737:	83 c0 0c             	add    $0xc,%eax
5ee73a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ee73d:	f0 09 08             	lock or %ecx,(%eax)
5ee740:	8b 45 14             	mov    0x14(%ebp),%eax
5ee743:	33 c9                	xor    %ecx,%ecx
5ee745:	89 48 08             	mov    %ecx,0x8(%eax)
5ee748:	8b 45 14             	mov    0x14(%ebp),%eax
5ee74b:	89 48 1c             	mov    %ecx,0x1c(%eax)
5ee74e:	8b 45 14             	mov    0x14(%ebp),%eax
5ee751:	89 48 04             	mov    %ecx,0x4(%eax)
5ee754:	8b 45 14             	mov    0x14(%ebp),%eax
5ee757:	89 08                	mov    %ecx,(%eax)
5ee759:	8b 4d 14             	mov    0x14(%ebp),%ecx
5ee75c:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ee75f:	89 41 10             	mov    %eax,0x10(%ecx)
5ee762:	8b 45 14             	mov    0x14(%ebp),%eax
5ee765:	c9                   	leave
5ee766:	c3                   	ret
5ee767:	33 c0                	xor    %eax,%eax
5ee769:	c9                   	leave
5ee76a:	c3                   	ret
5ee76b:	8b ff                	mov    %edi,%edi
5ee76d:	55                   	push   %ebp
5ee76e:	8b ec                	mov    %esp,%ebp
5ee770:	83 ec 1c             	sub    $0x1c,%esp
5ee773:	56                   	push   %esi
5ee774:	57                   	push   %edi
5ee775:	ff 75 0c             	push   0xc(%ebp)
5ee778:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5ee77b:	50                   	push   %eax
5ee77c:	e8 fc fc ff ff       	call   0x5ee47d
5ee781:	8b f0                	mov    %eax,%esi
5ee783:	8d 7d f0             	lea    -0x10(%ebp),%edi
5ee786:	59                   	pop    %ecx
5ee787:	59                   	pop    %ecx
5ee788:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5ee789:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5ee78a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
5ee78b:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
5ee78f:	5f                   	pop    %edi
5ee790:	5e                   	pop    %esi
5ee791:	74 57                	je     0x5ee7ea
5ee793:	68 80 01 00 00       	push   $0x180
5ee798:	ff 75 10             	push   0x10(%ebp)
5ee79b:	8d 45 fc             	lea    -0x4(%ebp),%eax
5ee79e:	ff 75 f0             	push   -0x10(%ebp)
5ee7a1:	ff 75 08             	push   0x8(%ebp)
5ee7a4:	50                   	push   %eax
5ee7a5:	e8 80 40 ff ff       	call   0x5e282a
5ee7aa:	83 c4 14             	add    $0x14,%esp
5ee7ad:	85 c0                	test   %eax,%eax
5ee7af:	75 39                	jne    0x5ee7ea
5ee7b1:	8b 45 14             	mov    0x14(%ebp),%eax
5ee7b4:	ff 05 c4 6c 71 00    	incl   0x716cc4
5ee7ba:	83 c0 0c             	add    $0xc,%eax
5ee7bd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5ee7c0:	f0 09 08             	lock or %ecx,(%eax)
5ee7c3:	8b 45 14             	mov    0x14(%ebp),%eax
5ee7c6:	33 c9                	xor    %ecx,%ecx
5ee7c8:	89 48 08             	mov    %ecx,0x8(%eax)
5ee7cb:	8b 45 14             	mov    0x14(%ebp),%eax
5ee7ce:	89 48 1c             	mov    %ecx,0x1c(%eax)
5ee7d1:	8b 45 14             	mov    0x14(%ebp),%eax
5ee7d4:	89 48 04             	mov    %ecx,0x4(%eax)
5ee7d7:	8b 45 14             	mov    0x14(%ebp),%eax
5ee7da:	89 08                	mov    %ecx,(%eax)
5ee7dc:	8b 4d 14             	mov    0x14(%ebp),%ecx
5ee7df:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ee7e2:	89 41 10             	mov    %eax,0x10(%ecx)
5ee7e5:	8b 45 14             	mov    0x14(%ebp),%eax
5ee7e8:	c9                   	leave
5ee7e9:	c3                   	ret
5ee7ea:	33 c0                	xor    %eax,%eax
5ee7ec:	c9                   	leave
5ee7ed:	c3                   	ret
5ee7ee:	8b ff                	mov    %edi,%edi
5ee7f0:	55                   	push   %ebp
5ee7f1:	8b ec                	mov    %esp,%ebp
5ee7f3:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ee7f6:	8b 01                	mov    (%ecx),%eax
5ee7f8:	a8 40                	test   $0x40,%al
5ee7fa:	74 04                	je     0x5ee800
5ee7fc:	32 c0                	xor    %al,%al
5ee7fe:	5d                   	pop    %ebp
5ee7ff:	c3                   	ret
5ee800:	83 c8 40             	or     $0x40,%eax
5ee803:	89 01                	mov    %eax,(%ecx)
5ee805:	b0 01                	mov    $0x1,%al
5ee807:	5d                   	pop    %ebp
5ee808:	c3                   	ret
5ee809:	8b ff                	mov    %edi,%edi
5ee80b:	55                   	push   %ebp
5ee80c:	8b ec                	mov    %esp,%ebp
5ee80e:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ee811:	ba 00 10 00 00       	mov    $0x1000,%edx
5ee816:	8b 01                	mov    (%ecx),%eax
5ee818:	85 c2                	test   %eax,%edx
5ee81a:	74 04                	je     0x5ee820
5ee81c:	32 c0                	xor    %al,%al
5ee81e:	5d                   	pop    %ebp
5ee81f:	c3                   	ret
5ee820:	0b c2                	or     %edx,%eax
5ee822:	89 01                	mov    %eax,(%ecx)
5ee824:	b0 01                	mov    $0x1,%al
5ee826:	5d                   	pop    %ebp
5ee827:	c3                   	ret
5ee828:	8b ff                	mov    %edi,%edi
5ee82a:	55                   	push   %ebp
5ee82b:	8b ec                	mov    %esp,%ebp
5ee82d:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ee830:	8b 01                	mov    (%ecx),%eax
5ee832:	a9 00 c0 00 00       	test   $0xc000,%eax
5ee837:	74 04                	je     0x5ee83d
5ee839:	32 c0                	xor    %al,%al
5ee83b:	5d                   	pop    %ebp
5ee83c:	c3                   	ret
5ee83d:	0d 00 80 00 00       	or     $0x8000,%eax
5ee842:	89 01                	mov    %eax,(%ecx)
5ee844:	b0 01                	mov    $0x1,%al
5ee846:	5d                   	pop    %ebp
5ee847:	c3                   	ret
5ee848:	8b ff                	mov    %edi,%edi
5ee84a:	55                   	push   %ebp
5ee84b:	8b ec                	mov    %esp,%ebp
5ee84d:	8b 45 0c             	mov    0xc(%ebp),%eax
5ee850:	80 38 00             	cmpb   $0x0,(%eax)
5ee853:	74 04                	je     0x5ee859
5ee855:	32 c0                	xor    %al,%al
5ee857:	5d                   	pop    %ebp
5ee858:	c3                   	ret
5ee859:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ee85c:	c6 00 01             	movb   $0x1,(%eax)
5ee85f:	b0 01                	mov    $0x1,%al
5ee861:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
5ee868:	5d                   	pop    %ebp
5ee869:	c3                   	ret
5ee86a:	8b ff                	mov    %edi,%edi
5ee86c:	55                   	push   %ebp
5ee86d:	8b ec                	mov    %esp,%ebp
5ee86f:	8b 45 0c             	mov    0xc(%ebp),%eax
5ee872:	80 38 00             	cmpb   $0x0,(%eax)
5ee875:	74 04                	je     0x5ee87b
5ee877:	32 c0                	xor    %al,%al
5ee879:	5d                   	pop    %ebp
5ee87a:	c3                   	ret
5ee87b:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ee87e:	c6 00 01             	movb   $0x1,(%eax)
5ee881:	b0 01                	mov    $0x1,%al
5ee883:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
5ee88a:	5d                   	pop    %ebp
5ee88b:	c3                   	ret
5ee88c:	8b ff                	mov    %edi,%edi
5ee88e:	55                   	push   %ebp
5ee88f:	8b ec                	mov    %esp,%ebp
5ee891:	8b 45 0c             	mov    0xc(%ebp),%eax
5ee894:	80 38 00             	cmpb   $0x0,(%eax)
5ee897:	75 25                	jne    0x5ee8be
5ee899:	8b 55 08             	mov    0x8(%ebp),%edx
5ee89c:	c6 00 01             	movb   $0x1,(%eax)
5ee89f:	8b 0a                	mov    (%edx),%ecx