408ed4:	55                   	push   %ebp
408ed5:	47                   	inc    %edi
408ed6:	4c                   	dec    %esp
408ed7:	45                   	inc    %ebp
408ed8:	4e                   	dec    %esi
408ed9:	45                   	inc    %ebp
408eda:	53                   	push   %ebx
408edb:	00 55 70             	add    %dl,0x70(%ebp)
408ede:	62 61 6e             	bound  %esp,0x6e(%ecx)
408ee1:	64 34 00             	fs xor $0x0,%al
408ee4:	44                   	inc    %esp
408ee5:	61                   	popa
408ee6:	74 61                	je     0x408f49
408ee8:	6c                   	insb   (%dx),%es:(%edi)
408ee9:	61                   	popa
408eea:	67 72 65             	addr16 jb 0x408f52
408eed:	6e                   	outsb  %ds:(%esi),(%dx)
408eee:	65 35 00 00 00 00    	gs xor $0x0,%eax
408ef4:	0c 00                	or     $0x0,%al
408ef6:	40                   	inc    %eax
408eff:	00 02                	add    %al,(%edx)
408f01:	00 00                	add    %al,(%eax)
408f03:	00 32                	add    %dh,(%edx)
408f05:	00 00                	add    %al,(%eax)
408f07:	00 23                	add    %ah,(%ebx)
408f09:	3d fb fc fa a0       	cmp    $0xa0fafcfb,%eax
408f0e:	68 10 a7 38 08       	push   $0x838a710
408f13:	00 2b                	add    %ch,(%ebx)
408f15:	33 71 b5             	xor    -0x4b(%ecx),%esi
408f18:	22 3d fb fc fa a0    	and    0xa0fafcfb,%bh
408f1e:	68 10 a7 38 08       	push   $0x838a710
408f23:	00 2b                	add    %ch,(%ebx)
408f25:	33 71 b5             	xor    -0x4b(%ecx),%esi
408f28:	02 00                	add    (%eax),%al
408f2a:	00 00                	add    %al,(%eax)
408f2c:	08 8f 40 00 18 8f    	or     %cl,-0x70e7ffc0(%edi)
408f32:	40                   	inc    %eax
408f33:	00 00                	add    %al,(%eax)
408f35:	00 00                	add    %al,(%eax)
408f37:	00 79 4f             	add    %bh,0x4f(%ecx)
408f3a:	ad                   	lods   %ds:(%esi),%eax
408f3b:	33 99 66 cf 11 b7    	xor    -0x48ee309a(%ecx),%ebx
408f41:	0c 00                	or     $0x0,%al
408f43:	aa                   	stos   %al,%es:(%edi)
408f44:	00 60 d3             	add    %ah,-0x2d(%eax)
408f47:	93                   	xchg   %eax,%ebx
408f48:	4e                   	dec    %esi
408f49:	00 00                	add    %al,(%eax)
408f4b:	00 50 00             	add    %dl,0x0(%eax)
408f4e:	69 00 67 00 6e 00    	imul   $0x6e0067,(%eax),%eax
408f54:	74 00                	je     0x408f56
408f56:	76 00                	jbe    0x408f58
408f58:	6f                   	outsl  %ds:(%esi),(%dx)
408f59:	00 32                	add    %dh,(%edx)
408f5b:	00 44 00 30          	add    %al,0x30(%eax,%eax,1)
408f5f:	00 6b 00             	add    %ch,0x0(%ebx)
408f62:	62 00                	bound  %eax,(%eax)
408f64:	74 00                	je     0x408f66
408f66:	4b                   	dec    %ebx
408f67:	00 78 00             	add    %bh,0x0(%eax)
408f6a:	79 00                	jns    0x408f6c
408f6c:	4c                   	dec    %esp
408f6d:	00 33                	add    %dh,(%ebx)
408f6f:	00 6d 00             	add    %ch,0x0(%ebp)
408f72:	36 00 69 00          	add    %ch,%ss:0x0(%ecx)
408f76:	34 00                	xor    $0x0,%al
408f78:	47                   	inc    %edi
408f79:	00 67 00             	add    %ah,0x0(%edi)
408f7c:	49                   	dec    %ecx
408f7d:	00 73 00             	add    %dh,0x0(%ebx)
408f80:	50                   	push   %eax
408f81:	00 37                	add    %dh,(%edi)
408f83:	00 75 00             	add    %dh,0x0(%ebp)
408f86:	6d                   	insl   (%dx),%es:(%edi)
408f87:	00 47 00             	add    %al,0x0(%edi)
408f8a:	35 00 63 00 42       	xor    $0x42006300,%eax
408f8f:	00 35 00 49 00 32    	add    %dh,0x32004900
408f95:	00 33                	add    %dh,(%ebx)
408f97:	00 35 00 00 00 18    	add    %dh,0x18000000
408f9d:	00 00                	add    %al,(%eax)
408f9f:	00 45 00             	add    %al,0x0(%ebp)
408fa2:	6e                   	outsb  %ds:(%esi),(%dx)
408fa3:	00 4f 00             	add    %cl,0x0(%edi)
408fa6:	30 00                	xor    %al,(%eax)
408fa8:	44                   	inc    %esp
408fa9:	00 38                	add    %bh,(%eax)
408fab:	00 47 00             	add    %al,0x0(%edi)
408fae:	69 00 73 00 54 00    	imul   $0x540073,(%eax),%eax
408fb4:	33 00                	xor    (%eax),%eax
408fb6:	37                   	aaa
408fb7:	00 00                	add    %al,(%eax)
408fb9:	00 00                	add    %al,(%eax)
408fbb:	00 22                	add    %ah,(%edx)
408fbd:	00 00                	add    %al,(%eax)
408fbf:	00 54 00 73          	add    %dl,0x73(%eax,%eax,1)
408fc3:	00 44 00 4a          	add    %al,0x4a(%eax,%eax,1)
408fc7:	00 5a 00             	add    %bl,0x0(%edx)
408fca:	64 00 78 00          	add    %bh,%fs:0x0(%eax)
408fce:	50                   	push   %eax
408fcf:	00 43 00             	add    %al,0x0(%ebx)
408fd2:	54                   	push   %esp
408fd3:	00 35 00 42 00 39    	add    %dh,0x39004200
408fd9:	00 54 00 71          	add    %dl,0x71(%eax,%eax,1)
408fdd:	00 34 00             	add    %dh,(%eax,%eax,1)
408fe0:	34 00                	xor    $0x0,%al
408fe2:	00 00                	add    %al,(%eax)
408fe4:	54                   	push   %esp
408fe5:	00 31                	add    %dh,(%ecx)
408fe7:	00 39                	add    %bh,(%ecx)
408fe9:	00 30                	add    %dh,(%eax)
408feb:	00 47 00             	add    %al,0x0(%edi)
408fee:	38 00                	cmp    %al,(%eax)
408ff0:	4a                   	dec    %edx
408ff1:	00 4b 00             	add    %cl,0x0(%ebx)
408ff4:	63 00                	arpl   %eax,(%eax)
408ff6:	75 00                	jne    0x408ff8
408ff8:	35 00 79 00 6e       	xor    $0x6e007900,%eax
408ffd:	00 73 00             	add    %dh,0x0(%ebx)
409000:	31 00                	xor    %eax,(%eax)
409002:	7a 00                	jp     0x409004
409004:	31 00                	xor    %eax,(%eax)
409006:	42                   	inc    %edx
409007:	00 79 00             	add    %bh,0x0(%ecx)
40900a:	6e                   	outsb  %ds:(%esi),(%dx)
40900b:	00 4c 00 38          	add    %cl,0x38(%eax,%eax,1)
40900f:	00 52 00             	add    %dl,0x0(%edx)
409012:	53                   	push   %ebx
409013:	00 61 00             	add    %ah,0x0(%ecx)
409016:	72 00                	jb     0x409018
409018:	31 00                	xor    %eax,(%eax)
40901a:	38 00                	cmp    %al,(%eax)
40901c:	35 00 00 00 81       	xor    $0x81000000,%eax
409021:	09 f8                	or     %edi,%eax
409023:	7b 32                	jnp    0x409057
409025:	bf 1a 10 8b bb       	mov    $0xbb8b101a,%edi
40902a:	00 aa 00 30 0c ab    	add    %ch,-0x54f3d000(%edx)
409030:	49                   	dec    %ecx
409031:	4f                   	dec    %edi
409032:	ad                   	lods   %ds:(%esi),%eax
409033:	33 99 66 cf 11 b7    	xor    -0x48ee309a(%ecx),%ebx
409039:	0c 00                	or     $0x0,%al
40903b:	aa                   	stos   %al,%es:(%edi)
40903c:	00 60 d3             	add    %ah,-0x2d(%eax)
40903f:	93                   	xchg   %eax,%ebx
409040:	52                   	push   %edx
409041:	00 00                	add    %al,(%eax)
409043:	00 41 00             	add    %al,0x0(%ecx)
409046:	59                   	pop    %ecx
409047:	00 62 00             	add    %ah,0x0(%edx)
40904a:	6a 00                	push   $0x0
40904c:	54                   	push   %esp
40904d:	00 4e 00             	add    %cl,0x0(%esi)
409050:	4c                   	dec    %esp
409051:	00 49 00             	add    %cl,0x0(%ecx)
409054:	78 00                	js     0x409056
409056:	70 00                	jo     0x409058
409058:	71 00                	jno    0x40905a
40905a:	74 00                	je     0x40905c
40905c:	69 00 70 00 57 00    	imul   $0x570070,(%eax),%eax
409062:	41                   	inc    %ecx
409063:	00 35 00 4b 00 33    	add    %dh,0x33004b00
409069:	00 63 00             	add    %ah,0x0(%ebx)
40906c:	47                   	inc    %edi
40906d:	00 58 00             	add    %bl,0x0(%eax)
409070:	47                   	inc    %edi
409071:	00 51 00             	add    %dl,0x0(%ecx)
409074:	74 00                	je     0x409076
409076:	48                   	dec    %eax
409077:	00 6d 00             	add    %ch,0x0(%ebp)
40907a:	62 00                	bound  %eax,(%eax)
40907c:	77 00                	ja     0x40907e
40907e:	7a 00                	jp     0x409080
409080:	5a                   	pop    %edx
409081:	00 53 00             	add    %dl,0x0(%ebx)
409084:	57                   	push   %edi
409085:	00 30                	add    %dh,(%eax)
409087:	00 4b 00             	add    %cl,0x0(%ebx)
40908a:	48                   	dec    %eax
40908b:	00 75 00             	add    %dh,0x0(%ebp)
40908e:	44                   	inc    %esp
40908f:	00 69 00             	add    %ch,0x0(%ecx)
409092:	39 00                	cmp    %eax,(%eax)
409094:	30 00                	xor    %al,(%eax)
409096:	00 00                	add    %al,(%eax)
409098:	14 00                	adc    $0x0,%al
40909a:	00 00                	add    %al,(%eax)
40909c:	48                   	dec    %eax
40909d:	00 49 00             	add    %cl,0x0(%ecx)
4090a0:	66 00 51 00          	data16 add %dl,0x0(%ecx)
4090a4:	45                   	inc    %ebp
4090a5:	00 52 00             	add    %dl,0x0(%edx)
4090a8:	58                   	pop    %eax
4090a9:	00 70 00             	add    %dh,0x0(%eax)
4090ac:	37                   	aaa
4090ad:	00 35 00 00 00 00    	add    %dh,0x0
4090b3:	00 16                	add    %dl,(%esi)
4090b5:	00 00                	add    %al,(%eax)
4090b7:	00 58 00             	add    %bl,0x0(%eax)
4090ba:	30 00                	xor    %al,(%eax)
4090bc:	6a 00                	push   $0x0
4090be:	72 00                	jb     0x4090c0
4090c0:	47                   	inc    %edi
4090c1:	00 59 00             	add    %bl,0x0(%ecx)
4090c4:	64 00 75 00          	add    %dh,%fs:0x0(%ebp)
4090c8:	31 00                	xor    %eax,(%eax)
4090ca:	36 00 37             	add    %dh,%ss:(%edi)
4090cd:	00 00                	add    %al,(%eax)
4090cf:	00 1c 00             	add    %bl,(%eax,%eax,1)
4090d2:	00 00                	add    %al,(%eax)
4090d4:	4f                   	dec    %edi
4090d5:	00 46 00             	add    %al,0x0(%esi)
4090d8:	79 00                	jns    0x4090da
4090da:	66 00 35 00 59 00 7a 	data16 add %dh,0x7a005900
4090e1:	00 45 00             	add    %al,0x0(%ebp)
4090e4:	49                   	dec    %ecx
4090e5:	00 4e 00             	add    %cl,0x0(%esi)
4090e8:	63 00                	arpl   %eax,(%eax)
4090ea:	31 00                	xor    %eax,(%eax)
4090ec:	35 00 31 00 00       	xor    $0x3100,%eax
4090f1:	00 00                	add    %al,(%eax)
4090f3:	00 34 00             	add    %dh,(%eax,%eax,1)
4090f6:	00 00                	add    %al,(%eax)
4090f8:	67 00 75 00          	add    %dh,0x0(%di)
4090fc:	4b                   	dec    %ebx
4090fd:	00 53 00             	add    %dl,0x0(%ebx)
409100:	4d                   	dec    %ebp
409101:	00 6f 00             	add    %ch,0x0(%edi)
409104:	5a                   	pop    %edx
409105:	00 42 00             	add    %al,0x0(%edx)
409108:	74 00                	je     0x40910a
40910a:	57                   	push   %edi
40910b:	00 4c 00 6b          	add    %cl,0x6b(%eax,%eax,1)
40910f:	00 71 00             	add    %dh,0x0(%ecx)
409112:	56                   	push   %esi
409113:	00 74 00 6f          	add    %dh,0x6f(%eax,%eax,1)
409117:	00 57 00             	add    %dl,0x0(%edi)
40911a:	79 00                	jns    0x40911c
40911c:	6f                   	outsl  %ds:(%esi),(%dx)
40911d:	00 76 00             	add    %dh,0x0(%esi)
409120:	39 00                	cmp    %eax,(%eax)
409122:	71 00                	jno    0x409124
409124:	72 00                	jb     0x409126
409126:	32 00                	xor    (%eax),%al
409128:	30 00                	xor    %al,(%eax)
40912a:	37                   	aaa
40912b:	00 00                	add    %al,(%eax)
40912d:	00 00                	add    %al,(%eax)
40912f:	00 1a                	add    %bl,(%edx)
409131:	00 00                	add    %al,(%eax)
409133:	00 45 00             	add    %al,0x0(%ebp)
409136:	6d                   	insl   (%dx),%es:(%edi)
409137:	00 4f 00             	add    %cl,0x0(%edi)
40913a:	78 00                	js     0x40913c
40913c:	33 00                	xor    (%eax),%eax
40913e:	79 00                	jns    0x409140
409140:	69 00 33 00 4b 00    	imul   $0x4b0033,(%eax),%eax
409146:	30 00                	xor    %al,(%eax)
409148:	47                   	inc    %edi
409149:	00 55 00             	add    %dl,0x0(%ebp)
40914c:	39 00                	cmp    %eax,(%eax)
40914e:	00 00                	add    %al,(%eax)
409150:	0c 00                	or     $0x0,%al
409152:	08 00                	or     %al,(%eax)
40915c:	67 00 55 00          	add    %dl,0x0(%di)
409160:	42                   	inc    %edx
409161:	00 67 00             	add    %ah,0x0(%edi)
409164:	56                   	push   %esi
409165:	00 63 00             	add    %ah,0x0(%ebx)
409168:	31 00                	xor    %eax,(%eax)
40916a:	70 00                	jo     0x40916c
40916c:	44                   	inc    %esp
40916d:	00 54 00 4d          	add    %dl,0x4d(%eax,%eax,1)
409171:	00 52 00             	add    %dl,0x0(%edx)
409174:	67 00 6f 00          	add    %ch,0x0(%bx)
409178:	72 00                	jb     0x40917a
40917a:	43                   	inc    %ebx
40917b:	00 34 00             	add    %dh,(%eax,%eax,1)
40917e:	34 00                	xor    $0x0,%al
409180:	36 00 00             	add    %al,%ss:(%eax)
409183:	00 2e                	add    %ch,(%esi)
409185:	00 00                	add    %al,(%eax)
409187:	00 59 00             	add    %bl,0x0(%ecx)
40918a:	72 00                	jb     0x40918c
40918c:	6c                   	insb   (%dx),%es:(%edi)
40918d:	00 4b 00             	add    %cl,0x0(%ebx)
409190:	6f                   	outsl  %ds:(%esi),(%dx)
409191:	00 65 00             	add    %ah,0x0(%ebp)
409194:	37                   	aaa
409195:	00 68 00             	add    %ch,0x0(%eax)
409198:	74 00                	je     0x40919a
40919a:	66 00 76 00          	data16 add %dh,0x0(%esi)
40919e:	59                   	pop    %ecx
40919f:	00 31                	add    %dh,(%ecx)
4091a1:	00 57 00             	add    %dl,0x0(%edi)
4091a4:	4e                   	dec    %esi
4091a5:	00 67 00             	add    %ah,0x0(%edi)
4091a8:	53                   	push   %ebx
4091a9:	00 76 00             	add    %dh,0x0(%esi)
4091ac:	54                   	push   %esp
4091ad:	00 4f 00             	add    %cl,0x0(%edi)
4091b0:	31 00                	xor    %eax,(%eax)
4091b2:	39 00                	cmp    %eax,(%eax)
4091b4:	39 00                	cmp    %eax,(%eax)
4091b6:	00 00                	add    %al,(%eax)
4091b8:	02 00                	add    (%eax),%al
4091ba:	00 00                	add    %al,(%eax)
4091bc:	61                   	popa
4091bd:	00 00                	add    %al,(%eax)
4091bf:	00 02                	add    %al,(%edx)
4091c1:	00 00                	add    %al,(%eax)
4091c3:	00 41 00             	add    %al,0x0(%ecx)
4091c6:	00 00                	add    %al,(%eax)
4091c8:	18 00                	sbb    %al,(%eax)
4091ca:	00 00                	add    %al,(%eax)
4091cc:	01 00                	add    %eax,(%eax)
4091ce:	92                   	xchg   %eax,%edx
4091cf:	00 08                	add    %cl,(%eax)
4091d9:	00 00                	add    %al,(%eax)
4091db:	00 02                	add    %al,(%edx)
4091dd:	00 00                	add    %al,(%eax)
4091df:	00 00                	add    %al,(%eax)
4091e1:	00 00                	add    %al,(%eax)
4091e3:	00 0c 00             	add    %cl,(%eax,%eax,1)
4091e6:	00 00                	add    %al,(%eax)
4091e8:	4f                   	dec    %edi
4091e9:	00 75 00             	add    %dh,0x0(%ebp)
4091ec:	74 00                	je     0x4091ee
4091ee:	20 00                	and    %al,(%eax)
4091f0:	6f                   	outsl  %ds:(%esi),(%dx)
4091f1:	00 66 00             	add    %ah,0x0(%esi)
4091f4:	00 00                	add    %al,(%eax)
4091f6:	00 00                	add    %al,(%eax)
4091f8:	1a 00                	sbb    (%eax),%al
4091fa:	00 00                	add    %al,(%eax)
4091fc:	20 00                	and    %al,(%eax)
4091fe:	73 00                	jae    0x409200
409200:	74 00                	je     0x409202
409202:	72 00                	jb     0x409204
409204:	69 00 6e 00 67 00    	imul   $0x67006e,(%eax),%eax
40920a:	20 00                	and    %al,(%eax)
40920c:	73 00                	jae    0x40920e
40920e:	70 00                	jo     0x409210
409210:	61                   	popa
409211:	00 63 00             	add    %ah,0x0(%ebx)
409214:	65 00 00             	add    %al,%gs:(%eax)
409217:	00 2e                	add    %ch,(%esi)
409219:	00 00                	add    %al,(%eax)
40921b:	00 43 00             	add    %al,0x0(%ebx)
40921e:	39 00                	cmp    %eax,(%eax)
409220:	58                   	pop    %eax