40d1b2:	00 00                	add    %al,(%eax)
40d1b4:	0a 00                	or     (%eax),%al
40d1b6:	02 7b f8             	add    -0x8(%ebx),%bh
40d1b9:	00 00                	add    %al,(%eax)
40d1bb:	04 72                	add    $0x72,%al
40d1bd:	e3 a7                	jecxz  0x40d166
40d1bf:	00 70 6f             	add    %dh,0x6f(%eax)
40d1c2:	3f                   	aas
40d1c3:	00 00                	add    %al,(%eax)
40d1c5:	0a 00                	or     (%eax),%al
40d1c7:	02 7b f8             	add    -0x8(%ebx),%bh
40d1ca:	00 00                	add    %al,(%eax)
40d1cc:	04 20                	add    $0x20,%al
40d1ce:	10 03                	adc    %al,(%ebx)
40d1d0:	00 00                	add    %al,(%eax)
40d1d2:	1f                   	pop    %ds
40d1d3:	18 73 40             	sbb    %dh,0x40(%ebx)
40d1d6:	00 00                	add    %al,(%eax)
40d1d8:	0a 6f 41             	or     0x41(%edi),%ch
40d1db:	00 00                	add    %al,(%eax)
40d1dd:	0a 00                	or     (%eax),%al
40d1df:	02 7b f8             	add    -0x8(%ebx),%bh
40d1e2:	00 00                	add    %al,(%eax)
40d1e4:	04 1f                	add    $0x1f,%al
40d1e6:	21 6f 42             	and    %ebp,0x42(%edi)
40d1e9:	00 00                	add    %al,(%eax)
40d1eb:	0a 00                	or     (%eax),%al
40d1ed:	02 7b f8             	add    -0x8(%ebx),%bh
40d1f0:	00 00                	add    %al,(%eax)
40d1f2:	04 72                	add    $0x72,%al
40d1f4:	f3 a7                	repz cmpsl %es:(%edi),%ds:(%esi)
40d1f6:	00 70 6f             	add    %dh,0x6f(%eax)
40d1f9:	1d 00 00 0a 00       	sbb    $0xa0000,%eax
40d1fe:	02 7b f9             	add    -0x7(%ebx),%bh
40d201:	00 00                	add    %al,(%eax)
40d203:	04 6f                	add    $0x6f,%al
40d205:	e4 00                	in     $0x0,%al
40d207:	00 0a                	add    %cl,(%edx)
40d209:	17                   	pop    %ss
40d20a:	8d 7f 00             	lea    0x0(%edi),%edi
40d20d:	00 01                	add    %al,(%ecx)
40d20f:	25 16 02 7b fa       	and    $0xfa7b0216,%eax
40d214:	00 00                	add    %al,(%eax)
40d216:	04 a2                	add    $0xa2,%al
40d218:	6f                   	outsl  %ds:(%esi),(%dx)
40d219:	e3 00                	jecxz  0x40d21b
40d21b:	00 0a                	add    %cl,(%edx)
40d21d:	00 02                	add    %al,(%edx)
40d21f:	7b f9                	jnp    0x40d21a
40d221:	00 00                	add    %al,(%eax)
40d223:	04 72                	add    $0x72,%al
40d225:	14 9e                	adc    $0x9e,%al
40d227:	00 70 22             	add    %dh,0x22(%eax)
40d22a:	00 00                	add    %al,(%eax)
40d22c:	1c 41                	sbb    $0x41,%al
40d22e:	16                   	push   %ss
40d22f:	19 16                	sbb    %edx,(%esi)
40d231:	73 3a                	jae    0x40d26d
40d233:	00 00                	add    %al,(%eax)
40d235:	0a 6f e5             	or     -0x1b(%edi),%ch
40d238:	00 00                	add    %al,(%eax)
40d23a:	0a 00                	or     (%eax),%al
40d23c:	02 7b f9             	add    -0x7(%ebx),%bh
40d23f:	00 00                	add    %al,(%eax)
40d241:	04 72                	add    $0x72,%al
40d243:	09 a8 00 70 6f e6    	or     %ebp,-0x19909000(%eax)
40d249:	00 00                	add    %al,(%eax)
40d24b:	0a 00                	or     (%eax),%al
40d24d:	02 7b f9             	add    -0x7(%ebx),%bh
40d250:	00 00                	add    %al,(%eax)
40d252:	04 1f                	add    $0x1f,%al
40d254:	31 1f                	xor    %ebx,(%edi)
40d256:	14 73                	adc    $0x73,%al
40d258:	40                   	inc    %eax
40d259:	00 00                	add    %al,(%eax)
40d25b:	0a 6f e7             	or     -0x19(%edi),%ch
40d25e:	00 00                	add    %al,(%eax)
40d260:	0a 00                	or     (%eax),%al
40d262:	02 7b f9             	add    -0x7(%ebx),%bh
40d265:	00 00                	add    %al,(%eax)
40d267:	04 72                	add    $0x72,%al
40d269:	19 a8 00 70 6f e8    	sbb    %ebp,-0x17909000(%eax)
40d26f:	00 00                	add    %al,(%eax)
40d271:	0a 00                	or     (%eax),%al
40d273:	02 7b fa             	add    -0x6(%ebx),%bh
40d276:	00 00                	add    %al,(%eax)
40d278:	04 72                	add    $0x72,%al
40d27a:	25 a8 00 70 6f       	and    $0x6f7000a8,%eax
40d27f:	e6 00                	out    %al,$0x0
40d281:	00 0a                	add    %cl,(%edx)
40d283:	00 02                	add    %al,(%edx)
40d285:	7b fa                	jnp    0x40d281
40d287:	00 00                	add    %al,(%eax)
40d289:	04 1f                	add    $0x1f,%al
40d28b:	5f                   	pop    %edi
40d28c:	1f                   	pop    %ds
40d28d:	16                   	push   %ss
40d28e:	73 40                	jae    0x40d2d0
40d290:	00 00                	add    %al,(%eax)
40d292:	0a 6f e7             	or     -0x19(%edi),%ch
40d295:	00 00                	add    %al,(%eax)
40d297:	0a 00                	or     (%eax),%al
40d299:	02 7b fa             	add    -0x6(%ebx),%bh
40d29c:	00 00                	add    %al,(%eax)
40d29e:	04 72                	add    $0x72,%al
40d2a0:	35 a8 00 70 6f       	xor    $0x6f7000a8,%eax
40d2a5:	e8 00 00 0a 00       	call   0x4ad2aa
40d2aa:	02 7b fa             	add    -0x6(%ebx),%bh
40d2ad:	00 00                	add    %al,(%eax)
40d2af:	04 02                	add    $0x2,%al
40d2b1:	fe 06                	incb   (%esi)
40d2b3:	e4 00                	in     $0x0,%al
40d2b5:	00 06                	add    %al,(%esi)
40d2b7:	73 44                	jae    0x40d2fd
40d2b9:	00 00                	add    %al,(%eax)
40d2bb:	0a 6f e9             	or     -0x17(%edi),%ch
40d2be:	00 00                	add    %al,(%eax)
40d2c0:	0a 00                	or     (%eax),%al
40d2c2:	02 7b fb             	add    -0x5(%ebx),%bh
40d2c5:	00 00                	add    %al,(%eax)
40d2c7:	04 17                	add    $0x17,%al
40d2c9:	6f                   	outsl  %ds:(%esi),(%dx)
40d2ca:	46                   	inc    %esi
40d2cb:	00 00                	add    %al,(%eax)
40d2cd:	0a 00                	or     (%eax),%al
40d2cf:	02 7b fb             	add    -0x5(%ebx),%bh
40d2d2:	00 00                	add    %al,(%eax)
40d2d4:	04 72                	add    $0x72,%al
40d2d6:	14 9e                	adc    $0x9e,%al
40d2d8:	00 70 22             	add    %dh,0x22(%eax)
40d2db:	00 00                	add    %al,(%eax)
40d2dd:	34 41                	xor    $0x41,%al
40d2df:	16                   	push   %ss
40d2e0:	19 16                	sbb    %edx,(%esi)
40d2e2:	73 3a                	jae    0x40d31e
40d2e4:	00 00                	add    %al,(%eax)
40d2e6:	0a 6f 3b             	or     0x3b(%edi),%ch
40d2e9:	00 00                	add    %al,(%eax)
40d2eb:	0a 00                	or     (%eax),%al
40d2ed:	02 7b fb             	add    -0x5(%ebx),%bh
40d2f0:	00 00                	add    %al,(%eax)
40d2f2:	04 20                	add    $0x20,%al
40d2f4:	04 02                	add    $0x2,%al
40d2f6:	00 00                	add    %al,(%eax)
40d2f8:	20 b3 01 00 00 73    	and    %dh,0x73000001(%ebx)
40d2fe:	3d 00 00 0a 6f       	cmp    $0x6f0a0000,%eax
40d303:	3e 00 00             	add    %al,%ds:(%eax)
40d306:	0a 00                	or     (%eax),%al
40d308:	02 7b fb             	add    -0x5(%ebx),%bh
40d30b:	00 00                	add    %al,(%eax)
40d30d:	04 72                	add    $0x72,%al
40d30f:	c5 05 00 70 6f 3f    	lds    0x3f6f7000,%eax
40d315:	00 00                	add    %al,(%eax)
40d317:	0a 00                	or     (%eax),%al
40d319:	02 7b fb             	add    -0x5(%ebx),%bh
40d31c:	00 00                	add    %al,(%eax)
40d31e:	04 20                	add    $0x20,%al
40d320:	99                   	cltd
40d321:	00 00                	add    %al,(%eax)
40d323:	00 1f                	add    %bl,(%edi)
40d325:	30 73 40             	xor    %dh,0x40(%ebx)
40d328:	00 00                	add    %al,(%eax)
40d32a:	0a 6f 41             	or     0x41(%edi),%ch
40d32d:	00 00                	add    %al,(%eax)
40d32f:	0a 00                	or     (%eax),%al
40d331:	02 7b fb             	add    -0x5(%ebx),%bh
40d334:	00 00                	add    %al,(%eax)
40d336:	04 1f                	add    $0x1f,%al
40d338:	22 6f 42             	and    0x42(%edi),%ch
40d33b:	00 00                	add    %al,(%eax)
40d33d:	0a 00                	or     (%eax),%al
40d33f:	02 7b fb             	add    -0x5(%ebx),%bh
40d342:	00 00                	add    %al,(%eax)
40d344:	04 72                	add    $0x72,%al
40d346:	41                   	inc    %ecx
40d347:	a8 00                	test   $0x0,%al
40d349:	70 6f                	jo     0x40d3ba
40d34b:	1d 00 00 0a 00       	sbb    $0xa0000,%eax
40d350:	02 7b fb             	add    -0x5(%ebx),%bh
40d353:	00 00                	add    %al,(%eax)
40d355:	04 18                	add    $0x18,%al
40d357:	6f                   	outsl  %ds:(%esi),(%dx)
40d358:	d1 00                	roll   $1,(%eax)
40d35a:	00 0a                	add    %cl,(%edx)
40d35c:	00 02                	add    %al,(%edx)
40d35e:	22 00                	and    (%eax),%al
40d360:	00 e0                	add    %ah,%al
40d362:	40                   	inc    %eax
40d363:	22 00                	and    (%eax),%al
40d365:	00 70 41             	add    %dh,0x41(%eax)
40d368:	73 52                	jae    0x40d3bc
40d36a:	00 00                	add    %al,(%eax)
40d36c:	0a 28                	or     (%eax),%ch
40d36e:	53                   	push   %ebx
40d36f:	00 00                	add    %al,(%eax)
40d371:	0a 00                	or     (%eax),%al
40d373:	02 17                	add    (%edi),%dl
40d375:	28 54 00 00          	sub    %dl,0x0(%eax,%eax,1)
40d379:	0a 00                	or     (%eax),%al
40d37b:	02 20                	add    (%eax),%ah
40d37d:	10 03                	adc    %al,(%ebx)
40d37f:	00 00                	add    %al,(%eax)
40d381:	20 3e                	and    %bh,(%esi)
40d383:	02 00                	add    (%eax),%al
40d385:	00 73 40             	add    %dh,0x40(%ebx)
40d388:	00 00                	add    %al,(%eax)
40d38a:	0a 28                	or     (%eax),%ch
40d38c:	56                   	push   %esi
40d38d:	00 00                	add    %al,(%eax)
40d38f:	0a 00                	or     (%eax),%al
40d391:	02 28                	add    (%eax),%ch
40d393:	4a                   	dec    %edx
40d394:	00 00                	add    %al,(%eax)
40d396:	0a 02                	or     (%edx),%al
40d398:	7b fb                	jnp    0x40d395
40d39a:	00 00                	add    %al,(%eax)
40d39c:	04 6f                	add    $0x6f,%al
40d39e:	4b                   	dec    %ebx
40d39f:	00 00                	add    %al,(%eax)
40d3a1:	0a 00                	or     (%eax),%al
40d3a3:	02 28                	add    (%eax),%ch
40d3a5:	4a                   	dec    %edx
40d3a6:	00 00                	add    %al,(%eax)
40d3a8:	0a 02                	or     (%edx),%al
40d3aa:	7b f8                	jnp    0x40d3a4
40d3ac:	00 00                	add    %al,(%eax)
40d3ae:	04 6f                	add    $0x6f,%al
40d3b0:	4b                   	dec    %ebx
40d3b1:	00 00                	add    %al,(%eax)
40d3b3:	0a 00                	or     (%eax),%al
40d3b5:	02 28                	add    (%eax),%ch
40d3b7:	4a                   	dec    %edx
40d3b8:	00 00                	add    %al,(%eax)
40d3ba:	0a 02                	or     (%edx),%al
40d3bc:	7b f7                	jnp    0x40d3b5
40d3be:	00 00                	add    %al,(%eax)
40d3c0:	04 6f                	add    $0x6f,%al
40d3c2:	4b                   	dec    %ebx
40d3c3:	00 00                	add    %al,(%eax)
40d3c5:	0a 00                	or     (%eax),%al
40d3c7:	02 28                	add    (%eax),%ch
40d3c9:	4a                   	dec    %edx
40d3ca:	00 00                	add    %al,(%eax)
40d3cc:	0a 02                	or     (%edx),%al
40d3ce:	7b f6                	jnp    0x40d3c6
40d3d0:	00 00                	add    %al,(%eax)
40d3d2:	04 6f                	add    $0x6f,%al
40d3d4:	4b                   	dec    %ebx
40d3d5:	00 00                	add    %al,(%eax)
40d3d7:	0a 00                	or     (%eax),%al
40d3d9:	02 28                	add    (%eax),%ch
40d3db:	4a                   	dec    %edx
40d3dc:	00 00                	add    %al,(%eax)
40d3de:	0a 02                	or     (%edx),%al
40d3e0:	7b f5                	jnp    0x40d3d7
40d3e2:	00 00                	add    %al,(%eax)
40d3e4:	04 6f                	add    $0x6f,%al
40d3e6:	4b                   	dec    %ebx
40d3e7:	00 00                	add    %al,(%eax)
40d3e9:	0a 00                	or     (%eax),%al
40d3eb:	02 28                	add    (%eax),%ch
40d3ed:	4a                   	dec    %edx
40d3ee:	00 00                	add    %al,(%eax)
40d3f0:	0a 02                	or     (%edx),%al
40d3f2:	7b f4                	jnp    0x40d3e8
40d3f4:	00 00                	add    %al,(%eax)
40d3f6:	04 6f                	add    $0x6f,%al
40d3f8:	4b                   	dec    %ebx
40d3f9:	00 00                	add    %al,(%eax)
40d3fb:	0a 00                	or     (%eax),%al
40d3fd:	02 28                	add    (%eax),%ch
40d3ff:	4a                   	dec    %edx
40d400:	00 00                	add    %al,(%eax)
40d402:	0a 02                	or     (%edx),%al
40d404:	7b f3                	jnp    0x40d3f9
40d406:	00 00                	add    %al,(%eax)
40d408:	04 6f                	add    $0x6f,%al
40d40a:	4b                   	dec    %ebx
40d40b:	00 00                	add    %al,(%eax)
40d40d:	0a 00                	or     (%eax),%al
40d40f:	02 28                	add    (%eax),%ch
40d411:	4a                   	dec    %edx
40d412:	00 00                	add    %al,(%eax)
40d414:	0a 02                	or     (%edx),%al
40d416:	7b f2                	jnp    0x40d40a
40d418:	00 00                	add    %al,(%eax)
40d41a:	04 6f                	add    $0x6f,%al
40d41c:	4b                   	dec    %ebx
40d41d:	00 00                	add    %al,(%eax)
40d41f:	0a 00                	or     (%eax),%al
40d421:	02 28                	add    (%eax),%ch
40d423:	4a                   	dec    %edx
40d424:	00 00                	add    %al,(%eax)
40d426:	0a 02                	or     (%edx),%al
40d428:	7b f1                	jnp    0x40d41b
40d42a:	00 00                	add    %al,(%eax)
40d42c:	04 6f                	add    $0x6f,%al
40d42e:	4b                   	dec    %ebx
40d42f:	00 00                	add    %al,(%eax)
40d431:	0a 00                	or     (%eax),%al
40d433:	02 28                	add    (%eax),%ch
40d435:	4a                   	dec    %edx
40d436:	00 00                	add    %al,(%eax)
40d438:	0a 02                	or     (%edx),%al
40d43a:	7b f0                	jnp    0x40d42c
40d43c:	00 00                	add    %al,(%eax)
40d43e:	04 6f                	add    $0x6f,%al
40d440:	4b                   	dec    %ebx
40d441:	00 00                	add    %al,(%eax)
40d443:	0a 00                	or     (%eax),%al
40d445:	02 28                	add    (%eax),%ch
40d447:	4a                   	dec    %edx
40d448:	00 00                	add    %al,(%eax)
40d44a:	0a 02                	or     (%edx),%al
40d44c:	7b ef                	jnp    0x40d43d
40d44e:	00 00                	add    %al,(%eax)
40d450:	04 6f                	add    $0x6f,%al
40d452:	4b                   	dec    %ebx
40d453:	00 00                	add    %al,(%eax)
40d455:	0a 00                	or     (%eax),%al
40d457:	02 28                	add    (%eax),%ch
40d459:	4a                   	dec    %edx
40d45a:	00 00                	add    %al,(%eax)
40d45c:	0a 02                	or     (%edx),%al
40d45e:	7b ea                	jnp    0x40d44a
40d460:	00 00                	add    %al,(%eax)
40d462:	04 6f                	add    $0x6f,%al
40d464:	4b                   	dec    %ebx
40d465:	00 00                	add    %al,(%eax)
40d467:	0a 00                	or     (%eax),%al
40d469:	02 28                	add    (%eax),%ch
40d46b:	4a                   	dec    %edx
40d46c:	00 00                	add    %al,(%eax)
40d46e:	0a 02                	or     (%edx),%al
40d470:	7b e9                	jnp    0x40d45b
40d472:	00 00                	add    %al,(%eax)
40d474:	04 6f                	add    $0x6f,%al
40d476:	4b                   	dec    %ebx
40d477:	00 00                	add    %al,(%eax)
40d479:	0a 00                	or     (%eax),%al
40d47b:	02 72 14             	add    0x14(%edx),%dh
40d47e:	9e                   	sahf
40d47f:	00 70 22             	add    %dh,0x22(%eax)
40d482:	00 00                	add    %al,(%eax)
40d484:	1c 41                	sbb    $0x41,%al
40d486:	16                   	push   %ss
40d487:	19 16                	sbb    %edx,(%esi)
40d489:	73 3a                	jae    0x40d4c5
40d48b:	00 00                	add    %al,(%eax)
40d48d:	0a 6f 3b             	or     0x3b(%edi),%ch