641ff1:	8b 02                	mov    (%edx),%eax
641ff3:	3b 78 04             	cmp    0x4(%eax),%edi
641ff6:	0f 84 d7 00 00 00    	je     0x6420d3
641ffc:	0f 1f 40 00          	nopl   0x0(%eax)
642000:	80 7f 0c 01          	cmpb   $0x1,0xc(%edi)
642004:	0f 85 c9 00 00 00    	jne    0x6420d3
64200a:	8b 0e                	mov    (%esi),%ecx
64200c:	3b f9                	cmp    %ecx,%edi
64200e:	75 7d                	jne    0x64208d
642010:	8b 4e 08             	mov    0x8(%esi),%ecx
642013:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
642017:	75 16                	jne    0x64202f
642019:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
64201d:	8b ca                	mov    %edx,%ecx
64201f:	56                   	push   %esi
642020:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
642024:	e8 77 0c e5 ff       	call   0x492ca0
642029:	8b 4e 08             	mov    0x8(%esi),%ecx
64202c:	8b 55 fc             	mov    -0x4(%ebp),%edx
64202f:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
642033:	0f 85 8a 00 00 00    	jne    0x6420c3
642039:	8b 01                	mov    (%ecx),%eax
64203b:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
64203f:	75 09                	jne    0x64204a
642041:	8b 41 08             	mov    0x8(%ecx),%eax
642044:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
642048:	74 75                	je     0x6420bf
64204a:	8b 41 08             	mov    0x8(%ecx),%eax
64204d:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
642051:	75 15                	jne    0x642068
642053:	8b 01                	mov    (%ecx),%eax
642055:	51                   	push   %ecx
642056:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
64205a:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
64205e:	8b ca                	mov    %edx,%ecx
642060:	e8 9b 0c e5 ff       	call   0x492d00
642065:	8b 4e 08             	mov    0x8(%esi),%ecx
642068:	8a 46 0c             	mov    0xc(%esi),%al
64206b:	88 41 0c             	mov    %al,0xc(%ecx)
64206e:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
642072:	8b 41 08             	mov    0x8(%ecx),%eax
642075:	56                   	push   %esi
642076:	8b 75 fc             	mov    -0x4(%ebp),%esi
642079:	8b ce                	mov    %esi,%ecx
64207b:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
64207f:	e8 1c 0c e5 ff       	call   0x492ca0
642084:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
642088:	e9 90 00 00 00       	jmp    0x64211d
64208d:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
642091:	75 15                	jne    0x6420a8
642093:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
642097:	8b ca                	mov    %edx,%ecx
642099:	56                   	push   %esi
64209a:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
64209e:	e8 5d 0c e5 ff       	call   0x492d00
6420a3:	8b 0e                	mov    (%esi),%ecx
6420a5:	8b 55 fc             	mov    -0x4(%ebp),%edx
6420a8:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
6420ac:	75 15                	jne    0x6420c3
6420ae:	8b 41 08             	mov    0x8(%ecx),%eax
6420b1:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
6420b5:	75 25                	jne    0x6420dc
6420b7:	8b 01                	mov    (%ecx),%eax
6420b9:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
6420bd:	75 1d                	jne    0x6420dc
6420bf:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
6420c3:	8b 02                	mov    (%edx),%eax
6420c5:	8b fe                	mov    %esi,%edi
6420c7:	8b 76 04             	mov    0x4(%esi),%esi
6420ca:	3b 78 04             	cmp    0x4(%eax),%edi
6420cd:	0f 85 2d ff ff ff    	jne    0x642000
6420d3:	8b 75 fc             	mov    -0x4(%ebp),%esi
6420d6:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
6420da:	eb 41                	jmp    0x64211d
6420dc:	8b 01                	mov    (%ecx),%eax
6420de:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
6420e2:	75 15                	jne    0x6420f9
6420e4:	8b 41 08             	mov    0x8(%ecx),%eax
6420e7:	51                   	push   %ecx
6420e8:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
6420ec:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
6420f0:	8b ca                	mov    %edx,%ecx
6420f2:	e8 a9 0b e5 ff       	call   0x492ca0
6420f7:	8b 0e                	mov    (%esi),%ecx
6420f9:	8a 46 0c             	mov    0xc(%esi),%al
6420fc:	88 41 0c             	mov    %al,0xc(%ecx)
6420ff:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
642103:	8b 01                	mov    (%ecx),%eax
642105:	56                   	push   %esi
642106:	8b 75 fc             	mov    -0x4(%ebp),%esi
642109:	8b ce                	mov    %esi,%ecx
64210b:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
64210f:	e8 ec 0b e5 ff       	call   0x492d00
642114:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
642118:	eb 03                	jmp    0x64211d
64211a:	8b 75 fc             	mov    -0x4(%ebp),%esi
64211d:	8b 4b 14             	mov    0x14(%ebx),%ecx
642120:	85 c9                	test   %ecx,%ecx
642122:	74 51                	je     0x642175
642124:	8b 43 1c             	mov    0x1c(%ebx),%eax
642127:	2b c1                	sub    %ecx,%eax
642129:	c1 f8 02             	sar    $0x2,%eax
64212c:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
642131:	77 67                	ja     0x64219a
642133:	c1 e0 02             	shl    $0x2,%eax
642136:	3d 00 10 00 00       	cmp    $0x1000,%eax
64213b:	72 1a                	jb     0x642157
64213d:	f6 c1 1f             	test   $0x1f,%cl
642140:	75 5d                	jne    0x64219f
642142:	8b 41 fc             	mov    -0x4(%ecx),%eax
642145:	3b c1                	cmp    %ecx,%eax
642147:	73 5b                	jae    0x6421a4
642149:	2b c8                	sub    %eax,%ecx
64214b:	83 f9 04             	cmp    $0x4,%ecx
64214e:	72 59                	jb     0x6421a9
642150:	83 f9 23             	cmp    $0x23,%ecx
642153:	77 59                	ja     0x6421ae
642155:	8b c8                	mov    %eax,%ecx
642157:	51                   	push   %ecx
642158:	e8 73 e3 ea ff       	call   0x4f04d0
64215d:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
642164:	83 c4 04             	add    $0x4,%esp
642167:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
64216e:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
642175:	53                   	push   %ebx
642176:	e8 55 e3 ea ff       	call   0x4f04d0
64217b:	8b 46 04             	mov    0x4(%esi),%eax
64217e:	83 c4 04             	add    $0x4,%esp
642181:	85 c0                	test   %eax,%eax
642183:	74 04                	je     0x642189
642185:	48                   	dec    %eax
642186:	89 46 04             	mov    %eax,0x4(%esi)
642189:	8b 45 08             	mov    0x8(%ebp),%eax
64218c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
64218f:	5f                   	pop    %edi
642190:	5e                   	pop    %esi
642191:	89 08                	mov    %ecx,(%eax)
642193:	5b                   	pop    %ebx
642194:	8b e5                	mov    %ebp,%esp
642196:	5d                   	pop    %ebp
642197:	c2 08 00             	ret    $0x8
64219a:	e8 90 ad fa ff       	call   0x5ecf2f
64219f:	e8 8b ad fa ff       	call   0x5ecf2f
6421a4:	e8 86 ad fa ff       	call   0x5ecf2f
6421a9:	e8 81 ad fa ff       	call   0x5ecf2f
6421ae:	e8 7c ad fa ff       	call   0x5ecf2f
6421b3:	cc                   	int3
6421b4:	cc                   	int3
6421b5:	cc                   	int3
6421b6:	cc                   	int3
6421b7:	cc                   	int3
6421b8:	cc                   	int3
6421b9:	cc                   	int3
6421ba:	cc                   	int3
6421bb:	cc                   	int3
6421bc:	cc                   	int3
6421bd:	cc                   	int3
6421be:	cc                   	int3
6421bf:	cc                   	int3
6421c0:	55                   	push   %ebp
6421c1:	8b ec                	mov    %esp,%ebp
6421c3:	6a ff                	push   $0xffffffff
6421c5:	68 a6 48 66 00       	push   $0x6648a6
6421ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
6421d0:	50                   	push   %eax
6421d1:	51                   	push   %ecx
6421d2:	57                   	push   %edi
6421d3:	a1 d4 89 72 00       	mov    0x7289d4,%eax
6421d8:	33 c5                	xor    %ebp,%eax
6421da:	50                   	push   %eax
6421db:	8d 45 f4             	lea    -0xc(%ebp),%eax
6421de:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
6421e4:	8b f9                	mov    %ecx,%edi
6421e6:	8b 17                	mov    (%edi),%edx
6421e8:	8b 45 0c             	mov    0xc(%ebp),%eax
6421eb:	3b 02                	cmp    (%edx),%eax
6421ed:	75 44                	jne    0x642233
6421ef:	39 55 10             	cmp    %edx,0x10(%ebp)
6421f2:	75 3f                	jne    0x642233
6421f4:	ff 72 04             	push   0x4(%edx)
6421f7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
6421fe:	e8 0d ec ff ff       	call   0x640e10
642203:	8b 07                	mov    (%edi),%eax
642205:	89 40 04             	mov    %eax,0x4(%eax)
642208:	8b 07                	mov    (%edi),%eax
64220a:	89 00                	mov    %eax,(%eax)
64220c:	8b 07                	mov    (%edi),%eax
64220e:	89 40 08             	mov    %eax,0x8(%eax)
642211:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
642218:	8b 07                	mov    (%edi),%eax
64221a:	8b 08                	mov    (%eax),%ecx
64221c:	8b 45 08             	mov    0x8(%ebp),%eax
64221f:	89 08                	mov    %ecx,(%eax)
642221:	8b 4d f4             	mov    -0xc(%ebp),%ecx
642224:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
64222b:	59                   	pop    %ecx
64222c:	5f                   	pop    %edi
64222d:	8b e5                	mov    %ebp,%esp
64222f:	5d                   	pop    %ebp
642230:	c2 0c 00             	ret    $0xc
642233:	3b 45 10             	cmp    0x10(%ebp),%eax
642236:	74 58                	je     0x642290
642238:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
64223c:	8b c8                	mov    %eax,%ecx
64223e:	75 3c                	jne    0x64227c
642240:	8b 50 08             	mov    0x8(%eax),%edx
642243:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
642247:	75 14                	jne    0x64225d
642249:	8b 02                	mov    (%edx),%eax
64224b:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
64224f:	75 28                	jne    0x642279
642251:	8b d0                	mov    %eax,%edx
642253:	8b 02                	mov    (%edx),%eax
642255:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
642259:	74 f6                	je     0x642251
64225b:	eb 1c                	jmp    0x642279
64225d:	8b 50 04             	mov    0x4(%eax),%edx
642260:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
642264:	75 13                	jne    0x642279
642266:	3b 42 08             	cmp    0x8(%edx),%eax
642269:	75 0e                	jne    0x642279
64226b:	8b c2                	mov    %edx,%eax
64226d:	89 45 0c             	mov    %eax,0xc(%ebp)
642270:	8b 52 04             	mov    0x4(%edx),%edx
642273:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
642277:	74 ed                	je     0x642266
642279:	89 55 0c             	mov    %edx,0xc(%ebp)
64227c:	51                   	push   %ecx
64227d:	8d 45 f0             	lea    -0x10(%ebp),%eax
642280:	8b cf                	mov    %edi,%ecx
642282:	50                   	push   %eax
642283:	e8 28 00 00 00       	call   0x6422b0
642288:	8b 45 0c             	mov    0xc(%ebp),%eax
64228b:	3b 45 10             	cmp    0x10(%ebp),%eax
64228e:	75 a8                	jne    0x642238
642290:	8b 4d 08             	mov    0x8(%ebp),%ecx
642293:	89 01                	mov    %eax,(%ecx)
642295:	8b c1                	mov    %ecx,%eax
642297:	8b 4d f4             	mov    -0xc(%ebp),%ecx
64229a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
6422a1:	59                   	pop    %ecx
6422a2:	5f                   	pop    %edi
6422a3:	8b e5                	mov    %ebp,%esp
6422a5:	5d                   	pop    %ebp
6422a6:	c2 0c 00             	ret    $0xc
6422a9:	cc                   	int3
6422aa:	cc                   	int3
6422ab:	cc                   	int3
6422ac:	cc                   	int3
6422ad:	cc                   	int3
6422ae:	cc                   	int3
6422af:	cc                   	int3
6422b0:	55                   	push   %ebp
6422b1:	8b ec                	mov    %esp,%ebp
6422b3:	83 ec 08             	sub    $0x8,%esp
6422b6:	8b 45 0c             	mov    0xc(%ebp),%eax
6422b9:	53                   	push   %ebx
6422ba:	56                   	push   %esi
6422bb:	8b d9                	mov    %ecx,%ebx
6422bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
6422c0:	57                   	push   %edi
6422c1:	8d 4d 0c             	lea    0xc(%ebp),%ecx
6422c4:	e8 87 58 ff ff       	call   0x637b50
6422c9:	8b 55 fc             	mov    -0x4(%ebp),%edx
6422cc:	8b 32                	mov    (%edx),%esi
6422ce:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
6422d2:	74 05                	je     0x6422d9
6422d4:	8b 7a 08             	mov    0x8(%edx),%edi
6422d7:	eb 1e                	jmp    0x6422f7
6422d9:	8b 42 08             	mov    0x8(%edx),%eax
6422dc:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
6422e0:	74 04                	je     0x6422e6
6422e2:	8b fe                	mov    %esi,%edi
6422e4:	eb 11                	jmp    0x6422f7
6422e6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
6422e9:	89 4d f8             	mov    %ecx,-0x8(%ebp)
6422ec:	8b 79 08             	mov    0x8(%ecx),%edi
6422ef:	3b ca                	cmp    %edx,%ecx
6422f1:	0f 85 80 00 00 00    	jne    0x642377
6422f7:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
6422fb:	8b 72 04             	mov    0x4(%edx),%esi
6422fe:	75 03                	jne    0x642303
642300:	89 77 04             	mov    %esi,0x4(%edi)
642303:	8b 03                	mov    (%ebx),%eax
642305:	39 50 04             	cmp    %edx,0x4(%eax)
642308:	75 05                	jne    0x64230f
64230a:	89 78 04             	mov    %edi,0x4(%eax)
64230d:	eb 0b                	jmp    0x64231a
64230f:	39 16                	cmp    %edx,(%esi)
642311:	75 04                	jne    0x642317
642313:	89 3e                	mov    %edi,(%esi)
642315:	eb 03                	jmp    0x64231a
642317:	89 7e 08             	mov    %edi,0x8(%esi)
64231a:	8b 03                	mov    (%ebx),%eax
64231c:	39 10                	cmp    %edx,(%eax)
64231e:	75 22                	jne    0x642342
642320:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
642324:	74 04                	je     0x64232a
642326:	8b ce                	mov    %esi,%ecx
642328:	eb 16                	jmp    0x642340
64232a:	8b 07                	mov    (%edi),%eax
64232c:	8b cf                	mov    %edi,%ecx
64232e:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
642332:	75 0a                	jne    0x64233e
642334:	8b c8                	mov    %eax,%ecx
642336:	8b 01                	mov    (%ecx),%eax
642338:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
64233c:	74 f6                	je     0x642334
64233e:	8b 03                	mov    (%ebx),%eax
642340:	89 08                	mov    %ecx,(%eax)
642342:	8b 03                	mov    (%ebx),%eax
642344:	39 50 08             	cmp    %edx,0x8(%eax)
642347:	0f 85 86 00 00 00    	jne    0x6423d3
64234d:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
642351:	74 07                	je     0x64235a
642353:	8b ce                	mov    %esi,%ecx
642355:	89 48 08             	mov    %ecx,0x8(%eax)
642358:	eb 79                	jmp    0x6423d3
64235a:	8b 47 08             	mov    0x8(%edi),%eax
64235d:	8b cf                	mov    %edi,%ecx
64235f:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
642363:	75 0b                	jne    0x642370
642365:	8b c8                	mov    %eax,%ecx
642367:	8b 41 08             	mov    0x8(%ecx),%eax
64236a:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
64236e:	74 f5                	je     0x642365
642370:	8b 03                	mov    (%ebx),%eax
642372:	89 48 08             	mov    %ecx,0x8(%eax)
642375:	eb 5c                	jmp    0x6423d3
642377:	89 4e 04             	mov    %ecx,0x4(%esi)
64237a:	8b 02                	mov    (%edx),%eax
64237c:	89 01                	mov    %eax,(%ecx)
64237e:	3b 4a 08             	cmp    0x8(%edx),%ecx
642381:	75 04                	jne    0x642387
642383:	8b f1                	mov    %ecx,%esi
642385:	eb 1a                	jmp    0x6423a1
642387:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
64238b:	8b 71 04             	mov    0x4(%ecx),%esi
64238e:	75 03                	jne    0x642393
642390:	89 77 04             	mov    %esi,0x4(%edi)
642393:	89 3e                	mov    %edi,(%esi)
642395:	8b 42 08             	mov    0x8(%edx),%eax
642398:	89 41 08             	mov    %eax,0x8(%ecx)
64239b:	8b 42 08             	mov    0x8(%edx),%eax
64239e:	89 48 04             	mov    %ecx,0x4(%eax)
6423a1:	8b 03                	mov    (%ebx),%eax
6423a3:	39 50 04             	cmp    %edx,0x4(%eax)
6423a6:	75 05                	jne    0x6423ad
6423a8:	89 48 04             	mov    %ecx,0x4(%eax)
6423ab:	eb 0e                	jmp    0x6423bb