416441:	69 c0 7f 13 00 00    	imul   $0x137f,%eax,%eax
416447:	2d 17 d4 0d 0d       	sub    $0xd0dd417,%eax
41644c:	33 d0                	xor    %eax,%edx
41644e:	89 95 4c f4 ff ff    	mov    %edx,-0xbb4(%ebp)
416454:	8d 82 81 ec 0e f8    	lea    -0x7f1137f(%edx),%eax
41645a:	d1 c8                	ror    $1,%eax
41645c:	69 d0 5e 60 00 00    	imul   $0x605e,%eax,%edx
416462:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
416468:	c1 c8 06             	ror    $0x6,%eax
41646b:	2b d0                	sub    %eax,%edx
41646d:	33 f2                	xor    %edx,%esi
41646f:	8d 86 5e 60 69 ab    	lea    -0x54969fa2(%esi),%eax
416475:	c1 c0 03             	rol    $0x3,%eax
416478:	69 d0 f1 07 00 00    	imul   $0x7f1,%eax,%edx
41647e:	8b c6                	mov    %esi,%eax
416480:	c1 c0 0e             	rol    $0xe,%eax
416483:	03 d0                	add    %eax,%edx
416485:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
41648b:	33 c2                	xor    %edx,%eax
41648d:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
416493:	05 5e 60 69 ab       	add    $0xab69605e,%eax
416498:	c1 c0 0f             	rol    $0xf,%eax
41649b:	69 d0 7f 13 00 00    	imul   $0x137f,%eax,%edx
4164a1:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
4164a7:	c1 c8 0e             	ror    $0xe,%eax
4164aa:	2b d0                	sub    %eax,%edx
4164ac:	33 f2                	xor    %edx,%esi
4164ae:	8b c6                	mov    %esi,%eax
4164b0:	35 5e 60 00 00       	xor    $0x605e,%eax
4164b5:	69 d0 69 ab 00 00    	imul   $0xab69,%eax,%edx
4164bb:	8b c6                	mov    %esi,%eax
4164bd:	c1 e8 03             	shr    $0x3,%eax
4164c0:	33 d0                	xor    %eax,%edx
4164c2:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
4164c8:	33 c2                	xor    %edx,%eax
4164ca:	ba 7f 13 f1 07       	mov    $0x7f1137f,%edx
4164cf:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
4164d5:	33 c2                	xor    %edx,%eax
4164d7:	c1 c0 04             	rol    $0x4,%eax
4164da:	69 d0 5e 60 00 00    	imul   $0x605e,%eax,%edx
4164e0:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
4164e6:	c1 c0 02             	rol    $0x2,%eax
4164e9:	33 d0                	xor    %eax,%edx
4164eb:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
4164f1:	33 95 84 f4 ff ff    	xor    -0xb7c(%ebp),%edx
4164f7:	33 85 80 f4 ff ff    	xor    -0xb80(%ebp),%eax
4164fd:	33 f2                	xor    %edx,%esi
4164ff:	8b d6                	mov    %esi,%edx
416501:	89 b5 68 f4 ff ff    	mov    %esi,-0xb98(%ebp)
416507:	8b b5 70 f4 ff ff    	mov    -0xb90(%ebp),%esi
41650d:	89 bd 80 f4 ff ff    	mov    %edi,-0xb80(%ebp)
416513:	8b bd 40 f4 ff ff    	mov    -0xbc0(%ebp),%edi
416519:	89 9d 84 f4 ff ff    	mov    %ebx,-0xb7c(%ebp)
41651f:	88 56 fc             	mov    %dl,-0x4(%esi)
416522:	88 06                	mov    %al,(%esi)
416524:	c1 ca 08             	ror    $0x8,%edx
416527:	88 56 fb             	mov    %dl,-0x5(%esi)
41652a:	c1 c8 08             	ror    $0x8,%eax
41652d:	88 46 ff             	mov    %al,-0x1(%esi)
416530:	c1 ca 08             	ror    $0x8,%edx
416533:	88 56 fa             	mov    %dl,-0x6(%esi)
416536:	c1 c8 08             	ror    $0x8,%eax
416539:	88 46 fe             	mov    %al,-0x2(%esi)
41653c:	c1 ca 08             	ror    $0x8,%edx
41653f:	c1 c8 08             	ror    $0x8,%eax
416542:	88 56 f9             	mov    %dl,-0x7(%esi)
416545:	88 46 fd             	mov    %al,-0x3(%esi)
416548:	83 c6 08             	add    $0x8,%esi
41654b:	c1 c8 08             	ror    $0x8,%eax
41654e:	c1 ca 08             	ror    $0x8,%edx
416551:	83 ad 48 f4 ff ff 01 	subl   $0x1,-0xbb8(%ebp)
416558:	89 b5 70 f4 ff ff    	mov    %esi,-0xb90(%ebp)
41655e:	8b f0                	mov    %eax,%esi
416560:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
416566:	0f 85 83 fc ff ff    	jne    0x4161ef
41656c:	8b b5 60 f4 ff ff    	mov    -0xba0(%ebp),%esi
416572:	33 db                	xor    %ebx,%ebx
416574:	8b c3                	mov    %ebx,%eax
416576:	32 0c 30             	xor    (%eax,%esi,1),%cl
416579:	40                   	inc    %eax
41657a:	3d 38 03 00 00       	cmp    $0x338,%eax
41657f:	72 f5                	jb     0x416576
416581:	0f b6 c1             	movzbl %cl,%eax
416584:	99                   	cltd
416585:	3b 05 80 2f 40 00    	cmp    0x402f80,%eax
41658b:	75 17                	jne    0x4165a4
41658d:	3b 15 84 2f 40 00    	cmp    0x402f84,%edx
416593:	75 0f                	jne    0x4165a4
416595:	89 b5 50 f4 ff ff    	mov    %esi,-0xbb0(%ebp)
41659b:	bf 37 03 00 00       	mov    $0x337,%edi
4165a0:	8b f3                	mov    %ebx,%esi
4165a2:	eb 0d                	jmp    0x4165b1
4165a4:	c7 85 7c f4 ff ff 01 	movl   $0xc004d501,-0xb84(%ebp)
4165ab:	d5 04 c0
4165ae:	83 cf ff             	or     $0xffffffff,%edi
4165b1:	85 f6                	test   %esi,%esi
4165b3:	74 0f                	je     0x4165c4
4165b5:	56                   	push   %esi
4165b6:	53                   	push   %ebx
4165b7:	ff 15 7c 60 42 00    	call   *0x42607c
4165bd:	50                   	push   %eax
4165be:	ff 15 a4 61 42 00    	call   *0x4261a4
4165c4:	39 9d 7c f4 ff ff    	cmp    %ebx,-0xb84(%ebp)
4165ca:	0f 8c 5b 01 00 00    	jl     0x41672b
4165d0:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
4165d6:	8b f0                	mov    %eax,%esi
4165d8:	6a 40                	push   $0x40
4165da:	53                   	push   %ebx
4165db:	68 30 59 42 00       	push   $0x425930
4165e0:	88 1c 07             	mov    %bl,(%edi,%eax,1)
4165e3:	e8 60 c2 00 00       	call   0x422848
4165e8:	8b c6                	mov    %esi,%eax
4165ea:	83 c4 0c             	add    $0xc,%esp
4165ed:	38 18                	cmp    %bl,(%eax)
4165ef:	0f 84 3d 01 00 00    	je     0x416732
4165f5:	bf 30 59 42 00       	mov    $0x425930,%edi
4165fa:	8b ce                	mov    %esi,%ecx
4165fc:	8b d6                	mov    %esi,%edx
4165fe:	8d 41 02             	lea    0x2(%ecx),%eax
416601:	89 85 7c f4 ff ff    	mov    %eax,-0xb84(%ebp)
416607:	66 8b 01             	mov    (%ecx),%ax
41660a:	83 c1 02             	add    $0x2,%ecx
41660d:	66 3b c3             	cmp    %bx,%ax
416610:	75 f5                	jne    0x416607
416612:	2b 8d 7c f4 ff ff    	sub    -0xb84(%ebp),%ecx
416618:	57                   	push   %edi
416619:	d1 f9                	sar    $1,%ecx
41661b:	52                   	push   %edx
41661c:	53                   	push   %ebx
41661d:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
416620:	ff 15 90 61 42 00    	call   *0x426190
416626:	85 c0                	test   %eax,%eax
416628:	0f 84 fd 00 00 00    	je     0x41672b
41662e:	8b 07                	mov    (%edi),%eax
416630:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
416635:	8b d3                	mov    %ebx,%edx
416637:	89 95 7c f4 ff ff    	mov    %edx,-0xb84(%ebp)
41663d:	66 39 08             	cmp    %cx,(%eax)
416640:	74 0d                	je     0x41664f
416642:	ba 7b 00 00 c0       	mov    $0xc000007b,%edx
416647:	89 95 7c f4 ff ff    	mov    %edx,-0xb84(%ebp)
41664d:	eb 48                	jmp    0x416697
41664f:	8b 48 3c             	mov    0x3c(%eax),%ecx
416652:	81 f9 00 00 00 10    	cmp    $0x10000000,%ecx
416658:	73 e8                	jae    0x416642
41665a:	03 0f                	add    (%edi),%ecx
41665c:	3b 0f                	cmp    (%edi),%ecx
41665e:	72 e2                	jb     0x416642
416660:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
416666:	75 da                	jne    0x416642
416668:	0f b7 41 18          	movzwl 0x18(%ecx),%eax
41666c:	66 3b 85 30 f3 ff ff 	cmp    -0xcd0(%ebp),%ax
416673:	74 10                	je     0x416685
416675:	66 3b 85 3c f3 ff ff 	cmp    -0xcc4(%ebp),%ax
41667c:	74 07                	je     0x416685
41667e:	ba 0d 00 00 c0       	mov    $0xc000000d,%edx
416683:	eb c2                	jmp    0x416647
416685:	8b 41 78             	mov    0x78(%ecx),%eax
416688:	89 47 08             	mov    %eax,0x8(%edi)
41668b:	8b 41 7c             	mov    0x7c(%ecx),%eax
41668e:	89 47 0c             	mov    %eax,0xc(%edi)
416691:	8b 41 50             	mov    0x50(%ecx),%eax
416694:	89 47 04             	mov    %eax,0x4(%edi)
416697:	8b 46 02             	mov    0x2(%esi),%eax
41669a:	83 c6 06             	add    $0x6,%esi
41669d:	89 85 60 f4 ff ff    	mov    %eax,-0xba0(%ebp)
4166a3:	89 9d 84 f4 ff ff    	mov    %ebx,-0xb7c(%ebp)
4166a9:	85 c0                	test   %eax,%eax
4166ab:	74 65                	je     0x416712
4166ad:	8b ce                	mov    %esi,%ecx
4166af:	89 b5 80 f4 ff ff    	mov    %esi,-0xb80(%ebp)
4166b5:	8d 41 01             	lea    0x1(%ecx),%eax
4166b8:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
4166be:	8a 01                	mov    (%ecx),%al
4166c0:	41                   	inc    %ecx
4166c1:	84 c0                	test   %al,%al
4166c3:	75 f9                	jne    0x4166be
4166c5:	2b 8d 70 f4 ff ff    	sub    -0xb90(%ebp),%ecx
4166cb:	46                   	inc    %esi
4166cc:	03 f1                	add    %ecx,%esi
4166ce:	85 d2                	test   %edx,%edx
4166d0:	78 25                	js     0x4166f7
4166d2:	ff b5 80 f4 ff ff    	push   -0xb80(%ebp)
4166d8:	ff 37                	push   (%edi)
4166da:	ff 15 68 60 42 00    	call   *0x426068
4166e0:	85 c0                	test   %eax,%eax
4166e2:	74 39                	je     0x41671d
4166e4:	8b 8d 5c f4 ff ff    	mov    -0xba4(%ebp),%ecx
4166ea:	8b 95 7c f4 ff ff    	mov    -0xb84(%ebp),%edx
4166f0:	89 04 8d 00 40 42 00 	mov    %eax,0x424000(,%ecx,4)
4166f7:	8b 85 84 f4 ff ff    	mov    -0xb7c(%ebp),%eax
4166fd:	ff 85 5c f4 ff ff    	incl   -0xba4(%ebp)
416703:	40                   	inc    %eax
416704:	89 85 84 f4 ff ff    	mov    %eax,-0xb7c(%ebp)
41670a:	3b 85 60 f4 ff ff    	cmp    -0xba0(%ebp),%eax
416710:	72 9b                	jb     0x4166ad
416712:	83 c7 10             	add    $0x10,%edi
416715:	38 1e                	cmp    %bl,(%esi)
416717:	0f 85 dd fe ff ff    	jne    0x4165fa
41671d:	8b b5 7c f4 ff ff    	mov    -0xb84(%ebp),%esi
416723:	8b 85 50 f4 ff ff    	mov    -0xbb0(%ebp),%eax
416729:	eb 09                	jmp    0x416734
41672b:	be 7a 00 00 c0       	mov    $0xc000007a,%esi
416730:	eb f1                	jmp    0x416723
416732:	8b f3                	mov    %ebx,%esi
416734:	85 c0                	test   %eax,%eax
416736:	74 14                	je     0x41674c
416738:	ff 15 7c 60 42 00    	call   *0x42607c
41673e:	ff b5 50 f4 ff ff    	push   -0xbb0(%ebp)
416744:	53                   	push   %ebx
416745:	50                   	push   %eax
416746:	ff 15 a4 61 42 00    	call   *0x4261a4
41674c:	85 f6                	test   %esi,%esi
41674e:	79 3c                	jns    0x41678c
416750:	8b f3                	mov    %ebx,%esi
416752:	8b 86 30 59 42 00    	mov    0x425930(%esi),%eax
416758:	85 c0                	test   %eax,%eax
41675a:	74 07                	je     0x416763
41675c:	50                   	push   %eax
41675d:	ff 15 ac 60 42 00    	call   *0x4260ac
416763:	83 c6 10             	add    $0x10,%esi
416766:	83 fe 40             	cmp    $0x40,%esi
416769:	72 e7                	jb     0x416752
41676b:	6a 40                	push   $0x40
41676d:	53                   	push   %ebx
41676e:	68 30 59 42 00       	push   $0x425930
416773:	e8 d0 c0 00 00       	call   0x422848
416778:	83 c4 0c             	add    $0xc,%esp
41677b:	be 90 10 40 00       	mov    $0x401090,%esi
416780:	bf 00 40 42 00       	mov    $0x424000,%edi
416785:	6a 2e                	push   $0x2e
416787:	59                   	pop    %ecx
416788:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41678a:	eb 0b                	jmp    0x416797
41678c:	a1 24 5e 42 00       	mov    0x425e24,%eax
416791:	40                   	inc    %eax
416792:	a3 24 5e 42 00       	mov    %eax,0x425e24
416797:	33 c0                	xor    %eax,%eax
416799:	b9 28 5e 42 00       	mov    $0x425e28,%ecx
41679e:	87 01                	xchg   %eax,(%ecx)
4167a0:	6a 54                	push   $0x54
4167a2:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
4167a8:	53                   	push   %ebx
4167a9:	50                   	push   %eax
4167aa:	e8 99 c0 00 00       	call   0x422848
4167af:	33 c0                	xor    %eax,%eax
4167b1:	8b 35 7c 40 42 00    	mov    0x42407c,%esi
4167b7:	8d bd f0 fb ff ff    	lea    -0x410(%ebp),%edi
4167bd:	83 c4 0c             	add    $0xc,%esp
4167c0:	ab                   	stos   %eax,%es:(%edi)
4167c1:	6a 0f                	push   $0xf
4167c3:	ab                   	stos   %eax,%es:(%edi)
4167c4:	5a                   	pop    %edx
4167c5:	68 03 04 00 00       	push   $0x403
4167ca:	53                   	push   %ebx
4167cb:	ab                   	stos   %eax,%es:(%edi)
4167cc:	53                   	push   %ebx
4167cd:	ab                   	stos   %eax,%es:(%edi)
4167ce:	8b 85 38 f4 ff ff    	mov    -0xbc8(%ebp),%eax
4167d4:	8b c8                	mov    %eax,%ecx
4167d6:	23 ca                	and    %edx,%ecx
4167d8:	89 8d 38 f4 ff ff    	mov    %ecx,-0xbc8(%ebp)
4167de:	8b c8                	mov    %eax,%ecx
4167e0:	c1 e9 04             	shr    $0x4,%ecx
4167e3:	23 ca                	and    %edx,%ecx
4167e5:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
4167e9:	8b c8                	mov    %eax,%ecx
4167eb:	c1 e9 08             	shr    $0x8,%ecx
4167ee:	23 ca                	and    %edx,%ecx
4167f0:	c1 e8 0c             	shr    $0xc,%eax
4167f3:	66 89 4d f6          	mov    %cx,-0xa(%ebp)
4167f7:	23 c2                	and    %edx,%eax
4167f9:	8b ce                	mov    %esi,%ecx
4167fb:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
4167ff:	ff 15 78 64 42 00    	call   *0x426478
416805:	ff d6                	call   *%esi
416807:	89 85 5c f4 ff ff    	mov    %eax,-0xba4(%ebp)
41680d:	c7 85 50 f4 ff ff ff 	movl   $0xffffff,-0xbb0(%ebp)
416814:	ff ff 00
416817:	85 c0                	test   %eax,%eax
416819:	75 38                	jne    0x416853
41681b:	ff 15 70 61 42 00    	call   *0x426170
416821:	8b f8                	mov    %eax,%edi
416823:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
416829:	85 ff                	test   %edi,%edi
41682b:	7e 11                	jle    0x41683e
41682d:	0f b7 ff             	movzwl %di,%edi
416830:	81 cf 00 00 07 80    	or     $0x80070000,%edi
416836:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
41683c:	85 ff                	test   %edi,%edi
41683e:	0f 88 f5 15 00 00    	js     0x417e39
416844:	c7 85 7c f4 ff ff 05 	movl   $0x80004005,-0xb84(%ebp)
41684b:	40 00 80
41684e:	e9 e6 15 00 00       	jmp    0x417e39
416853:	8b 35 50 40 42 00    	mov    0x424050,%esi
416859:	8d 85 dc f3 ff ff    	lea    -0xc24(%ebp),%eax
41685f:	50                   	push   %eax
416860:	53                   	push   %ebx
416861:	8d 85 18 f4 ff ff    	lea    -0xbe8(%ebp),%eax
416867:	89 9d f0 f3 ff ff    	mov    %ebx,-0xc10(%ebp)
41686d:	50                   	push   %eax
41686e:	8b fb                	mov    %ebx,%edi
416870:	89 9d ec f3 ff ff    	mov    %ebx,-0xc14(%ebp)
416876:	6a 08                	push   $0x8
416878:	8b ce                	mov    %esi,%ecx
41687a:	89 9d 60 f4 ff ff    	mov    %ebx,-0xba0(%ebp)
416880:	89 9d e8 f3 ff ff    	mov    %ebx,-0xc18(%ebp)
416886:	89 9d e4 f3 ff ff    	mov    %ebx,-0xc1c(%ebp)
41688c:	89 9d e0 f3 ff ff    	mov    %ebx,-0xc20(%ebp)
416892:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
416898:	89 9d dc f3 ff ff    	mov    %ebx,-0xc24(%ebp)
41689e:	ff 15 78 64 42 00    	call   *0x426478
4168a4:	ff d6                	call   *%esi
4168a6:	85 c0                	test   %eax,%eax
4168a8:	75 39                	jne    0x4168e3
4168aa:	ff 15 70 61 42 00    	call   *0x426170
4168b0:	8b f8                	mov    %eax,%edi
4168b2:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4168b8:	85 ff                	test   %edi,%edi
4168ba:	7e 11                	jle    0x4168cd
4168bc:	0f b7 ff             	movzwl %di,%edi
4168bf:	81 cf 00 00 07 80    	or     $0x80070000,%edi
4168c5:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4168cb:	85 ff                	test   %edi,%edi
4168cd:	0f 88 5c 01 00 00    	js     0x416a2f
4168d3:	bf 05 40 00 80       	mov    $0x80004005,%edi
4168d8:	89 bd 7c f4 ff ff    	mov    %edi,-0xb84(%ebp)
4168de:	e9 4c 01 00 00       	jmp    0x416a2f
4168e3:	8b 85 dc f3 ff ff    	mov    -0xc24(%ebp),%eax
4168e9:	03 c0                	add    %eax,%eax
4168eb:	50                   	push   %eax
4168ec:	53                   	push   %ebx
4168ed:	ff 15 7c 60 42 00    	call   *0x42607c
4168f3:	50                   	push   %eax
4168f4:	ff 15 a0 61 42 00    	call   *0x4261a0
4168fa:	8d 8d e4 f3 ff ff    	lea    -0xc1c(%ebp),%ecx
416900:	8b f0                	mov    %eax,%esi
416902:	e8 5d 86 00 00       	call   0x41ef64
416907:	85 f6                	test   %esi,%esi
416909:	75 0d                	jne    0x416918
41690b:	89 9d e4 f3 ff ff    	mov    %ebx,-0xc1c(%ebp)
416911:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
416916:	eb c0                	jmp    0x4168d8
416918:	8b 85 18 f4 ff ff    	mov    -0xbe8(%ebp),%eax
41691e:	89 b5 e4 f3 ff ff    	mov    %esi,-0xc1c(%ebp)
416924:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
41692b:	50                   	push   %eax
41692c:	53                   	push   %ebx
41692d:	ff 15 7c 60 42 00    	call   *0x42607c
416933:	50                   	push   %eax