40d21b:	ff 4d f0             	decl   -0x10(%ebp)
40d21e:	ff 4d f4             	decl   -0xc(%ebp)
40d221:	8b 0d 48 26 43 00    	mov    0x432648,%ecx
40d227:	85 c9                	test   %ecx,%ecx
40d229:	0f 84 96 00 00 00    	je     0x40d2c5
40d22f:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40d232:	0f b7 c0             	movzwl %ax,%eax
40d235:	8d 14 41             	lea    (%ecx,%eax,2),%edx
40d238:	8b 0d 14 19 43 00    	mov    0x431914,%ecx
40d23e:	66 8b 02             	mov    (%edx),%ax
40d241:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
40d245:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40d248:	50                   	push   %eax
40d249:	e8 74 f0 ff ff       	call   0x40c2c2
40d24e:	8b 55 c8             	mov    -0x38(%ebp),%edx
40d251:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40d254:	51                   	push   %ecx
40d255:	6a 01                	push   $0x1
40d257:	50                   	push   %eax
40d258:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d25b:	8b cf                	mov    %edi,%ecx
40d25d:	50                   	push   %eax
40d25e:	8b 45 b8             	mov    -0x48(%ebp),%eax
40d261:	8d 14 13             	lea    (%ebx,%edx,1),%edx
40d264:	03 45 cc             	add    -0x34(%ebp),%eax
40d267:	6a 06                	push   $0x6
40d269:	50                   	push   %eax
40d26a:	e8 1a 2e 00 00       	call   0x410089
40d26f:	ff 75 84             	push   -0x7c(%ebp)
40d272:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40d275:	57                   	push   %edi
40d276:	89 46 28             	mov    %eax,0x28(%esi)
40d279:	ff 15 ac 30 43 00    	call   *0x4330ac
40d27f:	50                   	push   %eax
40d280:	ff 15 b4 30 43 00    	call   *0x4330b4
40d286:	ff 75 80             	push   -0x80(%ebp)
40d289:	57                   	push   %edi
40d28a:	ff 15 ac 30 43 00    	call   *0x4330ac
40d290:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
40d296:	ff 75 d8             	push   -0x28(%ebp)
40d299:	ff 15 ac 30 43 00    	call   *0x4330ac
40d29f:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
40d2a2:	8b cf                	mov    %edi,%ecx
40d2a4:	6a 01                	push   $0x1
40d2a6:	8b d3                	mov    %ebx,%edx
40d2a8:	e8 71 00 00 00       	call   0x40d31e
40d2ad:	57                   	push   %edi
40d2ae:	ff 35 10 19 43 00    	push   0x431910
40d2b4:	ff 15 08 33 43 00    	call   *0x433308
40d2ba:	66 89 5e 54          	mov    %bx,0x54(%esi)
40d2be:	c7 46 4c 01 00 00 00 	movl   $0x1,0x4c(%esi)
40d2c5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40d2c8:	5f                   	pop    %edi
40d2c9:	5e                   	pop    %esi
40d2ca:	33 cd                	xor    %ebp,%ecx
40d2cc:	5b                   	pop    %ebx
40d2cd:	e8 5e 31 00 00       	call   0x410430
40d2d2:	c9                   	leave
40d2d3:	c2 04 00             	ret    $0x4
40d2d6:	8b ff                	mov    %edi,%edi
40d2d8:	56                   	push   %esi
40d2d9:	57                   	push   %edi
40d2da:	ff 35 10 19 43 00    	push   0x431910
40d2e0:	8b f9                	mov    %ecx,%edi
40d2e2:	ff 15 f0 32 43 00    	call   *0x4332f0
40d2e8:	68 20 00 cc 00       	push   $0xcc0020
40d2ed:	ff 77 28             	push   0x28(%edi)
40d2f0:	8b f0                	mov    %eax,%esi
40d2f2:	6a 00                	push   $0x0
40d2f4:	ff 77 60             	push   0x60(%edi)
40d2f7:	ff 77 1c             	push   0x1c(%edi)
40d2fa:	ff 77 18             	push   0x18(%edi)
40d2fd:	ff 77 24             	push   0x24(%edi)
40d300:	ff 77 20             	push   0x20(%edi)
40d303:	56                   	push   %esi
40d304:	ff 15 4c 30 43 00    	call   *0x43304c
40d30a:	56                   	push   %esi
40d30b:	ff 35 10 19 43 00    	push   0x431910
40d311:	ff 15 08 33 43 00    	call   *0x433308
40d317:	83 67 20 00          	andl   $0x0,0x20(%edi)
40d31b:	5f                   	pop    %edi
40d31c:	5e                   	pop    %esi
40d31d:	c3                   	ret
40d31e:	8b ff                	mov    %edi,%edi
40d320:	55                   	push   %ebp
40d321:	8b ec                	mov    %esp,%ebp
40d323:	81 ec 10 02 00 00    	sub    $0x210,%esp
40d329:	a1 64 10 41 00       	mov    0x411064,%eax
40d32e:	33 c5                	xor    %ebp,%eax
40d330:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d333:	a1 48 26 43 00       	mov    0x432648,%eax
40d338:	53                   	push   %ebx
40d339:	8b d9                	mov    %ecx,%ebx
40d33b:	0f b7 ca             	movzwl %dx,%ecx
40d33e:	56                   	push   %esi
40d33f:	57                   	push   %edi
40d340:	85 c0                	test   %eax,%eax
40d342:	0f 84 b8 01 00 00    	je     0x40d500
40d348:	33 ff                	xor    %edi,%edi
40d34a:	66 39 38             	cmp    %di,(%eax)
40d34d:	0f 84 ad 01 00 00    	je     0x40d500
40d353:	8b f1                	mov    %ecx,%esi
40d355:	33 d2                	xor    %edx,%edx
40d357:	03 f6                	add    %esi,%esi
40d359:	66 89 15 28 1b 43 00 	mov    %dx,0x431b28
40d360:	f7 05 18 19 43 00 00 	testl  $0x20000000,0x431918
40d367:	00 00 20
40d36a:	74 4c                	je     0x40d3b8
40d36c:	bf 04 01 00 00       	mov    $0x104,%edi
40d371:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40d377:	57                   	push   %edi
40d378:	50                   	push   %eax
40d379:	6a 73                	push   $0x73
40d37b:	ff 35 0c 19 41 00    	push   0x41190c
40d381:	ff 15 20 33 43 00    	call   *0x433320
40d387:	a1 48 26 43 00       	mov    0x432648,%eax
40d38c:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
40d390:	50                   	push   %eax
40d391:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40d397:	50                   	push   %eax
40d398:	68 34 18 40 00       	push   $0x401834
40d39d:	57                   	push   %edi
40d39e:	68 30 1d 43 00       	push   $0x431d30
40d3a3:	e8 00 66 ff ff       	call   0x4039a8
40d3a8:	83 c4 14             	add    $0x14,%esp
40d3ab:	85 c0                	test   %eax,%eax
40d3ad:	0f 88 76 01 00 00    	js     0x40d529
40d3b3:	e9 63 01 00 00       	jmp    0x40d51b
40d3b8:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
40d3bc:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
40d3c2:	51                   	push   %ecx
40d3c3:	50                   	push   %eax
40d3c4:	ff 15 bc 30 43 00    	call   *0x4330bc
40d3ca:	8b 0d a4 16 41 00    	mov    0x4116a4,%ecx
40d3d0:	81 f9 b0 04 00 00    	cmp    $0x4b0,%ecx
40d3d6:	74 75                	je     0x40d44d
40d3d8:	57                   	push   %edi
40d3d9:	57                   	push   %edi
40d3da:	6a 02                	push   $0x2
40d3dc:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40d3e2:	50                   	push   %eax
40d3e3:	a1 48 26 43 00       	mov    0x432648,%eax
40d3e8:	6a 01                	push   $0x1
40d3ea:	03 c6                	add    %esi,%eax
40d3ec:	50                   	push   %eax
40d3ed:	68 00 04 00 00       	push   $0x400
40d3f2:	51                   	push   %ecx
40d3f3:	ff 15 b0 31 43 00    	call   *0x4331b0
40d3f9:	83 f8 01             	cmp    $0x1,%eax
40d3fc:	75 09                	jne    0x40d407
40d3fe:	0f b6 85 f0 fd ff ff 	movzbl -0x210(%ebp),%eax
40d405:	eb 17                	jmp    0x40d41e
40d407:	66 8b 85 f0 fd ff ff 	mov    -0x210(%ebp),%ax
40d40e:	0f b6 c8             	movzbl %al,%ecx
40d411:	0f b6 c4             	movzbl %ah,%eax
40d414:	66 c1 e1 08          	shl    $0x8,%cx
40d418:	66 0b c8             	or     %ax,%cx
40d41b:	0f b7 c1             	movzwl %cx,%eax
40d41e:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
40d424:	0f b7 c0             	movzwl %ax,%eax
40d427:	51                   	push   %ecx
40d428:	50                   	push   %eax
40d429:	a1 48 26 43 00       	mov    0x432648,%eax
40d42e:	bf 04 01 00 00       	mov    $0x104,%edi
40d433:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
40d437:	50                   	push   %eax
40d438:	68 4c 18 40 00       	push   $0x40184c
40d43d:	57                   	push   %edi
40d43e:	68 30 1d 43 00       	push   $0x431d30
40d443:	e8 60 65 ff ff       	call   0x4039a8
40d448:	83 c4 18             	add    $0x18,%esp
40d44b:	eb 29                	jmp    0x40d476
40d44d:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40d453:	bf 04 01 00 00       	mov    $0x104,%edi
40d458:	50                   	push   %eax
40d459:	a1 48 26 43 00       	mov    0x432648,%eax
40d45e:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
40d462:	50                   	push   %eax
40d463:	68 74 18 40 00       	push   $0x401874
40d468:	57                   	push   %edi
40d469:	68 30 1d 43 00       	push   $0x431d30
40d46e:	e8 35 65 ff ff       	call   0x4039a8
40d473:	83 c4 14             	add    $0x14,%esp
40d476:	85 c0                	test   %eax,%eax
40d478:	0f 88 ab 00 00 00    	js     0x40d529
40d47e:	a1 48 26 43 00       	mov    0x432648,%eax
40d483:	b9 9f 00 00 00       	mov    $0x9f,%ecx
40d488:	03 c6                	add    %esi,%eax
40d48a:	66 39 08             	cmp    %cx,(%eax)
40d48d:	0f 86 88 00 00 00    	jbe    0x40d51b
40d493:	6a 00                	push   $0x0
40d495:	6a 00                	push   $0x0
40d497:	6a 02                	push   $0x2
40d499:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40d49f:	51                   	push   %ecx
40d4a0:	6a 01                	push   $0x1
40d4a2:	50                   	push   %eax
40d4a3:	68 00 04 00 00       	push   $0x400
40d4a8:	ff 35 5c 26 43 00    	push   0x43265c
40d4ae:	ff 15 b0 31 43 00    	call   *0x4331b0
40d4b4:	83 f8 01             	cmp    $0x1,%eax
40d4b7:	75 62                	jne    0x40d51b
40d4b9:	80 bd f0 fd ff ff 7f 	cmpb   $0x7f,-0x210(%ebp)
40d4c0:	76 59                	jbe    0x40d51b
40d4c2:	57                   	push   %edi
40d4c3:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40d4c9:	50                   	push   %eax
40d4ca:	6a 75                	push   $0x75
40d4cc:	ff 35 0c 19 41 00    	push   0x41190c
40d4d2:	ff 15 20 33 43 00    	call   *0x433320
40d4d8:	0f b6 85 f0 fd ff ff 	movzbl -0x210(%ebp),%eax
40d4df:	50                   	push   %eax
40d4e0:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40d4e6:	50                   	push   %eax
40d4e7:	68 8c 18 40 00       	push   $0x40188c
40d4ec:	57                   	push   %edi
40d4ed:	68 28 1b 43 00       	push   $0x431b28
40d4f2:	e8 b1 64 ff ff       	call   0x4039a8
40d4f7:	83 c4 14             	add    $0x14,%esp
40d4fa:	85 c0                	test   %eax,%eax
40d4fc:	79 1d                	jns    0x40d51b
40d4fe:	eb 29                	jmp    0x40d529
40d500:	68 04 01 00 00       	push   $0x104
40d505:	68 30 1d 43 00       	push   $0x431d30
40d50a:	68 90 01 00 00       	push   $0x190
40d50f:	ff 35 0c 19 41 00    	push   0x41190c
40d515:	ff 15 20 33 43 00    	call   *0x433320
40d51b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40d51f:	74 08                	je     0x40d529
40d521:	51                   	push   %ecx
40d522:	8b cb                	mov    %ebx,%ecx
40d524:	e8 85 05 00 00       	call   0x40daae
40d529:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d52c:	5f                   	pop    %edi
40d52d:	5e                   	pop    %esi
40d52e:	33 cd                	xor    %ebp,%ecx
40d530:	5b                   	pop    %ebx
40d531:	e8 fa 2e 00 00       	call   0x410430
40d536:	c9                   	leave
40d537:	c2 04 00             	ret    $0x4
40d53a:	8b ff                	mov    %edi,%edi
40d53c:	55                   	push   %ebp
40d53d:	8b ec                	mov    %esp,%ebp
40d53f:	51                   	push   %ecx
40d540:	56                   	push   %esi
40d541:	57                   	push   %edi
40d542:	8b f9                	mov    %ecx,%edi
40d544:	ba 70 1f 43 00       	mov    $0x431f70,%edx
40d549:	8b 0d 14 19 43 00    	mov    0x431914,%ecx
40d54f:	e8 1f 07 00 00       	call   0x40dc73
40d554:	33 d2                	xor    %edx,%edx
40d556:	8b cf                	mov    %edi,%ecx
40d558:	42                   	inc    %edx
40d559:	e8 e9 00 00 00       	call   0x40d647
40d55e:	85 ff                	test   %edi,%edi
40d560:	0f 84 83 00 00 00    	je     0x40d5e9
40d566:	57                   	push   %edi
40d567:	ff 15 f0 32 43 00    	call   *0x4332f0
40d56d:	8b f0                	mov    %eax,%esi
40d56f:	85 f6                	test   %esi,%esi
40d571:	74 76                	je     0x40d5e9
40d573:	53                   	push   %ebx
40d574:	ff 35 cc 1f 43 00    	push   0x431fcc
40d57a:	56                   	push   %esi
40d57b:	ff 15 ac 30 43 00    	call   *0x4330ac
40d581:	83 3d 48 26 43 00 00 	cmpl   $0x0,0x432648
40d588:	bb d8 1f 43 00       	mov    $0x431fd8,%ebx
40d58d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d590:	74 1b                	je     0x40d5ad
40d592:	0f b7 15 80 26 43 00 	movzwl 0x432680,%edx
40d599:	51                   	push   %ecx
40d59a:	0f b7 0d 3c 13 41 00 	movzwl 0x41133c,%ecx
40d5a1:	53                   	push   %ebx
40d5a2:	51                   	push   %ecx
40d5a3:	8b ce                	mov    %esi,%ecx
40d5a5:	e8 41 76 ff ff       	call   0x404beb
40d5aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d5ad:	50                   	push   %eax
40d5ae:	56                   	push   %esi
40d5af:	ff 15 ac 30 43 00    	call   *0x4330ac
40d5b5:	0f b7 0d 3c 13 41 00 	movzwl 0x41133c,%ecx
40d5bc:	0f b7 05 80 26 43 00 	movzwl 0x432680,%eax
40d5c3:	3b c1                	cmp    %ecx,%eax
40d5c5:	77 19                	ja     0x40d5e0
40d5c7:	2b c8                	sub    %eax,%ecx
40d5c9:	41                   	inc    %ecx
40d5ca:	a1 70 1f 43 00       	mov    0x431f70,%eax
40d5cf:	2b 03                	sub    (%ebx),%eax
40d5d1:	99                   	cltd
40d5d2:	2b c2                	sub    %edx,%eax
40d5d4:	d1 f8                	sar    $1,%eax
40d5d6:	89 03                	mov    %eax,(%ebx)
40d5d8:	8d 5b 04             	lea    0x4(%ebx),%ebx
40d5db:	83 e9 01             	sub    $0x1,%ecx
40d5de:	75 ea                	jne    0x40d5ca
40d5e0:	56                   	push   %esi
40d5e1:	57                   	push   %edi
40d5e2:	ff 15 08 33 43 00    	call   *0x433308
40d5e8:	5b                   	pop    %ebx
40d5e9:	33 ff                	xor    %edi,%edi
40d5eb:	66 39 3d c4 1f 43 00 	cmp    %di,0x431fc4
40d5f2:	74 40                	je     0x40d634
40d5f4:	ff 35 10 19 43 00    	push   0x431910
40d5fa:	33 c0                	xor    %eax,%eax
40d5fc:	66 a3 c4 1f 43 00    	mov    %ax,0x431fc4
40d602:	ff 15 f0 32 43 00    	call   *0x4332f0
40d608:	8b 15 c4 1f 43 00    	mov    0x431fc4,%edx
40d60e:	8b f0                	mov    %eax,%esi
40d610:	57                   	push   %edi
40d611:	8b ce                	mov    %esi,%ecx
40d613:	e8 06 fd ff ff       	call   0x40d31e
40d618:	56                   	push   %esi
40d619:	ff 35 10 19 43 00    	push   0x431910
40d61f:	ff 15 08 33 43 00    	call   *0x433308
40d625:	6a 01                	push   $0x1
40d627:	57                   	push   %edi
40d628:	ff 35 10 19 43 00    	push   0x431910
40d62e:	ff 15 fc 31 43 00    	call   *0x4331fc
40d634:	6a 01                	push   $0x1
40d636:	57                   	push   %edi
40d637:	ff 35 14 19 43 00    	push   0x431914
40d63d:	ff 15 fc 31 43 00    	call   *0x4331fc
40d643:	5f                   	pop    %edi
40d644:	5e                   	pop    %esi
40d645:	c9                   	leave
40d646:	c3                   	ret
40d647:	8b ff                	mov    %edi,%edi
40d649:	55                   	push   %ebp
40d64a:	8b ec                	mov    %esp,%ebp
40d64c:	83 ec 1c             	sub    $0x1c,%esp
40d64f:	53                   	push   %ebx
40d650:	8b d9                	mov    %ecx,%ebx
40d652:	33 c0                	xor    %eax,%eax
40d654:	33 c9                	xor    %ecx,%ecx
40d656:	66 a3 7c 26 43 00    	mov    %ax,0x43267c
40d65c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40d65f:	56                   	push   %esi
40d660:	57                   	push   %edi
40d661:	85 d2                	test   %edx,%edx
40d663:	0f 84 85 00 00 00    	je     0x40d6ee
40d669:	68 82 00 00 00       	push   $0x82
40d66e:	8b f1                	mov    %ecx,%esi
40d670:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40d673:	8b f9                	mov    %ecx,%edi
40d675:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40d678:	53                   	push   %ebx
40d679:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40d67c:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d67f:	89 7d f8             	mov    %edi,-0x8(%ebp)
40d682:	ff 15 14 33 43 00    	call   *0x433314