5ef8d2:	ff 75 18             	push   0x18(%ebp)
5ef8d5:	ff 75 14             	push   0x14(%ebp)
5ef8d8:	50                   	push   %eax
5ef8d9:	8d 45 f8             	lea    -0x8(%ebp),%eax
5ef8dc:	57                   	push   %edi
5ef8dd:	50                   	push   %eax
5ef8de:	e8 29 5d 00 00       	call   0x5f560c
5ef8e3:	8b d0                	mov    %eax,%edx
5ef8e5:	83 c4 14             	add    $0x14,%esp
5ef8e8:	83 fa ff             	cmp    $0xffffffff,%edx
5ef8eb:	74 5e                	je     0x5ef94b
5ef8ed:	85 d2                	test   %edx,%edx
5ef8ef:	74 51                	je     0x5ef942
5ef8f1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5ef8f4:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
5ef8fa:	76 2b                	jbe    0x5ef927
5ef8fc:	83 fb 01             	cmp    $0x1,%ebx
5ef8ff:	76 33                	jbe    0x5ef934
5ef901:	81 e9 00 00 01 00    	sub    $0x10000,%ecx
5ef907:	4b                   	dec    %ebx
5ef908:	8b c1                	mov    %ecx,%eax
5ef90a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5ef90d:	c1 e8 0a             	shr    $0xa,%eax
5ef910:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
5ef916:	0d 00 d8 00 00       	or     $0xd800,%eax
5ef91b:	66 89 06             	mov    %ax,(%esi)
5ef91e:	83 c6 02             	add    $0x2,%esi
5ef921:	81 c9 00 dc 00 00    	or     $0xdc00,%ecx
5ef927:	66 89 0e             	mov    %cx,(%esi)
5ef92a:	03 fa                	add    %edx,%edi
5ef92c:	83 c6 02             	add    $0x2,%esi
5ef92f:	83 eb 01             	sub    $0x1,%ebx
5ef932:	75 95                	jne    0x5ef8c9
5ef934:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5ef937:	2b 75 08             	sub    0x8(%ebp),%esi
5ef93a:	d1 fe                	sar    $1,%esi
5ef93c:	89 3b                	mov    %edi,(%ebx)
5ef93e:	8b c6                	mov    %esi,%eax
5ef940:	eb 67                	jmp    0x5ef9a9
5ef942:	33 ff                	xor    %edi,%edi
5ef944:	33 c0                	xor    %eax,%eax
5ef946:	66 89 06             	mov    %ax,(%esi)
5ef949:	eb e9                	jmp    0x5ef934
5ef94b:	8b 45 0c             	mov    0xc(%ebp),%eax
5ef94e:	89 38                	mov    %edi,(%eax)
5ef950:	8b 45 18             	mov    0x18(%ebp),%eax
5ef953:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5ef957:	c7 40 18 2a 00 00 00 	movl   $0x2a,0x18(%eax)
5ef95e:	83 c8 ff             	or     $0xffffffff,%eax
5ef961:	eb 46                	jmp    0x5ef9a9
5ef963:	57                   	push   %edi
5ef964:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5ef967:	33 f6                	xor    %esi,%esi
5ef969:	e8 c9 fe ff ff       	call   0x5ef837
5ef96e:	8b 5d 18             	mov    0x18(%ebp),%ebx
5ef971:	eb 16                	jmp    0x5ef989
5ef973:	85 c0                	test   %eax,%eax
5ef975:	74 c7                	je     0x5ef93e
5ef977:	83 f8 04             	cmp    $0x4,%eax
5ef97a:	75 01                	jne    0x5ef97d
5ef97c:	46                   	inc    %esi
5ef97d:	03 f8                	add    %eax,%edi
5ef97f:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5ef982:	57                   	push   %edi
5ef983:	46                   	inc    %esi
5ef984:	e8 ae fe ff ff       	call   0x5ef837
5ef989:	53                   	push   %ebx
5ef98a:	ff 75 14             	push   0x14(%ebp)
5ef98d:	50                   	push   %eax
5ef98e:	57                   	push   %edi
5ef98f:	6a 00                	push   $0x0
5ef991:	e8 76 5c 00 00       	call   0x5f560c
5ef996:	83 c4 14             	add    $0x14,%esp
5ef999:	83 f8 ff             	cmp    $0xffffffff,%eax
5ef99c:	75 d5                	jne    0x5ef973
5ef99e:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
5ef9a2:	c7 43 18 2a 00 00 00 	movl   $0x2a,0x18(%ebx)
5ef9a9:	5f                   	pop    %edi
5ef9aa:	5e                   	pop    %esi
5ef9ab:	5b                   	pop    %ebx
5ef9ac:	c9                   	leave
5ef9ad:	c3                   	ret
5ef9ae:	8b ff                	mov    %edi,%edi
5ef9b0:	55                   	push   %ebp
5ef9b1:	8b ec                	mov    %esp,%ebp
5ef9b3:	51                   	push   %ecx
5ef9b4:	e8 23 5e 00 00       	call   0x5f57dc
5ef9b9:	85 c0                	test   %eax,%eax
5ef9bb:	74 1c                	je     0x5ef9d9
5ef9bd:	8d 45 fc             	lea    -0x4(%ebp),%eax
5ef9c0:	50                   	push   %eax
5ef9c1:	8d 45 08             	lea    0x8(%ebp),%eax
5ef9c4:	6a 01                	push   $0x1
5ef9c6:	50                   	push   %eax
5ef9c7:	e8 46 5e 00 00       	call   0x5f5812
5ef9cc:	83 c4 0c             	add    $0xc,%esp
5ef9cf:	85 c0                	test   %eax,%eax
5ef9d1:	74 06                	je     0x5ef9d9
5ef9d3:	66 8b 45 08          	mov    0x8(%ebp),%ax
5ef9d7:	c9                   	leave
5ef9d8:	c3                   	ret
5ef9d9:	b8 ff ff 00 00       	mov    $0xffff,%eax
5ef9de:	c9                   	leave
5ef9df:	c3                   	ret
5ef9e0:	8b ff                	mov    %edi,%edi
5ef9e2:	55                   	push   %ebp
5ef9e3:	8b ec                	mov    %esp,%ebp
5ef9e5:	57                   	push   %edi
5ef9e6:	8b 7d 08             	mov    0x8(%ebp),%edi
5ef9e9:	85 ff                	test   %edi,%edi
5ef9eb:	75 0b                	jne    0x5ef9f8
5ef9ed:	ff 75 0c             	push   0xc(%ebp)
5ef9f0:	e8 67 b8 ff ff       	call   0x5eb25c
5ef9f5:	59                   	pop    %ecx
5ef9f6:	eb 24                	jmp    0x5efa1c
5ef9f8:	56                   	push   %esi
5ef9f9:	8b 75 0c             	mov    0xc(%ebp),%esi
5ef9fc:	85 f6                	test   %esi,%esi
5ef9fe:	75 09                	jne    0x5efa09
5efa00:	57                   	push   %edi
5efa01:	e8 1c b8 ff ff       	call   0x5eb222
5efa06:	59                   	pop    %ecx
5efa07:	eb 10                	jmp    0x5efa19
5efa09:	83 fe e0             	cmp    $0xffffffe0,%esi
5efa0c:	76 25                	jbe    0x5efa33
5efa0e:	e8 75 b2 fe ff       	call   0x5dac88
5efa13:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
5efa19:	33 c0                	xor    %eax,%eax
5efa1b:	5e                   	pop    %esi
5efa1c:	5f                   	pop    %edi
5efa1d:	5d                   	pop    %ebp
5efa1e:	c3                   	ret
5efa1f:	e8 a0 9f ff ff       	call   0x5e99c4
5efa24:	85 c0                	test   %eax,%eax
5efa26:	74 e6                	je     0x5efa0e
5efa28:	56                   	push   %esi
5efa29:	e8 39 8f ff ff       	call   0x5e8967
5efa2e:	59                   	pop    %ecx
5efa2f:	85 c0                	test   %eax,%eax
5efa31:	74 db                	je     0x5efa0e
5efa33:	56                   	push   %esi
5efa34:	57                   	push   %edi
5efa35:	6a 00                	push   $0x0
5efa37:	ff 35 ec 6c 71 00    	push   0x716cec
5efa3d:	ff 15 c0 20 60 00    	call   *0x6020c0
5efa43:	85 c0                	test   %eax,%eax
5efa45:	74 d8                	je     0x5efa1f
5efa47:	eb d2                	jmp    0x5efa1b
5efa49:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
5efa4f:	8b 40 30             	mov    0x30(%eax),%eax
5efa52:	8b 40 68             	mov    0x68(%eax),%eax
5efa55:	c1 e8 08             	shr    $0x8,%eax
5efa58:	24 01                	and    $0x1,%al
5efa5a:	c3                   	ret
5efa5b:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
5efa61:	8b 40 30             	mov    0x30(%eax),%eax
5efa64:	8b 40 10             	mov    0x10(%eax),%eax
5efa67:	8b 40 08             	mov    0x8(%eax),%eax
5efa6a:	c1 e8 1f             	shr    $0x1f,%eax
5efa6d:	c3                   	ret
5efa6e:	8b ff                	mov    %edi,%edi
5efa70:	55                   	push   %ebp
5efa71:	8b ec                	mov    %esp,%ebp
5efa73:	51                   	push   %ecx
5efa74:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5efa78:	e8 de ff ff ff       	call   0x5efa5b
5efa7d:	84 c0                	test   %al,%al
5efa7f:	75 09                	jne    0x5efa8a
5efa81:	8d 45 fc             	lea    -0x4(%ebp),%eax
5efa84:	50                   	push   %eax
5efa85:	e8 fc b3 ff ff       	call   0x5eae86
5efa8a:	33 c0                	xor    %eax,%eax
5efa8c:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
5efa90:	0f 95 c0             	setne  %al
5efa93:	c9                   	leave
5efa94:	c3                   	ret
5efa95:	cc                   	int3
5efa96:	cc                   	int3
5efa97:	cc                   	int3
5efa98:	cc                   	int3
5efa99:	cc                   	int3
5efa9a:	cc                   	int3
5efa9b:	cc                   	int3
5efa9c:	cc                   	int3
5efa9d:	cc                   	int3
5efa9e:	cc                   	int3
5efa9f:	cc                   	int3
5efaa0:	55                   	push   %ebp
5efaa1:	8b ec                	mov    %esp,%ebp
5efaa3:	57                   	push   %edi
5efaa4:	56                   	push   %esi
5efaa5:	53                   	push   %ebx
5efaa6:	8b 4d 10             	mov    0x10(%ebp),%ecx
5efaa9:	0b c9                	or     %ecx,%ecx
5efaab:	74 4d                	je     0x5efafa
5efaad:	8b 75 08             	mov    0x8(%ebp),%esi
5efab0:	8b 7d 0c             	mov    0xc(%ebp),%edi
5efab3:	b7 41                	mov    $0x41,%bh
5efab5:	b3 5a                	mov    $0x5a,%bl
5efab7:	b6 20                	mov    $0x20,%dh
5efab9:	8d 49 00             	lea    0x0(%ecx),%ecx
5efabc:	8a 26                	mov    (%esi),%ah
5efabe:	0a e4                	or     %ah,%ah
5efac0:	8a 07                	mov    (%edi),%al
5efac2:	74 27                	je     0x5efaeb
5efac4:	0a c0                	or     %al,%al
5efac6:	74 23                	je     0x5efaeb
5efac8:	83 c6 01             	add    $0x1,%esi
5efacb:	83 c7 01             	add    $0x1,%edi
5eface:	3a e7                	cmp    %bh,%ah
5efad0:	72 06                	jb     0x5efad8
5efad2:	3a e3                	cmp    %bl,%ah
5efad4:	77 02                	ja     0x5efad8
5efad6:	02 e6                	add    %dh,%ah
5efad8:	3a c7                	cmp    %bh,%al
5efada:	72 06                	jb     0x5efae2
5efadc:	3a c3                	cmp    %bl,%al
5efade:	77 02                	ja     0x5efae2
5efae0:	02 c6                	add    %dh,%al
5efae2:	3a e0                	cmp    %al,%ah
5efae4:	75 0b                	jne    0x5efaf1
5efae6:	83 e9 01             	sub    $0x1,%ecx
5efae9:	75 d1                	jne    0x5efabc
5efaeb:	33 c9                	xor    %ecx,%ecx
5efaed:	3a e0                	cmp    %al,%ah
5efaef:	74 09                	je     0x5efafa
5efaf1:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
5efaf6:	72 02                	jb     0x5efafa
5efaf8:	f7 d9                	neg    %ecx
5efafa:	8b c1                	mov    %ecx,%eax
5efafc:	5b                   	pop    %ebx
5efafd:	5e                   	pop    %esi
5efafe:	5f                   	pop    %edi
5efaff:	c9                   	leave
5efb00:	c3                   	ret
5efb01:	8b ff                	mov    %edi,%edi
5efb03:	55                   	push   %ebp
5efb04:	8b ec                	mov    %esp,%ebp
5efb06:	8b 45 08             	mov    0x8(%ebp),%eax
5efb09:	56                   	push   %esi
5efb0a:	85 c0                	test   %eax,%eax
5efb0c:	75 18                	jne    0x5efb26
5efb0e:	e8 75 b1 fe ff       	call   0x5dac88
5efb13:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5efb19:	e8 c2 66 fe ff       	call   0x5d61e0
5efb1e:	83 c8 ff             	or     $0xffffffff,%eax
5efb21:	e9 67 01 00 00       	jmp    0x5efc8d
5efb26:	8b 40 0c             	mov    0xc(%eax),%eax
5efb29:	53                   	push   %ebx
5efb2a:	90                   	nop
5efb2b:	33 db                	xor    %ebx,%ebx
5efb2d:	c1 e8 0d             	shr    $0xd,%eax
5efb30:	43                   	inc    %ebx
5efb31:	84 c3                	test   %al,%bl
5efb33:	0f 84 50 01 00 00    	je     0x5efc89
5efb39:	8b 45 08             	mov    0x8(%ebp),%eax
5efb3c:	8b 40 0c             	mov    0xc(%eax),%eax
5efb3f:	90                   	nop
5efb40:	c1 e8 0c             	shr    $0xc,%eax
5efb43:	84 c3                	test   %al,%bl
5efb45:	0f 85 3e 01 00 00    	jne    0x5efc89
5efb4b:	8b 45 08             	mov    0x8(%ebp),%eax
5efb4e:	8b 40 0c             	mov    0xc(%eax),%eax
5efb51:	90                   	nop
5efb52:	d1 e8                	shr    $1,%eax
5efb54:	84 c3                	test   %al,%bl
5efb56:	8b 45 08             	mov    0x8(%ebp),%eax
5efb59:	74 0e                	je     0x5efb69
5efb5b:	6a 10                	push   $0x10
5efb5d:	59                   	pop    %ecx
5efb5e:	83 c0 0c             	add    $0xc,%eax
5efb61:	f0 09 08             	lock or %ecx,(%eax)
5efb64:	e9 20 01 00 00       	jmp    0x5efc89
5efb69:	83 c0 0c             	add    $0xc,%eax
5efb6c:	f0 09 18             	lock or %ebx,(%eax)
5efb6f:	8b 45 08             	mov    0x8(%ebp),%eax
5efb72:	8b 40 0c             	mov    0xc(%eax),%eax
5efb75:	90                   	nop
5efb76:	a9 c0 04 00 00       	test   $0x4c0,%eax
5efb7b:	75 09                	jne    0x5efb86
5efb7d:	ff 75 08             	push   0x8(%ebp)
5efb80:	e8 2d 55 00 00       	call   0x5f50b2
5efb85:	59                   	pop    %ecx
5efb86:	8b 45 08             	mov    0x8(%ebp),%eax
5efb89:	57                   	push   %edi
5efb8a:	8b 48 04             	mov    0x4(%eax),%ecx
5efb8d:	89 08                	mov    %ecx,(%eax)
5efb8f:	8b 45 08             	mov    0x8(%ebp),%eax
5efb92:	50                   	push   %eax
5efb93:	8b 70 18             	mov    0x18(%eax),%esi
5efb96:	8b 78 04             	mov    0x4(%eax),%edi
5efb99:	e8 7d 61 ff ff       	call   0x5e5d1b
5efb9e:	56                   	push   %esi
5efb9f:	57                   	push   %edi
5efba0:	50                   	push   %eax
5efba1:	e8 46 3b ff ff       	call   0x5e36ec
5efba6:	8b 4d 08             	mov    0x8(%ebp),%ecx
5efba9:	83 c4 10             	add    $0x10,%esp
5efbac:	89 41 08             	mov    %eax,0x8(%ecx)
5efbaf:	8b 45 08             	mov    0x8(%ebp),%eax
5efbb2:	5f                   	pop    %edi
5efbb3:	8b 50 08             	mov    0x8(%eax),%edx
5efbb6:	85 d2                	test   %edx,%edx
5efbb8:	0f 84 b0 00 00 00    	je     0x5efc6e
5efbbe:	83 fa ff             	cmp    $0xffffffff,%edx
5efbc1:	0f 84 a7 00 00 00    	je     0x5efc6e
5efbc7:	8b 40 0c             	mov    0xc(%eax),%eax
5efbca:	90                   	nop
5efbcb:	a8 06                	test   $0x6,%al
5efbcd:	75 5e                	jne    0x5efc2d
5efbcf:	ff 75 08             	push   0x8(%ebp)
5efbd2:	e8 44 61 ff ff       	call   0x5e5d1b
5efbd7:	59                   	pop    %ecx
5efbd8:	83 f8 ff             	cmp    $0xffffffff,%eax
5efbdb:	74 36                	je     0x5efc13
5efbdd:	ff 75 08             	push   0x8(%ebp)
5efbe0:	e8 36 61 ff ff       	call   0x5e5d1b
5efbe5:	59                   	pop    %ecx
5efbe6:	83 f8 fe             	cmp    $0xfffffffe,%eax
5efbe9:	74 28                	je     0x5efc13
5efbeb:	ff 75 08             	push   0x8(%ebp)
5efbee:	e8 28 61 ff ff       	call   0x5e5d1b
5efbf3:	ff 75 08             	push   0x8(%ebp)
5efbf6:	8b f0                	mov    %eax,%esi
5efbf8:	c1 fe 06             	sar    $0x6,%esi
5efbfb:	e8 1b 61 ff ff       	call   0x5e5d1b
5efc00:	59                   	pop    %ecx
5efc01:	83 e0 3f             	and    $0x3f,%eax
5efc04:	59                   	pop    %ecx
5efc05:	6b c8 38             	imul   $0x38,%eax,%ecx
5efc08:	8b 04 b5 a8 70 71 00 	mov    0x7170a8(,%esi,4),%eax
5efc0f:	03 c1                	add    %ecx,%eax
5efc11:	eb 05                	jmp    0x5efc18
5efc13:	b8 e0 19 69 00       	mov    $0x6919e0,%eax
5efc18:	8a 40 28             	mov    0x28(%eax),%al
5efc1b:	24 82                	and    $0x82,%al
5efc1d:	3c 82                	cmp    $0x82,%al
5efc1f:	75 0c                	jne    0x5efc2d
5efc21:	8b 45 08             	mov    0x8(%ebp),%eax
5efc24:	6a 20                	push   $0x20
5efc26:	59                   	pop    %ecx
5efc27:	83 c0 0c             	add    $0xc,%eax
5efc2a:	f0 09 08             	lock or %ecx,(%eax)
5efc2d:	8b 45 08             	mov    0x8(%ebp),%eax
5efc30:	81 78 18 00 02 00 00 	cmpl   $0x200,0x18(%eax)
5efc37:	75 26                	jne    0x5efc5f
5efc39:	8b 40 0c             	mov    0xc(%eax),%eax
5efc3c:	90                   	nop
5efc3d:	c1 e8 06             	shr    $0x6,%eax
5efc40:	84 c3                	test   %al,%bl