00402000 <.text>:
402000:	60                   	pusha
402001:	af                   	scas   %es:(%edi),%eax
402002:	06                   	push   %es
402003:	00 00                	add    %al,(%eax)
402005:	00 00                	add    %al,(%eax)
402007:	00 48 00             	add    %cl,0x0(%eax)
40200a:	00 00                	add    %al,(%eax)
40200c:	02 00                	add    (%eax),%al
40200e:	05 00 78 3b 06       	add    $0x63b7800,%eax
402013:	00 b0 73 00 00 03    	add    %dh,0x3000073(%eax)
402019:	00 00                	add    %al,(%eax)
40201b:	00 0f                	add    %cl,(%edi)
40201d:	00 00                	add    %al,(%eax)
40201f:	06                   	push   %es
402020:	70 47                	jo     0x402069
402022:	00 00                	add    %al,(%eax)
402024:	08 f4                	or     %dh,%ah
402026:	05 00 00 00 00       	add    $0x0,%eax
40204f:	00 46 02             	add    %al,0x2(%esi)
402052:	28 01                	sub    %al,(%ecx)
402054:	00 00                	add    %al,(%eax)
402056:	0a 00                	or     (%eax),%al
402058:	00 02                	add    %al,(%edx)
40205a:	28 02                	sub    %al,(%edx)
40205c:	00 00                	add    %al,(%eax)
40205e:	06                   	push   %es
40205f:	00 00                	add    %al,(%eax)
402061:	2a 00                	sub    (%eax),%al
402063:	00 0a                	add    %cl,(%edx)
402065:	00 2a                	add    %ch,(%edx)
402067:	00 13                	add    %dl,(%ebx)
402069:	30 02                	xor    %al,(%edx)
40206b:	00 12                	add    %dl,(%edx)
40206d:	00 00                	add    %al,(%eax)
40206f:	00 01                	add    %al,(%ecx)
402071:	00 00                	add    %al,(%eax)
402073:	11 00                	adc    %eax,(%eax)
402075:	02 03                	add    (%ebx),%al
402077:	28 05 00 00 06 6f    	sub    %al,0x6f060000
40207d:	02 00                	add    (%eax),%al
40207f:	00 0a                	add    %cl,(%edx)
402081:	0a 2b                	or     (%ebx),%ch
402083:	00 06                	add    %al,(%esi)
402085:	2a 00                	sub    (%eax),%al
402087:	00 46 00             	add    %al,0x0(%esi)
40208a:	03 02                	add    (%edx),%eax
40208c:	03 28                	add    (%eax),%ebp
40208e:	03 00                	add    (%eax),%eax
402090:	00 06                	add    %al,(%esi)
402092:	14 6f                	adc    $0x6f,%al
402094:	03 00                	add    (%eax),%eax
402096:	00 0a                	add    %cl,(%edx)
402098:	26 2a 00             	sub    %es:(%eax),%al
40209b:	00 13                	add    %dl,(%ebx)
40209d:	30 01                	xor    %al,(%ecx)
40209f:	00 11                	add    %dl,(%ecx)
4020a1:	00 00                	add    %al,(%eax)
4020a3:	00 02                	add    %al,(%edx)
4020a5:	00 00                	add    %al,(%eax)
4020a7:	11 00                	adc    %eax,(%eax)
4020a9:	02 28                	add    (%eax),%ch
4020ab:	07                   	pop    %es
4020ac:	00 00                	add    %al,(%eax)
4020ae:	06                   	push   %es
4020af:	74 05                	je     0x4020b6
4020b1:	00 00                	add    %al,(%eax)
4020b3:	01 0a                	add    %ecx,(%edx)
4020b5:	2b 00                	sub    (%eax),%eax
4020b7:	06                   	push   %es
4020b8:	2a 00                	sub    (%eax),%al
4020ba:	00 00                	add    %al,(%eax)
4020bc:	13 30                	adc    (%eax),%esi
4020be:	02 00                	add    (%eax),%al
4020c0:	7e 00                	jle    0x4020c2
4020c2:	00 00                	add    %al,(%eax)
4020c4:	03 00                	add    (%eax),%eax
4020c6:	00 11                	add    %dl,(%ecx)
4020c8:	00 28                	add    %ch,(%eax)
4020ca:	09 00                	or     %eax,(%eax)
4020cc:	00 06                	add    %al,(%esi)
4020ce:	26 28 08             	sub    %cl,%es:(%eax)
4020d1:	00 00                	add    %al,(%eax)
4020d3:	06                   	push   %es
4020d4:	16                   	push   %ss
4020d5:	fe 01                	incb   (%ecx)
4020d7:	0d 09 2d 6a 00       	or     $0x6a2d09,%eax
4020dc:	28 04 00             	sub    %al,(%eax,%eax,1)
4020df:	00 0a                	add    %cl,(%edx)
4020e1:	02 6f 05             	add    0x5(%edi),%ch
4020e4:	00 00                	add    %al,(%eax)
4020e6:	0a 0a                	or     (%edx),%cl
4020e8:	06                   	push   %es
4020e9:	6f                   	outsl  %ds:(%esi),(%dx)
4020ea:	06                   	push   %es
4020eb:	00 00                	add    %al,(%eax)
4020ed:	0a 0b                	or     (%ebx),%cl
4020ef:	00 23                	add    %ah,(%ebx)
4020f1:	00 00                	add    %al,(%eax)
4020f3:	00 00                	add    %al,(%eax)
4020f5:	00 00                	add    %al,(%eax)
4020f7:	12 40 23             	adc    0x23(%eax),%al
4020fa:	00 00                	add    %al,(%eax)
4020fc:	00 00                	add    %al,(%eax)
4020fe:	00 00                	add    %al,(%eax)
402100:	f8                   	clc
402101:	3f                   	aas
402102:	59                   	pop    %ecx
402103:	28 07                	sub    %al,(%edi)
402105:	00 00                	add    %al,(%eax)
402107:	0a 0c 28             	or     (%eax,%ebp,1),%cl
40210a:	09 00                	or     %eax,(%eax)
40210c:	00 06                	add    %al,(%esi)
40210e:	0d 09 2d 00 08       	or     $0x8002d09,%eax
402113:	13 04 11             	adc    (%ecx,%edx,1),%eax
402116:	04 45                	add    $0x45,%al
402118:	06                   	push   %es
402119:	00 00                	add    %al,(%eax)
40211b:	00 02                	add    %al,(%edx)
40211d:	00 00                	add    %al,(%eax)
40211f:	00 10                	add    %dl,(%eax)
402121:	00 00                	add    %al,(%eax)
402123:	00 10                	add    %dl,(%eax)
402125:	00 00                	add    %al,(%eax)
402127:	00 04 00             	add    %al,(%eax,%eax,1)
40212a:	00 00                	add    %al,(%eax)
40212c:	02 00                	add    (%eax),%al
40212e:	00 00                	add    %al,(%eax)
402130:	0e                   	push   %cs
402131:	00 00                	add    %al,(%eax)
402133:	00 2b                	add    %ch,(%ebx)
402135:	0e                   	push   %cs
402136:	2b a4 06 07 28 04 00 	sub    0x42807(%esi,%eax,1),%esp
40213d:	00 06                	add    %al,(%esi)
40213f:	00 2b                	add    %ch,(%ebx)
402141:	02 2b                	add    (%ebx),%ch
402143:	01 00                	add    %eax,(%eax)
402145:	2a 00                	sub    (%eax),%al
402147:	00 13                	add    %dl,(%ebx)
402149:	30 01                	xor    %al,(%ecx)
40214b:	00 11                	add    %dl,(%ecx)
40214d:	00 00                	add    %al,(%eax)
40214f:	00 01                	add    %al,(%ecx)
402151:	00 00                	add    %al,(%eax)
402153:	11 00                	adc    %eax,(%eax)
402155:	02 74 08 00          	add    0x0(%eax,%ecx,1),%dh
402159:	00 01                	add    %al,(%ecx)
40215b:	6f                   	outsl  %ds:(%esi),(%dx)
40215c:	08 00                	or     %al,(%eax)
40215e:	00 0a                	add    %cl,(%edx)
402160:	0a 2b                	or     (%ebx),%ch
402162:	00 06                	add    %al,(%esi)
402164:	2a 00                	sub    (%eax),%al
402166:	00 00                	add    %al,(%eax)
402168:	13 30                	adc    (%eax),%esi
40216a:	01 00                	add    %eax,(%eax)
40216c:	07                   	pop    %es
40216d:	00 00                	add    %al,(%eax)
40216f:	00 04 00             	add    %al,(%eax,%eax,1)
402172:	00 11                	add    %dl,(%ecx)
402174:	00 17                	add    %dl,(%edi)
402176:	0a 2b                	or     (%ebx),%ch
402178:	00 06                	add    %al,(%esi)
40217a:	2a 00                	sub    (%eax),%al
40217c:	13 30                	adc    (%eax),%esi
40217e:	01 00                	add    %eax,(%eax)
402180:	07                   	pop    %es
402181:	00 00                	add    %al,(%eax)
402183:	00 04 00             	add    %al,(%eax,%eax,1)
402186:	00 11                	add    %dl,(%ecx)
402188:	00 16                	add    %dl,(%esi)
40218a:	0a 2b                	or     (%ebx),%ch
40218c:	00 06                	add    %al,(%esi)
40218e:	2a 00                	sub    (%eax),%al
402190:	46                   	inc    %esi
402191:	02 28                	add    (%eax),%ch
402193:	01 00                	add    %eax,(%eax)
402195:	00 0a                	add    %cl,(%edx)
402197:	00 00                	add    %al,(%eax)
402199:	02 28                	add    (%eax),%ch
40219b:	0b 00                	or     (%eax),%eax
40219d:	00 06                	add    %al,(%esi)
40219f:	00 00                	add    %al,(%eax)
4021a1:	2a 00                	sub    (%eax),%al
4021a3:	00 0a                	add    %cl,(%edx)
4021a5:	00 2a                	add    %ch,(%edx)
4021a7:	00 1b                	add    %bl,(%ebx)
4021a9:	30 02                	xor    %al,(%edx)
4021ab:	00 72 00             	add    %dh,0x0(%edx)
4021ae:	00 00                	add    %al,(%eax)
4021b0:	05 00 00 11 00       	add    $0x110000,%eax
4021b5:	28 14 00             	sub    %dl,(%eax,%eax,1)
4021b8:	00 06                	add    %al,(%esi)
4021ba:	13 04 11             	adc    (%ecx,%edx,1),%eax
4021bd:	04 2d                	add    $0x2d,%al
4021bf:	60                   	pusha
4021c0:	00 14 0a             	add    %dl,(%edx,%ecx,1)
4021c3:	02 72 01             	add    0x1(%edx),%dh
4021c6:	00 00                	add    %al,(%eax)
4021c8:	70 28                	jo     0x4021f2
4021ca:	10 00                	adc    %al,(%eax)
4021cc:	00 06                	add    %al,(%esi)
4021ce:	74 09                	je     0x4021d9
4021d0:	00 00                	add    %al,(%eax)
4021d2:	01 0b                	add    %ecx,(%ebx)
4021d4:	00 07                	add    %al,(%edi)
4021d6:	73 09                	jae    0x4021e1
4021d8:	00 00                	add    %al,(%eax)
4021da:	0a 0c 08             	or     (%eax,%ecx,1),%cl
4021dd:	07                   	pop    %es
4021de:	6f                   	outsl  %ds:(%esi),(%dx)
4021df:	0a 00                	or     (%eax),%al
4021e1:	00 0a                	add    %cl,(%edx)
4021e3:	69 28 11 00 00 06    	imul   $0x6000011,(%eax),%ebp
4021e9:	74 01                	je     0x4021ec
4021eb:	00 00                	add    %al,(%eax)
4021ed:	1b 0a                	sbb    (%edx),%ecx
4021ef:	de 12                	ficoms (%edx)
4021f1:	08 14 fe             	or     %dl,(%esi,%edi,8)
4021f4:	01 13                	add    %edx,(%ebx)
4021f6:	04 11                	add    $0x11,%al
4021f8:	04 2d                	add    $0x2d,%al
4021fa:	07                   	pop    %es
4021fb:	08 6f 0b             	or     %ch,0xb(%edi)
4021fe:	00 00                	add    %al,(%eax)
402200:	0a 00                	or     (%eax),%al
402202:	dc 00                	faddl  (%eax)
402204:	00 de                	add    %bl,%dh
402206:	14 00                	adc    $0x0,%al
402208:	07                   	pop    %es
402209:	14 fe                	adc    $0xfe,%al
40220b:	01 13                	add    %edx,(%ebx)
40220d:	04 11                	add    $0x11,%al
40220f:	04 2d                	add    $0x2d,%al
402211:	07                   	pop    %es
402212:	07                   	pop    %es
402213:	28 12                	sub    %dl,(%edx)
402215:	00 00                	add    %al,(%eax)
402217:	06                   	push   %es
402218:	00 00                	add    %al,(%eax)
40221a:	dc 00                	faddl  (%eax)
40221c:	06                   	push   %es
40221d:	0d 2b 04 14 0d       	or     $0xd14042b,%eax
402222:	2b 00                	sub    (%eax),%eax
402224:	09 2a                	or     %ebp,(%edx)
402226:	00 00                	add    %al,(%eax)
402228:	01 1c 00             	add    %ebx,(%eax,%eax,1)
40222b:	00 02                	add    %al,(%edx)
40222d:	00 28                	add    %ch,(%eax)
40222f:	00 15 3d 00 12 00    	add    %dl,0x12003d
402235:	00 00                	add    %al,(%eax)
402237:	00 02                	add    %al,(%edx)
402239:	00 20                	add    %ah,(%eax)
40223b:	00 33                	add    %dh,(%ebx)
40223d:	53                   	push   %ebx
40223e:	00 14 00             	add    %dl,(%eax,%eax,1)
402241:	00 00                	add    %al,(%eax)
402243:	00 13                	add    %dl,(%ebx)
402245:	30 06                	xor    %al,(%esi)
402247:	00 73 00             	add    %dh,0x0(%ebx)
40224a:	00 00                	add    %al,(%eax)
40224c:	06                   	push   %es
40224d:	00 00                	add    %al,(%eax)
40224f:	11 00                	adc    %eax,(%eax)
402251:	28 0c 00             	sub    %cl,(%eax,%eax,1)
402254:	00 0a                	add    %cl,(%edx)
402256:	7e 01                	jle    0x402259
402258:	00 00                	add    %al,(%eax)
40225a:	04 28                	add    $0x28,%al
40225c:	15 00 00 06 74       	adc    $0x74060000,%eax
402261:	01 00                	add    %eax,(%eax)
402263:	00 1b                	add    %bl,(%ebx)
402265:	0a 28                	or     (%eax),%ch
402267:	14 00                	adc    $0x0,%al
402269:	00 06                	add    %al,(%esi)
40226b:	26 28 13             	sub    %dl,%es:(%ebx)
40226e:	00 00                	add    %al,(%eax)
402270:	06                   	push   %es
402271:	16                   	push   %ss
402272:	fe 01                	incb   (%ecx)
402274:	0d 09 2d 02 16       	or     $0x16022d09,%eax
402279:	0b 16                	or     (%esi),%edx
40227b:	0b 2b                	or     (%ebx),%ebp
40227d:	35 02 07 8f 0d       	xor    $0xd8f0702,%eax
402282:	00 00                	add    %al,(%eax)
402284:	01 25 71 0d 00 00    	add    %esp,0xd71
40228a:	01 06                	add    %eax,(%esi)
40228c:	07                   	pop    %es
40228d:	00 23                	add    %ah,(%ebx)
40228f:	00 00                	add    %al,(%eax)
402291:	00 00                	add    %al,(%eax)
402293:	00 00                	add    %al,(%eax)
402295:	00 40 23             	add    %al,0x23(%eax)
402298:	00 00                	add    %al,(%eax)
40229a:	00 00                	add    %al,(%eax)
40229c:	00 00                	add    %al,(%eax)
40229e:	20 40 5a             	and    %al,0x5a(%eax)
4022a1:	28 07                	sub    %al,(%edi)
4022a3:	00 00                	add    %al,(%eax)
4022a5:	0a 5d 91             	or     -0x6f(%ebp),%bl
4022a8:	61                   	popa
4022a9:	d2 81 0d 00 00 01    	rolb   %cl,0x100000d(%ecx)
4022af:	07                   	pop    %es
4022b0:	17                   	pop    %ss
4022b1:	58                   	pop    %eax
4022b2:	0b 07                	or     (%edi),%eax
4022b4:	02 8e 69 fe 04 0d    	add    0xd04fe69(%esi),%cl
4022ba:	09 2d c1 02 0c 2b    	or     %ebp,0x2b0c02c1
4022c0:	00 08                	add    %cl,(%eax)
4022c2:	2a 00                	sub    (%eax),%al
4022c4:	36 00 7e 02          	add    %bh,%ss:0x2(%esi)
4022c8:	00 00                	add    %al,(%eax)
4022ca:	04 28                	add    $0x28,%al
4022cc:	06                   	push   %es
4022cd:	00 00                	add    %al,(%eax)
4022cf:	06                   	push   %es
4022d0:	00 2a                	add    %ch,(%edx)
4022d2:	00 00                	add    %al,(%eax)
4022d4:	0b 30                	or     (%eax),%esi
4022d6:	01 00                	add    %eax,(%eax)
4022d8:	12 00                	adc    (%eax),%al
4022e2:	28 0e                	sub    %cl,(%esi)
4022e4:	00 00                	add    %al,(%eax)
4022e6:	06                   	push   %es
4022e7:	00 00                	add    %al,(%eax)
4022e9:	de 05 26 00 00 de    	fiadds 0xde000026
4022ef:	00 00                	add    %al,(%eax)
4022f1:	2a 00                	sub    (%eax),%al
4022f3:	00 01                	add    %al,(%ecx)
4022f5:	10 00                	adc    %al,(%eax)
4022f7:	00 00                	add    %al,(%eax)
4022f9:	00 01                	add    %al,(%ecx)
4022fb:	00 0a                	add    %cl,(%edx)
4022fd:	0b 00                	or     (%eax),%eax
4022ff:	05 01 00 00 01       	add    $0x1000001,%eax
402304:	13 30                	adc    (%eax),%esi
402306:	02 00                	add    (%eax),%al
402308:	17                   	pop    %ss
402309:	00 00                	add    %al,(%eax)
40230b:	00 01                	add    %al,(%ecx)
40230d:	00 00                	add    %al,(%eax)
40230f:	11 00                	adc    %eax,(%eax)
402311:	02 74 02 00          	add    0x0(%edx,%eax,1),%dh
402315:	00 01                	add    %al,(%ecx)
402317:	03 74 05 00          	add    0x0(%ebp,%eax,1),%esi
40231b:	00 01                	add    %al,(%ecx)
40231d:	6f                   	outsl  %ds:(%esi),(%dx)
40231e:	0d 00 00 0a 0a       	or     $0xa0a0000,%eax
402323:	2b 00                	sub    (%eax),%eax
402325:	06                   	push   %es