41d1da:	56                   	push   %esi
41d1db:	57                   	push   %edi
41d1dc:	8b f9                	mov    %ecx,%edi
41d1de:	89 7d fc             	mov    %edi,-0x4(%ebp)
41d1e1:	8b 37                	mov    (%edi),%esi
41d1e3:	85 f6                	test   %esi,%esi
41d1e5:	74 3f                	je     0x41d226
41d1e7:	53                   	push   %ebx
41d1e8:	8b 5f 04             	mov    0x4(%edi),%ebx
41d1eb:	3b f3                	cmp    %ebx,%esi
41d1ed:	74 15                	je     0x41d204
41d1ef:	6a 18                	push   $0x18
41d1f1:	5f                   	pop    %edi
41d1f2:	8b ce                	mov    %esi,%ecx
41d1f4:	e8 01 01 00 00       	call   0x41d2fa
41d1f9:	03 f7                	add    %edi,%esi
41d1fb:	3b f3                	cmp    %ebx,%esi
41d1fd:	75 f3                	jne    0x41d1f2
41d1ff:	8b 7d fc             	mov    -0x4(%ebp),%edi
41d202:	8b 37                	mov    (%edi),%esi
41d204:	8b 47 08             	mov    0x8(%edi),%eax
41d207:	2b c6                	sub    %esi,%eax
41d209:	6a 18                	push   $0x18
41d20b:	59                   	pop    %ecx
41d20c:	99                   	cltd
41d20d:	f7 f9                	idiv   %ecx
41d20f:	6b c0 18             	imul   $0x18,%eax,%eax
41d212:	50                   	push   %eax
41d213:	56                   	push   %esi
41d214:	e8 11 63 fe ff       	call   0x40352a
41d219:	59                   	pop    %ecx
41d21a:	33 c0                	xor    %eax,%eax
41d21c:	59                   	pop    %ecx
41d21d:	89 07                	mov    %eax,(%edi)
41d21f:	89 47 04             	mov    %eax,0x4(%edi)
41d222:	89 47 08             	mov    %eax,0x8(%edi)
41d225:	5b                   	pop    %ebx
41d226:	5f                   	pop    %edi
41d227:	5e                   	pop    %esi
41d228:	c9                   	leave
41d229:	c3                   	ret
41d22a:	56                   	push   %esi
41d22b:	8b f1                	mov    %ecx,%esi
41d22d:	83 3e 00             	cmpl   $0x0,(%esi)
41d230:	74 22                	je     0x41d254
41d232:	8b 46 08             	mov    0x8(%esi),%eax
41d235:	2b 06                	sub    (%esi),%eax
41d237:	6a 0c                	push   $0xc
41d239:	59                   	pop    %ecx
41d23a:	99                   	cltd
41d23b:	f7 f9                	idiv   %ecx
41d23d:	6b c0 0c             	imul   $0xc,%eax,%eax
41d240:	50                   	push   %eax
41d241:	ff 36                	push   (%esi)
41d243:	e8 e2 62 fe ff       	call   0x40352a
41d248:	33 c0                	xor    %eax,%eax
41d24a:	59                   	pop    %ecx
41d24b:	59                   	pop    %ecx
41d24c:	89 06                	mov    %eax,(%esi)
41d24e:	89 46 04             	mov    %eax,0x4(%esi)
41d251:	89 46 08             	mov    %eax,0x8(%esi)
41d254:	5e                   	pop    %esi
41d255:	c3                   	ret
41d256:	56                   	push   %esi
41d257:	8b f1                	mov    %ecx,%esi
41d259:	83 3e 00             	cmpl   $0x0,(%esi)
41d25c:	74 22                	je     0x41d280
41d25e:	8b 46 08             	mov    0x8(%esi),%eax
41d261:	2b 06                	sub    (%esi),%eax
41d263:	6a 0c                	push   $0xc
41d265:	59                   	pop    %ecx
41d266:	99                   	cltd
41d267:	f7 f9                	idiv   %ecx
41d269:	6b c0 0c             	imul   $0xc,%eax,%eax
41d26c:	50                   	push   %eax
41d26d:	ff 36                	push   (%esi)
41d26f:	e8 b6 62 fe ff       	call   0x40352a
41d274:	33 c0                	xor    %eax,%eax
41d276:	59                   	pop    %ecx
41d277:	59                   	pop    %ecx
41d278:	89 06                	mov    %eax,(%esi)
41d27a:	89 46 04             	mov    %eax,0x4(%esi)
41d27d:	89 46 08             	mov    %eax,0x8(%esi)
41d280:	5e                   	pop    %esi
41d281:	c3                   	ret
41d282:	56                   	push   %esi
41d283:	8b f1                	mov    %ecx,%esi
41d285:	83 3e 00             	cmpl   $0x0,(%esi)
41d288:	74 22                	je     0x41d2ac
41d28a:	8b 46 08             	mov    0x8(%esi),%eax
41d28d:	2b 06                	sub    (%esi),%eax
41d28f:	6a 0c                	push   $0xc
41d291:	59                   	pop    %ecx
41d292:	99                   	cltd
41d293:	f7 f9                	idiv   %ecx
41d295:	6b c0 0c             	imul   $0xc,%eax,%eax
41d298:	50                   	push   %eax
41d299:	ff 36                	push   (%esi)
41d29b:	e8 8a 62 fe ff       	call   0x40352a
41d2a0:	33 c0                	xor    %eax,%eax
41d2a2:	59                   	pop    %ecx
41d2a3:	59                   	pop    %ecx
41d2a4:	89 06                	mov    %eax,(%esi)
41d2a6:	89 46 04             	mov    %eax,0x4(%esi)
41d2a9:	89 46 08             	mov    %eax,0x8(%esi)
41d2ac:	5e                   	pop    %esi
41d2ad:	c3                   	ret
41d2ae:	56                   	push   %esi
41d2af:	8b f1                	mov    %ecx,%esi
41d2b1:	83 3e 00             	cmpl   $0x0,(%esi)
41d2b4:	74 1c                	je     0x41d2d2
41d2b6:	8b 46 08             	mov    0x8(%esi),%eax
41d2b9:	2b 06                	sub    (%esi),%eax
41d2bb:	83 e0 fe             	and    $0xfffffffe,%eax
41d2be:	50                   	push   %eax
41d2bf:	ff 36                	push   (%esi)
41d2c1:	e8 64 62 fe ff       	call   0x40352a
41d2c6:	33 c0                	xor    %eax,%eax
41d2c8:	59                   	pop    %ecx
41d2c9:	59                   	pop    %ecx
41d2ca:	89 06                	mov    %eax,(%esi)
41d2cc:	89 46 04             	mov    %eax,0x4(%esi)
41d2cf:	89 46 08             	mov    %eax,0x8(%esi)
41d2d2:	5e                   	pop    %esi
41d2d3:	c3                   	ret
41d2d4:	56                   	push   %esi
41d2d5:	8b f1                	mov    %ecx,%esi
41d2d7:	8b 46 14             	mov    0x14(%esi),%eax
41d2da:	83 f8 10             	cmp    $0x10,%eax
41d2dd:	72 0b                	jb     0x41d2ea
41d2df:	40                   	inc    %eax
41d2e0:	50                   	push   %eax
41d2e1:	ff 36                	push   (%esi)
41d2e3:	e8 42 62 fe ff       	call   0x40352a
41d2e8:	59                   	pop    %ecx
41d2e9:	59                   	pop    %ecx
41d2ea:	83 66 10 00          	andl   $0x0,0x10(%esi)
41d2ee:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
41d2f5:	c6 06 00             	movb   $0x0,(%esi)
41d2f8:	5e                   	pop    %esi
41d2f9:	c3                   	ret
41d2fa:	56                   	push   %esi
41d2fb:	8b f1                	mov    %ecx,%esi
41d2fd:	8b 46 14             	mov    0x14(%esi),%eax
41d300:	83 f8 08             	cmp    $0x8,%eax
41d303:	72 11                	jb     0x41d316
41d305:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
41d30c:	50                   	push   %eax
41d30d:	ff 36                	push   (%esi)
41d30f:	e8 16 62 fe ff       	call   0x40352a
41d314:	59                   	pop    %ecx
41d315:	59                   	pop    %ecx
41d316:	83 66 10 00          	andl   $0x0,0x10(%esi)
41d31a:	33 c0                	xor    %eax,%eax
41d31c:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
41d323:	66 89 06             	mov    %ax,(%esi)
41d326:	5e                   	pop    %esi
41d327:	c3                   	ret
41d328:	56                   	push   %esi
41d329:	8b f1                	mov    %ecx,%esi
41d32b:	57                   	push   %edi
41d32c:	33 ff                	xor    %edi,%edi
41d32e:	8b 06                	mov    (%esi),%eax
41d330:	3b 46 08             	cmp    0x8(%esi),%eax
41d333:	75 08                	jne    0x41d33d
41d335:	83 c8 ff             	or     $0xffffffff,%eax
41d338:	88 46 48             	mov    %al,0x48(%esi)
41d33b:	eb 21                	jmp    0x41d35e
41d33d:	8a 00                	mov    (%eax),%al
41d33f:	88 46 48             	mov    %al,0x48(%esi)
41d342:	0f be c0             	movsbl %al,%eax
41d345:	50                   	push   %eax
41d346:	68 28 65 49 00       	push   $0x496528
41d34b:	e8 70 6c 02 00       	call   0x443fc0
41d350:	59                   	pop    %ecx
41d351:	59                   	pop    %ecx
41d352:	85 c0                	test   %eax,%eax
41d354:	74 06                	je     0x41d35c
41d356:	0f be 46 48          	movsbl 0x48(%esi),%eax
41d35a:	eb 02                	jmp    0x41d35e
41d35c:	8b c7                	mov    %edi,%eax
41d35e:	89 46 4c             	mov    %eax,0x4c(%esi)
41d361:	0f be 46 48          	movsbl 0x48(%esi),%eax
41d365:	83 f8 3f             	cmp    $0x3f,%eax
41d368:	7f 7d                	jg     0x41d3e7
41d36a:	74 26                	je     0x41d392
41d36c:	83 f8 0a             	cmp    $0xa,%eax
41d36f:	74 62                	je     0x41d3d3
41d371:	83 f8 24             	cmp    $0x24,%eax
41d374:	74 47                	je     0x41d3bd
41d376:	83 f8 27             	cmp    $0x27,%eax
41d379:	0f 8e c1 00 00 00    	jle    0x41d440
41d37f:	83 f8 29             	cmp    $0x29,%eax
41d382:	7e 33                	jle    0x41d3b7
41d384:	83 f8 2a             	cmp    $0x2a,%eax
41d387:	74 0f                	je     0x41d398
41d389:	83 f8 2b             	cmp    $0x2b,%eax
41d38c:	0f 85 ae 00 00 00    	jne    0x41d440
41d392:	f6 46 50 01          	testb  $0x1,0x50(%esi)
41d396:	eb 73                	jmp    0x41d40b
41d398:	f7 46 50 00 00 00 04 	testl  $0x4000000,0x50(%esi)
41d39f:	0f 84 9b 00 00 00    	je     0x41d440
41d3a5:	8d 4e 24             	lea    0x24(%esi),%ecx
41d3a8:	e8 11 91 ff ff       	call   0x4164be
41d3ad:	84 c0                	test   %al,%al
41d3af:	0f 84 8b 00 00 00    	je     0x41d440
41d3b5:	eb 56                	jmp    0x41d40d
41d3b7:	f6 46 50 08          	testb  $0x8,0x50(%esi)
41d3bb:	eb 4e                	jmp    0x41d40b
41d3bd:	f7 46 50 00 00 00 02 	testl  $0x2000000,0x50(%esi)
41d3c4:	74 7a                	je     0x41d440
41d3c6:	8b 06                	mov    (%esi),%eax
41d3c8:	40                   	inc    %eax
41d3c9:	3b 46 08             	cmp    0x8(%esi),%eax
41d3cc:	74 72                	je     0x41d440
41d3ce:	80 38 0a             	cmpb   $0xa,(%eax)
41d3d1:	eb dc                	jmp    0x41d3af
41d3d3:	f6 46 50 04          	testb  $0x4,0x50(%esi)
41d3d7:	74 67                	je     0x41d440
41d3d9:	39 7e 10             	cmp    %edi,0x10(%esi)
41d3dc:	75 62                	jne    0x41d440
41d3de:	c7 46 4c 7c 00 00 00 	movl   $0x7c,0x4c(%esi)
41d3e5:	eb 59                	jmp    0x41d440
41d3e7:	83 e8 5c             	sub    $0x5c,%eax
41d3ea:	74 3b                	je     0x41d427
41d3ec:	48                   	dec    %eax
41d3ed:	83 e8 01             	sub    $0x1,%eax
41d3f0:	74 20                	je     0x41d412
41d3f2:	83 e8 1d             	sub    $0x1d,%eax
41d3f5:	74 0a                	je     0x41d401
41d3f7:	83 e8 01             	sub    $0x1,%eax
41d3fa:	74 0b                	je     0x41d407
41d3fc:	83 e8 01             	sub    $0x1,%eax
41d3ff:	75 3f                	jne    0x41d440
41d401:	f6 46 50 10          	testb  $0x10,0x50(%esi)
41d405:	eb 04                	jmp    0x41d40b
41d407:	f6 46 50 02          	testb  $0x2,0x50(%esi)
41d40b:	75 33                	jne    0x41d440
41d40d:	89 7e 4c             	mov    %edi,0x4c(%esi)
41d410:	eb 2e                	jmp    0x41d440
41d412:	f7 46 50 00 00 00 02 	testl  $0x2000000,0x50(%esi)
41d419:	74 25                	je     0x41d440
41d41b:	8d 4e 24             	lea    0x24(%esi),%ecx
41d41e:	e8 9b 90 ff ff       	call   0x4164be
41d423:	84 c0                	test   %al,%al
41d425:	eb e4                	jmp    0x41d40b
41d427:	8b ce                	mov    %esi,%ecx
41d429:	e8 72 e0 ff ff       	call   0x41b4a0
41d42e:	84 c0                	test   %al,%al
41d430:	74 0e                	je     0x41d440
41d432:	8b 06                	mov    (%esi),%eax
41d434:	8a 40 01             	mov    0x1(%eax),%al
41d437:	88 46 48             	mov    %al,0x48(%esi)
41d43a:	0f be c0             	movsbl %al,%eax
41d43d:	89 46 4c             	mov    %eax,0x4c(%esi)
41d440:	5f                   	pop    %edi
41d441:	5e                   	pop    %esi
41d442:	c3                   	ret
41d443:	56                   	push   %esi
41d444:	8b f1                	mov    %ecx,%esi
41d446:	57                   	push   %edi
41d447:	33 ff                	xor    %edi,%edi
41d449:	8b 06                	mov    (%esi),%eax
41d44b:	3b 46 08             	cmp    0x8(%esi),%eax
41d44e:	75 0e                	jne    0x41d45e
41d450:	b8 ff ff 00 00       	mov    $0xffff,%eax
41d455:	66 89 46 48          	mov    %ax,0x48(%esi)
41d459:	83 c8 ff             	or     $0xffffffff,%eax
41d45c:	eb 20                	jmp    0x41d47e
41d45e:	0f b7 00             	movzwl (%eax),%eax
41d461:	50                   	push   %eax
41d462:	68 10 65 49 00       	push   $0x496510
41d467:	66 89 46 48          	mov    %ax,0x48(%esi)
41d46b:	e8 50 6b 02 00       	call   0x443fc0
41d470:	59                   	pop    %ecx
41d471:	59                   	pop    %ecx
41d472:	85 c0                	test   %eax,%eax
41d474:	74 06                	je     0x41d47c
41d476:	0f b7 46 48          	movzwl 0x48(%esi),%eax
41d47a:	eb 02                	jmp    0x41d47e
41d47c:	8b c7                	mov    %edi,%eax
41d47e:	89 46 4c             	mov    %eax,0x4c(%esi)
41d481:	0f b7 46 48          	movzwl 0x48(%esi),%eax
41d485:	83 f8 3f             	cmp    $0x3f,%eax
41d488:	0f 87 81 00 00 00    	ja     0x41d50f
41d48e:	74 28                	je     0x41d4b8
41d490:	6a 0a                	push   $0xa
41d492:	59                   	pop    %ecx
41d493:	3b c1                	cmp    %ecx,%eax
41d495:	74 64                	je     0x41d4fb
41d497:	83 f8 24             	cmp    $0x24,%eax
41d49a:	74 47                	je     0x41d4e3
41d49c:	83 f8 27             	cmp    $0x27,%eax
41d49f:	0f 86 c2 00 00 00    	jbe    0x41d567
41d4a5:	83 f8 29             	cmp    $0x29,%eax
41d4a8:	76 33                	jbe    0x41d4dd
41d4aa:	83 f8 2a             	cmp    $0x2a,%eax
41d4ad:	74 0f                	je     0x41d4be
41d4af:	83 f8 2b             	cmp    $0x2b,%eax
41d4b2:	0f 85 af 00 00 00    	jne    0x41d567
41d4b8:	f6 46 50 01          	testb  $0x1,0x50(%esi)
41d4bc:	eb 75                	jmp    0x41d533
41d4be:	f7 46 50 00 00 00 04 	testl  $0x4000000,0x50(%esi)
41d4c5:	0f 84 9c 00 00 00    	je     0x41d567
41d4cb:	8d 4e 24             	lea    0x24(%esi),%ecx
41d4ce:	e8 3b 90 ff ff       	call   0x41650e
41d4d3:	84 c0                	test   %al,%al
41d4d5:	0f 84 8c 00 00 00    	je     0x41d567
41d4db:	eb 58                	jmp    0x41d535
41d4dd:	f6 46 50 08          	testb  $0x8,0x50(%esi)
41d4e1:	eb 50                	jmp    0x41d533
41d4e3:	f7 46 50 00 00 00 02 	testl  $0x2000000,0x50(%esi)
41d4ea:	74 7b                	je     0x41d567
41d4ec:	8b 06                	mov    (%esi),%eax
41d4ee:	83 c0 02             	add    $0x2,%eax
41d4f1:	3b 46 08             	cmp    0x8(%esi),%eax
41d4f4:	74 71                	je     0x41d567
41d4f6:	66 39 08             	cmp    %cx,(%eax)
41d4f9:	eb da                	jmp    0x41d4d5
41d4fb:	f6 46 50 04          	testb  $0x4,0x50(%esi)
41d4ff:	74 66                	je     0x41d567
41d501:	39 7e 10             	cmp    %edi,0x10(%esi)
41d504:	75 61                	jne    0x41d567
41d506:	c7 46 4c 7c 00 00 00 	movl   $0x7c,0x4c(%esi)
41d50d:	eb 58                	jmp    0x41d567
41d50f:	83 e8 5c             	sub    $0x5c,%eax
41d512:	74 3b                	je     0x41d54f
41d514:	48                   	dec    %eax
41d515:	83 e8 01             	sub    $0x1,%eax
41d518:	74 20                	je     0x41d53a
41d51a:	83 e8 1d             	sub    $0x1d,%eax
41d51d:	74 0a                	je     0x41d529
41d51f:	83 e8 01             	sub    $0x1,%eax
41d522:	74 0b                	je     0x41d52f
41d524:	83 e8 01             	sub    $0x1,%eax
41d527:	75 3e                	jne    0x41d567
41d529:	f6 46 50 10          	testb  $0x10,0x50(%esi)
41d52d:	eb 04                	jmp    0x41d533
41d52f:	f6 46 50 02          	testb  $0x2,0x50(%esi)
41d533:	75 32                	jne    0x41d567
41d535:	89 7e 4c             	mov    %edi,0x4c(%esi)
41d538:	eb 2d                	jmp    0x41d567
41d53a:	f7 46 50 00 00 00 02 	testl  $0x2000000,0x50(%esi)
41d541:	74 24                	je     0x41d567
41d543:	8d 4e 24             	lea    0x24(%esi),%ecx
41d546:	e8 c3 8f ff ff       	call   0x41650e
41d54b:	84 c0                	test   %al,%al
41d54d:	eb e4                	jmp    0x41d533
41d54f:	8b ce                	mov    %esi,%ecx
41d551:	e8 7a df ff ff       	call   0x41b4d0