41638c:	53                   	push   %ebx
41638d:	8b 5d 08             	mov    0x8(%ebp),%ebx
416390:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
416397:	56                   	push   %esi
416398:	57                   	push   %edi
416399:	8b fb                	mov    %ebx,%edi
41639b:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
41639f:	8b 4d 10             	mov    0x10(%ebp),%ecx
4163a2:	03 d1                	add    %ecx,%edx
4163a4:	89 85 f8 eb ff ff    	mov    %eax,-0x1408(%ebp)
4163aa:	33 c0                	xor    %eax,%eax
4163ac:	ab                   	stos   %eax,%es:(%edi)
4163ad:	89 95 f0 eb ff ff    	mov    %edx,-0x1410(%ebp)
4163b3:	ab                   	stos   %eax,%es:(%edi)
4163b4:	ab                   	stos   %eax,%es:(%edi)
4163b5:	eb 75                	jmp    0x41642c
4163b7:	8d b5 fc eb ff ff    	lea    -0x1404(%ebp),%esi
4163bd:	3b ca                	cmp    %edx,%ecx
4163bf:	73 25                	jae    0x4163e6
4163c1:	0f b7 01             	movzwl (%ecx),%eax
4163c4:	83 c1 02             	add    $0x2,%ecx
4163c7:	83 f8 0a             	cmp    $0xa,%eax
4163ca:	75 0d                	jne    0x4163d9
4163cc:	83 43 08 02          	addl   $0x2,0x8(%ebx)
4163d0:	6a 0d                	push   $0xd
4163d2:	5f                   	pop    %edi
4163d3:	66 89 3e             	mov    %di,(%esi)
4163d6:	83 c6 02             	add    $0x2,%esi
4163d9:	66 89 06             	mov    %ax,(%esi)
4163dc:	83 c6 02             	add    $0x2,%esi
4163df:	8d 45 fa             	lea    -0x6(%ebp),%eax
4163e2:	3b f0                	cmp    %eax,%esi
4163e4:	72 d7                	jb     0x4163bd
4163e6:	8b bd f8 eb ff ff    	mov    -0x1408(%ebp),%edi
4163ec:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
4163f2:	2b f0                	sub    %eax,%esi
4163f4:	89 4d 10             	mov    %ecx,0x10(%ebp)
4163f7:	6a 00                	push   $0x0
4163f9:	8d 85 f4 eb ff ff    	lea    -0x140c(%ebp),%eax
4163ff:	83 e6 fe             	and    $0xfffffffe,%esi
416402:	50                   	push   %eax
416403:	56                   	push   %esi
416404:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
41640a:	50                   	push   %eax
41640b:	57                   	push   %edi
41640c:	ff 15 c0 40 42 00    	call   *0x4240c0
416412:	85 c0                	test   %eax,%eax
416414:	74 1c                	je     0x416432
416416:	8b 85 f4 eb ff ff    	mov    -0x140c(%ebp),%eax
41641c:	01 43 04             	add    %eax,0x4(%ebx)
41641f:	3b c6                	cmp    %esi,%eax
416421:	72 17                	jb     0x41643a
416423:	8b 4d 10             	mov    0x10(%ebp),%ecx
416426:	8b 95 f0 eb ff ff    	mov    -0x1410(%ebp),%edx
41642c:	3b ca                	cmp    %edx,%ecx
41642e:	72 87                	jb     0x4163b7
416430:	eb 08                	jmp    0x41643a
416432:	ff 15 98 40 42 00    	call   *0x424098
416438:	89 03                	mov    %eax,(%ebx)
41643a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41643d:	8b c3                	mov    %ebx,%eax
41643f:	5f                   	pop    %edi
416440:	5e                   	pop    %esi
416441:	33 cd                	xor    %ebp,%ecx
416443:	5b                   	pop    %ebx
416444:	e8 c3 0f ff ff       	call   0x40740c
416449:	c9                   	leave
41644a:	c3                   	ret
41644b:	8b ff                	mov    %edi,%edi
41644d:	55                   	push   %ebp
41644e:	8b ec                	mov    %esp,%ebp
416450:	b8 18 14 00 00       	mov    $0x1418,%eax
416455:	e8 96 1d ff ff       	call   0x4081f0
41645a:	a1 14 30 43 00       	mov    0x433014,%eax
41645f:	33 c5                	xor    %ebp,%eax
416461:	89 45 fc             	mov    %eax,-0x4(%ebp)
416464:	8b 4d 0c             	mov    0xc(%ebp),%ecx
416467:	8b c1                	mov    %ecx,%eax
416469:	8b 55 10             	mov    0x10(%ebp),%edx
41646c:	83 e1 3f             	and    $0x3f,%ecx
41646f:	c1 f8 06             	sar    $0x6,%eax
416472:	6b c9 38             	imul   $0x38,%ecx,%ecx
416475:	53                   	push   %ebx
416476:	56                   	push   %esi
416477:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41647e:	8b 75 08             	mov    0x8(%ebp),%esi
416481:	57                   	push   %edi
416482:	8b fe                	mov    %esi,%edi
416484:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
416488:	8b 4d 14             	mov    0x14(%ebp),%ecx
41648b:	89 85 f0 eb ff ff    	mov    %eax,-0x1410(%ebp)
416491:	03 ca                	add    %edx,%ecx
416493:	33 c0                	xor    %eax,%eax
416495:	89 8d f4 eb ff ff    	mov    %ecx,-0x140c(%ebp)
41649b:	ab                   	stos   %eax,%es:(%edi)
41649c:	ab                   	stos   %eax,%es:(%edi)
41649d:	ab                   	stos   %eax,%es:(%edi)
41649e:	8b fa                	mov    %edx,%edi
4164a0:	3b d1                	cmp    %ecx,%edx
4164a2:	0f 83 c4 00 00 00    	jae    0x41656c
4164a8:	8b b5 f4 eb ff ff    	mov    -0x140c(%ebp),%esi
4164ae:	8d 85 50 f9 ff ff    	lea    -0x6b0(%ebp),%eax
4164b4:	3b fe                	cmp    %esi,%edi
4164b6:	73 21                	jae    0x4164d9
4164b8:	0f b7 0f             	movzwl (%edi),%ecx
4164bb:	83 c7 02             	add    $0x2,%edi
4164be:	83 f9 0a             	cmp    $0xa,%ecx
4164c1:	75 09                	jne    0x4164cc
4164c3:	6a 0d                	push   $0xd
4164c5:	5a                   	pop    %edx
4164c6:	66 89 10             	mov    %dx,(%eax)
4164c9:	83 c0 02             	add    $0x2,%eax
4164cc:	66 89 08             	mov    %cx,(%eax)
4164cf:	83 c0 02             	add    $0x2,%eax
4164d2:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4164d5:	3b c1                	cmp    %ecx,%eax
4164d7:	72 db                	jb     0x4164b4
4164d9:	6a 00                	push   $0x0
4164db:	6a 00                	push   $0x0
4164dd:	68 55 0d 00 00       	push   $0xd55
4164e2:	8d 8d f8 eb ff ff    	lea    -0x1408(%ebp),%ecx
4164e8:	51                   	push   %ecx
4164e9:	8d 8d 50 f9 ff ff    	lea    -0x6b0(%ebp),%ecx
4164ef:	2b c1                	sub    %ecx,%eax
4164f1:	d1 f8                	sar    $1,%eax
4164f3:	50                   	push   %eax
4164f4:	8b c1                	mov    %ecx,%eax
4164f6:	50                   	push   %eax
4164f7:	6a 00                	push   $0x0
4164f9:	68 e9 fd 00 00       	push   $0xfde9
4164fe:	e8 e8 3d 00 00       	call   0x41a2eb
416503:	8b 75 08             	mov    0x8(%ebp),%esi
416506:	83 c4 20             	add    $0x20,%esp
416509:	89 85 e8 eb ff ff    	mov    %eax,-0x1418(%ebp)
41650f:	85 c0                	test   %eax,%eax
416511:	74 51                	je     0x416564
416513:	33 db                	xor    %ebx,%ebx
416515:	85 c0                	test   %eax,%eax
416517:	74 35                	je     0x41654e
416519:	6a 00                	push   $0x0
41651b:	8d 8d ec eb ff ff    	lea    -0x1414(%ebp),%ecx
416521:	2b c3                	sub    %ebx,%eax
416523:	51                   	push   %ecx
416524:	50                   	push   %eax
416525:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
41652b:	03 c3                	add    %ebx,%eax
41652d:	50                   	push   %eax
41652e:	ff b5 f0 eb ff ff    	push   -0x1410(%ebp)
416534:	ff 15 c0 40 42 00    	call   *0x4240c0
41653a:	85 c0                	test   %eax,%eax
41653c:	74 26                	je     0x416564
41653e:	03 9d ec eb ff ff    	add    -0x1414(%ebp),%ebx
416544:	8b 85 e8 eb ff ff    	mov    -0x1418(%ebp),%eax
41654a:	3b d8                	cmp    %eax,%ebx
41654c:	72 cb                	jb     0x416519
41654e:	8b c7                	mov    %edi,%eax
416550:	2b 45 10             	sub    0x10(%ebp),%eax
416553:	89 46 04             	mov    %eax,0x4(%esi)
416556:	3b bd f4 eb ff ff    	cmp    -0x140c(%ebp),%edi
41655c:	0f 82 46 ff ff ff    	jb     0x4164a8
416562:	eb 08                	jmp    0x41656c
416564:	ff 15 98 40 42 00    	call   *0x424098
41656a:	89 06                	mov    %eax,(%esi)
41656c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41656f:	8b c6                	mov    %esi,%eax
416571:	5f                   	pop    %edi
416572:	5e                   	pop    %esi
416573:	33 cd                	xor    %ebp,%ecx
416575:	5b                   	pop    %ebx
416576:	e8 91 0e ff ff       	call   0x40740c
41657b:	c9                   	leave
41657c:	c3                   	ret
41657d:	6a 10                	push   $0x10
41657f:	68 98 18 43 00       	push   $0x431898
416584:	e8 37 1a ff ff       	call   0x407fc0
416589:	8b 75 08             	mov    0x8(%ebp),%esi
41658c:	83 fe fe             	cmp    $0xfffffffe,%esi
41658f:	75 18                	jne    0x4165a9
416591:	e8 52 88 ff ff       	call   0x40ede8
416596:	83 20 00             	andl   $0x0,(%eax)
416599:	e8 5d 88 ff ff       	call   0x40edfb
41659e:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4165a4:	e9 b3 00 00 00       	jmp    0x41665c
4165a9:	85 f6                	test   %esi,%esi
4165ab:	0f 88 93 00 00 00    	js     0x416644
4165b1:	3b 35 c0 4c 43 00    	cmp    0x434cc0,%esi
4165b7:	0f 83 87 00 00 00    	jae    0x416644
4165bd:	8b de                	mov    %esi,%ebx
4165bf:	c1 fb 06             	sar    $0x6,%ebx
4165c2:	8b c6                	mov    %esi,%eax
4165c4:	83 e0 3f             	and    $0x3f,%eax
4165c7:	6b c8 38             	imul   $0x38,%eax,%ecx
4165ca:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4165cd:	8b 04 9d c0 4a 43 00 	mov    0x434ac0(,%ebx,4),%eax
4165d4:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
4165d9:	74 69                	je     0x416644
4165db:	56                   	push   %esi
4165dc:	e8 99 4f 00 00       	call   0x41b57a
4165e1:	59                   	pop    %ecx
4165e2:	83 cf ff             	or     $0xffffffff,%edi
4165e5:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4165e8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4165ec:	8b 04 9d c0 4a 43 00 	mov    0x434ac0(,%ebx,4),%eax
4165f3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4165f6:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
4165fb:	75 15                	jne    0x416612
4165fd:	e8 f9 87 ff ff       	call   0x40edfb
416602:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
416608:	e8 db 87 ff ff       	call   0x40ede8
41660d:	83 20 00             	andl   $0x0,(%eax)
416610:	eb 14                	jmp    0x416626
416612:	ff 75 10             	push   0x10(%ebp)
416615:	ff 75 0c             	push   0xc(%ebp)
416618:	56                   	push   %esi
416619:	e8 51 00 00 00       	call   0x41666f
41661e:	83 c4 0c             	add    $0xc,%esp
416621:	8b f8                	mov    %eax,%edi
416623:	89 7d e4             	mov    %edi,-0x1c(%ebp)
416626:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41662d:	e8 0a 00 00 00       	call   0x41663c
416632:	8b c7                	mov    %edi,%eax
416634:	eb 29                	jmp    0x41665f
416636:	8b 75 08             	mov    0x8(%ebp),%esi
416639:	8b 7d e4             	mov    -0x1c(%ebp),%edi
41663c:	56                   	push   %esi
41663d:	e8 ed 4f 00 00       	call   0x41b62f
416642:	59                   	pop    %ecx
416643:	c3                   	ret
416644:	e8 9f 87 ff ff       	call   0x40ede8
416649:	83 20 00             	andl   $0x0,(%eax)
41664c:	e8 aa 87 ff ff       	call   0x40edfb
416651:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
416657:	e8 25 6a ff ff       	call   0x40d081
41665c:	83 c8 ff             	or     $0xffffffff,%eax
41665f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
416662:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416669:	59                   	pop    %ecx
41666a:	5f                   	pop    %edi
41666b:	5e                   	pop    %esi
41666c:	5b                   	pop    %ebx
41666d:	c9                   	leave
41666e:	c3                   	ret
41666f:	8b ff                	mov    %edi,%edi
416671:	55                   	push   %ebp
416672:	8b ec                	mov    %esp,%ebp
416674:	83 ec 28             	sub    $0x28,%esp
416677:	8b 4d 10             	mov    0x10(%ebp),%ecx
41667a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41667d:	53                   	push   %ebx
41667e:	56                   	push   %esi
41667f:	8b 75 08             	mov    0x8(%ebp),%esi
416682:	57                   	push   %edi
416683:	8b 7d 0c             	mov    0xc(%ebp),%edi
416686:	89 7d f4             	mov    %edi,-0xc(%ebp)
416689:	85 c9                	test   %ecx,%ecx
41668b:	0f 84 b1 01 00 00    	je     0x416842
416691:	85 ff                	test   %edi,%edi
416693:	75 20                	jne    0x4166b5
416695:	e8 4e 87 ff ff       	call   0x40ede8
41669a:	83 20 00             	andl   $0x0,(%eax)
41669d:	e8 59 87 ff ff       	call   0x40edfb
4166a2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4166a8:	e8 d4 69 ff ff       	call   0x40d081
4166ad:	83 c8 ff             	or     $0xffffffff,%eax
4166b0:	e9 8f 01 00 00       	jmp    0x416844
4166b5:	8b c6                	mov    %esi,%eax
4166b7:	8b d6                	mov    %esi,%edx
4166b9:	c1 fa 06             	sar    $0x6,%edx
4166bc:	83 e0 3f             	and    $0x3f,%eax
4166bf:	6b c0 38             	imul   $0x38,%eax,%eax
4166c2:	89 55 f0             	mov    %edx,-0x10(%ebp)
4166c5:	8b 14 95 c0 4a 43 00 	mov    0x434ac0(,%edx,4),%edx
4166cc:	89 45 f8             	mov    %eax,-0x8(%ebp)
4166cf:	8a 5c 02 29          	mov    0x29(%edx,%eax,1),%bl
4166d3:	80 fb 02             	cmp    $0x2,%bl
4166d6:	74 05                	je     0x4166dd
4166d8:	80 fb 01             	cmp    $0x1,%bl
4166db:	75 0b                	jne    0x4166e8
4166dd:	8b c1                	mov    %ecx,%eax
4166df:	f7 d0                	not    %eax
4166e1:	a8 01                	test   $0x1,%al
4166e3:	74 b0                	je     0x416695
4166e5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4166e8:	f6 44 02 28 20       	testb  $0x20,0x28(%edx,%eax,1)
4166ed:	74 0f                	je     0x4166fe
4166ef:	6a 02                	push   $0x2
4166f1:	6a 00                	push   $0x0
4166f3:	6a 00                	push   $0x0
4166f5:	56                   	push   %esi
4166f6:	e8 52 16 00 00       	call   0x417d4d
4166fb:	83 c4 10             	add    $0x10,%esp
4166fe:	56                   	push   %esi
4166ff:	e8 12 fb ff ff       	call   0x416216
416704:	59                   	pop    %ecx
416705:	84 c0                	test   %al,%al
416707:	74 39                	je     0x416742
416709:	84 db                	test   %bl,%bl
41670b:	74 22                	je     0x41672f
41670d:	fe cb                	dec    %bl
41670f:	80 fb 01             	cmp    $0x1,%bl
416712:	0f 87 f4 00 00 00    	ja     0x41680c
416718:	ff 75 fc             	push   -0x4(%ebp)
41671b:	8d 45 d8             	lea    -0x28(%ebp),%eax
41671e:	57                   	push   %edi
41671f:	50                   	push   %eax
416720:	e8 89 fa ff ff       	call   0x4161ae
416725:	83 c4 0c             	add    $0xc,%esp
416728:	8b f0                	mov    %eax,%esi
41672a:	e9 9c 00 00 00       	jmp    0x4167cb
41672f:	ff 75 fc             	push   -0x4(%ebp)
416732:	8d 45 d8             	lea    -0x28(%ebp),%eax
416735:	57                   	push   %edi
416736:	56                   	push   %esi
416737:	50                   	push   %eax
416738:	e8 c5 f6 ff ff       	call   0x415e02
41673d:	83 c4 10             	add    $0x10,%esp
416740:	eb e6                	jmp    0x416728
416742:	8b 45 f0             	mov    -0x10(%ebp),%eax
416745:	8b 0c 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%ecx
41674c:	8b 45 f8             	mov    -0x8(%ebp),%eax
41674f:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
416754:	7d 46                	jge    0x41679c
416756:	0f be c3             	movsbl %bl,%eax
416759:	83 e8 00             	sub    $0x0,%eax
41675c:	74 2e                	je     0x41678c
41675e:	83 e8 01             	sub    $0x1,%eax
416761:	74 19                	je     0x41677c
416763:	83 e8 01             	sub    $0x1,%eax
416766:	0f 85 a0 00 00 00    	jne    0x41680c
41676c:	ff 75 fc             	push   -0x4(%ebp)
41676f:	8d 45 d8             	lea    -0x28(%ebp),%eax
416772:	57                   	push   %edi
416773:	56                   	push   %esi
416774:	50                   	push   %eax
416775:	e8 e8 fb ff ff       	call   0x416362
41677a:	eb c1                	jmp    0x41673d
41677c:	ff 75 fc             	push   -0x4(%ebp)
41677f:	8d 45 d8             	lea    -0x28(%ebp),%eax
416782:	57                   	push   %edi
416783:	56                   	push   %esi
416784:	50                   	push   %eax
416785:	e8 c1 fc ff ff       	call   0x41644b
41678a:	eb b1                	jmp    0x41673d
41678c:	ff 75 fc             	push   -0x4(%ebp)
41678f:	8d 45 d8             	lea    -0x28(%ebp),%eax
416792:	57                   	push   %edi
416793:	56                   	push   %esi
416794:	50                   	push   %eax
416795:	e8 ed fa ff ff       	call   0x416287
41679a:	eb a1                	jmp    0x41673d