40f596:	69 4d 37 78 52 44 35 	imul   $0x35445278,0x37(%ebp),%ecx
40f59d:	69 4b 49 4e 64 6b 63 	imul   $0x636b644e,0x49(%ebx),%ecx
40f5a4:	72 32                	jb     0x40f5d8
40f5a6:	50                   	push   %eax
40f5a7:	32 77 70             	xor    0x70(%edi),%dh
40f5aa:	6e                   	outsb  %ds:(%esi),(%dx)
40f5ab:	4a                   	dec    %edx
40f5ac:	4a                   	dec    %edx
40f5ad:	37                   	aaa
40f5ae:	63 48 64             	arpl   %ecx,0x64(%eax)
40f5b1:	4a                   	dec    %edx
40f5b2:	68 6a 7b 39 7c       	push   $0x7c397b6a
40f5b7:	31 30                	xor    %esi,(%eax)
40f5b9:	69 63 5a 53 52 70 4c 	imul   $0x4c705253,0x5a(%ebx),%esp
40f5c0:	52                   	push   %edx
40f5c1:	70 72                	jo     0x40f635
40f5c3:	70 32                	jo     0x40f5f7
40f5c5:	35 45 75 5a 38       	xor    $0x385a7545,%eax
40f5ca:	72 44                	jb     0x40f610
40f5cc:	6c                   	insb   (%dx),%es:(%edi)
40f5cd:	30 34 4f             	xor    %dh,(%edi,%ecx,2)
40f5d0:	55                   	push   %ebp
40f5d1:	48                   	dec    %eax
40f5d2:	30 4b 53             	xor    %cl,0x53(%ebx)
40f5d5:	55                   	push   %ebp
40f5d6:	44                   	inc    %esp
40f5d7:	46                   	inc    %esi
40f5d8:	66 56                	push   %si
40f5da:	6c                   	insb   (%dx),%es:(%edi)
40f5db:	42                   	inc    %edx
40f5dc:	6e                   	outsb  %ds:(%esi),(%dx)
40f5dd:	47                   	inc    %edi
40f5de:	39 4d 67             	cmp    %ecx,0x67(%ebp)
40f5e1:	30 76 66             	xor    %dh,0x66(%esi)
40f5e4:	5a                   	pop    %edx
40f5e5:	45                   	inc    %ebp
40f5e6:	67 45                	addr16 inc %ebp
40f5e8:	70 58                	jo     0x40f642
40f5ea:	4c                   	dec    %esp
40f5eb:	5a                   	pop    %edx
40f5ec:	75 58                	jne    0x40f646
40f5ee:	64 45                	fs inc %ebp
40f5f0:	55                   	push   %ebp
40f5f1:	55                   	push   %ebp
40f5f2:	66 48                	dec    %ax
40f5f4:	73 37                	jae    0x40f62d
40f5f6:	42                   	inc    %edx
40f5f7:	7a 4d                	jp     0x40f646
40f5f9:	70 58                	jo     0x40f653
40f5fb:	43                   	inc    %ebx
40f5fc:	58                   	pop    %eax
40f5fd:	6c                   	insb   (%dx),%es:(%edi)
40f5fe:	75 53                	jne    0x40f653
40f600:	70 7c                	jo     0x40f67e
40f602:	6a 4f                	push   $0x4f
40f604:	32 53 6c             	xor    0x6c(%ebx),%dl
40f607:	6a 42                	push   $0x42
40f609:	50                   	push   %eax
40f60a:	68 44 4a 58 49       	push   $0x49584a44
40f60f:	48                   	dec    %eax
40f610:	48                   	dec    %eax
40f611:	7b 54                	jnp    0x40f667
40f613:	5a                   	pop    %edx
40f614:	37                   	aaa
40f615:	6e                   	outsb  %ds:(%esi),(%dx)
40f616:	59                   	pop    %ecx
40f617:	70 57                	jo     0x40f670
40f619:	66 65 57             	gs push %di
40f61c:	6e                   	outsb  %ds:(%esi),(%dx)
40f61d:	64 6a 49             	fs push $0x49
40f620:	67 48                	addr16 dec %eax
40f622:	63 35 7a 72 47 72    	arpl   %esi,0x7247727a
40f628:	51                   	push   %ecx
40f629:	76 62                	jbe    0x40f68d
40f62b:	6d                   	insl   (%dx),%es:(%edi)
40f62c:	41                   	inc    %ecx
40f62d:	58                   	pop    %eax
40f62e:	4e                   	dec    %esi
40f62f:	6c                   	insb   (%dx),%es:(%edi)
40f630:	5a                   	pop    %edx
40f631:	51                   	push   %ecx
40f632:	4d                   	dec    %ebp
40f633:	68 75 42 63 4b       	push   $0x4b634275
40f638:	34 46                	xor    $0x46,%al
40f63a:	50                   	push   %eax
40f63b:	7b 59                	jnp    0x40f696
40f63d:	64 39 70 72          	cmp    %esi,%fs:0x72(%eax)
40f641:	65 4d                	gs dec %ebp
40f643:	4b                   	dec    %ebx
40f644:	46                   	inc    %esi
40f645:	67 76 57             	addr16 jbe 0x40f69f
40f648:	66 6d                	insw   (%dx),%es:(%edi)
40f64a:	58                   	pop    %eax
40f64b:	72 30                	jb     0x40f67d
40f64d:	42                   	inc    %edx
40f64e:	6a 63                	push   $0x63
40f650:	57                   	push   %edi
40f651:	31 42 64             	xor    %eax,0x64(%edx)
40f654:	55                   	push   %ebp
40f655:	70 38                	jo     0x40f68f
40f657:	32 56 34             	xor    0x34(%esi),%dl
40f65a:	71 73                	jno    0x40f6cf
40f65c:	52                   	push   %edx
40f65d:	7b 50                	jnp    0x40f6af
40f65f:	42                   	inc    %edx
40f660:	7a 63                	jp     0x40f6c5
40f662:	70 4b                	jo     0x40f6af
40f664:	64 50                	fs push %eax
40f666:	48                   	dec    %eax
40f667:	46                   	inc    %esi
40f668:	46                   	inc    %esi
40f669:	5a                   	pop    %edx
40f66a:	47                   	inc    %edi
40f66b:	50                   	push   %eax
40f66c:	46                   	inc    %esi
40f66d:	53                   	push   %ebx
40f66e:	62 74 6d 52          	bound  %esi,0x52(%ebp,%ebp,2)
40f672:	48                   	dec    %eax
40f673:	4e                   	dec    %esi
40f674:	62 74 32 69          	bound  %esi,0x69(%edx,%esi,1)
40f678:	72 74                	jb     0x40f6ee
40f67a:	55                   	push   %ebp
40f67b:	42                   	inc    %edx
40f67c:	41                   	inc    %ecx
40f67d:	4b                   	dec    %ebx
40f67e:	46                   	inc    %esi
40f67f:	4c                   	dec    %esp
40f680:	54                   	push   %esp
40f681:	73 72                	jae    0x40f6f5
40f683:	48                   	dec    %eax
40f684:	7b 79                	jnp    0x40f6ff
40f686:	62 38                	bound  %edi,(%eax)
40f688:	65 65 6d             	gs gs insl (%dx),%es:(%edi)
40f68b:	79 39                	jns    0x40f6c6
40f68d:	31 6f 7b             	xor    %ebp,0x7b(%edi)
40f690:	39 69 36             	cmp    %ebp,0x36(%ecx)
40f693:	37                   	aaa
40f694:	35 4b 4a 6f 50       	xor    $0x506f4a4b,%eax
40f699:	68 4b 45 59 32       	push   $0x3259454b
40f69e:	64 39 74 49 38       	cmp    %esi,%fs:0x38(%ecx,%ecx,2)
40f6a3:	52                   	push   %edx
40f6a4:	71 6c                	jno    0x40f712
40f6a6:	50                   	push   %eax
40f6a7:	48                   	dec    %eax
40f6a8:	6a 44                	push   $0x44
40f6aa:	77 43                	ja     0x40f6ef
40f6ac:	41                   	inc    %ecx
40f6ad:	59                   	pop    %ecx
40f6ae:	62 6a 38             	bound  %ebp,0x38(%edx)
40f6b1:	7b 6d                	jnp    0x40f720
40f6b3:	6c                   	insb   (%dx),%es:(%edi)
40f6b4:	73 52                	jae    0x40f708
40f6b6:	65 75 63             	gs jne 0x40f71c
40f6b9:	39 44 59 4f          	cmp    %eax,0x4f(%ecx,%ebx,2)
40f6bd:	42                   	inc    %edx
40f6be:	32 4d 74             	xor    0x74(%ebp),%cl
40f6c1:	4e                   	dec    %esi
40f6c2:	35 64 72 77 66       	xor    $0x66777264,%eax
40f6c7:	45                   	inc    %ebp
40f6c8:	36 66 46             	ss inc %si
40f6cb:	34 34                	xor    $0x34,%al
40f6cd:	6d                   	insl   (%dx),%es:(%edi)
40f6ce:	4a                   	dec    %edx
40f6cf:	56                   	push   %esi
40f6d0:	72 33                	jb     0x40f705
40f6d2:	62 68 32             	bound  %ebp,0x32(%eax)
40f6d5:	36 54                	ss push %esp
40f6d7:	44                   	inc    %esp
40f6d8:	79 4d                	jns    0x40f727
40f6da:	37                   	aaa
40f6db:	4d                   	dec    %ebp
40f6dc:	51                   	push   %ecx
40f6dd:	44                   	inc    %esp
40f6de:	6b 72 30 74          	imul   $0x74,0x30(%edx),%esi
40f6e2:	7c 35                	jl     0x40f719
40f6e4:	43                   	inc    %ebx
40f6e5:	74 7a                	je     0x40f761
40f6e7:	49                   	dec    %ecx
40f6e8:	6d                   	insl   (%dx),%es:(%edi)
40f6e9:	7b 7c                	jnp    0x40f767
40f6eb:	63 30                	arpl   %esi,(%eax)
40f6ed:	39 30                	cmp    %esi,(%eax)
40f6ef:	75 5a                	jne    0x40f74b
40f6f1:	7a 51                	jp     0x40f744
40f6f3:	77 6b                	ja     0x40f760
40f6f5:	42                   	inc    %edx
40f6f6:	49                   	dec    %ecx
40f6f7:	32 6f 6c             	xor    0x6c(%edi),%ch
40f6fa:	45                   	inc    %ebp
40f6fb:	31 58 7a             	xor    %ebx,0x7a(%eax)
40f6fe:	42                   	inc    %edx
40f6ff:	53                   	push   %ebx
40f700:	47                   	inc    %edi
40f701:	49                   	dec    %ecx
40f702:	53                   	push   %ebx
40f703:	52                   	push   %edx
40f704:	65 59                	gs pop %ecx
40f706:	31 62 46             	xor    %esp,0x46(%edx)
40f709:	57                   	push   %edi
40f70a:	65 67 71 48          	gs addr16 jno 0x40f756
40f70e:	54                   	push   %esp
40f70f:	6f                   	outsl  %ds:(%esi),(%dx)
40f710:	34 50                	xor    $0x50,%al
40f712:	49                   	dec    %ecx
40f713:	43                   	inc    %ebx
40f714:	65 6d                	gs insl (%dx),%es:(%edi)
40f716:	58                   	pop    %eax
40f717:	38 6b 59             	cmp    %ch,0x59(%ebx)
40f71a:	34 6d                	xor    $0x6d,%al
40f71c:	54                   	push   %esp
40f71d:	4b                   	dec    %ebx
40f71e:	4e                   	dec    %esi
40f71f:	46                   	inc    %esi
40f720:	4d                   	dec    %ebp
40f721:	69 53 46 72 66 4e 66 	imul   $0x664e6672,0x46(%ebx),%edx
40f728:	34 58                	xor    $0x58,%al
40f72a:	71 72                	jno    0x40f79e
40f72c:	74 6c                	je     0x40f79a
40f72e:	6b 30 45             	imul   $0x45,(%eax),%esi
40f731:	36 50                	ss push %eax
40f733:	58                   	pop    %eax
40f734:	57                   	push   %edi
40f735:	66 74 48             	data16 je 0x40f780
40f738:	64 31 50 34          	xor    %edx,%fs:0x34(%eax)
40f73c:	69 50 58 59 33 34 37 	imul   $0x37343359,0x58(%eax),%edx
40f743:	6f                   	outsl  %ds:(%esi),(%dx)
40f744:	68 42 56 73 30       	push   $0x30735642
40f749:	4f                   	dec    %edi
40f74a:	4c                   	dec    %esp
40f74b:	30 44 62 37          	xor    %al,0x37(%edx,%eiz,2)
40f74f:	43                   	inc    %ebx
40f750:	58                   	pop    %eax
40f751:	43                   	inc    %ebx
40f752:	6c                   	insb   (%dx),%es:(%edi)
40f753:	37                   	aaa
40f754:	4f                   	dec    %edi
40f755:	6d                   	insl   (%dx),%es:(%edi)
40f756:	4d                   	dec    %ebp
40f757:	77 6f                	ja     0x40f7c8
40f759:	50                   	push   %eax
40f75a:	72 59                	jb     0x40f7b5
40f75c:	37                   	aaa
40f75d:	39 67 72             	cmp    %esp,0x72(%edi)
40f760:	4f                   	dec    %edi
40f761:	6a 6b                	push   $0x6b
40f763:	77 53                	ja     0x40f7b8
40f765:	45                   	inc    %ebp
40f766:	57                   	push   %edi
40f767:	45                   	inc    %ebp
40f768:	63 72 63             	arpl   %esi,0x63(%edx)
40f76b:	79 56                	jns    0x40f7c3
40f76d:	75 68                	jne    0x40f7d7
40f76f:	75 4d                	jne    0x40f7be
40f771:	32 39                	xor    (%ecx),%bh
40f773:	72 59                	jb     0x40f7ce
40f775:	64 5a                	fs pop %edx
40f777:	50                   	push   %eax
40f778:	7c 51                	jl     0x40f7cb
40f77a:	4b                   	dec    %ebx
40f77b:	44                   	inc    %esp
40f77c:	69 37 30 79 57 35    	imul   $0x35577930,(%edi),%esi
40f782:	4f                   	dec    %edi
40f783:	76 5a                	jbe    0x40f7df
40f785:	73 34                	jae    0x40f7bb
40f787:	4d                   	dec    %ebp
40f788:	37                   	aaa
40f789:	43                   	inc    %ebx
40f78a:	77 32                	ja     0x40f7be
40f78c:	62 7a 68             	bound  %edi,0x68(%edx)
40f78f:	58                   	pop    %eax
40f790:	67 73 30             	addr16 jae 0x40f7c3
40f793:	47                   	inc    %edi
40f794:	43                   	inc    %ebx
40f795:	75 70                	jne    0x40f807
40f797:	76 56                	jbe    0x40f7ef
40f799:	4c                   	dec    %esp
40f79a:	55                   	push   %ebp
40f79b:	59                   	pop    %ecx
40f79c:	6f                   	outsl  %ds:(%esi),(%dx)
40f79d:	6f                   	outsl  %ds:(%esi),(%dx)
40f79e:	57                   	push   %edi
40f79f:	50                   	push   %eax
40f7a0:	56                   	push   %esi
40f7a1:	47                   	inc    %edi
40f7a2:	72 70                	jb     0x40f814
40f7a4:	54                   	push   %esp
40f7a5:	7c 6d                	jl     0x40f814
40f7a7:	33 6f 6d             	xor    0x6d(%edi),%ebp
40f7aa:	66 4a                	dec    %dx
40f7ac:	5a                   	pop    %edx
40f7ad:	37                   	aaa
40f7ae:	68 52 4e 35 50       	push   $0x50354e52
40f7b3:	30 77 50             	xor    %dh,0x50(%edi)
40f7b6:	51                   	push   %ecx
40f7b7:	57                   	push   %edi
40f7b8:	6b 39 44             	imul   $0x44,(%ecx),%edi
40f7bb:	38 74 4f 6a          	cmp    %dh,0x6a(%edi,%ecx,2)
40f7bf:	6d                   	insl   (%dx),%es:(%edi)
40f7c0:	48                   	dec    %eax
40f7c1:	6d                   	insl   (%dx),%es:(%edi)
40f7c2:	7a 55                	jp     0x40f819
40f7c4:	4b                   	dec    %ebx
40f7c5:	49                   	dec    %ecx
40f7c6:	59                   	pop    %ecx
40f7c7:	69 6b 70 4b 7a 7b 79 	imul   $0x797b7a4b,0x70(%ebx),%ebp
40f7ce:	6e                   	outsb  %ds:(%esi),(%dx)
40f7cf:	44                   	inc    %esp
40f7d0:	39 32                	cmp    %esi,(%edx)
40f7d2:	49                   	dec    %ecx
40f7d3:	48                   	dec    %eax
40f7d4:	37                   	aaa
40f7d5:	56                   	push   %esi
40f7d6:	56                   	push   %esi
40f7d7:	79 5a                	jns    0x40f833
40f7d9:	70 7b                	jo     0x40f856
40f7db:	43                   	inc    %ebx
40f7dc:	6e                   	outsb  %ds:(%esi),(%dx)
40f7dd:	44                   	inc    %esp
40f7de:	70 31                	jo     0x40f811
40f7e0:	39 4f 5a             	cmp    %ecx,0x5a(%edi)
40f7e3:	76 77                	jbe    0x40f85c
40f7e5:	53                   	push   %ebx
40f7e6:	31 49 73             	xor    %ecx,0x73(%ecx)
40f7e9:	79 4f                	jns    0x40f83a
40f7eb:	44                   	inc    %esp
40f7ec:	32 6c 39 50          	xor    0x50(%ecx,%edi,1),%ch
40f7f0:	6b 4a 43 4c          	imul   $0x4c,0x43(%edx),%ecx
40f7f4:	51                   	push   %ecx
40f7f5:	47                   	inc    %edi
40f7f6:	38 57 4e             	cmp    %dl,0x4e(%edi)
40f7f9:	49                   	dec    %ecx
40f7fa:	36 64 6a 6d          	ss fs push $0x6d
40f7fe:	49                   	dec    %ecx
40f7ff:	71 58                	jno    0x40f859
40f801:	4b                   	dec    %ebx
40f802:	53                   	push   %ebx
40f803:	44                   	inc    %esp
40f804:	62 36                	bound  %esi,(%esi)
40f806:	4e                   	dec    %esi
40f807:	55                   	push   %ebp
40f808:	6c                   	insb   (%dx),%es:(%edi)
40f809:	78 63                	js     0x40f86e
40f80b:	33 30                	xor    (%eax),%esi
40f80d:	72 55                	jb     0x40f864
40f80f:	57                   	push   %edi
40f810:	54                   	push   %esp
40f811:	39 36                	cmp    %esi,(%esi)
40f813:	68 53 62 65 38       	push   $0x38656253
40f818:	7b 50                	jnp    0x40f86a
40f81a:	34 56                	xor    $0x56,%al