4022dd:	24 62                	and    $0x62,%al
4022df:	72 63                	jb     0x402344
4022e1:	00 00                	add    %al,(%eax)
4022e3:	00 48 d0             	add    %cl,-0x30(%eax)
4022e6:	00 00                	add    %al,(%eax)
4022e8:	08 01                	or     %al,(%ecx)
4022ea:	00 00                	add    %al,(%eax)
4022ec:	2e 64 61             	cs fs popa
4022ef:	74 61                	je     0x402352
4022f1:	24 72                	and    $0x72,%al
4022f3:	24 62                	and    $0x62,%al
4022f5:	72 63                	jb     0x40235a
4022f7:	00 50 d1             	add    %dl,-0x2f(%eax)
4022fa:	00 00                	add    %al,(%eax)
4022fc:	30 00                	xor    %al,(%eax)
4022fe:	00 00                	add    %al,(%eax)
402300:	2e 64 61             	cs fs popa
402303:	74 61                	je     0x402366
402305:	00 00                	add    %al,(%eax)
402307:	00 80 d1 00 00 f4    	add    %al,-0xbffff2f(%eax)
40230d:	05 00 00 2e 62       	add    $0x622e0000,%eax
402312:	73 73                	jae    0x402387
402314:	00 00                	add    %al,(%eax)
402316:	00 00                	add    %al,(%eax)
402318:	00 e0                	add    %ah,%al
40231a:	00 00                	add    %al,(%eax)
40231c:	f0 01 00             	lock add %eax,(%eax)
40231f:	00 2e                	add    %ch,(%esi)
402321:	69 64 61 74 61 24 35 	imul   $0x352461,0x74(%ecx,%eiz,2),%esp
402328:	00
402329:	00 00                	add    %al,(%eax)
40232b:	00 f0                	add    %dh,%al
40232d:	e1 00                	loope  0x40232f
40232f:	00 04 00             	add    %al,(%eax,%eax,1)
402332:	00 00                	add    %al,(%eax)
402334:	2e 30 30             	xor    %dh,%cs:(%eax)
402337:	63 66 67             	arpl   %esp,0x67(%esi)
40233a:	00 00                	add    %al,(%eax)
40233c:	f4                   	hlt
40233d:	e1 00                	loope  0x40233f
40233f:	00 b8 01 00 00 2e    	add    %bh,0x2e000001(%eax)
402345:	69 64 61 74 61 24 32 	imul   $0x322461,0x74(%ecx,%eiz,2),%esp
40234c:	00
40234d:	00 00                	add    %al,(%eax)
40234f:	00 ac e3 00 00 14 00 	add    %ch,0x140000(%ebx,%eiz,8)
402356:	00 00                	add    %al,(%eax)
402358:	2e 69 64 61 74 61 24 	imul   $0x332461,%cs:0x74(%ecx,%eiz,2),%esp
40235f:	33 00
402361:	00 00                	add    %al,(%eax)
402363:	00 c0                	add    %al,%al
402365:	e3 00                	jecxz  0x402367
402367:	00 f0                	add    %dh,%al
402369:	01 00                	add    %eax,(%eax)
40236b:	00 2e                	add    %ch,(%esi)
40236d:	69 64 61 74 61 24 34 	imul   $0x342461,0x74(%ecx,%eiz,2),%esp
402374:	00
402375:	00 00                	add    %al,(%eax)
402377:	00 b0 e5 00 00 4c    	add    %dh,0x4c0000e5(%eax)
40237d:	0b 00                	or     (%eax),%eax
40237f:	00 2e                	add    %ch,(%esi)
402381:	69 64 61 74 61 24 36 	imul   $0x362461,0x74(%ecx,%eiz,2),%esp
402388:	00
402389:	00 00                	add    %al,(%eax)
40238b:	00 00                	add    %al,(%eax)
40238d:	00 01                	add    %al,(%ecx)
40238f:	00 a0 00 00 00 2e    	add    %ah,0x2e000000(%eax)
402395:	72 73                	jb     0x40240a
402397:	72 63                	jb     0x4023fc
402399:	24 30                	and    $0x30,%al
40239b:	31 00                	xor    %eax,(%eax)
40239d:	00 00                	add    %al,(%eax)
40239f:	00 a0 00 01 00 78    	add    %ah,0x78000100(%eax)
4023a5:	07                   	pop    %es
4023a6:	00 00                	add    %al,(%eax)
4023a8:	2e 72 73             	jb,pn  0x40241e
4023ab:	72 63                	jb     0x402410
4023ad:	24 30                	and    $0x30,%al
4023af:	32 00                	xor    (%eax),%al
4023b1:	00 00                	add    %al,(%eax)
4023b3:	00 20                	add    %ah,(%eax)
4023b5:	00 00                	add    %al,(%eax)
4023b7:	00 1b                	add    %bl,(%ebx)
4023b9:	b1 af                	mov    $0xaf,%cl
4023bb:	ee                   	out    %al,(%dx)
4023bc:	cb                   	lret
4023bd:	4e                   	dec    %esi
4023be:	73 93                	jae    0x402353
4023c0:	25 2e 37 d5 3e       	and    $0x3ed5372e,%eax
4023c5:	67 fd                	addr16 std
4023c7:	87 02                	xchg   %eax,(%edx)
4023c9:	4c                   	dec    %esp
4023ca:	0e                   	push   %cs
4023cb:	b4 63                	mov    $0x63,%ah
4023cd:	6f                   	outsl  %ds:(%esi),(%dx)
4023ce:	5a                   	pop    %edx
4023cf:	f8                   	clc
4023d0:	7c 9f                	jl     0x402371
4023d2:	93                   	xchg   %eax,%ebx
4023d3:	22 b8 5a 16 48 00    	and    0x48165a(%eax),%bh
4023ed:	00 00                	add    %al,(%eax)
4023ef:	00 c7                	add    %al,%bh
4023f1:	05 2c d5 40 00       	add    $0x40d52c,%eax
4023f6:	60                   	pusha
4023f7:	30 40 00             	xor    %al,0x0(%eax)
4023fa:	c7 05 38 d5 40 00 70 	movl   $0x403070,0x40d538
402401:	30 40 00
402404:	c3                   	ret
402405:	cc                   	int3
402406:	cc                   	int3
402407:	cc                   	int3
402408:	cc                   	int3
402409:	cc                   	int3
40240a:	cc                   	int3
40240b:	cc                   	int3
40240c:	cc                   	int3
40240d:	cc                   	int3
40240e:	cc                   	int3
40240f:	cc                   	int3
402410:	68 e0 b2 40 00       	push   $0x40b2e0
402415:	e8 0e 7e 00 00       	call   0x40a228
40241a:	59                   	pop    %ecx
40241b:	c3                   	ret
40241c:	cc                   	int3
40241d:	cc                   	int3
40241e:	cc                   	int3
40241f:	cc                   	int3
402420:	68 f0 b2 40 00       	push   $0x40b2f0
402425:	e8 fe 7d 00 00       	call   0x40a228
40242a:	59                   	pop    %ecx
40242b:	c3                   	ret
40242c:	cc                   	int3
40242d:	cc                   	int3
40242e:	cc                   	int3
40242f:	cc                   	int3
402430:	c7 05 1c d5 40 00 20 	movl   $0x403d20,0x40d51c
402437:	3d 40 00
40243a:	c7 05 f8 d4 40 00 40 	movl   $0x40d040,0x40d4f8
402441:	d0 40 00
402444:	c7 05 08 d5 40 00 44 	movl   $0x40d744,0x40d508
40244b:	d7 40 00
40244e:	c3                   	ret
40244f:	cc                   	int3
402450:	c7 05 40 d5 40 00 10 	movl   $0x402c10,0x40d540
402457:	2c 40 00
40245a:	c7 05 24 d5 40 00 40 	movl   $0x402c40,0x40d524
402461:	2c 40 00
402464:	c7 05 3c d5 40 00 50 	movl   $0x402c50,0x40d53c
40246b:	2c 40 00
40246e:	c7 05 18 d5 40 00 e0 	movl   $0x403de0,0x40d518
402475:	3d 40 00
402478:	c7 05 20 d5 40 00 a0 	movl   $0x403da0,0x40d520
40247f:	3d 40 00
402482:	c3                   	ret
402483:	cc                   	int3
402484:	cc                   	int3
402485:	cc                   	int3
402486:	cc                   	int3
402487:	cc                   	int3
402488:	cc                   	int3
402489:	cc                   	int3
40248a:	cc                   	int3
40248b:	cc                   	int3
40248c:	cc                   	int3
40248d:	cc                   	int3
40248e:	cc                   	int3
40248f:	cc                   	int3
402490:	68 40 b3 40 00       	push   $0x40b340
402495:	e8 8e 7d 00 00       	call   0x40a228
40249a:	59                   	pop    %ecx
40249b:	c3                   	ret
40249c:	cc                   	int3
40249d:	cc                   	int3
40249e:	cc                   	int3
40249f:	cc                   	int3
4024a0:	68 50 b3 40 00       	push   $0x40b350
4024a5:	e8 7e 7d 00 00       	call   0x40a228
4024aa:	59                   	pop    %ecx
4024ab:	c3                   	ret
4024ac:	cc                   	int3
4024ad:	cc                   	int3
4024ae:	cc                   	int3
4024af:	cc                   	int3
4024b0:	8b ff                	mov    %edi,%edi
4024b2:	55                   	push   %ebp
4024b3:	8b ec                	mov    %esp,%ebp
4024b5:	56                   	push   %esi
4024b6:	8b 75 0c             	mov    0xc(%ebp),%esi
4024b9:	57                   	push   %edi
4024ba:	8b fa                	mov    %edx,%edi
4024bc:	85 f6                	test   %esi,%esi
4024be:	75 04                	jne    0x4024c4
4024c0:	33 c0                	xor    %eax,%eax
4024c2:	eb 69                	jmp    0x40252d
4024c4:	85 c9                	test   %ecx,%ecx
4024c6:	75 14                	jne    0x4024dc
4024c8:	ff 15 2c e1 40 00    	call   *0x40e12c
4024ce:	6a 16                	push   $0x16
4024d0:	5e                   	pop    %esi
4024d1:	89 30                	mov    %esi,(%eax)
4024d3:	e8 97 83 00 00       	call   0x40a86f
4024d8:	8b c6                	mov    %esi,%eax
4024da:	eb 51                	jmp    0x40252d
4024dc:	53                   	push   %ebx
4024dd:	8b 5d 08             	mov    0x8(%ebp),%ebx
4024e0:	85 db                	test   %ebx,%ebx
4024e2:	74 13                	je     0x4024f7
4024e4:	3b fe                	cmp    %esi,%edi
4024e6:	72 0f                	jb     0x4024f7
4024e8:	56                   	push   %esi
4024e9:	53                   	push   %ebx
4024ea:	51                   	push   %ecx
4024eb:	e8 cd 87 00 00       	call   0x40acbd
4024f0:	83 c4 0c             	add    $0xc,%esp
4024f3:	33 c0                	xor    %eax,%eax
4024f5:	eb 35                	jmp    0x40252c
4024f7:	57                   	push   %edi
4024f8:	6a 00                	push   $0x0
4024fa:	51                   	push   %ecx
4024fb:	e8 ab 83 00 00       	call   0x40a8ab
402500:	83 c4 0c             	add    $0xc,%esp
402503:	85 db                	test   %ebx,%ebx
402505:	75 0a                	jne    0x402511
402507:	ff 15 2c e1 40 00    	call   *0x40e12c
40250d:	6a 16                	push   $0x16
40250f:	eb 0c                	jmp    0x40251d
402511:	3b fe                	cmp    %esi,%edi
402513:	73 14                	jae    0x402529
402515:	ff 15 2c e1 40 00    	call   *0x40e12c
40251b:	6a 22                	push   $0x22
40251d:	5e                   	pop    %esi
40251e:	89 30                	mov    %esi,(%eax)
402520:	e8 4a 83 00 00       	call   0x40a86f
402525:	8b c6                	mov    %esi,%eax
402527:	eb 03                	jmp    0x40252c
402529:	6a 16                	push   $0x16
40252b:	58                   	pop    %eax
40252c:	5b                   	pop    %ebx
40252d:	5f                   	pop    %edi
40252e:	5e                   	pop    %esi
40252f:	5d                   	pop    %ebp
402530:	c3                   	ret
402531:	cc                   	int3
402532:	cc                   	int3
402533:	cc                   	int3
402534:	cc                   	int3
402535:	cc                   	int3
402536:	cc                   	int3
402537:	cc                   	int3
402538:	cc                   	int3
402539:	cc                   	int3
40253a:	cc                   	int3
40253b:	cc                   	int3
40253c:	cc                   	int3
40253d:	cc                   	int3
40253e:	cc                   	int3
40253f:	cc                   	int3
402540:	8b ff                	mov    %edi,%edi
402542:	55                   	push   %ebp
402543:	8b ec                	mov    %esp,%ebp
402545:	56                   	push   %esi
402546:	8b f1                	mov    %ecx,%esi
402548:	8d 46 04             	lea    0x4(%esi),%eax
40254b:	c7 06 14 10 40 00    	movl   $0x401014,(%esi)
402551:	83 20 00             	andl   $0x0,(%eax)
402554:	83 60 04 00          	andl   $0x0,0x4(%eax)
402558:	50                   	push   %eax
402559:	8b 45 08             	mov    0x8(%ebp),%eax
40255c:	83 c0 04             	add    $0x4,%eax
40255f:	50                   	push   %eax
402560:	e8 aa 82 00 00       	call   0x40a80f
402565:	59                   	pop    %ecx
402566:	59                   	pop    %ecx
402567:	8b c6                	mov    %esi,%eax
402569:	5e                   	pop    %esi
40256a:	5d                   	pop    %ebp
40256b:	c2 04 00             	ret    $0x4
40256e:	cc                   	int3
40256f:	cc                   	int3
402570:	8b 41 04             	mov    0x4(%ecx),%eax
402573:	85 c0                	test   %eax,%eax
402575:	75 05                	jne    0x40257c
402577:	b8 38 15 40 00       	mov    $0x401538,%eax
40257c:	c3                   	ret
40257d:	cc                   	int3
40257e:	cc                   	int3
40257f:	cc                   	int3
402580:	8b ff                	mov    %edi,%edi
402582:	55                   	push   %ebp
402583:	8b ec                	mov    %esp,%ebp
402585:	56                   	push   %esi
402586:	8b f1                	mov    %ecx,%esi
402588:	8d 46 04             	lea    0x4(%esi),%eax
40258b:	c7 06 14 10 40 00    	movl   $0x401014,(%esi)
402591:	50                   	push   %eax
402592:	e8 7e 82 00 00       	call   0x40a815
402597:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40259b:	59                   	pop    %ecx
40259c:	74 0a                	je     0x4025a8
40259e:	6a 0c                	push   $0xc
4025a0:	56                   	push   %esi
4025a1:	e8 99 7c 00 00       	call   0x40a23f
4025a6:	59                   	pop    %ecx
4025a7:	59                   	pop    %ecx
4025a8:	8b c6                	mov    %esi,%eax
4025aa:	5e                   	pop    %esi
4025ab:	5d                   	pop    %ebp
4025ac:	c2 04 00             	ret    $0x4
4025af:	8b ff                	mov    %edi,%edi
4025b1:	55                   	push   %ebp
4025b2:	8b ec                	mov    %esp,%ebp
4025b4:	56                   	push   %esi
4025b5:	33 f6                	xor    %esi,%esi
4025b7:	85 d2                	test   %edx,%edx
4025b9:	74 08                	je     0x4025c3
4025bb:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
4025c1:	76 05                	jbe    0x4025c8
4025c3:	be 57 00 07 80       	mov    $0x80070057,%esi
4025c8:	85 f6                	test   %esi,%esi
4025ca:	78 41                	js     0x40260d
4025cc:	8b f2                	mov    %edx,%esi
4025ce:	85 d2                	test   %edx,%edx
4025d0:	74 28                	je     0x4025fa
4025d2:	57                   	push   %edi
4025d3:	bf fe ff ff 7f       	mov    $0x7ffffffe,%edi
4025d8:	2b fa                	sub    %edx,%edi
4025da:	8b 55 08             	mov    0x8(%ebp),%edx
4025dd:	2b d1                	sub    %ecx,%edx
4025df:	8d 04 37             	lea    (%edi,%esi,1),%eax
4025e2:	85 c0                	test   %eax,%eax
4025e4:	74 0f                	je     0x4025f5
4025e6:	8a 04 0a             	mov    (%edx,%ecx,1),%al
4025e9:	84 c0                	test   %al,%al
4025eb:	74 08                	je     0x4025f5
4025ed:	88 01                	mov    %al,(%ecx)
4025ef:	41                   	inc    %ecx
4025f0:	83 ee 01             	sub    $0x1,%esi
4025f3:	75 ea                	jne    0x4025df
4025f5:	5f                   	pop    %edi
4025f6:	85 f6                	test   %esi,%esi
4025f8:	75 01                	jne    0x4025fb
4025fa:	49                   	dec    %ecx
4025fb:	f7 de                	neg    %esi
4025fd:	1b f6                	sbb    %esi,%esi
4025ff:	81 e6 86 ff f8 7f    	and    $0x7ff8ff86,%esi
402605:	81 c6 7a 00 07 80    	add    $0x8007007a,%esi
40260b:	eb 04                	jmp    0x402611
40260d:	85 d2                	test   %edx,%edx
40260f:	74 03                	je     0x402614
402611:	c6 01 00             	movb   $0x0,(%ecx)
402614:	8b c6                	mov    %esi,%eax