623173:	89 4c 24 04          	mov    %ecx,0x4(%esp)
623177:	8b ea                	mov    %edx,%ebp
623179:	89 04 24             	mov    %eax,(%esp)
62317c:	83 3c 24 00          	cmpl   $0x0,(%esp)
623180:	75 0e                	jne    0x623190
623182:	8d 44 24 18          	lea    0x18(%esp),%eax
623186:	89 04 24             	mov    %eax,(%esp)
623189:	66 c7 44 24 18 00 00 	movw   $0x0,0x18(%esp)
623190:	8b 45 08             	mov    0x8(%ebp),%eax
623193:	89 44 24 08          	mov    %eax,0x8(%esp)
623197:	8b 5c 24 08          	mov    0x8(%esp),%ebx
62319b:	c1 e3 02             	shl    $0x2,%ebx
62319e:	83 c3 08             	add    $0x8,%ebx
6231a1:	8b 04 24             	mov    (%esp),%eax
6231a4:	e8 a3 a5 ff ff       	call   0x61d74c
6231a9:	03 d8                	add    %eax,%ebx
6231ab:	8b 7d 08             	mov    0x8(%ebp),%edi
6231ae:	4f                   	dec    %edi
6231af:	85 ff                	test   %edi,%edi
6231b1:	7c 17                	jl     0x6231ca
6231b3:	47                   	inc    %edi
6231b4:	33 f6                	xor    %esi,%esi
6231b6:	8b d6                	mov    %esi,%edx
6231b8:	8b c5                	mov    %ebp,%eax
6231ba:	e8 01 8c df ff       	call   0x41bdc0
6231bf:	e8 88 a5 ff ff       	call   0x61d74c
6231c4:	03 d8                	add    %eax,%ebx
6231c6:	46                   	inc    %esi
6231c7:	4f                   	dec    %edi
6231c8:	75 ec                	jne    0x6231b6
6231ca:	53                   	push   %ebx
6231cb:	6a 42                	push   $0x42
6231cd:	e8 d6 40 de ff       	call   0x4072a8
6231d2:	8b 54 24 04          	mov    0x4(%esp),%edx
6231d6:	89 02                	mov    %eax,(%edx)
6231d8:	8b 44 24 04          	mov    0x4(%esp),%eax
6231dc:	83 38 00             	cmpl   $0x0,(%eax)
6231df:	75 0a                	jne    0x6231eb
6231e1:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
6231e6:	e9 b4 00 00 00       	jmp    0x62329f
6231eb:	8b 44 24 04          	mov    0x4(%esp),%eax
6231ef:	8b 00                	mov    (%eax),%eax
6231f1:	50                   	push   %eax
6231f2:	e8 d1 40 de ff       	call   0x4072c8
6231f7:	89 44 24 0c          	mov    %eax,0xc(%esp)
6231fb:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
6231ff:	8b 44 24 08          	mov    0x8(%esp),%eax
623203:	89 03                	mov    %eax,(%ebx)
623205:	83 c3 04             	add    $0x4,%ebx
623208:	89 5c 24 10          	mov    %ebx,0x10(%esp)
62320c:	8b 44 24 08          	mov    0x8(%esp),%eax
623210:	c1 e0 02             	shl    $0x2,%eax
623213:	83 c0 04             	add    $0x4,%eax
623216:	03 d8                	add    %eax,%ebx
623218:	8b 04 24             	mov    (%esp),%eax
62321b:	e8 2c a5 ff ff       	call   0x61d74c
623220:	89 44 24 14          	mov    %eax,0x14(%esp)
623224:	8b d3                	mov    %ebx,%edx
623226:	8b 04 24             	mov    (%esp),%eax
623229:	8b 4c 24 14          	mov    0x14(%esp),%ecx
62322d:	e8 ee f7 dd ff       	call   0x402a20
623232:	8b c3                	mov    %ebx,%eax
623234:	2b 44 24 0c          	sub    0xc(%esp),%eax
623238:	8b 54 24 10          	mov    0x10(%esp),%edx
62323c:	89 02                	mov    %eax,(%edx)
62323e:	83 44 24 10 04       	addl   $0x4,0x10(%esp)
623243:	03 5c 24 14          	add    0x14(%esp),%ebx
623247:	8b 7d 08             	mov    0x8(%ebp),%edi
62324a:	4f                   	dec    %edi
62324b:	85 ff                	test   %edi,%edi
62324d:	7c 42                	jl     0x623291
62324f:	47                   	inc    %edi
623250:	33 f6                	xor    %esi,%esi
623252:	8b d6                	mov    %esi,%edx
623254:	8b c5                	mov    %ebp,%eax
623256:	e8 65 8b df ff       	call   0x41bdc0
62325b:	e8 ec a4 ff ff       	call   0x61d74c
623260:	89 44 24 14          	mov    %eax,0x14(%esp)
623264:	8b d6                	mov    %esi,%edx
623266:	8b c5                	mov    %ebp,%eax
623268:	e8 53 8b df ff       	call   0x41bdc0
62326d:	8b d3                	mov    %ebx,%edx
62326f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
623273:	e8 a8 f7 dd ff       	call   0x402a20
623278:	8b c3                	mov    %ebx,%eax
62327a:	2b 44 24 0c          	sub    0xc(%esp),%eax
62327e:	8b 54 24 10          	mov    0x10(%esp),%edx
623282:	89 02                	mov    %eax,(%edx)
623284:	83 44 24 10 04       	addl   $0x4,0x10(%esp)
623289:	03 5c 24 14          	add    0x14(%esp),%ebx
62328d:	46                   	inc    %esi
62328e:	4f                   	dec    %edi
62328f:	75 c1                	jne    0x623252
623291:	8b 44 24 04          	mov    0x4(%esp),%eax
623295:	8b 00                	mov    (%eax),%eax
623297:	50                   	push   %eax
623298:	e8 53 40 de ff       	call   0x4072f0
62329d:	33 c0                	xor    %eax,%eax
62329f:	83 c4 1c             	add    $0x1c,%esp
6232a2:	5d                   	pop    %ebp
6232a3:	5f                   	pop    %edi
6232a4:	5e                   	pop    %esi
6232a5:	5b                   	pop    %ebx
6232a6:	c3                   	ret
6232a7:	90                   	nop
6232a8:	53                   	push   %ebx
6232a9:	56                   	push   %esi
6232aa:	57                   	push   %edi
6232ab:	55                   	push   %ebp
6232ac:	8b f8                	mov    %eax,%edi
6232ae:	57                   	push   %edi
6232af:	e8 34 40 de ff       	call   0x4072e8
6232b4:	8b f0                	mov    %eax,%esi
6232b6:	56                   	push   %esi
6232b7:	6a 02                	push   $0x2
6232b9:	e8 ea 3f de ff       	call   0x4072a8
6232be:	8b d8                	mov    %eax,%ebx
6232c0:	85 db                	test   %ebx,%ebx
6232c2:	74 23                	je     0x6232e7
6232c4:	53                   	push   %ebx
6232c5:	e8 fe 3f de ff       	call   0x4072c8
6232ca:	8b e8                	mov    %eax,%ebp
6232cc:	57                   	push   %edi
6232cd:	e8 f6 3f de ff       	call   0x4072c8
6232d2:	8b d5                	mov    %ebp,%edx
6232d4:	8b ce                	mov    %esi,%ecx
6232d6:	e8 45 f7 dd ff       	call   0x402a20
6232db:	57                   	push   %edi
6232dc:	e8 0f 40 de ff       	call   0x4072f0
6232e1:	53                   	push   %ebx
6232e2:	e8 09 40 de ff       	call   0x4072f0
6232e7:	8b c3                	mov    %ebx,%eax
6232e9:	5d                   	pop    %ebp
6232ea:	5f                   	pop    %edi
6232eb:	5e                   	pop    %esi
6232ec:	5b                   	pop    %ebx
6232ed:	c3                   	ret
6232ee:	8b c0                	mov    %eax,%eax
6232f0:	3c 33                	cmp    $0x33,%al
6232f2:	62 00                	bound  %eax,(%eax)
623310:	50                   	push   %eax
623311:	33 62 00             	xor    0x0(%edx),%esp
623314:	0c 00                	or     $0x0,%al
623316:	00 00                	add    %al,(%eax)
623318:	e8 10 40 00 c0       	call   0xc062732d
62331d:	3c 40                	cmp    $0x40,%al
62331f:	00 cc                	add    %cl,%ah
623321:	3c 40                	cmp    $0x40,%al
623323:	00 d0                	add    %dl,%al
623325:	3c 40                	cmp    $0x40,%al
623327:	00 d4                	add    %dl,%ah
623329:	3c 40                	cmp    $0x40,%al
62332b:	00 c8                	add    %cl,%al
62332d:	3c 40                	cmp    $0x40,%al
62332f:	00 10                	add    %dl,(%eax)
623331:	3a 40 00             	cmp    0x0(%eax),%al
623334:	2c 3a                	sub    $0x3a,%al
623336:	40                   	inc    %eax
623337:	00 cc                	add    %cl,%ah
623339:	33 62 00             	xor    0x0(%edx),%esp
62333c:	f4                   	hlt
62333d:	33 62 00             	xor    0x0(%edx),%esp
623340:	60                   	pusha
623341:	34 62                	xor    $0x62,%al
623343:	00 70 34             	add    %dh,0x34(%eax)
623346:	62 00                	bound  %eax,(%eax)
623348:	90                   	nop
623349:	34 62                	xor    $0x62,%al
62334b:	00 c4                	add    %al,%ah
62334d:	34 62                	xor    $0x62,%al
62334f:	00 12                	add    %dl,(%edx)
623351:	54                   	push   %esp
623352:	44                   	inc    %esp
623353:	72 6f                	jb     0x6233c4
623355:	70 53                	jo     0x6233aa
623357:	6f                   	outsl  %ds:(%esi),(%dx)
623358:	75 72                	jne    0x6233cc
62335a:	63 65 5f             	arpl   %esp,0x5f(%ebp)
62335d:	73 68                	jae    0x6233c7
62335f:	6c                   	insb   (%dx),%es:(%edi)
623360:	76 74                	jbe    0x6233d6
623362:	76 90                	jbe    0x6232f4
623364:	55                   	push   %ebp
623365:	8b ec                	mov    %esp,%ebp
623367:	51                   	push   %ecx
623368:	53                   	push   %ebx
623369:	56                   	push   %esi
62336a:	84 d2                	test   %dl,%dl
62336c:	74 08                	je     0x623376
62336e:	83 c4 f0             	add    $0xfffffff0,%esp
623371:	e8 66 0a de ff       	call   0x403ddc
623376:	8b d9                	mov    %ecx,%ebx
623378:	88 55 ff             	mov    %dl,-0x1(%ebp)
62337b:	8b f0                	mov    %eax,%esi
62337d:	33 d2                	xor    %edx,%edx
62337f:	8b c6                	mov    %esi,%eax
623381:	e8 c2 06 de ff       	call   0x403a48
623386:	80 eb 01             	sub    $0x1,%bl
623389:	72 08                	jb     0x623393
62338b:	74 0f                	je     0x62339c
62338d:	fe cb                	dec    %bl
62338f:	74 14                	je     0x6233a5
623391:	eb 19                	jmp    0x6233ac
623393:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
62339a:	eb 10                	jmp    0x6233ac
62339c:	c7 46 08 02 00 00 00 	movl   $0x2,0x8(%esi)
6233a3:	eb 07                	jmp    0x6233ac
6233a5:	c7 46 08 10 00 00 00 	movl   $0x10,0x8(%esi)
6233ac:	8b c6                	mov    %esi,%eax
6233ae:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
6233b2:	74 0f                	je     0x6233c3
6233b4:	e8 7b 0a de ff       	call   0x403e34
6233b9:	64 8f 05 00 00 00 00 	pop    %fs:0x0
6233c0:	83 c4 0c             	add    $0xc,%esp
6233c3:	8b c6                	mov    %esi,%eax
6233c5:	5e                   	pop    %esi
6233c6:	5b                   	pop    %ebx
6233c7:	59                   	pop    %ecx
6233c8:	5d                   	pop    %ebp
6233c9:	c3                   	ret
6233ca:	8b c0                	mov    %eax,%eax
6233cc:	53                   	push   %ebx
6233cd:	56                   	push   %esi
6233ce:	e8 71 0a de ff       	call   0x403e44
6233d3:	8b da                	mov    %edx,%ebx
6233d5:	8b f0                	mov    %eax,%esi
6233d7:	8b d3                	mov    %ebx,%edx
6233d9:	80 e2 fc             	and    $0xfc,%dl
6233dc:	8b c6                	mov    %esi,%eax
6233de:	e8 85 06 de ff       	call   0x403a68
6233e3:	84 db                	test   %bl,%bl
6233e5:	7e 07                	jle    0x6233ee
6233e7:	8b c6                	mov    %esi,%eax
6233e9:	e8 3e 0a de ff       	call   0x403e2c
6233ee:	5e                   	pop    %esi
6233ef:	5b                   	pop    %ebx
6233f0:	c3                   	ret
6233f1:	8d 40 00             	lea    0x0(%eax),%eax
6233f4:	55                   	push   %ebp
6233f5:	8b ec                	mov    %esp,%ebp
6233f7:	53                   	push   %ebx
6233f8:	56                   	push   %esi
6233f9:	57                   	push   %edi
6233fa:	8b 7d 10             	mov    0x10(%ebp),%edi
6233fd:	8b 75 0c             	mov    0xc(%ebp),%esi
623400:	8b 5d 08             	mov    0x8(%ebp),%ebx
623403:	68 40 34 62 00       	push   $0x623440
623408:	56                   	push   %esi
623409:	e8 aa 58 df ff       	call   0x418cb8
62340e:	84 c0                	test   %al,%al
623410:	75 0f                	jne    0x623421
623412:	68 50 34 62 00       	push   $0x623450
623417:	56                   	push   %esi
623418:	e8 9b 58 df ff       	call   0x418cb8
62341d:	84 c0                	test   %al,%al
62341f:	74 0c                	je     0x62342d
623421:	89 1f                	mov    %ebx,(%edi)
623423:	53                   	push   %ebx
623424:	8b 03                	mov    (%ebx),%eax
623426:	ff 50 04             	call   *0x4(%eax)
623429:	33 c0                	xor    %eax,%eax
62342b:	eb 09                	jmp    0x623436
62342d:	33 c0                	xor    %eax,%eax
62342f:	89 07                	mov    %eax,(%edi)
623431:	b8 02 40 00 80       	mov    $0x80004002,%eax
623436:	5f                   	pop    %edi
623437:	5e                   	pop    %esi
623438:	5b                   	pop    %ebx
623439:	5d                   	pop    %ebp
62343a:	c2 0c 00             	ret    $0xc
623445:	00 00                	add    %al,(%eax)
623447:	00 c0                	add    %al,%al
623449:	00 00                	add    %al,(%eax)
62344b:	00 00                	add    %al,(%eax)
62344d:	00 00                	add    %al,(%eax)
62344f:	46                   	inc    %esi
623450:	21 01                	and    %eax,(%ecx)
623452:	00 00                	add    %al,(%eax)
623454:	00 00                	add    %al,(%eax)
623456:	00 00                	add    %al,(%eax)
623458:	c0 00 00             	rolb   $0x0,(%eax)
62345b:	00 00                	add    %al,(%eax)
62345d:	00 00                	add    %al,(%eax)
62345f:	46                   	inc    %esi
623460:	55                   	push   %ebp
623461:	8b ec                	mov    %esp,%ebp
623463:	8b 45 08             	mov    0x8(%ebp),%eax
623466:	ff 40 04             	incl   0x4(%eax)
623469:	8b 40 04             	mov    0x4(%eax),%eax
62346c:	5d                   	pop    %ebp
62346d:	c2 04 00             	ret    $0x4
623470:	55                   	push   %ebp
623471:	8b ec                	mov    %esp,%ebp
623473:	53                   	push   %ebx
623474:	8b 45 08             	mov    0x8(%ebp),%eax
623477:	ff 48 04             	decl   0x4(%eax)
62347a:	8b 50 04             	mov    0x4(%eax),%edx
62347d:	8b da                	mov    %edx,%ebx
62347f:	85 d2                	test   %edx,%edx
623481:	75 05                	jne    0x623488
623483:	e8 f0 05 de ff       	call   0x403a78
623488:	8b c3                	mov    %ebx,%eax
62348a:	5b                   	pop    %ebx
62348b:	5d                   	pop    %ebp
62348c:	c2 04 00             	ret    $0x4
62348f:	90                   	nop
623490:	55                   	push   %ebp
623491:	8b ec                	mov    %esp,%ebp
623493:	8b 55 10             	mov    0x10(%ebp),%edx
623496:	8b 45 08             	mov    0x8(%ebp),%eax
623499:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
62349d:	75 0a                	jne    0x6234a9
62349f:	8b 48 08             	mov    0x8(%eax),%ecx
6234a2:	83 f1 13             	xor    $0x13,%ecx
6234a5:	85 d1                	test   %edx,%ecx
6234a7:	74 07                	je     0x6234b0
6234a9:	b8 01 01 04 00       	mov    $0x40101,%eax
6234ae:	eb 0e                	jmp    0x6234be
6234b0:	85 50 08             	test   %edx,0x8(%eax)
6234b3:	75 07                	jne    0x6234bc
6234b5:	b8 00 01 04 00       	mov    $0x40100,%eax
6234ba:	eb 02                	jmp    0x6234be
6234bc:	33 c0                	xor    %eax,%eax
6234be:	5d                   	pop    %ebp
6234bf:	c2 0c 00             	ret    $0xc
6234c2:	8b c0                	mov    %eax,%eax
6234c4:	55                   	push   %ebp
6234c5:	8b ec                	mov    %esp,%ebp
6234c7:	b8 02 01 04 00       	mov    $0x40102,%eax
6234cc:	5d                   	pop    %ebp
6234cd:	c2 08 00             	ret    $0x8
6234d0:	1c 35                	sbb    $0x35,%al
6234d2:	62 00                	bound  %eax,(%eax)
6234f0:	30 35 62 00 0c 00    	xor    %dh,0xc0062
6234f6:	00 00                	add    %al,(%eax)
6234f8:	f4                   	hlt
6234f9:	cb                   	lret
6234fa:	61                   	popa
6234fb:	00 c0                	add    %al,%al
6234fd:	3c 40                	cmp    $0x40,%al
6234ff:	00 cc                	add    %cl,%ah
623501:	3c 40                	cmp    $0x40,%al
623503:	00 d0                	add    %dl,%al
623505:	3c 40                	cmp    $0x40,%al
623507:	00 d4                	add    %dl,%ah
623509:	3c 40                	cmp    $0x40,%al
62350b:	00 c8                	add    %cl,%al
62350d:	3c 40                	cmp    $0x40,%al
62350f:	00 10                	add    %dl,(%eax)
623511:	3a 40 00             	cmp    0x0(%eax),%al