a6807a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
a6807e:	8b d8                	mov    %eax,%ebx
a68080:	59                   	pop    %ecx
a68081:	8d 4d e0             	lea    -0x20(%ebp),%ecx
a68084:	e8 bd 9b 9c ff       	call   0x431c46
a68089:	8b 0f                	mov    (%edi),%ecx
a6808b:	8b 71 0c             	mov    0xc(%ecx),%esi
a6808e:	8b ce                	mov    %esi,%ecx
a68090:	e8 d0 45 9c ff       	call   0x42c665
a68095:	8b cf                	mov    %edi,%ecx
a68097:	ff d6                	call   *%esi
a68099:	8b f0                	mov    %eax,%esi
a6809b:	89 75 ec             	mov    %esi,-0x14(%ebp)
a6809e:	85 f6                	test   %esi,%esi
a680a0:	75 07                	jne    0xa680a9
a680a2:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
a680a9:	8d 45 14             	lea    0x14(%ebp),%eax
a680ac:	50                   	push   %eax
a680ad:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a680b0:	e8 0b e2 9a ff       	call   0x4162c0
a680b5:	8b 7d 20             	mov    0x20(%ebp),%edi
a680b8:	84 c0                	test   %al,%al
a680ba:	0f 85 07 01 00 00    	jne    0xa681c7
a680c0:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a680c4:	75 08                	jne    0xa680ce
a680c6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a680c9:	e8 7c c6 9a ff       	call   0x41474a
a680ce:	8b 03                	mov    (%ebx),%eax
a680d0:	ff 75 12             	push   0x12(%ebp)
a680d3:	6a 04                	push   $0x4
a680d5:	8b 70 10             	mov    0x10(%eax),%esi
a680d8:	8b ce                	mov    %esi,%ecx
a680da:	e8 86 45 9c ff       	call   0x42c665
a680df:	8b cb                	mov    %ebx,%ecx
a680e1:	ff d6                	call   *%esi
a680e3:	84 c0                	test   %al,%al
a680e5:	75 30                	jne    0xa68117
a680e7:	8b 45 24             	mov    0x24(%ebp),%eax
a680ea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a680ed:	50                   	push   %eax
a680ee:	57                   	push   %edi
a680ef:	ff 75 1c             	push   0x1c(%ebp)
a680f2:	8d 45 e8             	lea    -0x18(%ebp),%eax
a680f5:	ff 75 18             	push   0x18(%ebp)
a680f8:	ff 75 14             	push   0x14(%ebp)
a680fb:	ff 75 10             	push   0x10(%ebp)
a680fe:	ff 75 0c             	push   0xc(%ebp)
a68101:	50                   	push   %eax
a68102:	e8 9b c4 99 ff       	call   0x4045a2
a68107:	6a 02                	push   $0x2
a68109:	5e                   	pop    %esi
a6810a:	8b 08                	mov    (%eax),%ecx
a6810c:	89 4d 0c             	mov    %ecx,0xc(%ebp)
a6810f:	8b 40 04             	mov    0x4(%eax),%eax
a68112:	89 75 ec             	mov    %esi,-0x14(%ebp)
a68115:	eb 7c                	jmp    0xa68193
a68117:	8b 75 ec             	mov    -0x14(%ebp),%esi
a6811a:	83 fe 02             	cmp    $0x2,%esi
a6811d:	75 28                	jne    0xa68147
a6811f:	8b 75 24             	mov    0x24(%ebp),%esi
a68122:	8d 45 14             	lea    0x14(%ebp),%eax
a68125:	53                   	push   %ebx
a68126:	83 c6 10             	add    $0x10,%esi
a68129:	56                   	push   %esi
a6812a:	6a 0c                	push   $0xc
a6812c:	6a 01                	push   $0x1
a6812e:	50                   	push   %eax
a6812f:	8d 45 0c             	lea    0xc(%ebp),%eax
a68132:	50                   	push   %eax
a68133:	ff 75 f0             	push   -0x10(%ebp)
a68136:	e8 24 4c 9b ff       	call   0x41cd5f
a6813b:	09 07                	or     %eax,(%edi)
a6813d:	83 c4 1c             	add    $0x1c,%esp
a68140:	ff 0e                	decl   (%esi)
a68142:	e9 80 00 00 00       	jmp    0xa681c7
a68147:	8b 45 24             	mov    0x24(%ebp),%eax
a6814a:	83 fe 01             	cmp    $0x1,%esi
a6814d:	75 1f                	jne    0xa6816e
a6814f:	53                   	push   %ebx
a68150:	83 c0 0c             	add    $0xc,%eax
a68153:	50                   	push   %eax
a68154:	6a 1f                	push   $0x1f
a68156:	56                   	push   %esi
a68157:	8d 45 14             	lea    0x14(%ebp),%eax
a6815a:	50                   	push   %eax
a6815b:	8d 45 0c             	lea    0xc(%ebp),%eax
a6815e:	50                   	push   %eax
a6815f:	ff 75 f0             	push   -0x10(%ebp)
a68162:	e8 f8 4b 9b ff       	call   0x41cd5f
a68167:	83 c4 1c             	add    $0x1c,%esp
a6816a:	09 07                	or     %eax,(%edi)
a6816c:	eb 59                	jmp    0xa681c7
a6816e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a68171:	50                   	push   %eax
a68172:	57                   	push   %edi
a68173:	ff 75 1c             	push   0x1c(%ebp)
a68176:	8d 45 d8             	lea    -0x28(%ebp),%eax
a68179:	ff 75 18             	push   0x18(%ebp)
a6817c:	ff 75 14             	push   0x14(%ebp)
a6817f:	ff 75 10             	push   0x10(%ebp)
a68182:	ff 75 0c             	push   0xc(%ebp)
a68185:	50                   	push   %eax
a68186:	e8 91 0f 9d ff       	call   0x43911c
a6818b:	8b 08                	mov    (%eax),%ecx
a6818d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
a68190:	8b 40 04             	mov    0x4(%eax),%eax
a68193:	89 45 10             	mov    %eax,0x10(%ebp)
a68196:	eb 2f                	jmp    0xa681c7
a68198:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a6819c:	75 08                	jne    0xa681a6
a6819e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a681a1:	e8 a4 c5 9a ff       	call   0x41474a
a681a6:	8b 03                	mov    (%ebx),%eax
a681a8:	ff 75 12             	push   0x12(%ebp)
a681ab:	6a 48                	push   $0x48
a681ad:	8b 70 10             	mov    0x10(%eax),%esi
a681b0:	8b ce                	mov    %esi,%ecx
a681b2:	e8 ae 44 9c ff       	call   0x42c665
a681b7:	8b cb                	mov    %ebx,%ecx
a681b9:	ff d6                	call   *%esi
a681bb:	84 c0                	test   %al,%al
a681bd:	74 18                	je     0xa681d7
a681bf:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a681c2:	e8 c0 56 9a ff       	call   0x40d887
a681c7:	8d 45 14             	lea    0x14(%ebp),%eax
a681ca:	50                   	push   %eax
a681cb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a681ce:	e8 ed e0 9a ff       	call   0x4162c0
a681d3:	84 c0                	test   %al,%al
a681d5:	74 c1                	je     0xa68198
a681d7:	8d 45 14             	lea    0x14(%ebp),%eax
a681da:	50                   	push   %eax
a681db:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a681de:	e8 dd e0 9a ff       	call   0x4162c0
a681e3:	84 c0                	test   %al,%al
a681e5:	75 5f                	jne    0xa68246
a681e7:	38 45 10             	cmp    %al,0x10(%ebp)
a681ea:	75 08                	jne    0xa681f4
a681ec:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a681ef:	e8 56 c5 9a ff       	call   0x41474a
a681f4:	8b 03                	mov    (%ebx),%eax
a681f6:	6a 00                	push   $0x0
a681f8:	ff 75 12             	push   0x12(%ebp)
a681fb:	8b 70 38             	mov    0x38(%eax),%esi
a681fe:	8b ce                	mov    %esi,%ecx
a68200:	e8 60 44 9c ff       	call   0x42c665
a68205:	8b cb                	mov    %ebx,%ecx
a68207:	ff d6                	call   *%esi
a68209:	3c 3a                	cmp    $0x3a,%al
a6820b:	74 31                	je     0xa6823e
a6820d:	3c 2c                	cmp    $0x2c,%al
a6820f:	74 2d                	je     0xa6823e
a68211:	3c 2f                	cmp    $0x2f,%al
a68213:	75 31                	jne    0xa68246
a68215:	eb 27                	jmp    0xa6823e
a68217:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a6821b:	75 08                	jne    0xa68225
a6821d:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a68220:	e8 25 c5 9a ff       	call   0x41474a
a68225:	8b 03                	mov    (%ebx),%eax
a68227:	ff 75 12             	push   0x12(%ebp)
a6822a:	6a 48                	push   $0x48
a6822c:	8b 70 10             	mov    0x10(%eax),%esi
a6822f:	8b ce                	mov    %esi,%ecx
a68231:	e8 2f 44 9c ff       	call   0x42c665
a68236:	8b cb                	mov    %ebx,%ecx
a68238:	ff d6                	call   *%esi
a6823a:	84 c0                	test   %al,%al
a6823c:	74 18                	je     0xa68256
a6823e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a68241:	e8 41 56 9a ff       	call   0x40d887
a68246:	8d 45 14             	lea    0x14(%ebp),%eax
a68249:	50                   	push   %eax
a6824a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6824d:	e8 6e e0 9a ff       	call   0x4162c0
a68252:	84 c0                	test   %al,%al
a68254:	74 c1                	je     0xa68217
a68256:	8d 45 14             	lea    0x14(%ebp),%eax
a68259:	50                   	push   %eax
a6825a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6825d:	e8 5e e0 9a ff       	call   0x4162c0
a68262:	84 c0                	test   %al,%al
a68264:	0f 85 f5 00 00 00    	jne    0xa6835f
a6826a:	38 45 10             	cmp    %al,0x10(%ebp)
a6826d:	75 08                	jne    0xa68277
a6826f:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a68272:	e8 d3 c4 9a ff       	call   0x41474a
a68277:	8b 03                	mov    (%ebx),%eax
a68279:	ff 75 12             	push   0x12(%ebp)
a6827c:	6a 04                	push   $0x4
a6827e:	8b 70 10             	mov    0x10(%eax),%esi
a68281:	8b ce                	mov    %esi,%ecx
a68283:	e8 dd 43 9c ff       	call   0x42c665
a68288:	8b cb                	mov    %ebx,%ecx
a6828a:	ff d6                	call   *%esi
a6828c:	8b 75 ec             	mov    -0x14(%ebp),%esi
a6828f:	84 c0                	test   %al,%al
a68291:	75 4b                	jne    0xa682de
a68293:	83 fe 02             	cmp    $0x2,%esi
a68296:	75 07                	jne    0xa6829f
a68298:	09 37                	or     %esi,(%edi)
a6829a:	e9 c0 00 00 00       	jmp    0xa6835f
a6829f:	ff 75 24             	push   0x24(%ebp)
a682a2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a682a5:	8d 45 d8             	lea    -0x28(%ebp),%eax
a682a8:	57                   	push   %edi
a682a9:	ff 75 1c             	push   0x1c(%ebp)
a682ac:	ff 75 18             	push   0x18(%ebp)
a682af:	ff 75 14             	push   0x14(%ebp)
a682b2:	ff 75 10             	push   0x10(%ebp)
a682b5:	ff 75 0c             	push   0xc(%ebp)
a682b8:	50                   	push   %eax
a682b9:	e8 e4 c2 99 ff       	call   0x4045a2
a682be:	8b 08                	mov    (%eax),%ecx
a682c0:	89 4d 0c             	mov    %ecx,0xc(%ebp)
a682c3:	8b 40 04             	mov    0x4(%eax),%eax
a682c6:	89 45 10             	mov    %eax,0x10(%ebp)
a682c9:	83 fe 04             	cmp    $0x4,%esi
a682cc:	0f 85 8d 00 00 00    	jne    0xa6835f
a682d2:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
a682d9:	e9 81 00 00 00       	jmp    0xa6835f
a682de:	83 fe 01             	cmp    $0x1,%esi
a682e1:	74 28                	je     0xa6830b
a682e3:	83 fe 03             	cmp    $0x3,%esi
a682e6:	74 23                	je     0xa6830b
a682e8:	8b 45 24             	mov    0x24(%ebp),%eax
a682eb:	53                   	push   %ebx
a682ec:	83 c0 0c             	add    $0xc,%eax
a682ef:	50                   	push   %eax
a682f0:	6a 1f                	push   $0x1f
a682f2:	6a 01                	push   $0x1
a682f4:	8d 45 14             	lea    0x14(%ebp),%eax
a682f7:	50                   	push   %eax
a682f8:	8d 45 0c             	lea    0xc(%ebp),%eax
a682fb:	50                   	push   %eax
a682fc:	ff 75 f0             	push   -0x10(%ebp)
a682ff:	e8 5b 4a 9b ff       	call   0x41cd5f
a68304:	83 c4 1c             	add    $0x1c,%esp
a68307:	09 07                	or     %eax,(%edi)
a68309:	eb 54                	jmp    0xa6835f
a6830b:	8b 75 24             	mov    0x24(%ebp),%esi
a6830e:	8d 45 14             	lea    0x14(%ebp),%eax
a68311:	53                   	push   %ebx
a68312:	83 c6 10             	add    $0x10,%esi
a68315:	56                   	push   %esi
a68316:	6a 0c                	push   $0xc
a68318:	6a 01                	push   $0x1
a6831a:	50                   	push   %eax
a6831b:	8d 45 0c             	lea    0xc(%ebp),%eax
a6831e:	50                   	push   %eax
a6831f:	ff 75 f0             	push   -0x10(%ebp)
a68322:	e8 38 4a 9b ff       	call   0x41cd5f
a68327:	09 07                	or     %eax,(%edi)
a68329:	83 c4 1c             	add    $0x1c,%esp
a6832c:	ff 0e                	decl   (%esi)
a6832e:	eb 2f                	jmp    0xa6835f
a68330:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a68334:	75 08                	jne    0xa6833e
a68336:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a68339:	e8 0c c4 9a ff       	call   0x41474a
a6833e:	8b 03                	mov    (%ebx),%eax
a68340:	ff 75 12             	push   0x12(%ebp)
a68343:	6a 48                	push   $0x48
a68345:	8b 70 10             	mov    0x10(%eax),%esi
a68348:	8b ce                	mov    %esi,%ecx
a6834a:	e8 16 43 9c ff       	call   0x42c665
a6834f:	8b cb                	mov    %ebx,%ecx
a68351:	ff d6                	call   *%esi
a68353:	84 c0                	test   %al,%al
a68355:	74 18                	je     0xa6836f
a68357:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6835a:	e8 28 55 9a ff       	call   0x40d887
a6835f:	8d 45 14             	lea    0x14(%ebp),%eax
a68362:	50                   	push   %eax
a68363:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a68366:	e8 55 df 9a ff       	call   0x4162c0
a6836b:	84 c0                	test   %al,%al
a6836d:	74 c1                	je     0xa68330
a6836f:	8d 45 14             	lea    0x14(%ebp),%eax
a68372:	50                   	push   %eax
a68373:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a68376:	e8 45 df 9a ff       	call   0x4162c0
a6837b:	84 c0                	test   %al,%al
a6837d:	75 5f                	jne    0xa683de
a6837f:	38 45 10             	cmp    %al,0x10(%ebp)
a68382:	75 08                	jne    0xa6838c
a68384:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a68387:	e8 be c3 9a ff       	call   0x41474a
a6838c:	8b 03                	mov    (%ebx),%eax
a6838e:	6a 00                	push   $0x0
a68390:	ff 75 12             	push   0x12(%ebp)
a68393:	8b 70 38             	mov    0x38(%eax),%esi
a68396:	8b ce                	mov    %esi,%ecx
a68398:	e8 c8 42 9c ff       	call   0x42c665
a6839d:	8b cb                	mov    %ebx,%ecx
a6839f:	ff d6                	call   *%esi
a683a1:	3c 3a                	cmp    $0x3a,%al
a683a3:	74 31                	je     0xa683d6
a683a5:	3c 2c                	cmp    $0x2c,%al
a683a7:	74 2d                	je     0xa683d6
a683a9:	3c 2f                	cmp    $0x2f,%al
a683ab:	75 31                	jne    0xa683de
a683ad:	eb 27                	jmp    0xa683d6
a683af:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a683b3:	75 08                	jne    0xa683bd
a683b5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a683b8:	e8 8d c3 9a ff       	call   0x41474a
a683bd:	8b 03                	mov    (%ebx),%eax
a683bf:	ff 75 12             	push   0x12(%ebp)
a683c2:	6a 48                	push   $0x48
a683c4:	8b 70 10             	mov    0x10(%eax),%esi
a683c7:	8b ce                	mov    %esi,%ecx
a683c9:	e8 97 42 9c ff       	call   0x42c665
a683ce:	8b cb                	mov    %ebx,%ecx
a683d0:	ff d6                	call   *%esi
a683d2:	84 c0                	test   %al,%al
a683d4:	74 18                	je     0xa683ee
a683d6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a683d9:	e8 a9 54 9a ff       	call   0x40d887
a683de:	8d 45 14             	lea    0x14(%ebp),%eax
a683e1:	50                   	push   %eax
a683e2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a683e5:	e8 d6 de 9a ff       	call   0x4162c0
a683ea:	84 c0                	test   %al,%al
a683ec:	74 c1                	je     0xa683af
a683ee:	8d 45 14             	lea    0x14(%ebp),%eax
a683f1:	50                   	push   %eax
a683f2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a683f5:	e8 c6 de 9a ff       	call   0x4162c0
a683fa:	84 c0                	test   %al,%al
a683fc:	74 08                	je     0xa68406
a683fe:	83 0f 02             	orl    $0x2,(%edi)
a68401:	e9 cd 00 00 00       	jmp    0xa684d3
a68406:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
a6840a:	75 08                	jne    0xa68414
a6840c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a6840f:	e8 36 c3 9a ff       	call   0x41474a
a68414:	8b 03                	mov    (%ebx),%eax
a68416:	ff 75 12             	push   0x12(%ebp)
a68419:	6a 04                	push   $0x4
a6841b:	8b 70 10             	mov    0x10(%eax),%esi
a6841e:	8b ce                	mov    %esi,%ecx
a68420:	e8 40 42 9c ff       	call   0x42c665
a68425:	8b cb                	mov    %ebx,%ecx
a68427:	ff d6                	call   *%esi
a68429:	84 c0                	test   %al,%al
a6842b:	75 27                	jne    0xa68454
a6842d:	83 7d ec 04          	cmpl   $0x4,-0x14(%ebp)
a68431:	75 cb                	jne    0xa683fe
a68433:	ff 75 24             	push   0x24(%ebp)