40fa60:	55                   	push   %ebp
40fa61:	35 49 48 62 48       	xor    $0x48624849,%eax
40fa66:	79 50                	jns    0x40fab8
40fa68:	30 2f                	xor    %ch,(%edi)
40fa6a:	72 75                	jb     0x40fae1
40fa6c:	4b                   	dec    %ebx
40fa6d:	4d                   	dec    %ebp
40fa6e:	68 44 67 5a 54       	push   $0x545a6744
40fa73:	55                   	push   %ebp
40fa74:	33 39                	xor    (%ecx),%edi
40fa76:	2b 61 66             	sub    0x66(%ecx),%esp
40fa79:	74 6e                	je     0x40fae9
40fa7b:	43                   	inc    %ebx
40fa7c:	4c                   	dec    %esp
40fa7d:	4b                   	dec    %ebx
40fa7e:	46                   	inc    %esi
40fa7f:	4b                   	dec    %ebx
40fa80:	68 48 54 46 55       	push   $0x55465448
40fa85:	42                   	inc    %edx
40fa86:	49                   	dec    %ecx
40fa87:	48                   	dec    %eax
40fa88:	43                   	inc    %ebx
40fa89:	6f                   	outsl  %ds:(%esi),(%dx)
40fa8a:	70 67                	jo     0x40faf3
40fa8c:	76 6c                	jbe    0x40fafa
40fa8e:	51                   	push   %ecx
40fa8f:	38 6e 48             	cmp    %ch,0x48(%esi)
40fa92:	58                   	pop    %eax
40fa93:	65 55                	gs push %ebp
40fa95:	46                   	inc    %esi
40fa96:	49                   	dec    %ecx
40fa97:	48                   	dec    %eax
40fa98:	68 62 66 35 73       	push   $0x73356662
40fa9d:	36 52                	ss push %edx
40fa9f:	34 71                	xor    $0x71,%al
40faa1:	50                   	push   %eax
40faa2:	73 42                	jae    0x40fae6
40faa4:	6f                   	outsl  %ds:(%esi),(%dx)
40faa5:	4c                   	dec    %esp
40faa6:	37                   	aaa
40faa7:	65 47                	gs inc %edi
40faa9:	6b 61 69 69          	imul   $0x69,0x69(%ecx),%esp
40faad:	32 39                	xor    (%ecx),%bh
40faaf:	65 53                	gs push %ebx
40fab1:	2b 77 67             	sub    0x67(%edi),%esi
40fab4:	31 74 70 57          	xor    %esi,0x57(%eax,%esi,2)
40fab8:	6e                   	outsb  %ds:(%esi),(%dx)
40fab9:	58                   	pop    %eax
40faba:	2b 71 6d             	sub    0x6d(%ecx),%esi
40fabd:	49                   	dec    %ecx
40fabe:	58                   	pop    %eax
40fabf:	61                   	popa
40fac0:	34 49                	xor    $0x49,%al
40fac2:	54                   	push   %esp
40fac3:	6c                   	insb   (%dx),%es:(%edi)
40fac4:	4e                   	dec    %esi
40fac5:	6b 56 69 2b          	imul   $0x2b,0x69(%esi),%edx
40fac9:	4b                   	dec    %ebx
40faca:	55                   	push   %ebp
40facb:	36 5a                	ss pop %edx
40facd:	61                   	popa
40face:	47                   	inc    %edi
40facf:	57                   	push   %edi
40fad0:	32 48 49             	xor    0x49(%eax),%cl
40fad3:	50                   	push   %eax
40fad4:	78 57                	js     0x40fb2d
40fad6:	43                   	inc    %ebx
40fad7:	55                   	push   %ebp
40fad8:	4c                   	dec    %esp
40fad9:	55                   	push   %ebp
40fada:	55                   	push   %ebp
40fadb:	48                   	dec    %eax
40fadc:	59                   	pop    %ecx
40fadd:	71 2f                	jno    0x40fb0e
40fadf:	69 64 47 4f 2f 45 51 	imul   $0x5051452f,0x4f(%edi,%eax,2),%esp
40fae6:	50
40fae7:	2f                   	das
40fae8:	45                   	inc    %ebp
40fae9:	6a 38                	push   $0x38
40faeb:	49                   	dec    %ecx
40faec:	33 75 75             	xor    0x75(%ebp),%esi
40faef:	70 43                	jo     0x40fb34
40faf1:	76 54                	jbe    0x40fb47
40faf3:	4c                   	dec    %esp
40faf4:	6c                   	insb   (%dx),%es:(%edi)
40faf5:	56                   	push   %esi
40faf6:	77 6b                	ja     0x40fb63
40faf8:	30 37                	xor    %dh,(%edi)
40fafa:	6c                   	insb   (%dx),%es:(%edi)
40fafb:	31 53 62             	xor    %edx,0x62(%ebx)
40fafe:	33 71 75             	xor    0x75(%ecx),%esi
40fb01:	41                   	inc    %ecx
40fb02:	57                   	push   %edi
40fb03:	71 74                	jno    0x40fb79
40fb05:	35 73 55 46 54       	xor    $0x54465573,%eax
40fb0a:	56                   	push   %esi
40fb0b:	75 53                	jne    0x40fb60
40fb0d:	43                   	inc    %ebx
40fb0e:	71 6c                	jno    0x40fb7c
40fb10:	77 6b                	ja     0x40fb7d
40fb12:	73 75                	jae    0x40fb89
40fb14:	4c                   	dec    %esp
40fb15:	77 35                	ja     0x40fb4c
40fb17:	32 41 41             	xor    0x41(%ecx),%al
40fb1a:	78 51                	js     0x40fb6d
40fb1c:	55                   	push   %ebp
40fb1d:	69 57 54 35 72 30 58 	imul   $0x58307235,0x54(%edi),%edx
40fb24:	75 66                	jne    0x40fb8c
40fb26:	75 6a                	jne    0x40fb92
40fb28:	6b 64 62 51 38       	imul   $0x38,0x51(%edx,%eiz,2),%esp
40fb2d:	70 35                	jo     0x40fb64
40fb2f:	73 55                	jae    0x40fb86
40fb31:	59                   	pop    %ecx
40fb32:	70 4b                	jo     0x40fb7f
40fb34:	5a                   	pop    %edx
40fb35:	70 4e                	jo     0x40fb85
40fb37:	42                   	inc    %edx
40fb38:	4d                   	dec    %ebp
40fb39:	53                   	push   %ebx
40fb3a:	33 42 57             	xor    0x57(%edx),%eax
40fb3d:	5a                   	pop    %edx
40fb3e:	37                   	aaa
40fb3f:	75 4d                	jne    0x40fb8e
40fb41:	2b 64 56 59          	sub    0x59(%esi,%edx,2),%esp
40fb45:	65 73 47             	gs jae 0x40fb8f
40fb48:	44                   	inc    %esp
40fb49:	6b 4d 58 79          	imul   $0x79,0x58(%ebp),%ecx
40fb4d:	42                   	inc    %edx
40fb4e:	34 43                	xor    $0x43,%al
40fb50:	43                   	inc    %ebx
40fb51:	66 79 6e             	data16 jns 0x40fbc2
40fb54:	7a 70                	jp     0x40fbc6
40fb56:	30 59 49             	xor    %bl,0x49(%ecx)
40fb59:	46                   	inc    %esi
40fb5a:	4a                   	dec    %edx
40fb5b:	6e                   	outsb  %ds:(%esi),(%dx)
40fb5c:	4b                   	dec    %ebx
40fb5d:	52                   	push   %edx
40fb5e:	75 72                	jne    0x40fbd2
40fb60:	71 30                	jno    0x40fb92
40fb62:	62 73 4d             	bound  %esi,0x4d(%ebx)
40fb65:	79 4f                	jns    0x40fbb6
40fb67:	6c                   	insb   (%dx),%es:(%edi)
40fb68:	72 2b                	jb     0x40fb95
40fb6a:	4c                   	dec    %esp
40fb6b:	76 6e                	jbe    0x40fbdb
40fb6d:	5a                   	pop    %edx
40fb6e:	73 47                	jae    0x40fbb7
40fb70:	52                   	push   %edx
40fb71:	51                   	push   %ecx
40fb72:	54                   	push   %esp
40fb73:	39 78 74             	cmp    %edi,0x74(%eax)
40fb76:	57                   	push   %edi
40fb77:	65 58                	gs pop %eax
40fb79:	56                   	push   %esi
40fb7a:	4b                   	dec    %ebx
40fb7b:	56                   	push   %esi
40fb7c:	6b 68 6d 45          	imul   $0x45,0x6d(%eax),%ebp
40fb80:	66 6c                	data16 insb (%dx),%es:(%edi)
40fb82:	61                   	popa
40fb83:	5a                   	pop    %edx
40fb84:	33 4d 32             	xor    0x32(%ebp),%ecx
40fb87:	38 6d 50             	cmp    %ch,0x50(%ebp)
40fb8a:	33 4a 4c             	xor    0x4c(%edx),%ecx
40fb8d:	62 65 2b             	bound  %esp,0x2b(%ebp)
40fb90:	34 69                	xor    $0x69,%al
40fb92:	69 4a 4c 47 33 67 79 	imul   $0x79673347,0x4c(%edx),%ecx
40fb99:	6a 4b                	push   $0x4b
40fb9b:	67 49                	addr16 dec %ecx
40fb9d:	65 59                	gs pop %ecx
40fb9f:	4c                   	dec    %esp
40fba0:	44                   	inc    %esp
40fba1:	69 42 45 41 6e 33 47 	imul   $0x47336e41,0x45(%edx),%eax
40fba8:	46                   	inc    %esi
40fba9:	4c                   	dec    %esp
40fbaa:	52                   	push   %edx
40fbab:	4e                   	dec    %esi
40fbac:	64 65 69 45 39 47 42 	fs imul $0x4d624247,%gs:0x39(%ebp),%eax
40fbb3:	62 4d
40fbb5:	51                   	push   %ecx
40fbb6:	4f                   	dec    %edi
40fbb7:	65 4e                	gs dec %esi
40fbb9:	52                   	push   %edx
40fbba:	58                   	pop    %eax
40fbbb:	42                   	inc    %edx
40fbbc:	38 61 55             	cmp    %ah,0x55(%ecx)
40fbbf:	51                   	push   %ecx
40fbc0:	59                   	pop    %ecx
40fbc1:	31 57 53             	xor    %edx,0x53(%edi)
40fbc4:	73 72                	jae    0x40fc38
40fbc6:	45                   	inc    %ebp
40fbc7:	58                   	pop    %eax
40fbc8:	73 7a                	jae    0x40fc44
40fbca:	30 76 2b             	xor    %dh,0x2b(%esi)
40fbcd:	6f                   	outsl  %ds:(%esi),(%dx)
40fbce:	74 76                	je     0x40fc46
40fbd0:	45                   	inc    %ebp
40fbd1:	68 6f 4a 33 4c       	push   $0x4c334a6f
40fbd6:	79 5a                	jns    0x40fc32
40fbd8:	47                   	inc    %edi
40fbd9:	79 4b                	jns    0x40fc26
40fbdb:	67 56                	addr16 push %esi
40fbdd:	4f                   	dec    %edi
40fbde:	71 77                	jno    0x40fc57
40fbe0:	6a 75                	push   $0x75
40fbe2:	46                   	inc    %esi
40fbe3:	57                   	push   %edi
40fbe4:	74 72                	je     0x40fc58
40fbe6:	6a 6d                	push   $0x6d
40fbe8:	67 56                	addr16 push %esi
40fbea:	51                   	push   %ecx
40fbeb:	77 4e                	ja     0x40fc3b
40fbed:	72 50                	jb     0x40fc3f
40fbef:	64 42                	fs inc %edx
40fbf1:	4a                   	dec    %edx
40fbf2:	59                   	pop    %ecx
40fbf3:	78 6f                	js     0x40fc64
40fbf5:	46                   	inc    %esi
40fbf6:	42                   	inc    %edx
40fbf7:	6d                   	insl   (%dx),%es:(%edi)
40fbf8:	59                   	pop    %ecx
40fbf9:	4b                   	dec    %ebx
40fbfa:	59                   	pop    %ecx
40fbfb:	6c                   	insb   (%dx),%es:(%edi)
40fbfc:	66 33 76 4f          	xor    0x4f(%esi),%si
40fc00:	66 4d                	dec    %bp
40fc02:	6b 79 49 37          	imul   $0x37,0x49(%ecx),%edi
40fc06:	2b 58 36             	sub    0x36(%eax),%ebx
40fc09:	6b 6e 53 30          	imul   $0x30,0x53(%esi),%ebp
40fc0d:	72 67                	jb     0x40fc76
40fc0f:	6f                   	outsl  %ds:(%esi),(%dx)
40fc10:	52                   	push   %edx
40fc11:	6b 46 54 39          	imul   $0x39,0x54(%esi),%eax
40fc15:	65 47                	gs inc %edi
40fc17:	31 47 4e             	xor    %eax,0x4e(%edi)
40fc1a:	30 55 53             	xor    %dl,0x53(%ebp)
40fc1d:	7a 76                	jp     0x40fc95
40fc1f:	41                   	inc    %ecx
40fc20:	76 6b                	jbe    0x40fc8d
40fc22:	68 54 54 62 6c       	push   $0x6c625454
40fc27:	46                   	inc    %esi
40fc28:	66 68 34 39          	pushw  $0x3934
40fc2c:	56                   	push   %esi
40fc2d:	43                   	inc    %ebx
40fc2e:	6e                   	outsb  %ds:(%esi),(%dx)
40fc2f:	35 4c 31 51 41       	xor    $0x4151314c,%eax
40fc34:	53                   	push   %ebx
40fc35:	34 65                	xor    $0x65,%al
40fc37:	2f                   	das
40fc38:	72 37                	jb     0x40fc71
40fc3a:	41                   	inc    %ecx
40fc3b:	4f                   	dec    %edi
40fc3c:	65 6a 2b             	gs push $0x2b
40fc3f:	48                   	dec    %eax
40fc40:	64 39 35 35 69 34 6f 	cmp    %esi,%fs:0x6f346935
40fc47:	30 50 50             	xor    %dl,0x50(%eax)
40fc4a:	4b                   	dec    %ebx
40fc4b:	31 53 4d             	xor    %edx,0x4d(%ebx)
40fc4e:	4c                   	dec    %esp
40fc4f:	4d                   	dec    %ebp
40fc50:	50                   	push   %eax
40fc51:	59                   	pop    %ecx
40fc52:	68 62 68 67 52       	push   $0x52676862
40fc57:	49                   	dec    %ecx
40fc58:	42                   	inc    %edx
40fc59:	4d                   	dec    %ebp
40fc5a:	2b 63 45             	sub    0x45(%ebx),%esp
40fc5d:	48                   	dec    %eax
40fc5e:	51                   	push   %ecx
40fc5f:	35 51 6e 55 4b       	xor    $0x4b556e51,%eax
40fc64:	56                   	push   %esi
40fc65:	34 72                	xor    $0x72,%al
40fc67:	43                   	inc    %ebx
40fc68:	53                   	push   %ebx
40fc69:	31 6c 36 72          	xor    %ebp,0x72(%esi,%esi,1)
40fc6d:	34 45                	xor    $0x45,%al
40fc6f:	55                   	push   %ebp
40fc70:	32 66 31             	xor    0x31(%esi),%ah
40fc73:	56                   	push   %esi
40fc74:	53                   	push   %ebx
40fc75:	52                   	push   %edx
40fc76:	74 2b                	je     0x40fca3
40fc78:	7a 70                	jp     0x40fcea
40fc7a:	63 59 79             	arpl   %ebx,0x79(%ecx)
40fc7d:	5a                   	pop    %edx
40fc7e:	61                   	popa
40fc7f:	2f                   	das
40fc80:	37                   	aaa
40fc81:	4a                   	dec    %edx
40fc82:	64 31 76 2b          	xor    %esi,%fs:0x2b(%esi)
40fc86:	44                   	inc    %esp
40fc87:	39 37                	cmp    %esi,(%edi)
40fc89:	30 6a 41             	xor    %ch,0x41(%edx)
40fc8c:	6f                   	outsl  %ds:(%esi),(%dx)
40fc8d:	2f                   	das
40fc8e:	6d                   	insl   (%dx),%es:(%edi)
40fc8f:	39 4d 6d             	cmp    %ecx,0x6d(%ebp)
40fc92:	50                   	push   %eax
40fc93:	2b 64 74 6c          	sub    0x6c(%esp,%esi,2),%esp
40fc97:	32 54 32 36          	xor    0x36(%edx,%esi,1),%dl
40fc9b:	67 51                	addr16 push %ecx
40fc9d:	71 6e                	jno    0x40fd0d
40fc9f:	6c                   	insb   (%dx),%es:(%edi)
40fca0:	2b 6b 46             	sub    0x46(%ebx),%ebp
40fca3:	49                   	dec    %ecx
40fca4:	63 62 32             	arpl   %esp,0x32(%edx)
40fca7:	78 43                	js     0x40fcec
40fca9:	41                   	inc    %ecx
40fcaa:	69 67 6b 37 41 39 6f 	imul   $0x6f394137,0x6b(%edi),%esp
40fcb1:	74 68                	je     0x40fd1b
40fcb3:	4c                   	dec    %esp
40fcb4:	50                   	push   %eax
40fcb5:	6c                   	insb   (%dx),%es:(%edi)
40fcb6:	64 32 4b 76          	xor    %fs:0x76(%ebx),%cl
40fcba:	67 4d                	addr16 dec %ebp
40fcbc:	6a 4a                	push   $0x4a
40fcbe:	35 7a 77 51 45       	xor    $0x4551777a,%eax
40fcc3:	2b 7a 61             	sub    0x61(%edx),%edi
40fcc6:	39 6a 4b             	cmp    %ebp,0x4b(%edx)
40fcc9:	31 4a 58             	xor    %ecx,0x58(%edx)
40fccc:	32 62 44             	xor    0x44(%edx),%ah
40fccf:	74 45                	je     0x40fd16
40fcd1:	30 58 5a             	xor    %bl,0x5a(%eax)
40fcd4:	6d                   	insl   (%dx),%es:(%edi)
40fcd5:	57                   	push   %edi
40fcd6:	6e                   	outsb  %ds:(%esi),(%dx)
40fcd7:	7a 59                	jp     0x40fd32
40fcd9:	5a                   	pop    %edx
40fcda:	39 50 4a             	cmp    %edx,0x4a(%eax)
40fcdd:	54                   	push   %esp
40fcde:	4e                   	dec    %esi
40fcdf:	47                   	inc    %edi
40fce0:	62 65 34             	bound  %esp,0x34(%ebp)
40fce3:	4d                   	dec    %ebp
40fce4:	6d                   	insl   (%dx),%es:(%edi)
40fce5:	66 6a 51             	pushw  $0x51
40fce8:	2b 4e 71             	sub    0x71(%esi),%ecx
40fceb:	49                   	dec    %ecx
40fcec:	6e                   	outsb  %ds:(%esi),(%dx)
40fced:	32 6e 4a             	xor    0x4a(%esi),%ch
40fcf0:	56                   	push   %esi
40fcf1:	43                   	inc    %ebx
40fcf2:	74 6a                	je     0x40fd5e
40fcf4:	35 70 65 67 71       	xor    $0x71676570,%eax
40fcf9:	69 74 75 7a 75 58 58 	imul   $0x43585875,0x7a(%ebp,%esi,2),%esi
40fd00:	43
40fd01:	50                   	push   %eax
40fd02:	69 71 69 79 35 62 35 	imul   $0x35623579,0x69(%ecx),%esi
40fd09:	62 67 36             	bound  %esp,0x36(%edi)
40fd0c:	76 78                	jbe    0x40fd86