4124f8:	eb 10                	jmp    0x41250a
4124fa:	85 f6                	test   %esi,%esi
4124fc:	75 03                	jne    0x412501
4124fe:	6a 10                	push   $0x10
412500:	5e                   	pop    %esi
412501:	8a 1f                	mov    (%edi),%bl
412503:	47                   	inc    %edi
412504:	88 5d fc             	mov    %bl,-0x4(%ebp)
412507:	89 7d 0c             	mov    %edi,0xc(%ebp)
41250a:	33 d2                	xor    %edx,%edx
41250c:	83 c8 ff             	or     $0xffffffff,%eax
41250f:	f7 f6                	div    %esi
412511:	89 55 ec             	mov    %edx,-0x14(%ebp)
412514:	8b 55 f8             	mov    -0x8(%ebp),%edx
412517:	89 45 f0             	mov    %eax,-0x10(%ebp)
41251a:	8d 4b d0             	lea    -0x30(%ebx),%ecx
41251d:	80 f9 09             	cmp    $0x9,%cl
412520:	77 08                	ja     0x41252a
412522:	0f be cb             	movsbl %bl,%ecx
412525:	83 c1 d0             	add    $0xffffffd0,%ecx
412528:	eb 23                	jmp    0x41254d
41252a:	8a c3                	mov    %bl,%al
41252c:	2c 61                	sub    $0x61,%al
41252e:	3c 19                	cmp    $0x19,%al
412530:	77 08                	ja     0x41253a
412532:	0f be cb             	movsbl %bl,%ecx
412535:	83 c1 a9             	add    $0xffffffa9,%ecx
412538:	eb 13                	jmp    0x41254d
41253a:	8a c3                	mov    %bl,%al
41253c:	2c 41                	sub    $0x41,%al
41253e:	3c 19                	cmp    $0x19,%al
412540:	77 08                	ja     0x41254a
412542:	0f be cb             	movsbl %bl,%ecx
412545:	83 c1 c9             	add    $0xffffffc9,%ecx
412548:	eb 03                	jmp    0x41254d
41254a:	83 c9 ff             	or     $0xffffffff,%ecx
41254d:	83 f9 ff             	cmp    $0xffffffff,%ecx
412550:	74 2f                	je     0x412581
412552:	3b ce                	cmp    %esi,%ecx
412554:	73 2b                	jae    0x412581
412556:	8b 45 f4             	mov    -0xc(%ebp),%eax
412559:	3b 45 f0             	cmp    -0x10(%ebp),%eax
41255c:	72 0b                	jb     0x412569
41255e:	75 05                	jne    0x412565
412560:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
412563:	76 04                	jbe    0x412569
412565:	6a 0c                	push   $0xc
412567:	eb 0a                	jmp    0x412573
412569:	0f af c6             	imul   %esi,%eax
41256c:	6a 08                	push   $0x8
41256e:	03 c1                	add    %ecx,%eax
412570:	89 45 f4             	mov    %eax,-0xc(%ebp)
412573:	8a 1f                	mov    (%edi),%bl
412575:	47                   	inc    %edi
412576:	58                   	pop    %eax
412577:	88 5d fc             	mov    %bl,-0x4(%ebp)
41257a:	0b d0                	or     %eax,%edx
41257c:	89 7d 0c             	mov    %edi,0xc(%ebp)
41257f:	eb 99                	jmp    0x41251a
412581:	ff 75 fc             	push   -0x4(%ebp)
412584:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412587:	89 55 f8             	mov    %edx,-0x8(%ebp)
41258a:	e8 79 cd ff ff       	call   0x40f308
41258f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
412592:	f6 c3 08             	test   $0x8,%bl
412595:	75 0a                	jne    0x4125a1
412597:	8b 45 e8             	mov    -0x18(%ebp),%eax
41259a:	33 db                	xor    %ebx,%ebx
41259c:	89 45 0c             	mov    %eax,0xc(%ebp)
41259f:	eb 41                	jmp    0x4125e2
4125a1:	8b 7d f4             	mov    -0xc(%ebp),%edi
4125a4:	57                   	push   %edi
4125a5:	53                   	push   %ebx
4125a6:	e8 fd fd ff ff       	call   0x4123a8
4125ab:	59                   	pop    %ecx
4125ac:	59                   	pop    %ecx
4125ad:	84 c0                	test   %al,%al
4125af:	74 28                	je     0x4125d9
4125b1:	e8 45 c8 ff ff       	call   0x40edfb
4125b6:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4125bc:	f6 c3 01             	test   $0x1,%bl
4125bf:	75 05                	jne    0x4125c6
4125c1:	83 cf ff             	or     $0xffffffff,%edi
4125c4:	eb 1a                	jmp    0x4125e0
4125c6:	f6 c3 02             	test   $0x2,%bl
4125c9:	74 07                	je     0x4125d2
4125cb:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4125d0:	eb 10                	jmp    0x4125e2
4125d2:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4125d7:	eb 09                	jmp    0x4125e2
4125d9:	f6 c3 02             	test   $0x2,%bl
4125dc:	74 02                	je     0x4125e0
4125de:	f7 df                	neg    %edi
4125e0:	8b df                	mov    %edi,%ebx
4125e2:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
4125e6:	5f                   	pop    %edi
4125e7:	0f 84 25 fe ff ff    	je     0x412412
4125ed:	8b 45 d8             	mov    -0x28(%ebp),%eax
4125f0:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4125f7:	e9 16 fe ff ff       	jmp    0x412412
4125fc:	8b ff                	mov    %edi,%edi
4125fe:	55                   	push   %ebp
4125ff:	8b ec                	mov    %esp,%ebp
412601:	81 ec a0 00 00 00    	sub    $0xa0,%esp
412607:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41260a:	53                   	push   %ebx
41260b:	57                   	push   %edi
41260c:	e8 c6 a3 ff ff       	call   0x40c9d7
412611:	84 c0                	test   %al,%al
412613:	74 21                	je     0x412636
412615:	8b 7d 14             	mov    0x14(%ebp),%edi
412618:	85 ff                	test   %edi,%edi
41261a:	74 2e                	je     0x41264a
41261c:	83 ff 02             	cmp    $0x2,%edi
41261f:	7c 05                	jl     0x412626
412621:	83 ff 24             	cmp    $0x24,%edi
412624:	7e 24                	jle    0x41264a
412626:	e8 d0 c7 ff ff       	call   0x40edfb
41262b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
412631:	e8 4b aa ff ff       	call   0x40d081
412636:	33 db                	xor    %ebx,%ebx
412638:	8b 55 10             	mov    0x10(%ebp),%edx
41263b:	85 d2                	test   %edx,%edx
41263d:	74 05                	je     0x412644
41263f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
412642:	89 0a                	mov    %ecx,(%edx)
412644:	5f                   	pop    %edi
412645:	8b c3                	mov    %ebx,%eax
412647:	5b                   	pop    %ebx
412648:	c9                   	leave
412649:	c3                   	ret
41264a:	56                   	push   %esi
41264b:	ff 75 08             	push   0x8(%ebp)
41264e:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
412654:	e8 25 96 ff ff       	call   0x40bc7e
412659:	8b 45 0c             	mov    0xc(%ebp),%eax
41265c:	33 f6                	xor    %esi,%esi
41265e:	89 75 fc             	mov    %esi,-0x4(%ebp)
412661:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
412667:	eb 03                	jmp    0x41266c
412669:	8b 45 0c             	mov    0xc(%ebp),%eax
41266c:	0f b7 30             	movzwl (%eax),%esi
41266f:	83 c0 02             	add    $0x2,%eax
412672:	6a 08                	push   $0x8
412674:	56                   	push   %esi
412675:	89 45 0c             	mov    %eax,0xc(%ebp)
412678:	e8 57 68 00 00       	call   0x418ed4
41267d:	59                   	pop    %ecx
41267e:	59                   	pop    %ecx
41267f:	85 c0                	test   %eax,%eax
412681:	75 e6                	jne    0x412669
412683:	0f b6 5d 18          	movzbl 0x18(%ebp),%ebx
412687:	66 83 fe 2d          	cmp    $0x2d,%si
41268b:	75 05                	jne    0x412692
41268d:	83 cb 02             	or     $0x2,%ebx
412690:	eb 06                	jmp    0x412698
412692:	66 83 fe 2b          	cmp    $0x2b,%si
412696:	75 0e                	jne    0x4126a6
412698:	8b 55 0c             	mov    0xc(%ebp),%edx
41269b:	0f b7 32             	movzwl (%edx),%esi
41269e:	83 c2 02             	add    $0x2,%edx
4126a1:	89 55 0c             	mov    %edx,0xc(%ebp)
4126a4:	eb 03                	jmp    0x4126a9
4126a6:	8b 55 0c             	mov    0xc(%ebp),%edx
4126a9:	c7 85 74 ff ff ff 3a 	movl   $0x3a,-0x8c(%ebp)
4126b0:	00 00 00
4126b3:	b8 10 ff 00 00       	mov    $0xff10,%eax
4126b8:	c7 45 f8 60 06 00 00 	movl   $0x660,-0x8(%ebp)
4126bf:	c7 45 f4 6a 06 00 00 	movl   $0x66a,-0xc(%ebp)
4126c6:	c7 45 f0 f0 06 00 00 	movl   $0x6f0,-0x10(%ebp)
4126cd:	c7 45 ec fa 06 00 00 	movl   $0x6fa,-0x14(%ebp)
4126d4:	c7 45 e8 66 09 00 00 	movl   $0x966,-0x18(%ebp)
4126db:	c7 45 e4 70 09 00 00 	movl   $0x970,-0x1c(%ebp)
4126e2:	c7 45 e0 e6 09 00 00 	movl   $0x9e6,-0x20(%ebp)
4126e9:	c7 45 dc f0 09 00 00 	movl   $0x9f0,-0x24(%ebp)
4126f0:	c7 45 d8 66 0a 00 00 	movl   $0xa66,-0x28(%ebp)
4126f7:	c7 45 d4 70 0a 00 00 	movl   $0xa70,-0x2c(%ebp)
4126fe:	c7 45 d0 e6 0a 00 00 	movl   $0xae6,-0x30(%ebp)
412705:	c7 45 cc f0 0a 00 00 	movl   $0xaf0,-0x34(%ebp)
41270c:	c7 45 c8 66 0b 00 00 	movl   $0xb66,-0x38(%ebp)
412713:	c7 45 c4 70 0b 00 00 	movl   $0xb70,-0x3c(%ebp)
41271a:	c7 45 c0 66 0c 00 00 	movl   $0xc66,-0x40(%ebp)
412721:	c7 45 bc 70 0c 00 00 	movl   $0xc70,-0x44(%ebp)
412728:	c7 45 b8 e6 0c 00 00 	movl   $0xce6,-0x48(%ebp)
41272f:	c7 45 b4 f0 0c 00 00 	movl   $0xcf0,-0x4c(%ebp)
412736:	c7 45 b0 66 0d 00 00 	movl   $0xd66,-0x50(%ebp)
41273d:	c7 45 ac 70 0d 00 00 	movl   $0xd70,-0x54(%ebp)
412744:	c7 45 a8 50 0e 00 00 	movl   $0xe50,-0x58(%ebp)
41274b:	c7 45 a4 5a 0e 00 00 	movl   $0xe5a,-0x5c(%ebp)
412752:	c7 45 a0 d0 0e 00 00 	movl   $0xed0,-0x60(%ebp)
412759:	c7 45 9c da 0e 00 00 	movl   $0xeda,-0x64(%ebp)
412760:	c7 45 98 20 0f 00 00 	movl   $0xf20,-0x68(%ebp)
412767:	c7 45 94 2a 0f 00 00 	movl   $0xf2a,-0x6c(%ebp)
41276e:	c7 45 90 40 10 00 00 	movl   $0x1040,-0x70(%ebp)
412775:	c7 45 8c 4a 10 00 00 	movl   $0x104a,-0x74(%ebp)
41277c:	c7 45 88 e0 17 00 00 	movl   $0x17e0,-0x78(%ebp)
412783:	c7 45 84 ea 17 00 00 	movl   $0x17ea,-0x7c(%ebp)
41278a:	c7 45 80 10 18 00 00 	movl   $0x1810,-0x80(%ebp)
412791:	c7 85 7c ff ff ff 1a 	movl   $0x181a,-0x84(%ebp)
412798:	18 00 00
41279b:	c7 85 78 ff ff ff 1a 	movl   $0xff1a,-0x88(%ebp)
4127a2:	ff 00 00
4127a5:	6a 30                	push   $0x30
4127a7:	59                   	pop    %ecx
4127a8:	85 ff                	test   %edi,%edi
4127aa:	74 09                	je     0x4127b5
4127ac:	83 ff 10             	cmp    $0x10,%edi
4127af:	0f 85 ed 01 00 00    	jne    0x4129a2
4127b5:	66 3b f1             	cmp    %cx,%si
4127b8:	0f 82 6f 01 00 00    	jb     0x41292d
4127be:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
4127c5:	73 0a                	jae    0x4127d1
4127c7:	0f b7 c6             	movzwl %si,%eax
4127ca:	2b c1                	sub    %ecx,%eax
4127cc:	e9 57 01 00 00       	jmp    0x412928
4127d1:	66 3b f0             	cmp    %ax,%si
4127d4:	0f 83 38 01 00 00    	jae    0x412912
4127da:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4127dd:	66 3b f1             	cmp    %cx,%si
4127e0:	0f 82 47 01 00 00    	jb     0x41292d
4127e6:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
4127ea:	72 db                	jb     0x4127c7
4127ec:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4127ef:	66 3b f1             	cmp    %cx,%si
4127f2:	0f 82 35 01 00 00    	jb     0x41292d
4127f8:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
4127fc:	72 c9                	jb     0x4127c7
4127fe:	8b 4d e8             	mov    -0x18(%ebp),%ecx
412801:	66 3b f1             	cmp    %cx,%si
412804:	0f 82 23 01 00 00    	jb     0x41292d
41280a:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
41280e:	72 b7                	jb     0x4127c7
412810:	8b 4d e0             	mov    -0x20(%ebp),%ecx
412813:	66 3b f1             	cmp    %cx,%si
412816:	0f 82 11 01 00 00    	jb     0x41292d
41281c:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
412820:	72 a5                	jb     0x4127c7
412822:	8b 4d d8             	mov    -0x28(%ebp),%ecx
412825:	66 3b f1             	cmp    %cx,%si
412828:	0f 82 ff 00 00 00    	jb     0x41292d
41282e:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
412832:	72 93                	jb     0x4127c7
412834:	8b 4d d0             	mov    -0x30(%ebp),%ecx
412837:	66 3b f1             	cmp    %cx,%si
41283a:	0f 82 ed 00 00 00    	jb     0x41292d
412840:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
412844:	72 81                	jb     0x4127c7
412846:	8b 4d c8             	mov    -0x38(%ebp),%ecx
412849:	66 3b f1             	cmp    %cx,%si
41284c:	0f 82 db 00 00 00    	jb     0x41292d
412852:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
412856:	0f 82 6b ff ff ff    	jb     0x4127c7
41285c:	8b 4d c0             	mov    -0x40(%ebp),%ecx
41285f:	66 3b f1             	cmp    %cx,%si
412862:	0f 82 c5 00 00 00    	jb     0x41292d
412868:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
41286c:	0f 82 55 ff ff ff    	jb     0x4127c7
412872:	8b 4d b8             	mov    -0x48(%ebp),%ecx
412875:	66 3b f1             	cmp    %cx,%si
412878:	0f 82 af 00 00 00    	jb     0x41292d
41287e:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
412882:	0f 82 3f ff ff ff    	jb     0x4127c7
412888:	8b 4d b0             	mov    -0x50(%ebp),%ecx
41288b:	66 3b f1             	cmp    %cx,%si
41288e:	0f 82 99 00 00 00    	jb     0x41292d
412894:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
412898:	0f 82 29 ff ff ff    	jb     0x4127c7
41289e:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4128a1:	66 3b f1             	cmp    %cx,%si
4128a4:	0f 82 83 00 00 00    	jb     0x41292d
4128aa:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
4128ae:	0f 82 13 ff ff ff    	jb     0x4127c7
4128b4:	8b 4d a0             	mov    -0x60(%ebp),%ecx
4128b7:	66 3b f1             	cmp    %cx,%si
4128ba:	72 71                	jb     0x41292d
4128bc:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
4128c0:	0f 82 01 ff ff ff    	jb     0x4127c7
4128c6:	8b 4d 98             	mov    -0x68(%ebp),%ecx
4128c9:	66 3b f1             	cmp    %cx,%si
4128cc:	72 5f                	jb     0x41292d
4128ce:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
4128d2:	0f 82 ef fe ff ff    	jb     0x4127c7
4128d8:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4128db:	66 3b f1             	cmp    %cx,%si
4128de:	72 4d                	jb     0x41292d
4128e0:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
4128e4:	0f 82 dd fe ff ff    	jb     0x4127c7
4128ea:	8b 4d 88             	mov    -0x78(%ebp),%ecx
4128ed:	66 3b f1             	cmp    %cx,%si
4128f0:	72 3b                	jb     0x41292d
4128f2:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
4128f6:	0f 82 cb fe ff ff    	jb     0x4127c7
4128fc:	8b 4d 80             	mov    -0x80(%ebp),%ecx
4128ff:	66 3b f1             	cmp    %cx,%si
412902:	72 29                	jb     0x41292d
412904:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
41290b:	73 20                	jae    0x41292d
41290d:	e9 b5 fe ff ff       	jmp    0x4127c7
412912:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
412919:	73 0a                	jae    0x412925
41291b:	0f b7 c6             	movzwl %si,%eax
41291e:	2d 10 ff 00 00       	sub    $0xff10,%eax
412923:	eb 03                	jmp    0x412928
412925:	83 c8 ff             	or     $0xffffffff,%eax
412928:	83 f8 ff             	cmp    $0xffffffff,%eax
41292b:	75 2a                	jne    0x412957
41292d:	0f b7 c6             	movzwl %si,%eax
412930:	83 f8 41             	cmp    $0x41,%eax
412933:	72 0a                	jb     0x41293f
412935:	83 f8 5a             	cmp    $0x5a,%eax
412938:	77 05                	ja     0x41293f
41293a:	8d 48 9f             	lea    -0x61(%eax),%ecx
41293d:	eb 08                	jmp    0x412947
41293f:	8d 48 9f             	lea    -0x61(%eax),%ecx
412942:	83 f9 19             	cmp    $0x19,%ecx
412945:	77 0d                	ja     0x412954
412947:	83 f9 19             	cmp    $0x19,%ecx
41294a:	77 03                	ja     0x41294f
41294c:	83 c0 e0             	add    $0xffffffe0,%eax
41294f:	83 c0 c9             	add    $0xffffffc9,%eax
412952:	eb 03                	jmp    0x412957
412954:	83 c8 ff             	or     $0xffffffff,%eax
412957:	85 c0                	test   %eax,%eax
412959:	74 0c                	je     0x412967
41295b:	85 ff                	test   %edi,%edi
41295d:	75 43                	jne    0x4129a2
41295f:	6a 0a                	push   $0xa
412961:	5f                   	pop    %edi
412962:	89 7d 14             	mov    %edi,0x14(%ebp)
412965:	eb 3b                	jmp    0x4129a2
412967:	0f b7 02             	movzwl (%edx),%eax
41296a:	8d 4a 02             	lea    0x2(%edx),%ecx
41296d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
412970:	83 f8 78             	cmp    $0x78,%eax
412973:	74 1a                	je     0x41298f
412975:	83 f8 58             	cmp    $0x58,%eax
412978:	74 15                	je     0x41298f
41297a:	85 ff                	test   %edi,%edi
41297c:	75 06                	jne    0x412984
41297e:	6a 08                	push   $0x8
412980:	5f                   	pop    %edi
412981:	89 7d 14             	mov    %edi,0x14(%ebp)
412984:	50                   	push   %eax
412985:	8d 4d 0c             	lea    0xc(%ebp),%ecx
412988:	e8 a4 c9 ff ff       	call   0x40f331
41298d:	eb 13                	jmp    0x4129a2
41298f:	85 ff                	test   %edi,%edi
412991:	75 06                	jne    0x412999
412993:	6a 10                	push   $0x10
412995:	5f                   	pop    %edi