4170dc:	66 85 c9             	test   %cx,%cx
4170df:	75 f5                	jne    0x4170d6
4170e1:	8b 48 14             	mov    0x14(%eax),%ecx
4170e4:	2b d6                	sub    %esi,%edx
4170e6:	d1 fa                	sar    $1,%edx
4170e8:	3b d1                	cmp    %ecx,%edx
4170ea:	77 22                	ja     0x41710e
4170ec:	8b f8                	mov    %eax,%edi
4170ee:	83 f9 08             	cmp    $0x8,%ecx
4170f1:	72 02                	jb     0x4170f5
4170f3:	8b 38                	mov    (%eax),%edi
4170f5:	8d 34 12             	lea    (%edx,%edx,1),%esi
4170f8:	89 50 10             	mov    %edx,0x10(%eax)
4170fb:	56                   	push   %esi
4170fc:	53                   	push   %ebx
4170fd:	57                   	push   %edi
4170fe:	e8 4d 63 00 00       	call   0x41d450
417103:	83 c4 0c             	add    $0xc,%esp
417106:	33 c0                	xor    %eax,%eax
417108:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
41710c:	eb 16                	jmp    0x417124
41710e:	53                   	push   %ebx
41710f:	c6 85 44 fd ff ff 00 	movb   $0x0,-0x2bc(%ebp)
417116:	8b c8                	mov    %eax,%ecx
417118:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
41711e:	52                   	push   %edx
41711f:	e8 ec b4 fe ff       	call   0x402610
417124:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
417128:	8b 8d 3c fd ff ff    	mov    -0x2c4(%ebp),%ecx
41712e:	83 f9 08             	cmp    $0x8,%ecx
417131:	72 35                	jb     0x417168
417133:	8b 95 28 fd ff ff    	mov    -0x2d8(%ebp),%edx
417139:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
417140:	8b c2                	mov    %edx,%eax
417142:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
417148:	72 14                	jb     0x41715e
41714a:	8b 50 fc             	mov    -0x4(%eax),%edx
41714d:	83 c1 23             	add    $0x23,%ecx
417150:	2b c2                	sub    %edx,%eax
417152:	83 c0 fc             	add    $0xfffffffc,%eax
417155:	83 f8 1f             	cmp    $0x1f,%eax
417158:	0f 87 40 05 00 00    	ja     0x41769e
41715e:	51                   	push   %ecx
41715f:	52                   	push   %edx
417160:	e8 a9 47 00 00       	call   0x41b90e
417165:	83 c4 08             	add    $0x8,%esp
417168:	6a 05                	push   $0x5
41716a:	68 c0 ee 44 00       	push   $0x44eec0
41716f:	8d 8d 0c fd ff ff    	lea    -0x2f4(%ebp),%ecx
417175:	c7 85 0c fd ff ff 00 	movl   $0x0,-0x2f4(%ebp)
41717c:	00 00 00
41717f:	c7 85 1c fd ff ff 00 	movl   $0x0,-0x2e4(%ebp)
417186:	00 00 00
417189:	c7 85 20 fd ff ff 00 	movl   $0x0,-0x2e0(%ebp)
417190:	00 00 00
417193:	e8 78 b3 fe ff       	call   0x402510
417198:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
41719c:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
4171a2:	ff b5 08 fd ff ff    	push   -0x2f8(%ebp)
4171a8:	68 14 f1 44 00       	push   $0x44f114
4171ad:	68 00 01 00 00       	push   $0x100
4171b2:	50                   	push   %eax
4171b3:	e8 68 ca fe ff       	call   0x403c20
4171b8:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
4171be:	c7 85 28 fd ff ff 00 	movl   $0x0,-0x2d8(%ebp)
4171c5:	00 00 00
4171c8:	83 c4 10             	add    $0x10,%esp
4171cb:	c7 85 38 fd ff ff 00 	movl   $0x0,-0x2c8(%ebp)
4171d2:	00 00 00
4171d5:	c7 85 3c fd ff ff 00 	movl   $0x0,-0x2c4(%ebp)
4171dc:	00 00 00
4171df:	8d 51 02             	lea    0x2(%ecx),%edx
4171e2:	66 8b 01             	mov    (%ecx),%ax
4171e5:	83 c1 02             	add    $0x2,%ecx
4171e8:	66 85 c0             	test   %ax,%ax
4171eb:	75 f5                	jne    0x4171e2
4171ed:	2b ca                	sub    %edx,%ecx
4171ef:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
4171f5:	d1 f9                	sar    $1,%ecx
4171f7:	51                   	push   %ecx
4171f8:	50                   	push   %eax
4171f9:	8d 8d 28 fd ff ff    	lea    -0x2d8(%ebp),%ecx
4171ff:	e8 0c b3 fe ff       	call   0x402510
417204:	8b 8d 40 fd ff ff    	mov    -0x2c0(%ebp),%ecx
41720a:	8d 9d 28 fd ff ff    	lea    -0x2d8(%ebp),%ebx
417210:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
417214:	8d 85 0c fd ff ff    	lea    -0x2f4(%ebp),%eax
41721a:	83 bd 3c fd ff ff 08 	cmpl   $0x8,-0x2c4(%ebp)
417221:	8b bd 28 fd ff ff    	mov    -0x2d8(%ebp),%edi
417227:	0f 43 df             	cmovae %edi,%ebx
41722a:	50                   	push   %eax
41722b:	89 9d 44 fd ff ff    	mov    %ebx,-0x2bc(%ebp)
417231:	e8 8a 04 00 00       	call   0x4176c0
417236:	8b d3                	mov    %ebx,%edx
417238:	8d 72 02             	lea    0x2(%edx),%esi
41723b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
417240:	66 8b 0a             	mov    (%edx),%cx
417243:	83 c2 02             	add    $0x2,%edx
417246:	66 85 c9             	test   %cx,%cx
417249:	75 f5                	jne    0x417240
41724b:	8b 48 14             	mov    0x14(%eax),%ecx
41724e:	2b d6                	sub    %esi,%edx
417250:	d1 fa                	sar    $1,%edx
417252:	3b d1                	cmp    %ecx,%edx
417254:	77 27                	ja     0x41727d
417256:	8b d8                	mov    %eax,%ebx
417258:	83 f9 08             	cmp    $0x8,%ecx
41725b:	72 02                	jb     0x41725f
41725d:	8b 18                	mov    (%eax),%ebx
41725f:	8d 34 12             	lea    (%edx,%edx,1),%esi
417262:	89 50 10             	mov    %edx,0x10(%eax)
417265:	56                   	push   %esi
417266:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
41726c:	53                   	push   %ebx
41726d:	e8 de 61 00 00       	call   0x41d450
417272:	83 c4 0c             	add    $0xc,%esp
417275:	33 c0                	xor    %eax,%eax
417277:	66 89 04 33          	mov    %ax,(%ebx,%esi,1)
41727b:	eb 1c                	jmp    0x417299
41727d:	53                   	push   %ebx
41727e:	c6 85 44 fd ff ff 00 	movb   $0x0,-0x2bc(%ebp)
417285:	8b c8                	mov    %eax,%ecx
417287:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
41728d:	52                   	push   %edx
41728e:	e8 7d b3 fe ff       	call   0x402610
417293:	8b bd 28 fd ff ff    	mov    -0x2d8(%ebp),%edi
417299:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
41729d:	8b 85 3c fd ff ff    	mov    -0x2c4(%ebp),%eax
4172a3:	83 f8 08             	cmp    $0x8,%eax
4172a6:	72 2f                	jb     0x4172d7
4172a8:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
4172af:	8b c7                	mov    %edi,%eax
4172b1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4172b7:	72 14                	jb     0x4172cd
4172b9:	8b 78 fc             	mov    -0x4(%eax),%edi
4172bc:	83 c1 23             	add    $0x23,%ecx
4172bf:	2b c7                	sub    %edi,%eax
4172c1:	83 c0 fc             	add    $0xfffffffc,%eax
4172c4:	83 f8 1f             	cmp    $0x1f,%eax
4172c7:	0f 87 d6 03 00 00    	ja     0x4176a3
4172cd:	51                   	push   %ecx
4172ce:	57                   	push   %edi
4172cf:	e8 3a 46 00 00       	call   0x41b90e
4172d4:	83 c4 08             	add    $0x8,%esp
4172d7:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
4172db:	8b 8d 20 fd ff ff    	mov    -0x2e0(%ebp),%ecx
4172e1:	83 f9 08             	cmp    $0x8,%ecx
4172e4:	72 35                	jb     0x41731b
4172e6:	8b 95 0c fd ff ff    	mov    -0x2f4(%ebp),%edx
4172ec:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4172f3:	8b c2                	mov    %edx,%eax
4172f5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4172fb:	72 14                	jb     0x417311
4172fd:	8b 50 fc             	mov    -0x4(%eax),%edx
417300:	83 c1 23             	add    $0x23,%ecx
417303:	2b c2                	sub    %edx,%eax
417305:	83 c0 fc             	add    $0xfffffffc,%eax
417308:	83 f8 1f             	cmp    $0x1f,%eax
41730b:	0f 87 92 03 00 00    	ja     0x4176a3
417311:	51                   	push   %ecx
417312:	52                   	push   %edx
417313:	e8 f6 45 00 00       	call   0x41b90e
417318:	83 c4 08             	add    $0x8,%esp
41731b:	8d 8d 78 fd ff ff    	lea    -0x288(%ebp),%ecx
417321:	e8 9a 0a 00 00       	call   0x417dc0
417326:	6a 12                	push   $0x12
417328:	68 cc ee 44 00       	push   $0x44eecc
41732d:	8d 8d 0c fd ff ff    	lea    -0x2f4(%ebp),%ecx
417333:	c7 85 0c fd ff ff 00 	movl   $0x0,-0x2f4(%ebp)
41733a:	00 00 00
41733d:	c7 85 1c fd ff ff 00 	movl   $0x0,-0x2e4(%ebp)
417344:	00 00 00
417347:	c7 85 20 fd ff ff 00 	movl   $0x0,-0x2e0(%ebp)
41734e:	00 00 00
417351:	e8 ba b1 fe ff       	call   0x402510
417356:	8b 8d 40 fd ff ff    	mov    -0x2c0(%ebp),%ecx
41735c:	8d 9d 78 fd ff ff    	lea    -0x288(%ebp),%ebx
417362:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
417366:	8d 85 0c fd ff ff    	lea    -0x2f4(%ebp),%eax
41736c:	83 bd 8c fd ff ff 08 	cmpl   $0x8,-0x274(%ebp)
417373:	8b bd 78 fd ff ff    	mov    -0x288(%ebp),%edi
417379:	0f 43 df             	cmovae %edi,%ebx
41737c:	50                   	push   %eax
41737d:	89 9d 44 fd ff ff    	mov    %ebx,-0x2bc(%ebp)
417383:	e8 38 03 00 00       	call   0x4176c0
417388:	8b d3                	mov    %ebx,%edx
41738a:	8d 72 02             	lea    0x2(%edx),%esi
41738d:	0f 1f 00             	nopl   (%eax)
417390:	66 8b 0a             	mov    (%edx),%cx
417393:	83 c2 02             	add    $0x2,%edx
417396:	66 85 c9             	test   %cx,%cx
417399:	75 f5                	jne    0x417390
41739b:	8b 48 14             	mov    0x14(%eax),%ecx
41739e:	2b d6                	sub    %esi,%edx
4173a0:	d1 fa                	sar    $1,%edx
4173a2:	3b d1                	cmp    %ecx,%edx
4173a4:	77 27                	ja     0x4173cd
4173a6:	8b d8                	mov    %eax,%ebx
4173a8:	83 f9 08             	cmp    $0x8,%ecx
4173ab:	72 02                	jb     0x4173af
4173ad:	8b 18                	mov    (%eax),%ebx
4173af:	8d 34 12             	lea    (%edx,%edx,1),%esi
4173b2:	89 50 10             	mov    %edx,0x10(%eax)
4173b5:	56                   	push   %esi
4173b6:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
4173bc:	53                   	push   %ebx
4173bd:	e8 8e 60 00 00       	call   0x41d450
4173c2:	83 c4 0c             	add    $0xc,%esp
4173c5:	33 c0                	xor    %eax,%eax
4173c7:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
4173cb:	eb 1c                	jmp    0x4173e9
4173cd:	53                   	push   %ebx
4173ce:	c6 85 44 fd ff ff 00 	movb   $0x0,-0x2bc(%ebp)
4173d5:	8b c8                	mov    %eax,%ecx
4173d7:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
4173dd:	52                   	push   %edx
4173de:	e8 2d b2 fe ff       	call   0x402610
4173e3:	8b bd 78 fd ff ff    	mov    -0x288(%ebp),%edi
4173e9:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
4173ed:	8b 8d 20 fd ff ff    	mov    -0x2e0(%ebp),%ecx
4173f3:	83 f9 08             	cmp    $0x8,%ecx
4173f6:	72 35                	jb     0x41742d
4173f8:	8b 95 0c fd ff ff    	mov    -0x2f4(%ebp),%edx
4173fe:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
417405:	8b c2                	mov    %edx,%eax
417407:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41740d:	72 14                	jb     0x417423
41740f:	8b 50 fc             	mov    -0x4(%eax),%edx
417412:	83 c1 23             	add    $0x23,%ecx
417415:	2b c2                	sub    %edx,%eax
417417:	83 c0 fc             	add    $0xfffffffc,%eax
41741a:	83 f8 1f             	cmp    $0x1f,%eax
41741d:	0f 87 85 02 00 00    	ja     0x4176a8
417423:	51                   	push   %ecx
417424:	52                   	push   %edx
417425:	e8 e4 44 00 00       	call   0x41b90e
41742a:	83 c4 08             	add    $0x8,%esp
41742d:	8b 8d 24 fd ff ff    	mov    -0x2dc(%ebp),%ecx
417433:	81 c1 b4 00 00 00    	add    $0xb4,%ecx
417439:	83 79 14 4e          	cmpl   $0x4e,0x14(%ecx)
41743d:	72 27                	jb     0x417466
41743f:	8b 31                	mov    (%ecx),%esi
417441:	68 9c 00 00 00       	push   $0x9c
417446:	68 d8 ed 44 00       	push   $0x44edd8
41744b:	56                   	push   %esi
41744c:	c7 41 10 4e 00 00 00 	movl   $0x4e,0x10(%ecx)
417453:	e8 f8 5f 00 00       	call   0x41d450
417458:	83 c4 0c             	add    $0xc,%esp
41745b:	33 c0                	xor    %eax,%eax
41745d:	66 89 86 9c 00 00 00 	mov    %ax,0x9c(%esi)
417464:	eb 19                	jmp    0x41747f
417466:	68 d8 ed 44 00       	push   $0x44edd8
41746b:	c6 85 44 fd ff ff 00 	movb   $0x0,-0x2bc(%ebp)
417472:	ff b5 44 fd ff ff    	push   -0x2bc(%ebp)
417478:	6a 4e                	push   $0x4e
41747a:	e8 91 b1 fe ff       	call   0x402610
41747f:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
417485:	83 f9 08             	cmp    $0x8,%ecx
417488:	72 35                	jb     0x4174bf
41748a:	8b 95 c0 fd ff ff    	mov    -0x240(%ebp),%edx
417490:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
417497:	8b c2                	mov    %edx,%eax
417499:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41749f:	72 14                	jb     0x4174b5
4174a1:	8b 50 fc             	mov    -0x4(%eax),%edx
4174a4:	83 c1 23             	add    $0x23,%ecx
4174a7:	2b c2                	sub    %edx,%eax
4174a9:	83 c0 fc             	add    $0xfffffffc,%eax
4174ac:	83 f8 1f             	cmp    $0x1f,%eax
4174af:	0f 87 f8 01 00 00    	ja     0x4176ad
4174b5:	51                   	push   %ecx
4174b6:	52                   	push   %edx
4174b7:	e8 52 44 00 00       	call   0x41b90e
4174bc:	83 c4 08             	add    $0x8,%esp
4174bf:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
4174c5:	33 c0                	xor    %eax,%eax
4174c7:	c7 85 d0 fd ff ff 00 	movl   $0x0,-0x230(%ebp)
4174ce:	00 00 00
4174d1:	c7 85 d4 fd ff ff 07 	movl   $0x7,-0x22c(%ebp)
4174d8:	00 00 00
4174db:	66 89 85 c0 fd ff ff 	mov    %ax,-0x240(%ebp)
4174e2:	83 f9 08             	cmp    $0x8,%ecx
4174e5:	72 35                	jb     0x41751c
4174e7:	8b 95 d8 fd ff ff    	mov    -0x228(%ebp),%edx
4174ed:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4174f4:	8b c2                	mov    %edx,%eax
4174f6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4174fc:	72 14                	jb     0x417512
4174fe:	8b 50 fc             	mov    -0x4(%eax),%edx
417501:	83 c1 23             	add    $0x23,%ecx
417504:	2b c2                	sub    %edx,%eax
417506:	83 c0 fc             	add    $0xfffffffc,%eax
417509:	83 f8 1f             	cmp    $0x1f,%eax
41750c:	0f 87 9b 01 00 00    	ja     0x4176ad
417512:	51                   	push   %ecx
417513:	52                   	push   %edx
417514:	e8 f5 43 00 00       	call   0x41b90e
417519:	83 c4 08             	add    $0x8,%esp
41751c:	33 c0                	xor    %eax,%eax
41751e:	c7 85 e8 fd ff ff 00 	movl   $0x0,-0x218(%ebp)
417525:	00 00 00
417528:	66 89 85 d8 fd ff ff 	mov    %ax,-0x228(%ebp)
41752f:	8b 85 8c fd ff ff    	mov    -0x274(%ebp),%eax
417535:	c7 85 ec fd ff ff 07 	movl   $0x7,-0x214(%ebp)
41753c:	00 00 00
41753f:	83 f8 08             	cmp    $0x8,%eax
417542:	72 2f                	jb     0x417573
417544:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
41754b:	8b c7                	mov    %edi,%eax
41754d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
417553:	72 14                	jb     0x417569
417555:	8b 78 fc             	mov    -0x4(%eax),%edi
417558:	83 c1 23             	add    $0x23,%ecx
41755b:	2b c7                	sub    %edi,%eax
41755d:	83 c0 fc             	add    $0xfffffffc,%eax
417560:	83 f8 1f             	cmp    $0x1f,%eax
417563:	0f 87 44 01 00 00    	ja     0x4176ad
417569:	51                   	push   %ecx
41756a:	57                   	push   %edi
41756b:	e8 9e 43 00 00       	call   0x41b90e
417570:	83 c4 08             	add    $0x8,%esp
417573:	8b 8d bc fd ff ff    	mov    -0x244(%ebp),%ecx
417579:	83 f9 08             	cmp    $0x8,%ecx
41757c:	72 35                	jb     0x4175b3
41757e:	8b 95 a8 fd ff ff    	mov    -0x258(%ebp),%edx
417584:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41758b:	8b c2                	mov    %edx,%eax
41758d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
417593:	72 14                	jb     0x4175a9
417595:	8b 50 fc             	mov    -0x4(%eax),%edx
417598:	83 c1 23             	add    $0x23,%ecx
41759b:	2b c2                	sub    %edx,%eax
41759d:	83 c0 fc             	add    $0xfffffffc,%eax
4175a0:	83 f8 1f             	cmp    $0x1f,%eax
4175a3:	0f 87 04 01 00 00    	ja     0x4176ad
4175a9:	51                   	push   %ecx
4175aa:	52                   	push   %edx
4175ab:	e8 5e 43 00 00       	call   0x41b90e
4175b0:	83 c4 08             	add    $0x8,%esp
4175b3:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
4175b9:	33 c0                	xor    %eax,%eax
4175bb:	c7 85 b8 fd ff ff 00 	movl   $0x0,-0x248(%ebp)
4175c2:	00 00 00
4175c5:	c7 85 bc fd ff ff 07 	movl   $0x7,-0x244(%ebp)
4175cc:	00 00 00
4175cf:	66 89 85 a8 fd ff ff 	mov    %ax,-0x258(%ebp)
4175d6:	83 f9 08             	cmp    $0x8,%ecx
4175d9:	72 35                	jb     0x417610
4175db:	8b 95 90 fd ff ff    	mov    -0x270(%ebp),%edx
4175e1:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx