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
5db0e5:	ff 75 18             	push   0x18(%ebp)
5db0e8:	8b 4d 08             	mov    0x8(%ebp),%ecx
5db0eb:	ff 75 14             	push   0x14(%ebp)
5db0ee:	ff 75 10             	push   0x10(%ebp)
5db0f1:	ff 75 0c             	push   0xc(%ebp)
5db0f4:	e8 6e 12 00 00       	call   0x5dc367
5db0f9:	8b 45 08             	mov    0x8(%ebp),%eax
5db0fc:	5d                   	pop    %ebp
5db0fd:	c3                   	ret
5db0fe:	8b ff                	mov    %edi,%edi
5db100:	55                   	push   %ebp
5db101:	8b ec                	mov    %esp,%ebp
5db103:	81 ec 10 03 00 00    	sub    $0x310,%esp
5db109:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5db10e:	33 c5                	xor    %ebp,%eax
5db110:	89 45 fc             	mov    %eax,-0x4(%ebp)
5db113:	8b 45 08             	mov    0x8(%ebp),%eax
5db116:	56                   	push   %esi
5db117:	8b 75 2c             	mov    0x2c(%ebp),%esi
5db11a:	85 f6                	test   %esi,%esi
5db11c:	74 04                	je     0x5db122
5db11e:	85 c0                	test   %eax,%eax
5db120:	75 26                	jne    0x5db148
5db122:	e8 61 fb ff ff       	call   0x5dac88
5db127:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5db12d:	e8 ae b0 ff ff       	call   0x5d61e0
5db132:	8b 4d 24             	mov    0x24(%ebp),%ecx
5db135:	85 c9                	test   %ecx,%ecx
5db137:	74 0a                	je     0x5db143
5db139:	8b 45 1c             	mov    0x1c(%ebp),%eax
5db13c:	0b 45 20             	or     0x20(%ebp),%eax
5db13f:	75 02                	jne    0x5db143
5db141:	88 01                	mov    %al,(%ecx)
5db143:	33 c0                	xor    %eax,%eax
5db145:	40                   	inc    %eax
5db146:	eb 33                	jmp    0x5db17b
5db148:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5db14e:	51                   	push   %ecx
5db14f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5db152:	51                   	push   %ecx
5db153:	50                   	push   %eax
5db154:	e8 b9 00 00 00       	call   0x5db212
5db159:	56                   	push   %esi
5db15a:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5db160:	51                   	push   %ecx
5db161:	50                   	push   %eax
5db162:	e8 48 07 00 00       	call   0x5db8af
5db167:	8b 55 24             	mov    0x24(%ebp),%edx
5db16a:	83 c4 18             	add    $0x18,%esp
5db16d:	85 d2                	test   %edx,%edx
5db16f:	74 0a                	je     0x5db17b
5db171:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5db174:	0b 4d 20             	or     0x20(%ebp),%ecx
5db177:	75 02                	jne    0x5db17b
5db179:	88 0a                	mov    %cl,(%edx)
5db17b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5db17e:	33 cd                	xor    %ebp,%ecx
5db180:	5e                   	pop    %esi
5db181:	e8 a0 68 ff ff       	call   0x5d1a26
5db186:	c9                   	leave
5db187:	c3                   	ret
5db188:	8b ff                	mov    %edi,%edi
5db18a:	55                   	push   %ebp
5db18b:	8b ec                	mov    %esp,%ebp
5db18d:	81 ec 10 03 00 00    	sub    $0x310,%esp
5db193:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5db198:	33 c5                	xor    %ebp,%eax
5db19a:	89 45 fc             	mov    %eax,-0x4(%ebp)
5db19d:	8b 45 08             	mov    0x8(%ebp),%eax
5db1a0:	56                   	push   %esi
5db1a1:	8b 75 2c             	mov    0x2c(%ebp),%esi
5db1a4:	85 f6                	test   %esi,%esi
5db1a6:	74 04                	je     0x5db1ac
5db1a8:	85 c0                	test   %eax,%eax
5db1aa:	75 26                	jne    0x5db1d2
5db1ac:	e8 d7 fa ff ff       	call   0x5dac88
5db1b1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5db1b7:	e8 24 b0 ff ff       	call   0x5d61e0
5db1bc:	8b 4d 24             	mov    0x24(%ebp),%ecx
5db1bf:	85 c9                	test   %ecx,%ecx
5db1c1:	74 0a                	je     0x5db1cd
5db1c3:	8b 45 1c             	mov    0x1c(%ebp),%eax
5db1c6:	0b 45 20             	or     0x20(%ebp),%eax
5db1c9:	75 02                	jne    0x5db1cd
5db1cb:	88 01                	mov    %al,(%ecx)
5db1cd:	33 c0                	xor    %eax,%eax
5db1cf:	40                   	inc    %eax
5db1d0:	eb 33                	jmp    0x5db205
5db1d2:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5db1d8:	51                   	push   %ecx
5db1d9:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5db1dc:	51                   	push   %ecx
5db1dd:	50                   	push   %eax
5db1de:	e8 2f 00 00 00       	call   0x5db212
5db1e3:	56                   	push   %esi
5db1e4:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5db1ea:	51                   	push   %ecx
5db1eb:	50                   	push   %eax
5db1ec:	e8 2a 08 00 00       	call   0x5dba1b
5db1f1:	8b 55 24             	mov    0x24(%ebp),%edx
5db1f4:	83 c4 18             	add    $0x18,%esp
5db1f7:	85 d2                	test   %edx,%edx
5db1f9:	74 0a                	je     0x5db205
5db1fb:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5db1fe:	0b 4d 20             	or     0x20(%ebp),%ecx
5db201:	75 02                	jne    0x5db205
5db203:	88 0a                	mov    %cl,(%edx)
5db205:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5db208:	33 cd                	xor    %ebp,%ecx
5db20a:	5e                   	pop    %esi
5db20b:	e8 16 68 ff ff       	call   0x5d1a26
5db210:	c9                   	leave
5db211:	c3                   	ret
5db212:	8b ff                	mov    %edi,%edi
5db214:	55                   	push   %ebp
5db215:	8b ec                	mov    %esp,%ebp
5db217:	83 ec 28             	sub    $0x28,%esp
5db21a:	53                   	push   %ebx
5db21b:	56                   	push   %esi
5db21c:	8b 75 0c             	mov    0xc(%ebp),%esi
5db21f:	8b ce                	mov    %esi,%ecx
5db221:	57                   	push   %edi
5db222:	e8 c8 45 00 00       	call   0x5df7ef
5db227:	84 c0                	test   %al,%al
5db229:	0f 84 4a 02 00 00    	je     0x5db479
5db22f:	8b 4e 14             	mov    0x14(%esi),%ecx
5db232:	8b 46 10             	mov    0x10(%esi),%eax
5db235:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5db238:	8b ce                	mov    %esi,%ecx
5db23a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5db23d:	e8 99 3b 00 00       	call   0x5deddb
5db242:	8b 7d 08             	mov    0x8(%ebp),%edi
5db245:	8d 4d f9             	lea    -0x7(%ebp),%ecx
5db248:	89 4d dc             	mov    %ecx,-0x24(%ebp)
5db24b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5db24e:	89 75 d8             	mov    %esi,-0x28(%ebp)
5db251:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5db254:	eb 07                	jmp    0x5db25d
5db256:	8b ce                	mov    %esi,%ecx
5db258:	e8 7e 3b 00 00       	call   0x5deddb
5db25d:	57                   	push   %edi
5db25e:	88 45 f9             	mov    %al,-0x7(%ebp)
5db261:	0f b6 c0             	movzbl %al,%eax
5db264:	6a 08                	push   $0x8
5db266:	50                   	push   %eax
5db267:	e8 c6 46 00 00       	call   0x5df932
5db26c:	83 c4 0c             	add    $0xc,%esp
5db26f:	85 c0                	test   %eax,%eax
5db271:	75 e3                	jne    0x5db256
5db273:	8a 4d f9             	mov    -0x7(%ebp),%cl
5db276:	8b 55 10             	mov    0x10(%ebp),%edx
5db279:	80 f9 2d             	cmp    $0x2d,%cl
5db27c:	0f 94 c0             	sete   %al
5db27f:	88 82 08 03 00 00    	mov    %al,0x308(%edx)
5db285:	74 05                	je     0x5db28c
5db287:	80 f9 2b             	cmp    $0x2b,%cl
5db28a:	75 0c                	jne    0x5db298
5db28c:	8b ce                	mov    %esi,%ecx
5db28e:	e8 48 3b 00 00       	call   0x5deddb
5db293:	8a c8                	mov    %al,%cl
5db295:	88 4d f9             	mov    %cl,-0x7(%ebp)
5db298:	80 f9 49             	cmp    $0x49,%cl
5db29b:	0f 84 c1 03 00 00    	je     0x5db662
5db2a1:	80 f9 69             	cmp    $0x69,%cl
5db2a4:	0f 84 b8 03 00 00    	je     0x5db662
5db2aa:	80 f9 4e             	cmp    $0x4e,%cl
5db2ad:	0f 84 97 03 00 00    	je     0x5db64a
5db2b3:	80 f9 6e             	cmp    $0x6e,%cl
5db2b6:	0f 84 8e 03 00 00    	je     0x5db64a
5db2bc:	33 db                	xor    %ebx,%ebx
5db2be:	88 5d ff             	mov    %bl,-0x1(%ebp)
5db2c1:	80 f9 30             	cmp    $0x30,%cl
5db2c4:	75 43                	jne    0x5db309
5db2c6:	8b 46 14             	mov    0x14(%esi),%eax
5db2c9:	8b ce                	mov    %esi,%ecx