5dad52:	5b                   	pop    %ebx
5dad53:	5d                   	pop    %ebp
5dad54:	c2 04 00             	ret    $0x4
5dad57:	8b ff                	mov    %edi,%edi
5dad59:	55                   	push   %ebp
5dad5a:	8b ec                	mov    %esp,%ebp
5dad5c:	56                   	push   %esi
5dad5d:	8b 75 08             	mov    0x8(%ebp),%esi
5dad60:	57                   	push   %edi
5dad61:	8b 7d 0c             	mov    0xc(%ebp),%edi
5dad64:	0f b7 0e             	movzwl (%esi),%ecx
5dad67:	8d 76 02             	lea    0x2(%esi),%esi
5dad6a:	8d 41 bf             	lea    -0x41(%ecx),%eax
5dad6d:	83 f8 19             	cmp    $0x19,%eax
5dad70:	77 03                	ja     0x5dad75
5dad72:	83 c1 20             	add    $0x20,%ecx
5dad75:	0f b7 17             	movzwl (%edi),%edx
5dad78:	83 c7 02             	add    $0x2,%edi
5dad7b:	8d 42 bf             	lea    -0x41(%edx),%eax
5dad7e:	83 f8 19             	cmp    $0x19,%eax
5dad81:	77 03                	ja     0x5dad86
5dad83:	83 c2 20             	add    $0x20,%edx
5dad86:	8b c1                	mov    %ecx,%eax
5dad88:	2b c2                	sub    %edx,%eax
5dad8a:	75 04                	jne    0x5dad90
5dad8c:	85 c9                	test   %ecx,%ecx
5dad8e:	75 d4                	jne    0x5dad64
5dad90:	5f                   	pop    %edi
5dad91:	5e                   	pop    %esi
5dad92:	5d                   	pop    %ebp
5dad93:	c3                   	ret
5dad94:	8b ff                	mov    %edi,%edi
5dad96:	55                   	push   %ebp
5dad97:	8b ec                	mov    %esp,%ebp
5dad99:	8b 45 08             	mov    0x8(%ebp),%eax
5dad9c:	b9 00 01 00 00       	mov    $0x100,%ecx
5dada1:	66 3b c1             	cmp    %cx,%ax
5dada4:	73 20                	jae    0x5dadc6
5dada6:	0f b6 c8             	movzbl %al,%ecx
5dada9:	f6 04 4d 8a 3c 67 00 	testb  $0x1,0x673c8a(,%ecx,2)
5dadb0:	01
5dadb1:	74 0e                	je     0x5dadc1
5dadb3:	8b 45 0c             	mov    0xc(%ebp),%eax
5dadb6:	8b 00                	mov    (%eax),%eax
5dadb8:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
5dadbe:	8a 04 01             	mov    (%ecx,%eax,1),%al
5dadc1:	0f b6 c0             	movzbl %al,%eax
5dadc4:	5d                   	pop    %ebp
5dadc5:	c3                   	ret
5dadc6:	ff 75 0c             	push   0xc(%ebp)
5dadc9:	50                   	push   %eax
5dadca:	e8 37 16 01 00       	call   0x5ec406
5dadcf:	59                   	pop    %ecx
5dadd0:	59                   	pop    %ecx
5dadd1:	5d                   	pop    %ebp
5dadd2:	c3                   	ret
5dadd3:	8b ff                	mov    %edi,%edi
5dadd5:	55                   	push   %ebp
5dadd6:	8b ec                	mov    %esp,%ebp
5dadd8:	83 3d 9c 6f 71 00 00 	cmpl   $0x0,0x716f9c
5daddf:	75 29                	jne    0x5dae0a
5dade1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5dade5:	75 17                	jne    0x5dadfe
5dade7:	e8 9c fe ff ff       	call   0x5dac88
5dadec:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5dadf2:	e8 e9 b3 ff ff       	call   0x5d61e0
5dadf7:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5dadfc:	5d                   	pop    %ebp
5dadfd:	c3                   	ret
5dadfe:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5dae02:	74 e3                	je     0x5dade7
5dae04:	5d                   	pop    %ebp
5dae05:	e9 4d ff ff ff       	jmp    0x5dad57
5dae0a:	6a 00                	push   $0x0
5dae0c:	ff 75 0c             	push   0xc(%ebp)
5dae0f:	ff 75 08             	push   0x8(%ebp)
5dae12:	e8 05 00 00 00       	call   0x5dae1c
5dae17:	83 c4 0c             	add    $0xc,%esp
5dae1a:	5d                   	pop    %ebp
5dae1b:	c3                   	ret
5dae1c:	8b ff                	mov    %edi,%edi
5dae1e:	55                   	push   %ebp
5dae1f:	8b ec                	mov    %esp,%ebp
5dae21:	83 ec 10             	sub    $0x10,%esp
5dae24:	56                   	push   %esi
5dae25:	8b 75 08             	mov    0x8(%ebp),%esi
5dae28:	85 f6                	test   %esi,%esi
5dae2a:	75 1a                	jne    0x5dae46
5dae2c:	e8 57 fe ff ff       	call   0x5dac88
5dae31:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5dae37:	e8 a4 b3 ff ff       	call   0x5d61e0
5dae3c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5dae41:	e9 8b 00 00 00       	jmp    0x5daed1
5dae46:	57                   	push   %edi
5dae47:	8b 7d 0c             	mov    0xc(%ebp),%edi
5dae4a:	85 ff                	test   %edi,%edi
5dae4c:	75 17                	jne    0x5dae65
5dae4e:	e8 35 fe ff ff       	call   0x5dac88
5dae53:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5dae59:	e8 82 b3 ff ff       	call   0x5d61e0
5dae5e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5dae63:	eb 6b                	jmp    0x5daed0
5dae65:	ff 75 10             	push   0x10(%ebp)
5dae68:	8d 4d f0             	lea    -0x10(%ebp),%ecx
5dae6b:	e8 65 fe ff ff       	call   0x5dacd5
5dae70:	8b 45 f4             	mov    -0xc(%ebp),%eax
5dae73:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
5dae7a:	75 0d                	jne    0x5dae89
5dae7c:	57                   	push   %edi
5dae7d:	56                   	push   %esi
5dae7e:	e8 d4 fe ff ff       	call   0x5dad57
5dae83:	59                   	pop    %ecx
5dae84:	59                   	pop    %ecx
5dae85:	8b c8                	mov    %eax,%ecx
5dae87:	eb 35                	jmp    0x5daebe
5dae89:	53                   	push   %ebx
5dae8a:	0f b7 06             	movzwl (%esi),%eax
5dae8d:	8d 4d f4             	lea    -0xc(%ebp),%ecx
5dae90:	51                   	push   %ecx
5dae91:	50                   	push   %eax
5dae92:	8d 76 02             	lea    0x2(%esi),%esi
5dae95:	e8 fa fe ff ff       	call   0x5dad94
5dae9a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
5dae9d:	0f b7 d8             	movzwl %ax,%ebx
5daea0:	0f b7 07             	movzwl (%edi),%eax
5daea3:	8d 7f 02             	lea    0x2(%edi),%edi
5daea6:	51                   	push   %ecx
5daea7:	50                   	push   %eax
5daea8:	e8 e7 fe ff ff       	call   0x5dad94
5daead:	0f b7 c0             	movzwl %ax,%eax
5daeb0:	8b cb                	mov    %ebx,%ecx
5daeb2:	83 c4 10             	add    $0x10,%esp
5daeb5:	2b c8                	sub    %eax,%ecx
5daeb7:	75 04                	jne    0x5daebd
5daeb9:	85 db                	test   %ebx,%ebx
5daebb:	75 cd                	jne    0x5dae8a
5daebd:	5b                   	pop    %ebx
5daebe:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
5daec2:	74 0a                	je     0x5daece
5daec4:	8b 45 f0             	mov    -0x10(%ebp),%eax
5daec7:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
5daece:	8b c1                	mov    %ecx,%eax
5daed0:	5f                   	pop    %edi
5daed1:	5e                   	pop    %esi
5daed2:	c9                   	leave
5daed3:	c3                   	ret
5daed4:	8b ff                	mov    %edi,%edi
5daed6:	55                   	push   %ebp
5daed7:	8b ec                	mov    %esp,%ebp
5daed9:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5daedd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5daee0:	99                   	cltd
5daee1:	33 d2                	xor    %edx,%edx
5daee3:	c1 e0 1f             	shl    $0x1f,%eax
5daee6:	83 ca 01             	or     $0x1,%edx
5daee9:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
5daeee:	89 11                	mov    %edx,(%ecx)
5daef0:	89 41 04             	mov    %eax,0x4(%ecx)
5daef3:	5d                   	pop    %ebp
5daef4:	c3                   	ret
5daef5:	8b ff                	mov    %edi,%edi
5daef7:	55                   	push   %ebp
5daef8:	8b ec                	mov    %esp,%ebp
5daefa:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5daefd:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5daf01:	c1 e0 1f             	shl    $0x1f,%eax
5daf04:	8d 49 7f             	lea    0x7f(%ecx),%ecx
5daf07:	c1 e1 17             	shl    $0x17,%ecx
5daf0a:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
5daf10:	0b c8                	or     %eax,%ecx
5daf12:	8b 45 10             	mov    0x10(%ebp),%eax
5daf15:	25 ff ff 7f 00       	and    $0x7fffff,%eax
5daf1a:	0b c8                	or     %eax,%ecx
5daf1c:	8b 45 18             	mov    0x18(%ebp),%eax
5daf1f:	89 08                	mov    %ecx,(%eax)
5daf21:	33 c0                	xor    %eax,%eax
5daf23:	5d                   	pop    %ebp
5daf24:	c3                   	ret
5daf25:	8b ff                	mov    %edi,%edi
5daf27:	55                   	push   %ebp
5daf28:	8b ec                	mov    %esp,%ebp
5daf2a:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5daf2e:	33 c9                	xor    %ecx,%ecx
5daf30:	0b 4d 10             	or     0x10(%ebp),%ecx
5daf33:	56                   	push   %esi
5daf34:	8b 75 0c             	mov    0xc(%ebp),%esi
5daf37:	99                   	cltd
5daf38:	81 c6 ff 03 00 00    	add    $0x3ff,%esi
5daf3e:	0f a4 c2 0b          	shld   $0xb,%eax,%edx
5daf42:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
5daf48:	c1 e0 0b             	shl    $0xb,%eax
5daf4b:	0b f0                	or     %eax,%esi
5daf4d:	8b 45 14             	mov    0x14(%ebp),%eax
5daf50:	c1 e6 14             	shl    $0x14,%esi
5daf53:	25 ff ff 0f 00       	and    $0xfffff,%eax
5daf58:	0b f0                	or     %eax,%esi
5daf5a:	8b 45 18             	mov    0x18(%ebp),%eax
5daf5d:	89 70 04             	mov    %esi,0x4(%eax)
5daf60:	89 08                	mov    %ecx,(%eax)
5daf62:	33 c0                	xor    %eax,%eax
5daf64:	5e                   	pop    %esi
5daf65:	5d                   	pop    %ebp
5daf66:	c3                   	ret
5daf67:	8b ff                	mov    %edi,%edi
5daf69:	55                   	push   %ebp
5daf6a:	8b ec                	mov    %esp,%ebp
5daf6c:	81 ec 98 00 00 00    	sub    $0x98,%esp
5daf72:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5daf77:	33 c5                	xor    %ebp,%eax
5daf79:	89 45 fc             	mov    %eax,-0x4(%ebp)
5daf7c:	57                   	push   %edi
5daf7d:	8b 7d 10             	mov    0x10(%ebp),%edi
5daf80:	85 ff                	test   %edi,%edi
5daf82:	75 15                	jne    0x5daf99
5daf84:	e8 ff fc ff ff       	call   0x5dac88
5daf89:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5daf8f:	e8 4c b2 ff ff       	call   0x5d61e0
5daf94:	83 c8 ff             	or     $0xffffffff,%eax
5daf97:	eb 75                	jmp    0x5db00e
5daf99:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
5daf9d:	74 e5                	je     0x5daf84
5daf9f:	56                   	push   %esi
5dafa0:	ff 75 14             	push   0x14(%ebp)
5dafa3:	57                   	push   %edi
5dafa4:	e8 dd d6 00 00       	call   0x5e8686
5dafa9:	59                   	pop    %ecx
5dafaa:	59                   	pop    %ecx
5dafab:	ff 75 1c             	push   0x1c(%ebp)
5dafae:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
5dafb4:	8b f0                	mov    %eax,%esi
5dafb6:	e8 1a fd ff ff       	call   0x5dacd5
5dafbb:	ff 75 20             	push   0x20(%ebp)
5dafbe:	8d 04 37             	lea    (%edi,%esi,1),%eax
5dafc1:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
5dafc7:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5dafcd:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
5dafd0:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
5dafd6:	89 7d 80             	mov    %edi,-0x80(%ebp)
5dafd9:	50                   	push   %eax
5dafda:	ff 75 18             	push   0x18(%ebp)
5dafdd:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
5dafe3:	ff 75 0c             	push   0xc(%ebp)
5dafe6:	ff 75 08             	push   0x8(%ebp)
5dafe9:	50                   	push   %eax
5dafea:	e8 a9 13 00 00       	call   0x5dc398
5dafef:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
5daff2:	e8 e6 3e 00 00       	call   0x5deedd
5daff7:	80 bd 74 ff ff ff 00 	cmpb   $0x0,-0x8c(%ebp)
5daffe:	5e                   	pop    %esi
5dafff:	74 0d                	je     0x5db00e
5db001:	8b 8d 68 ff ff ff    	mov    -0x98(%ebp),%ecx
5db007:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5db00e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5db011:	33 cd                	xor    %ebp,%ecx
5db013:	5f                   	pop    %edi
5db014:	e8 0d 6a ff ff       	call   0x5d1a26
5db019:	c9                   	leave
5db01a:	c3                   	ret
5db01b:	8b ff                	mov    %edi,%edi
5db01d:	55                   	push   %ebp
5db01e:	8b ec                	mov    %esp,%ebp
5db020:	51                   	push   %ecx
5db021:	51                   	push   %ecx
5db022:	8b 45 0c             	mov    0xc(%ebp),%eax
5db025:	89 45 f8             	mov    %eax,-0x8(%ebp)
5db028:	8d 45 f8             	lea    -0x8(%ebp),%eax
5db02b:	50                   	push   %eax
5db02c:	ff 75 08             	push   0x8(%ebp)
5db02f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5db033:	e8 90 1a 00 00       	call   0x5dcac8
5db038:	59                   	pop    %ecx
5db039:	59                   	pop    %ecx
5db03a:	c9                   	leave
5db03b:	c3                   	ret
5db03c:	8b ff                	mov    %edi,%edi
5db03e:	55                   	push   %ebp
5db03f:	8b ec                	mov    %esp,%ebp
5db041:	51                   	push   %ecx
5db042:	51                   	push   %ecx
5db043:	8b 45 0c             	mov    0xc(%ebp),%eax
5db046:	89 45 f8             	mov    %eax,-0x8(%ebp)
5db049:	8d 45 f8             	lea    -0x8(%ebp),%eax
5db04c:	50                   	push   %eax
5db04d:	ff 75 08             	push   0x8(%ebp)
5db050:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5db054:	e8 6f 1a 00 00       	call   0x5dcac8
5db059:	59                   	pop    %ecx
5db05a:	59                   	pop    %ecx
5db05b:	c9                   	leave
5db05c:	c3                   	ret
5db05d:	8b ff                	mov    %edi,%edi
5db05f:	55                   	push   %ebp
5db060:	8b ec                	mov    %esp,%ebp
5db062:	51                   	push   %ecx
5db063:	51                   	push   %ecx
5db064:	8b 45 0c             	mov    0xc(%ebp),%eax
5db067:	89 45 f8             	mov    %eax,-0x8(%ebp)
5db06a:	8d 45 f8             	lea    -0x8(%ebp),%eax
5db06d:	50                   	push   %eax
5db06e:	ff 75 08             	push   0x8(%ebp)
5db071:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5db075:	e8 f4 37 00 00       	call   0x5de86e
5db07a:	59                   	pop    %ecx
5db07b:	59                   	pop    %ecx
5db07c:	c9                   	leave
5db07d:	c3                   	ret
5db07e:	8b ff                	mov    %edi,%edi
5db080:	55                   	push   %ebp
5db081:	8b ec                	mov    %esp,%ebp
5db083:	51                   	push   %ecx
5db084:	51                   	push   %ecx
5db085:	8b 45 0c             	mov    0xc(%ebp),%eax
5db088:	89 45 f8             	mov    %eax,-0x8(%ebp)
5db08b:	8d 45 f8             	lea    -0x8(%ebp),%eax
5db08e:	50                   	push   %eax
5db08f:	ff 75 08             	push   0x8(%ebp)
5db092:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5db096:	e8 d3 37 00 00       	call   0x5de86e
5db09b:	59                   	pop    %ecx
5db09c:	59                   	pop    %ecx
5db09d:	c9                   	leave
5db09e:	c3                   	ret
5db09f:	8b ff                	mov    %edi,%edi
5db0a1:	55                   	push   %ebp
5db0a2:	8b ec                	mov    %esp,%ebp
5db0a4:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
5db0a8:	75 32                	jne    0x5db0dc
5db0aa:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
5db0ae:	74 28                	je     0x5db0d8
5db0b0:	f6 45 08 02          	testb  $0x2,0x8(%ebp)
5db0b4:	74 11                	je     0x5db0c7
5db0b6:	81 7d 10 00 00 00 80 	cmpl   $0x80000000,0x10(%ebp)
5db0bd:	77 1d                	ja     0x5db0dc
5db0bf:	72 17                	jb     0x5db0d8
5db0c1:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5db0c5:	eb 0f                	jmp    0x5db0d6
5db0c7:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
5db0ce:	77 0c                	ja     0x5db0dc
5db0d0:	72 06                	jb     0x5db0d8
5db0d2:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
5db0d6:	77 04                	ja     0x5db0dc
5db0d8:	32 c0                	xor    %al,%al
5db0da:	5d                   	pop    %ebp
5db0db:	c3                   	ret
5db0dc:	b0 01                	mov    $0x1,%al
5db0de:	5d                   	pop    %ebp
5db0df:	c3                   	ret
5db0e0:	8b ff                	mov    %edi,%edi
5db0e2:	55                   	push   %ebp
5db0e3:	8b ec                	mov    %esp,%ebp