46211c:	8b f1                	mov    %ecx,%esi
46211e:	ff 76 2c             	push   0x2c(%esi)
462121:	e8 cf da ff ff       	call   0x45fbf5
462126:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
46212a:	8b d8                	mov    %eax,%ebx
46212c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
462130:	59                   	pop    %ecx
462131:	8b cb                	mov    %ebx,%ecx
462133:	83 e9 01             	sub    $0x1,%ecx
462136:	0f 84 81 00 00 00    	je     0x4621bd
46213c:	83 e9 01             	sub    $0x1,%ecx
46213f:	74 5e                	je     0x46219f
462141:	49                   	dec    %ecx
462142:	83 e9 01             	sub    $0x1,%ecx
462145:	74 3a                	je     0x462181
462147:	83 e9 04             	sub    $0x4,%ecx
46214a:	74 17                	je     0x462163
46214c:	e8 de ac fe ff       	call   0x44ce2f
462151:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
462157:	e8 7a ab fe ff       	call   0x44ccd6
46215c:	32 c0                	xor    %al,%al
46215e:	e9 2a 01 00 00       	jmp    0x46228d
462163:	8b 46 20             	mov    0x20(%esi),%eax
462166:	8b ce                	mov    %esi,%ecx
462168:	c1 e8 04             	shr    $0x4,%eax
46216b:	a8 01                	test   $0x1,%al
46216d:	8d 45 f8             	lea    -0x8(%ebp),%eax
462170:	50                   	push   %eax
462171:	74 07                	je     0x46217a
462173:	e8 35 54 ff ff       	call   0x4575ad
462178:	eb 5f                	jmp    0x4621d9
46217a:	e8 e6 56 ff ff       	call   0x457865
46217f:	eb 58                	jmp    0x4621d9
462181:	8b 46 20             	mov    0x20(%esi),%eax
462184:	8b ce                	mov    %esi,%ecx
462186:	c1 e8 04             	shr    $0x4,%eax
462189:	a8 01                	test   $0x1,%al
46218b:	8d 45 f8             	lea    -0x8(%ebp),%eax
46218e:	50                   	push   %eax
46218f:	74 07                	je     0x462198
462191:	e8 62 44 ff ff       	call   0x4565f8
462196:	eb 41                	jmp    0x4621d9
462198:	e8 d0 46 ff ff       	call   0x45686d
46219d:	eb 3a                	jmp    0x4621d9
46219f:	8b 46 20             	mov    0x20(%esi),%eax
4621a2:	8b ce                	mov    %esi,%ecx
4621a4:	c1 e8 04             	shr    $0x4,%eax
4621a7:	a8 01                	test   $0x1,%al
4621a9:	8d 45 f8             	lea    -0x8(%ebp),%eax
4621ac:	50                   	push   %eax
4621ad:	74 07                	je     0x4621b6
4621af:	e8 26 3e ff ff       	call   0x455fda
4621b4:	eb 23                	jmp    0x4621d9
4621b6:	e8 c7 41 ff ff       	call   0x456382
4621bb:	eb 1c                	jmp    0x4621d9
4621bd:	8b 46 20             	mov    0x20(%esi),%eax
4621c0:	8b ce                	mov    %esi,%ecx
4621c2:	c1 e8 04             	shr    $0x4,%eax
4621c5:	a8 01                	test   $0x1,%al
4621c7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4621ca:	50                   	push   %eax
4621cb:	74 07                	je     0x4621d4
4621cd:	e8 18 39 ff ff       	call   0x455aea
4621d2:	eb 05                	jmp    0x4621d9
4621d4:	e8 89 3b ff ff       	call   0x455d62
4621d9:	84 c0                	test   %al,%al
4621db:	0f 84 7b ff ff ff    	je     0x46215c
4621e1:	8b ce                	mov    %esi,%ecx
4621e3:	e8 af 9c ff ff       	call   0x45be97
4621e8:	84 c0                	test   %al,%al
4621ea:	0f 84 9b 00 00 00    	je     0x46228b
4621f0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4621f3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4621f6:	57                   	push   %edi
4621f7:	8b 7e 20             	mov    0x20(%esi),%edi
4621fa:	8b c7                	mov    %edi,%eax
4621fc:	c1 e8 04             	shr    $0x4,%eax
4621ff:	a8 01                	test   $0x1,%al
462201:	74 17                	je     0x46221a
462203:	85 d2                	test   %edx,%edx
462205:	7f 13                	jg     0x46221a
462207:	7c 04                	jl     0x46220d
462209:	85 c9                	test   %ecx,%ecx
46220b:	73 0d                	jae    0x46221a
46220d:	f7 d9                	neg    %ecx
46220f:	83 d2 00             	adc    $0x0,%edx
462212:	f7 da                	neg    %edx
462214:	83 cf 40             	or     $0x40,%edi
462217:	89 7e 20             	mov    %edi,0x20(%esi)
46221a:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
46221e:	5f                   	pop    %edi
46221f:	7d 09                	jge    0x46222a
462221:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
462228:	eb 11                	jmp    0x46223b
46222a:	83 66 20 f7          	andl   $0xfffffff7,0x20(%esi)
46222e:	b8 00 02 00 00       	mov    $0x200,%eax
462233:	39 46 28             	cmp    %eax,0x28(%esi)
462236:	7e 03                	jle    0x46223b
462238:	89 46 28             	mov    %eax,0x28(%esi)
46223b:	8b c1                	mov    %ecx,%eax
46223d:	0b c2                	or     %edx,%eax
46223f:	75 04                	jne    0x462245
462241:	83 66 20 df          	andl   $0xffffffdf,0x20(%esi)
462245:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
462249:	ff 75 0c             	push   0xc(%ebp)
46224c:	ff 75 08             	push   0x8(%ebp)
46224f:	83 fb 08             	cmp    $0x8,%ebx
462252:	75 0b                	jne    0x46225f
462254:	52                   	push   %edx
462255:	51                   	push   %ecx
462256:	8b ce                	mov    %esi,%ecx
462258:	e8 94 68 ff ff       	call   0x458af1
46225d:	eb 08                	jmp    0x462267
46225f:	51                   	push   %ecx
462260:	8b ce                	mov    %esi,%ecx
462262:	e8 66 62 ff ff       	call   0x4584cd
462267:	8b 46 20             	mov    0x20(%esi),%eax
46226a:	c1 e8 07             	shr    $0x7,%eax
46226d:	a8 01                	test   $0x1,%al
46226f:	74 1a                	je     0x46228b
462271:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
462275:	74 08                	je     0x46227f
462277:	8b 46 34             	mov    0x34(%esi),%eax
46227a:	80 38 30             	cmpb   $0x30,(%eax)
46227d:	74 0c                	je     0x46228b
46227f:	ff 4e 34             	decl   0x34(%esi)
462282:	8b 46 34             	mov    0x34(%esi),%eax
462285:	c6 00 30             	movb   $0x30,(%eax)
462288:	ff 46 38             	incl   0x38(%esi)
46228b:	b0 01                	mov    $0x1,%al
46228d:	5e                   	pop    %esi
46228e:	5b                   	pop    %ebx
46228f:	8b e5                	mov    %ebp,%esp
462291:	5d                   	pop    %ebp
462292:	c2 08 00             	ret    $0x8
462295:	8b ff                	mov    %edi,%edi
462297:	55                   	push   %ebp
462298:	8b ec                	mov    %esp,%ebp
46229a:	53                   	push   %ebx
46229b:	56                   	push   %esi
46229c:	8b f1                	mov    %ecx,%esi
46229e:	ff 76 2c             	push   0x2c(%esi)
4622a1:	e8 4f d9 ff ff       	call   0x45fbf5
4622a6:	59                   	pop    %ecx
4622a7:	8b d8                	mov    %eax,%ebx
4622a9:	8b cb                	mov    %ebx,%ecx
4622ab:	83 e9 01             	sub    $0x1,%ecx
4622ae:	74 78                	je     0x462328
4622b0:	83 e9 01             	sub    $0x1,%ecx
4622b3:	74 56                	je     0x46230b
4622b5:	49                   	dec    %ecx
4622b6:	83 e9 01             	sub    $0x1,%ecx
4622b9:	74 33                	je     0x4622ee
4622bb:	83 e9 04             	sub    $0x4,%ecx
4622be:	74 17                	je     0x4622d7
4622c0:	e8 6a ab fe ff       	call   0x44ce2f
4622c5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4622cb:	e8 06 aa fe ff       	call   0x44ccd6
4622d0:	32 c0                	xor    %al,%al
4622d2:	e9 06 01 00 00       	jmp    0x4623dd
4622d7:	8b 46 20             	mov    0x20(%esi),%eax
4622da:	83 46 14 08          	addl   $0x8,0x14(%esi)
4622de:	c1 e8 04             	shr    $0x4,%eax
4622e1:	a8 01                	test   $0x1,%al
4622e3:	8b 46 14             	mov    0x14(%esi),%eax
4622e6:	8b 48 f8             	mov    -0x8(%eax),%ecx
4622e9:	8b 50 fc             	mov    -0x4(%eax),%edx
4622ec:	eb 58                	jmp    0x462346
4622ee:	8b 46 20             	mov    0x20(%esi),%eax
4622f1:	83 46 14 04          	addl   $0x4,0x14(%esi)
4622f5:	c1 e8 04             	shr    $0x4,%eax
4622f8:	a8 01                	test   $0x1,%al
4622fa:	8b 46 14             	mov    0x14(%esi),%eax
4622fd:	74 05                	je     0x462304
4622ff:	8b 40 fc             	mov    -0x4(%eax),%eax
462302:	eb 3f                	jmp    0x462343
462304:	8b 48 fc             	mov    -0x4(%eax),%ecx
462307:	33 d2                	xor    %edx,%edx
462309:	eb 3b                	jmp    0x462346
46230b:	8b 46 20             	mov    0x20(%esi),%eax
46230e:	83 46 14 04          	addl   $0x4,0x14(%esi)
462312:	c1 e8 04             	shr    $0x4,%eax
462315:	a8 01                	test   $0x1,%al
462317:	8b 46 14             	mov    0x14(%esi),%eax
46231a:	74 06                	je     0x462322
46231c:	0f bf 40 fc          	movswl -0x4(%eax),%eax
462320:	eb 21                	jmp    0x462343
462322:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
462326:	eb 1b                	jmp    0x462343
462328:	8b 46 20             	mov    0x20(%esi),%eax
46232b:	83 46 14 04          	addl   $0x4,0x14(%esi)
46232f:	c1 e8 04             	shr    $0x4,%eax
462332:	a8 01                	test   $0x1,%al
462334:	8b 46 14             	mov    0x14(%esi),%eax
462337:	74 06                	je     0x46233f
462339:	0f be 40 fc          	movsbl -0x4(%eax),%eax
46233d:	eb 04                	jmp    0x462343
46233f:	0f b6 40 fc          	movzbl -0x4(%eax),%eax
462343:	99                   	cltd
462344:	8b c8                	mov    %eax,%ecx
462346:	57                   	push   %edi
462347:	8b 7e 20             	mov    0x20(%esi),%edi
46234a:	8b c7                	mov    %edi,%eax
46234c:	c1 e8 04             	shr    $0x4,%eax
46234f:	a8 01                	test   $0x1,%al
462351:	74 17                	je     0x46236a
462353:	85 d2                	test   %edx,%edx
462355:	7f 13                	jg     0x46236a
462357:	7c 04                	jl     0x46235d
462359:	85 c9                	test   %ecx,%ecx
46235b:	73 0d                	jae    0x46236a
46235d:	f7 d9                	neg    %ecx
46235f:	83 d2 00             	adc    $0x0,%edx
462362:	f7 da                	neg    %edx
462364:	83 cf 40             	or     $0x40,%edi
462367:	89 7e 20             	mov    %edi,0x20(%esi)
46236a:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
46236e:	5f                   	pop    %edi
46236f:	7d 09                	jge    0x46237a
462371:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
462378:	eb 11                	jmp    0x46238b
46237a:	83 66 20 f7          	andl   $0xfffffff7,0x20(%esi)
46237e:	b8 00 02 00 00       	mov    $0x200,%eax
462383:	39 46 28             	cmp    %eax,0x28(%esi)
462386:	7e 03                	jle    0x46238b
462388:	89 46 28             	mov    %eax,0x28(%esi)
46238b:	8b c1                	mov    %ecx,%eax
46238d:	0b c2                	or     %edx,%eax
46238f:	75 04                	jne    0x462395
462391:	83 66 20 df          	andl   $0xffffffdf,0x20(%esi)
462395:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
462399:	ff 75 0c             	push   0xc(%ebp)
46239c:	ff 75 08             	push   0x8(%ebp)
46239f:	83 fb 08             	cmp    $0x8,%ebx
4623a2:	75 0b                	jne    0x4623af
4623a4:	52                   	push   %edx
4623a5:	51                   	push   %ecx
4623a6:	8b ce                	mov    %esi,%ecx
4623a8:	e8 cb 67 ff ff       	call   0x458b78
4623ad:	eb 08                	jmp    0x4623b7
4623af:	51                   	push   %ecx
4623b0:	8b ce                	mov    %esi,%ecx
4623b2:	e8 88 61 ff ff       	call   0x45853f
4623b7:	8b 46 20             	mov    0x20(%esi),%eax
4623ba:	c1 e8 07             	shr    $0x7,%eax
4623bd:	a8 01                	test   $0x1,%al
4623bf:	74 1a                	je     0x4623db
4623c1:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
4623c5:	74 08                	je     0x4623cf
4623c7:	8b 46 34             	mov    0x34(%esi),%eax
4623ca:	80 38 30             	cmpb   $0x30,(%eax)
4623cd:	74 0c                	je     0x4623db
4623cf:	ff 4e 34             	decl   0x34(%esi)
4623d2:	8b 4e 34             	mov    0x34(%esi),%ecx
4623d5:	c6 01 30             	movb   $0x30,(%ecx)
4623d8:	ff 46 38             	incl   0x38(%esi)
4623db:	b0 01                	mov    $0x1,%al
4623dd:	5e                   	pop    %esi
4623de:	5b                   	pop    %ebx
4623df:	5d                   	pop    %ebp
4623e0:	c2 08 00             	ret    $0x8
4623e3:	8b ff                	mov    %edi,%edi
4623e5:	55                   	push   %ebp
4623e6:	8b ec                	mov    %esp,%ebp
4623e8:	53                   	push   %ebx
4623e9:	56                   	push   %esi
4623ea:	8b f1                	mov    %ecx,%esi
4623ec:	ff 76 2c             	push   0x2c(%esi)
4623ef:	e8 01 d8 ff ff       	call   0x45fbf5
4623f4:	59                   	pop    %ecx
4623f5:	8b d8                	mov    %eax,%ebx
4623f7:	8b cb                	mov    %ebx,%ecx
4623f9:	83 e9 01             	sub    $0x1,%ecx
4623fc:	74 78                	je     0x462476
4623fe:	83 e9 01             	sub    $0x1,%ecx
462401:	74 56                	je     0x462459
462403:	49                   	dec    %ecx
462404:	83 e9 01             	sub    $0x1,%ecx
462407:	74 33                	je     0x46243c
462409:	83 e9 04             	sub    $0x4,%ecx
46240c:	74 17                	je     0x462425
46240e:	e8 1c aa fe ff       	call   0x44ce2f
462413:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
462419:	e8 b8 a8 fe ff       	call   0x44ccd6
46241e:	32 c0                	xor    %al,%al
462420:	e9 0a 01 00 00       	jmp    0x46252f
462425:	8b 46 20             	mov    0x20(%esi),%eax
462428:	83 46 14 08          	addl   $0x8,0x14(%esi)
46242c:	c1 e8 04             	shr    $0x4,%eax
46242f:	a8 01                	test   $0x1,%al
462431:	8b 46 14             	mov    0x14(%esi),%eax
462434:	8b 48 f8             	mov    -0x8(%eax),%ecx
462437:	8b 50 fc             	mov    -0x4(%eax),%edx
46243a:	eb 58                	jmp    0x462494
46243c:	8b 46 20             	mov    0x20(%esi),%eax
46243f:	83 46 14 04          	addl   $0x4,0x14(%esi)
462443:	c1 e8 04             	shr    $0x4,%eax
462446:	a8 01                	test   $0x1,%al
462448:	8b 46 14             	mov    0x14(%esi),%eax
46244b:	74 05                	je     0x462452
46244d:	8b 40 fc             	mov    -0x4(%eax),%eax
462450:	eb 3f                	jmp    0x462491
462452:	8b 48 fc             	mov    -0x4(%eax),%ecx
462455:	33 d2                	xor    %edx,%edx
462457:	eb 3b                	jmp    0x462494
462459:	8b 46 20             	mov    0x20(%esi),%eax
46245c:	83 46 14 04          	addl   $0x4,0x14(%esi)
462460:	c1 e8 04             	shr    $0x4,%eax
462463:	a8 01                	test   $0x1,%al
462465:	8b 46 14             	mov    0x14(%esi),%eax
462468:	74 06                	je     0x462470
46246a:	0f bf 40 fc          	movswl -0x4(%eax),%eax
46246e:	eb 21                	jmp    0x462491
462470:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
462474:	eb 1b                	jmp    0x462491
462476:	8b 46 20             	mov    0x20(%esi),%eax
462479:	83 46 14 04          	addl   $0x4,0x14(%esi)
46247d:	c1 e8 04             	shr    $0x4,%eax
462480:	a8 01                	test   $0x1,%al
462482:	8b 46 14             	mov    0x14(%esi),%eax
462485:	74 06                	je     0x46248d
462487:	0f be 40 fc          	movsbl -0x4(%eax),%eax
46248b:	eb 04                	jmp    0x462491
46248d:	0f b6 40 fc          	movzbl -0x4(%eax),%eax
462491:	99                   	cltd
462492:	8b c8                	mov    %eax,%ecx
462494:	57                   	push   %edi
462495:	8b 7e 20             	mov    0x20(%esi),%edi
462498:	8b c7                	mov    %edi,%eax
46249a:	c1 e8 04             	shr    $0x4,%eax
46249d:	a8 01                	test   $0x1,%al
46249f:	74 17                	je     0x4624b8
4624a1:	85 d2                	test   %edx,%edx
4624a3:	7f 13                	jg     0x4624b8
4624a5:	7c 04                	jl     0x4624ab
4624a7:	85 c9                	test   %ecx,%ecx
4624a9:	73 0d                	jae    0x4624b8
4624ab:	f7 d9                	neg    %ecx
4624ad:	83 d2 00             	adc    $0x0,%edx
4624b0:	f7 da                	neg    %edx
4624b2:	83 cf 40             	or     $0x40,%edi
4624b5:	89 7e 20             	mov    %edi,0x20(%esi)
4624b8:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
4624bc:	5f                   	pop    %edi
4624bd:	7d 09                	jge    0x4624c8
4624bf:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
4624c6:	eb 11                	jmp    0x4624d9
4624c8:	83 66 20 f7          	andl   $0xfffffff7,0x20(%esi)
4624cc:	b8 00 02 00 00       	mov    $0x200,%eax
4624d1:	39 46 28             	cmp    %eax,0x28(%esi)