41659d:	f7 e2                	mul    %edx
41659f:	6a 0a                	push   $0xa
4165a1:	03 c7                	add    %edi,%eax
4165a3:	89 84 8d 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%ecx,4)
4165aa:	83 d2 00             	adc    $0x0,%edx
4165ad:	41                   	inc    %ecx
4165ae:	8b fa                	mov    %edx,%edi
4165b0:	5a                   	pop    %edx
4165b1:	3b 8d a8 f8 ff ff    	cmp    -0x758(%ebp),%ecx
4165b7:	75 dd                	jne    0x416596
4165b9:	89 bd a8 f8 ff ff    	mov    %edi,-0x758(%ebp)
4165bf:	85 ff                	test   %edi,%edi
4165c1:	8b bd b8 f8 ff ff    	mov    -0x748(%ebp),%edi
4165c7:	74 22                	je     0x4165eb
4165c9:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
4165cf:	83 f9 73             	cmp    $0x73,%ecx
4165d2:	0f 83 b3 00 00 00    	jae    0x41668b
4165d8:	8b 85 a8 f8 ff ff    	mov    -0x758(%ebp),%eax
4165de:	89 84 8d 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%ecx,4)
4165e5:	ff 85 5c fc ff ff    	incl   -0x3a4(%ebp)
4165eb:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
4165f1:	8b 85 94 f8 ff ff    	mov    -0x76c(%ebp),%eax
4165f7:	8b 95 7c f8 ff ff    	mov    -0x784(%ebp),%edx
4165fd:	89 42 04             	mov    %eax,0x4(%edx)
416600:	8b 95 88 f8 ff ff    	mov    -0x778(%ebp),%edx
416606:	85 c0                	test   %eax,%eax
416608:	78 0a                	js     0x416614
41660a:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
416610:	77 02                	ja     0x416614
416612:	03 d0                	add    %eax,%edx
416614:	8b 45 1c             	mov    0x1c(%ebp),%eax
416617:	48                   	dec    %eax
416618:	3b c2                	cmp    %edx,%eax
41661a:	72 02                	jb     0x41661e
41661c:	8b c2                	mov    %edx,%eax
41661e:	03 c1                	add    %ecx,%eax
416620:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
416626:	3b f8                	cmp    %eax,%edi
416628:	0f 84 5f 01 00 00    	je     0x41678d
41662e:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
416634:	85 c0                	test   %eax,%eax
416636:	0f 84 51 01 00 00    	je     0x41678d
41663c:	33 db                	xor    %ebx,%ebx
41663e:	8b f8                	mov    %eax,%edi
416640:	33 c9                	xor    %ecx,%ecx
416642:	8b 84 8d 30 fe ff ff 	mov    -0x1d0(%ebp,%ecx,4),%eax
416649:	ba 00 ca 9a 3b       	mov    $0x3b9aca00,%edx
41664e:	f7 e2                	mul    %edx
416650:	03 c3                	add    %ebx,%eax
416652:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
416659:	83 d2 00             	adc    $0x0,%edx
41665c:	41                   	inc    %ecx
41665d:	8b da                	mov    %edx,%ebx
41665f:	3b cf                	cmp    %edi,%ecx
416661:	75 df                	jne    0x416642
416663:	8b bd b8 f8 ff ff    	mov    -0x748(%ebp),%edi
416669:	85 db                	test   %ebx,%ebx
41666b:	0f 84 8d 00 00 00    	je     0x4166fe
416671:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
416677:	83 f8 73             	cmp    $0x73,%eax
41667a:	73 5c                	jae    0x4166d8
41667c:	89 9c 85 30 fe ff ff 	mov    %ebx,-0x1d0(%ebp,%eax,4)
416683:	ff 85 2c fe ff ff    	incl   -0x1d4(%ebp)
416689:	eb 73                	jmp    0x4166fe
41668b:	33 c0                	xor    %eax,%eax
41668d:	50                   	push   %eax
41668e:	89 85 9c f6 ff ff    	mov    %eax,-0x964(%ebp)
416694:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
41669a:	8d 85 a0 f6 ff ff    	lea    -0x960(%ebp),%eax
4166a0:	50                   	push   %eax
4166a1:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4166a7:	56                   	push   %esi
4166a8:	50                   	push   %eax
4166a9:	e8 10 98 ff ff       	call   0x40febe
4166ae:	83 c4 10             	add    $0x10,%esp
4166b1:	e9 35 ff ff ff       	jmp    0x4165eb
4166b6:	85 c0                	test   %eax,%eax
4166b8:	75 0c                	jne    0x4166c6
4166ba:	8b 85 94 f8 ff ff    	mov    -0x76c(%ebp),%eax
4166c0:	48                   	dec    %eax
4166c1:	e9 31 ff ff ff       	jmp    0x4165f7
4166c6:	04 30                	add    $0x30,%al
4166c8:	8d 79 01             	lea    0x1(%ecx),%edi
4166cb:	88 01                	mov    %al,(%ecx)
4166cd:	89 bd b8 f8 ff ff    	mov    %edi,-0x748(%ebp)
4166d3:	e9 19 ff ff ff       	jmp    0x4165f1
4166d8:	33 c0                	xor    %eax,%eax
4166da:	50                   	push   %eax
4166db:	89 85 9c f6 ff ff    	mov    %eax,-0x964(%ebp)
4166e1:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
4166e7:	8d 85 a0 f6 ff ff    	lea    -0x960(%ebp),%eax
4166ed:	50                   	push   %eax
4166ee:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4166f4:	56                   	push   %esi
4166f5:	50                   	push   %eax
4166f6:	e8 c3 97 ff ff       	call   0x40febe
4166fb:	83 c4 10             	add    $0x10,%esp
4166fe:	8d 85 5c fc ff ff    	lea    -0x3a4(%ebp),%eax
416704:	50                   	push   %eax
416705:	8d 85 2c fe ff ff    	lea    -0x1d4(%ebp),%eax
41670b:	50                   	push   %eax
41670c:	e8 5f e7 ff ff       	call   0x414e70
416711:	83 bd 2c fe ff ff 00 	cmpl   $0x0,-0x1d4(%ebp)
416718:	59                   	pop    %ecx
416719:	59                   	pop    %ecx
41671a:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
416720:	0f 94 c3             	sete   %bl
416723:	c7 85 88 f8 ff ff 08 	movl   $0x8,-0x778(%ebp)
41672a:	00 00 00
41672d:	2b cf                	sub    %edi,%ecx
41672f:	33 d2                	xor    %edx,%edx
416731:	f7 b5 8c f8 ff ff    	divl   -0x774(%ebp)
416737:	89 85 84 f8 ff ff    	mov    %eax,-0x77c(%ebp)
41673d:	8b c2                	mov    %edx,%eax
41673f:	89 95 a8 f8 ff ff    	mov    %edx,-0x758(%ebp)
416745:	04 30                	add    $0x30,%al
416747:	8b 95 88 f8 ff ff    	mov    -0x778(%ebp),%edx
41674d:	3b ca                	cmp    %edx,%ecx
41674f:	73 0b                	jae    0x41675c
416751:	3c 30                	cmp    $0x30,%al
416753:	0f 95 c0             	setne  %al
416756:	fe c8                	dec    %al
416758:	22 d8                	and    %al,%bl
41675a:	eb 03                	jmp    0x41675f
41675c:	88 04 3a             	mov    %al,(%edx,%edi,1)
41675f:	8b 85 84 f8 ff ff    	mov    -0x77c(%ebp),%eax
416765:	4a                   	dec    %edx
416766:	89 95 88 f8 ff ff    	mov    %edx,-0x778(%ebp)
41676c:	83 fa ff             	cmp    $0xffffffff,%edx
41676f:	75 be                	jne    0x41672f
416771:	83 f9 09             	cmp    $0x9,%ecx
416774:	76 03                	jbe    0x416779
416776:	6a 09                	push   $0x9
416778:	59                   	pop    %ecx
416779:	03 f9                	add    %ecx,%edi
41677b:	89 bd b8 f8 ff ff    	mov    %edi,-0x748(%ebp)
416781:	3b bd b4 f8 ff ff    	cmp    -0x74c(%ebp),%edi
416787:	0f 85 a1 fe ff ff    	jne    0x41662e
41678d:	33 c0                	xor    %eax,%eax
41678f:	c6 07 00             	movb   $0x0,(%edi)
416792:	84 db                	test   %bl,%bl
416794:	0f 95 c0             	setne  %al
416797:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
41679d:	8b d8                	mov    %eax,%ebx
41679f:	eb 3a                	jmp    0x4167db
4167a1:	68 58 05 42 00       	push   $0x420558
4167a6:	e9 35 ec ff ff       	jmp    0x4153e0
4167ab:	68 50 05 42 00       	push   $0x420550
4167b0:	e9 2b ec ff ff       	jmp    0x4153e0
4167b5:	68 48 05 42 00       	push   $0x420548
4167ba:	e9 21 ec ff ff       	jmp    0x4153e0
4167bf:	68 40 05 42 00       	push   $0x420540
4167c4:	ff 75 1c             	push   0x1c(%ebp)
4167c7:	ff b5 9c f8 ff ff    	push   -0x764(%ebp)
4167cd:	e8 cf 5a ff ff       	call   0x40c2a1
4167d2:	83 c4 0c             	add    $0xc,%esp
4167d5:	85 c0                	test   %eax,%eax
4167d7:	75 29                	jne    0x416802
4167d9:	33 db                	xor    %ebx,%ebx
4167db:	80 bd 78 f8 ff ff 00 	cmpb   $0x0,-0x788(%ebp)
4167e2:	5f                   	pop    %edi
4167e3:	5e                   	pop    %esi
4167e4:	74 0d                	je     0x4167f3
4167e6:	8d 85 70 f8 ff ff    	lea    -0x790(%ebp),%eax
4167ec:	50                   	push   %eax
4167ed:	e8 e7 03 00 00       	call   0x416bd9
4167f2:	59                   	pop    %ecx
4167f3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4167f6:	8b c3                	mov    %ebx,%eax
4167f8:	33 cd                	xor    %ebp,%ecx
4167fa:	5b                   	pop    %ebx
4167fb:	e8 f5 23 ff ff       	call   0x408bf5
416800:	c9                   	leave
416801:	c3                   	ret
416802:	33 c0                	xor    %eax,%eax
416804:	50                   	push   %eax
416805:	50                   	push   %eax
416806:	50                   	push   %eax
416807:	50                   	push   %eax
416808:	50                   	push   %eax
416809:	e8 18 84 ff ff       	call   0x40ec26
41680e:	cc                   	int3
41680f:	e8 d8 09 00 00       	call   0x4171ec
416814:	50                   	push   %eax
416815:	e8 b0 09 00 00       	call   0x4171ca
41681a:	59                   	pop    %ecx
41681b:	c3                   	ret
41681c:	8b ff                	mov    %edi,%edi
41681e:	55                   	push   %ebp
41681f:	8b ec                	mov    %esp,%ebp
416821:	ff 75 14             	push   0x14(%ebp)
416824:	ff 75 10             	push   0x10(%ebp)
416827:	ff 75 0c             	push   0xc(%ebp)
41682a:	ff 75 08             	push   0x8(%ebp)
41682d:	ff 15 80 c1 41 00    	call   *0x41c180
416833:	5d                   	pop    %ebp
416834:	c3                   	ret
416835:	8b ff                	mov    %edi,%edi
416837:	55                   	push   %ebp
416838:	8b ec                	mov    %esp,%ebp
41683a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41683d:	33 c0                	xor    %eax,%eax
41683f:	38 01                	cmp    %al,(%ecx)
416841:	74 0c                	je     0x41684f
416843:	3b 45 0c             	cmp    0xc(%ebp),%eax
416846:	74 07                	je     0x41684f
416848:	40                   	inc    %eax
416849:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
41684d:	75 f4                	jne    0x416843
41684f:	5d                   	pop    %ebp
416850:	c3                   	ret
416851:	8b ff                	mov    %edi,%edi
416853:	55                   	push   %ebp
416854:	8b ec                	mov    %esp,%ebp
416856:	51                   	push   %ecx
416857:	51                   	push   %ecx
416858:	56                   	push   %esi
416859:	8b 75 08             	mov    0x8(%ebp),%esi
41685c:	57                   	push   %edi
41685d:	56                   	push   %esi
41685e:	e8 5b 9c ff ff       	call   0x4104be
416863:	83 cf ff             	or     $0xffffffff,%edi
416866:	59                   	pop    %ecx
416867:	3b c7                	cmp    %edi,%eax
416869:	75 11                	jne    0x41687c
41686b:	e8 63 84 ff ff       	call   0x40ecd3
416870:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
416876:	8b c7                	mov    %edi,%eax
416878:	8b d7                	mov    %edi,%edx
41687a:	eb 4d                	jmp    0x4168c9
41687c:	ff 75 14             	push   0x14(%ebp)
41687f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
416882:	51                   	push   %ecx
416883:	ff 75 10             	push   0x10(%ebp)
416886:	ff 75 0c             	push   0xc(%ebp)
416889:	50                   	push   %eax
41688a:	ff 15 f8 c0 41 00    	call   *0x41c0f8
416890:	85 c0                	test   %eax,%eax
416892:	75 0f                	jne    0x4168a3
416894:	ff 15 48 c1 41 00    	call   *0x41c148
41689a:	50                   	push   %eax
41689b:	e8 fd 83 ff ff       	call   0x40ec9d
4168a0:	59                   	pop    %ecx
4168a1:	eb d3                	jmp    0x416876
4168a3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4168a6:	8b 55 fc             	mov    -0x4(%ebp),%edx
4168a9:	23 c2                	and    %edx,%eax
4168ab:	3b c7                	cmp    %edi,%eax
4168ad:	74 c7                	je     0x416876
4168af:	8b 45 f8             	mov    -0x8(%ebp),%eax
4168b2:	8b ce                	mov    %esi,%ecx
4168b4:	83 e6 3f             	and    $0x3f,%esi
4168b7:	c1 f9 06             	sar    $0x6,%ecx
4168ba:	6b f6 38             	imul   $0x38,%esi,%esi
4168bd:	8b 0c 8d 18 70 42 00 	mov    0x427018(,%ecx,4),%ecx
4168c4:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
4168c9:	5f                   	pop    %edi
4168ca:	5e                   	pop    %esi
4168cb:	c9                   	leave
4168cc:	c3                   	ret
4168cd:	8b ff                	mov    %edi,%edi
4168cf:	55                   	push   %ebp
4168d0:	8b ec                	mov    %esp,%ebp
4168d2:	ff 75 14             	push   0x14(%ebp)
4168d5:	ff 75 10             	push   0x10(%ebp)
4168d8:	ff 75 0c             	push   0xc(%ebp)
4168db:	ff 75 08             	push   0x8(%ebp)
4168de:	e8 6e ff ff ff       	call   0x416851
4168e3:	83 c4 10             	add    $0x10,%esp
4168e6:	5d                   	pop    %ebp
4168e7:	c3                   	ret
4168e8:	8b ff                	mov    %edi,%edi
4168ea:	55                   	push   %ebp
4168eb:	8b ec                	mov    %esp,%ebp
4168ed:	51                   	push   %ecx
4168ee:	e8 1d 0c 00 00       	call   0x417510
4168f3:	85 c0                	test   %eax,%eax
4168f5:	74 1c                	je     0x416913
4168f7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4168fa:	50                   	push   %eax
4168fb:	8d 45 08             	lea    0x8(%ebp),%eax
4168fe:	6a 01                	push   $0x1
416900:	50                   	push   %eax
416901:	e8 41 0c 00 00       	call   0x417547
416906:	83 c4 0c             	add    $0xc,%esp
416909:	85 c0                	test   %eax,%eax
41690b:	74 06                	je     0x416913
41690d:	66 8b 45 08          	mov    0x8(%ebp),%ax
416911:	c9                   	leave
416912:	c3                   	ret
416913:	b8 ff ff 00 00       	mov    $0xffff,%eax
416918:	c9                   	leave
416919:	c3                   	ret
41691a:	8b ff                	mov    %edi,%edi
41691c:	55                   	push   %ebp
41691d:	8b ec                	mov    %esp,%ebp
41691f:	56                   	push   %esi
416920:	8b 75 08             	mov    0x8(%ebp),%esi
416923:	85 f6                	test   %esi,%esi
416925:	75 15                	jne    0x41693c
416927:	e8 a7 83 ff ff       	call   0x40ecd3
41692c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
416932:	e8 df 82 ff ff       	call   0x40ec16
416937:	83 c8 ff             	or     $0xffffffff,%eax
41693a:	eb 52                	jmp    0x41698e
41693c:	8b 46 0c             	mov    0xc(%esi),%eax
41693f:	57                   	push   %edi
416940:	83 cf ff             	or     $0xffffffff,%edi
416943:	90                   	nop
416944:	c1 e8 0d             	shr    $0xd,%eax
416947:	a8 01                	test   $0x1,%al
416949:	74 39                	je     0x416984
41694b:	56                   	push   %esi
41694c:	e8 6d b3 ff ff       	call   0x411cbe
416951:	56                   	push   %esi
416952:	8b f8                	mov    %eax,%edi
416954:	e8 8e df ff ff       	call   0x4148e7
416959:	56                   	push   %esi
41695a:	e8 bd c7 ff ff       	call   0x41311c
41695f:	50                   	push   %eax
416960:	e8 c3 0c 00 00       	call   0x417628
416965:	83 c4 10             	add    $0x10,%esp
416968:	85 c0                	test   %eax,%eax
41696a:	79 05                	jns    0x416971
41696c:	83 cf ff             	or     $0xffffffff,%edi
41696f:	eb 13                	jmp    0x416984
416971:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
416975:	74 0d                	je     0x416984
416977:	ff 76 1c             	push   0x1c(%esi)
41697a:	e8 c4 83 ff ff       	call   0x40ed43
41697f:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
416983:	59                   	pop    %ecx
416984:	56                   	push   %esi
416985:	e8 c7 0d 00 00       	call   0x417751
41698a:	59                   	pop    %ecx
41698b:	8b c7                	mov    %edi,%eax
41698d:	5f                   	pop    %edi
41698e:	5e                   	pop    %esi
41698f:	5d                   	pop    %ebp
416990:	c3                   	ret
416991:	6a 10                	push   $0x10
416993:	68 40 41 42 00       	push   $0x424140
416998:	e8 33 20 ff ff       	call   0x4089d0
41699d:	8b 75 08             	mov    0x8(%ebp),%esi
4169a0:	89 75 e0             	mov    %esi,-0x20(%ebp)
4169a3:	85 f6                	test   %esi,%esi
4169a5:	75 15                	jne    0x4169bc
4169a7:	e8 27 83 ff ff       	call   0x40ecd3
4169ac:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4169b2:	e8 5f 82 ff ff       	call   0x40ec16