00402000 <.text>:
402000:	70 4c                	jo     0x40204e
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 c3 05       	add    $0x5c37800,%eax
402013:	00 bc 88 00 00 03 00 	add    %bh,0x30000(%eax,%ecx,4)
40201a:	00 00                	add    %al,(%eax)
40201c:	ac                   	lods   %ds:(%esi),%al
40201d:	00 00                	add    %al,(%eax)
40201f:	06                   	push   %es
402020:	10 56 00             	adc    %dl,0x0(%esi)
402023:	00 68 6d             	add    %ch,0x6d(%eax)
402026:	05 00 00 00 00       	add    $0x0,%eax
40204f:	00 06                	add    %al,(%esi)
402051:	2a 22                	sub    (%edx),%ah
402053:	02 28                	add    (%eax),%ch
402055:	15 00 00 0a 00       	adc    $0xa0000,%eax
40205a:	2a 22                	sub    (%edx),%ah
40205c:	02 03                	add    (%ebx),%al
40205e:	28 16                	sub    %dl,(%esi)
402060:	00 00                	add    %al,(%eax)
402062:	0a 2a                	or     (%edx),%ch
402064:	22 02                	and    (%edx),%al
402066:	03 28                	add    (%eax),%ebp
402068:	17                   	pop    %ss
402069:	00 00                	add    %al,(%eax)
40206b:	0a 2a                	or     (%edx),%ch
40206d:	1e                   	push   %ds
40206e:	02 28                	add    (%eax),%ch
402070:	18 00                	sbb    %al,(%eax)
402072:	00 0a                	add    %cl,(%edx)
402074:	2a 1e                	sub    (%esi),%bl
402076:	02 7b 0c             	add    0xc(%ebx),%bh
402079:	00 00                	add    %al,(%eax)
40207b:	04 2a                	add    $0x2a,%al
40207d:	22 02                	and    (%edx),%al
40207f:	03 7d 0c             	add    0xc(%ebp),%edi
402082:	00 00                	add    %al,(%eax)
402084:	04 2a                	add    $0x2a,%al
402086:	7e 02                	jle    0x40208a
402088:	14 7d                	adc    $0x7d,%al
40208a:	0b 00                	or     (%eax),%eax
40208c:	00 04 02             	add    %al,(%edx,%eax,1)
40208f:	28 15 00 00 0a 00    	sub    %dl,0xa0000
402095:	00 02                	add    %al,(%edx)
402097:	03 7d 0b             	add    0xb(%ebp),%edi
40209a:	00 00                	add    %al,(%eax)
40209c:	04 02                	add    $0x2,%al
40209e:	16                   	push   %ss
40209f:	28 0b                	sub    %cl,(%ebx)
4020a1:	00 00                	add    %al,(%eax)
4020a3:	06                   	push   %es
4020a4:	00 2a                	add    %ch,(%edx)
4020a6:	1a 73 2e             	sbb    0x2e(%ebx),%dh
4020a9:	00 00                	add    %al,(%eax)
4020ab:	0a 2a                	or     (%edx),%ch
4020ad:	22 02                	and    (%edx),%al
4020af:	03 28                	add    (%eax),%ebp
4020b1:	2f                   	das
4020b2:	00 00                	add    %al,(%eax)
4020b4:	0a 2a                	or     (%edx),%ch
4020b6:	1e                   	push   %ds
4020b7:	02 73 30             	add    0x30(%ebx),%dh
4020ba:	00 00                	add    %al,(%eax)
4020bc:	0a 2a                	or     (%edx),%ch
4020be:	22 02                	and    (%edx),%al
4020c0:	03 28                	add    (%eax),%ebp
4020c2:	31 00                	xor    %eax,(%eax)
4020c4:	00 0a                	add    %cl,(%edx)
4020c6:	2a 4e 02             	sub    0x2(%esi),%cl
4020c9:	72 51                	jb     0x40211c
4020cb:	02 00                	add    (%eax),%al
4020cd:	70 7d                	jo     0x40214c
4020cf:	14 00                	adc    $0x0,%al
4020d1:	00 04 02             	add    %al,(%edx,%eax,1)
4020d4:	28 15 00 00 0a 00    	sub    %dl,0xa0000
4020da:	2a 26                	sub    (%esi),%ah
4020dc:	00 02                	add    %al,(%edx)
4020de:	28 18                	sub    %bl,(%eax)
4020e0:	00 00                	add    %al,(%eax)
4020e2:	06                   	push   %es
4020e3:	26 2a 1a             	sub    %es:(%edx),%bl
4020e6:	28 32                	sub    %dh,(%edx)
4020e8:	00 00                	add    %al,(%eax)
4020ea:	0a 2a                	or     (%edx),%ch
4020ec:	22 02                	and    (%edx),%al
4020ee:	03 6f 33             	add    0x33(%edi),%ebp
4020f1:	00 00                	add    %al,(%eax)
4020f3:	0a 2a                	or     (%edx),%ch
4020f5:	1e                   	push   %ds
4020f6:	02 6f 34             	add    0x34(%edi),%ch
4020f9:	00 00                	add    %al,(%eax)
4020fb:	0a 2a                	or     (%edx),%ch
4020fd:	1e                   	push   %ds
4020fe:	02 28                	add    (%eax),%ch
402100:	35 00 00 0a 2a       	xor    $0x2a0a0000,%eax
402105:	3a 02                	cmp    (%edx),%al
402107:	03 04 05 0e 04 0e 05 	add    0x50e040e(,%eax,1),%eax
40210e:	6f                   	outsl  %ds:(%esi),(%dx)
40210f:	36 00 00             	add    %al,%ss:(%eax)
402112:	0a 2a                	or     (%edx),%ch
402114:	1e                   	push   %ds
402115:	02 6f 3a             	add    0x3a(%edi),%ch
402118:	00 00                	add    %al,(%eax)
40211a:	0a 2a                	or     (%edx),%ch
40211c:	1e                   	push   %ds
40211d:	02 28                	add    (%eax),%ch
40211f:	3e 00 00             	add    %al,%ds:(%eax)
402122:	0a 2a                	or     (%edx),%ch
402124:	22 02                	and    (%edx),%al
402126:	03 28                	add    (%eax),%ebp
402128:	3f                   	aas
402129:	00 00                	add    %al,(%eax)
40212b:	0a 2a                	or     (%edx),%ch
40212d:	5e                   	pop    %esi
40212e:	02 14 7d 16 00 00 04 	add    0x4000016(,%edi,2),%dl
402135:	02 28                	add    (%eax),%ch
402137:	40                   	inc    %eax
402138:	00 00                	add    %al,(%eax)
40213a:	0a 00                	or     (%eax),%al
40213c:	00 02                	add    %al,(%edx)
40213e:	28 3d 00 00 06 00    	sub    %bh,0x60000
402144:	2a 3a                	sub    (%edx),%bh
402146:	00 02                	add    %al,(%edx)
402148:	72 89                	jb     0x4020d3
40214a:	01 00                	add    %eax,(%eax)
40214c:	70 28                	jo     0x402176
40214e:	30 00                	xor    %al,(%eax)
402150:	00 06                	add    %al,(%esi)
402152:	00 2a                	add    %ch,(%edx)
402154:	3a 00                	cmp    (%eax),%al
402156:	02 72 55             	add    0x55(%edx),%dh
402159:	03 00                	add    (%eax),%eax
40215b:	70 28                	jo     0x402185
40215d:	30 00                	xor    %al,(%eax)
40215f:	00 06                	add    %al,(%esi)
402161:	00 2a                	add    %ch,(%edx)
402163:	3a 00                	cmp    (%eax),%al
402165:	02 72 01             	add    0x1(%edx),%dh
402168:	00 00                	add    %al,(%eax)
40216a:	70 28                	jo     0x402194
40216c:	30 00                	xor    %al,(%eax)
40216e:	00 06                	add    %al,(%esi)
402170:	00 2a                	add    %ch,(%edx)
402172:	3a 00                	cmp    (%eax),%al
402174:	02 72 05             	add    0x5(%edx),%dh
402177:	00 00                	add    %al,(%eax)
402179:	70 28                	jo     0x4021a3
40217b:	30 00                	xor    %al,(%eax)
40217d:	00 06                	add    %al,(%esi)
40217f:	00 2a                	add    %ch,(%edx)
402181:	3a 00                	cmp    (%eax),%al
402183:	02 72 09             	add    0x9(%edx),%dh
402186:	00 00                	add    %al,(%eax)
402188:	70 28                	jo     0x4021b2
40218a:	30 00                	xor    %al,(%eax)
40218c:	00 06                	add    %al,(%esi)
40218e:	00 2a                	add    %ch,(%edx)
402190:	3a 00                	cmp    (%eax),%al
402192:	02 72 0d             	add    0xd(%edx),%dh
402195:	00 00                	add    %al,(%eax)
402197:	70 28                	jo     0x4021c1
402199:	30 00                	xor    %al,(%eax)
40219b:	00 06                	add    %al,(%esi)
40219d:	00 2a                	add    %ch,(%edx)
40219f:	3a 00                	cmp    (%eax),%al
4021a1:	02 72 11             	add    0x11(%edx),%dh
4021a4:	00 00                	add    %al,(%eax)
4021a6:	70 28                	jo     0x4021d0
4021a8:	30 00                	xor    %al,(%eax)
4021aa:	00 06                	add    %al,(%esi)
4021ac:	00 2a                	add    %ch,(%edx)
4021ae:	3a 00                	cmp    (%eax),%al
4021b0:	02 72 59             	add    0x59(%edx),%dh
4021b3:	03 00                	add    (%eax),%eax
4021b5:	70 28                	jo     0x4021df
4021b7:	30 00                	xor    %al,(%eax)
4021b9:	00 06                	add    %al,(%esi)
4021bb:	00 2a                	add    %ch,(%edx)
4021bd:	3a 00                	cmp    (%eax),%al
4021bf:	02 72 5d             	add    0x5d(%edx),%dh
4021c2:	03 00                	add    (%eax),%eax
4021c4:	70 28                	jo     0x4021ee
4021c6:	30 00                	xor    %al,(%eax)
4021c8:	00 06                	add    %al,(%esi)
4021ca:	00 2a                	add    %ch,(%edx)
4021cc:	3a 00                	cmp    (%eax),%al
4021ce:	02 72 61             	add    0x61(%edx),%dh
4021d1:	03 00                	add    (%eax),%eax
4021d3:	70 28                	jo     0x4021fd
4021d5:	30 00                	xor    %al,(%eax)
4021d7:	00 06                	add    %al,(%esi)
4021d9:	00 2a                	add    %ch,(%edx)
4021db:	3a 00                	cmp    (%eax),%al
4021dd:	02 72 65             	add    0x65(%edx),%dh
4021e0:	03 00                	add    (%eax),%eax
4021e2:	70 28                	jo     0x40220c
4021e4:	30 00                	xor    %al,(%eax)
4021e6:	00 06                	add    %al,(%esi)
4021e8:	00 2a                	add    %ch,(%edx)
4021ea:	1e                   	push   %ds
4021eb:	02 6f 48             	add    0x48(%edi),%ch
4021ee:	00 00                	add    %al,(%eax)
4021f0:	0a 2a                	or     (%edx),%ch
4021f2:	22 02                	and    (%edx),%al
4021f4:	03 6f 49             	add    0x49(%edi),%ebp
4021f7:	00 00                	add    %al,(%eax)
4021f9:	0a 2a                	or     (%edx),%ch
4021fb:	1e                   	push   %ds
4021fc:	02 6f 4a             	add    0x4a(%edi),%ch
4021ff:	00 00                	add    %al,(%eax)
402201:	0a 2a                	or     (%edx),%ch
402203:	22 02                	and    (%edx),%al
402205:	03 6f 4b             	add    0x4b(%edi),%ebp
402208:	00 00                	add    %al,(%eax)
40220a:	0a 2a                	or     (%edx),%ch
40220c:	26 02 03             	add    %es:(%ebx),%al
40220f:	04 6f                	add    $0x6f,%al
402211:	4c                   	dec    %esp
402212:	00 00                	add    %al,(%eax)
402214:	0a 2a                	or     (%edx),%ch
402216:	1e                   	push   %ds
402217:	02 28                	add    (%eax),%ch
402219:	4d                   	dec    %ebp
40221a:	00 00                	add    %al,(%eax)
40221c:	0a 2a                	or     (%edx),%ch
40221e:	22 02                	and    (%edx),%al
402220:	03 6f 4e             	add    0x4e(%edi),%ebp
402223:	00 00                	add    %al,(%eax)
402225:	0a 2a                	or     (%edx),%ch
402227:	1e                   	push   %ds
402228:	02 6f 4f             	add    0x4f(%edi),%ch
40222b:	00 00                	add    %al,(%eax)
40222d:	0a 2a                	or     (%edx),%ch
40222f:	22 02                	and    (%edx),%al
402231:	03 6f 50             	add    0x50(%edi),%ebp
402234:	00 00                	add    %al,(%eax)
402236:	0a 2a                	or     (%edx),%ch
402238:	22 02                	and    (%edx),%al
40223a:	03 6f 51             	add    0x51(%edi),%ebp
40223d:	00 00                	add    %al,(%eax)
40223f:	0a 2a                	or     (%edx),%ch
402241:	22 02                	and    (%edx),%al
402243:	03 28                	add    (%eax),%ebp
402245:	52                   	push   %edx
402246:	00 00                	add    %al,(%eax)
402248:	0a 2a                	or     (%edx),%ch
40224a:	1e                   	push   %ds
40224b:	02 6f 53             	add    0x53(%edi),%ch
40224e:	00 00                	add    %al,(%eax)
402250:	0a 2a                	or     (%edx),%ch
402252:	1e                   	push   %ds
402253:	02 6f 54             	add    0x54(%edi),%ch
402256:	00 00                	add    %al,(%eax)
402258:	0a 2a                	or     (%edx),%ch
40225a:	22 02                	and    (%edx),%al
40225c:	03 6f 55             	add    0x55(%edi),%ebp
40225f:	00 00                	add    %al,(%eax)
402261:	0a 2a                	or     (%edx),%ch
402263:	1e                   	push   %ds
402264:	02 6f 56             	add    0x56(%edi),%ch
402267:	00 00                	add    %al,(%eax)
402269:	0a 2a                	or     (%edx),%ch
40226b:	1a 73 57             	sbb    0x57(%ebx),%dh
40226e:	00 00                	add    %al,(%eax)
402270:	0a 2a                	or     (%edx),%ch
402272:	1a 73 58             	sbb    0x58(%ebx),%dh
402275:	00 00                	add    %al,(%eax)
402277:	0a 2a                	or     (%edx),%ch
402279:	1e                   	push   %ds
40227a:	02 28                	add    (%eax),%ch
40227c:	59                   	pop    %ecx
40227d:	00 00                	add    %al,(%eax)
40227f:	0a 2a                	or     (%edx),%ch
402281:	22 02                	and    (%edx),%al
402283:	03 6f 5a             	add    0x5a(%edi),%ebp
402286:	00 00                	add    %al,(%eax)
402288:	0a 2a                	or     (%edx),%ch
40228a:	22 02                	and    (%edx),%al
40228c:	03 6f 5b             	add    0x5b(%edi),%ebp
40228f:	00 00                	add    %al,(%eax)
402291:	0a 2a                	or     (%edx),%ch
402293:	22 02                	and    (%edx),%al
402295:	03 6f 5c             	add    0x5c(%edi),%ebp
402298:	00 00                	add    %al,(%eax)
40229a:	0a 2a                	or     (%edx),%ch
40229c:	22 02                	and    (%edx),%al
40229e:	03 6f 5d             	add    0x5d(%edi),%ebp
4022a1:	00 00                	add    %al,(%eax)
4022a3:	0a 2a                	or     (%edx),%ch
4022a5:	22 02                	and    (%edx),%al
4022a7:	03 6f 5e             	add    0x5e(%edi),%ebp
4022aa:	00 00                	add    %al,(%eax)
4022ac:	0a 2a                	or     (%edx),%ch
4022ae:	22 02                	and    (%edx),%al
4022b0:	03 6f 5f             	add    0x5f(%edi),%ebp
4022b3:	00 00                	add    %al,(%eax)
4022b5:	0a 2a                	or     (%edx),%ch
4022b7:	22 02                	and    (%edx),%al
4022b9:	03 28                	add    (%eax),%ebp
4022bb:	60                   	pusha
4022bc:	00 00                	add    %al,(%eax)
4022be:	0a 2a                	or     (%edx),%ch
4022c0:	22 02                	and    (%edx),%al
4022c2:	03 28                	add    (%eax),%ebp
4022c4:	61                   	popa
4022c5:	00 00                	add    %al,(%eax)
4022c7:	0a 2a                	or     (%edx),%ch
4022c9:	22 02                	and    (%edx),%al
4022cb:	03 28                	add    (%eax),%ebp
4022cd:	62 00                	bound  %eax,(%eax)
4022cf:	00 0a                	add    %cl,(%edx)
4022d1:	2a 1e                	sub    (%esi),%bl
4022d3:	02 28                	add    (%eax),%ch
4022d5:	63 00                	arpl   %eax,(%eax)
4022d7:	00 0a                	add    %cl,(%edx)
4022d9:	2a 22                	sub    (%edx),%ah
4022db:	02 03                	add    (%ebx),%al
4022dd:	6f                   	outsl  %ds:(%esi),(%dx)
4022de:	64 00 00             	add    %al,%fs:(%eax)
4022e1:	0a 2a                	or     (%edx),%ch
4022e3:	22 02                	and    (%edx),%al
4022e5:	03 28                	add    (%eax),%ebp
4022e7:	5b                   	pop    %ebx
4022e8:	00 00                	add    %al,(%eax)
4022ea:	0a 2a                	or     (%edx),%ch
4022ec:	22 02                	and    (%edx),%al
4022ee:	03 28                	add    (%eax),%ebp
4022f0:	65 00 00             	add    %al,%gs:(%eax)
4022f3:	0a 2a                	or     (%edx),%ch
4022f5:	1e                   	push   %ds
4022f6:	02 28                	add    (%eax),%ch
4022f8:	66 00 00             	data16 add %al,(%eax)
4022fb:	0a 2a                	or     (%edx),%ch
4022fd:	1a 28                	sbb    (%eax),%ch
4022ff:	6a 00                	push   $0x0
402301:	00 0a                	add    %cl,(%edx)
402303:	2a 1e                	sub    (%esi),%bl
402305:	02 6f 6b             	add    0x6b(%edi),%ch
402308:	00 00                	add    %al,(%eax)
40230a:	0a 2a                	or     (%edx),%ch
40230c:	1e                   	push   %ds
40230d:	02 7b 2e             	add    0x2e(%ebx),%bh
402310:	00 00                	add    %al,(%eax)
402312:	04 2a                	add    $0x2a,%al
402314:	22 02                	and    (%edx),%al