406323:	6a 32                	push   $0x32
406325:	8d 8d c0 fc ff ff    	lea    -0x340(%ebp),%ecx
40632b:	51                   	push   %ecx
40632c:	52                   	push   %edx
40632d:	57                   	push   %edi
40632e:	56                   	push   %esi
40632f:	e8 9c f9 ff ff       	call   0x405cd0
406334:	83 c4 4c             	add    $0x4c,%esp
406337:	8b d8                	mov    %eax,%ebx
406339:	eb 15                	jmp    0x406350
40633b:	83 f8 1e             	cmp    $0x1e,%eax
40633e:	75 10                	jne    0x406350
406340:	8d 85 90 f9 ff ff    	lea    -0x670(%ebp),%eax
406346:	50                   	push   %eax
406347:	56                   	push   %esi
406348:	e8 83 d5 ff ff       	call   0x4038d0
40634d:	83 c4 08             	add    $0x8,%esp
406350:	85 db                	test   %ebx,%ebx
406352:	75 1b                	jne    0x40636f
406354:	8d 8d 90 f9 ff ff    	lea    -0x670(%ebp),%ecx
40635a:	51                   	push   %ecx
40635b:	8d 55 ec             	lea    -0x14(%ebp),%edx
40635e:	52                   	push   %edx
40635f:	e8 bc f6 ff ff       	call   0x405a20
406364:	83 c4 08             	add    $0x8,%esp
406367:	85 c0                	test   %eax,%eax
406369:	0f 85 a1 fd ff ff    	jne    0x406110
40636f:	8d 45 ec             	lea    -0x14(%ebp),%eax
406372:	50                   	push   %eax
406373:	56                   	push   %esi
406374:	e8 27 f7 ff ff       	call   0x405aa0
406379:	83 c4 08             	add    $0x8,%esp
40637c:	5f                   	pop    %edi
40637d:	5e                   	pop    %esi
40637e:	8b c3                	mov    %ebx,%eax
406380:	5b                   	pop    %ebx
406381:	8b e5                	mov    %ebp,%esp
406383:	5d                   	pop    %ebp
406384:	c3                   	ret
406385:	4f                   	dec    %edi
406386:	79 06                	jns    0x40638e
406388:	f1                   	int1
406389:	6c                   	insb   (%dx),%es:(%edi)
40638a:	78 4a                	js     0x4063d6
40638c:	9d                   	popf
40638d:	3d c6 5e 55 8b       	cmp    $0x8b555ec6,%eax
406392:	ec                   	in     (%dx),%al
406393:	53                   	push   %ebx
406394:	8b 5d 10             	mov    0x10(%ebp),%ebx
406397:	56                   	push   %esi
406398:	8b 75 14             	mov    0x14(%ebp),%esi
40639b:	57                   	push   %edi
40639c:	8b 7d 08             	mov    0x8(%ebp),%edi
40639f:	6a 1d                	push   $0x1d
4063a1:	56                   	push   %esi
4063a2:	53                   	push   %ebx
4063a3:	57                   	push   %edi
4063a4:	e8 27 fd ff ff       	call   0x4060d0
4063a9:	83 c4 10             	add    $0x10,%esp
4063ac:	85 c0                	test   %eax,%eax
4063ae:	75 20                	jne    0x4063d0
4063b0:	6a 1d                	push   $0x1d
4063b2:	56                   	push   %esi
4063b3:	53                   	push   %ebx
4063b4:	57                   	push   %edi
4063b5:	e8 16 fd ff ff       	call   0x4060d0
4063ba:	83 c4 10             	add    $0x10,%esp
4063bd:	85 c0                	test   %eax,%eax
4063bf:	75 0f                	jne    0x4063d0
4063c1:	56                   	push   %esi
4063c2:	50                   	push   %eax
4063c3:	8b 45 0c             	mov    0xc(%ebp),%eax
4063c6:	50                   	push   %eax
4063c7:	57                   	push   %edi
4063c8:	e8 63 6a 00 00       	call   0x40ce30
4063cd:	83 c4 10             	add    $0x10,%esp
4063d0:	5f                   	pop    %edi
4063d1:	5e                   	pop    %esi
4063d2:	5b                   	pop    %ebx
4063d3:	5d                   	pop    %ebp
4063d4:	c3                   	ret
4063d5:	b1 55                	mov    $0x55,%cl
4063d7:	be fb 8d e9 cc       	mov    $0xcce98dfb,%esi
4063dc:	ad                   	lods   %ds:(%esi),%eax
4063dd:	1f                   	pop    %ds
4063de:	7a 82                	jp     0x406362
4063e0:	55                   	push   %ebp
4063e1:	8b ec                	mov    %esp,%ebp
4063e3:	83 ec 0c             	sub    $0xc,%esp
4063e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4063e9:	53                   	push   %ebx
4063ea:	56                   	push   %esi
4063eb:	57                   	push   %edi
4063ec:	8b 7d 0c             	mov    0xc(%ebp),%edi
4063ef:	8b 87 40 02 00 00    	mov    0x240(%edi),%eax
4063f5:	6a 04                	push   $0x4
4063f7:	68 00 30 00 00       	push   $0x3000
4063fc:	50                   	push   %eax
4063fd:	6a 00                	push   $0x0
4063ff:	51                   	push   %ecx
406400:	e8 bb 1e 01 00       	call   0x4182c0
406405:	8b 5d 10             	mov    0x10(%ebp),%ebx
406408:	89 03                	mov    %eax,(%ebx)
40640a:	8b 97 40 02 00 00    	mov    0x240(%edi),%edx
406410:	8b 4f 10             	mov    0x10(%edi),%ecx
406413:	52                   	push   %edx
406414:	51                   	push   %ecx
406415:	50                   	push   %eax
406416:	e8 45 1f 01 00       	call   0x418360
40641b:	8b 03                	mov    (%ebx),%eax
40641d:	03 07                	add    (%edi),%eax
40641f:	8b 33                	mov    (%ebx),%esi
406421:	89 43 04             	mov    %eax,0x4(%ebx)
406424:	40                   	inc    %eax
406425:	83 c4 20             	add    $0x20,%esp
406428:	89 43 08             	mov    %eax,0x8(%ebx)
40642b:	89 75 fc             	mov    %esi,-0x4(%ebp)
40642e:	e8 d8 36 01 00       	call   0x419b0b
406433:	8b 55 08             	mov    0x8(%ebp),%edx
406436:	8b ce                	mov    %esi,%ecx
406438:	2b 4a 04             	sub    0x4(%edx),%ecx
40643b:	8d 44 08 03          	lea    0x3(%eax,%ecx,1),%eax
40643f:	89 43 0c             	mov    %eax,0xc(%ebx)
406442:	8b 8f 40 02 00 00    	mov    0x240(%edi),%ecx
406448:	83 e9 0c             	sub    $0xc,%ecx
40644b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40644e:	bf 00 00 00 00       	mov    $0x0,%edi
406453:	0f 84 ab 01 00 00    	je     0x406604
406459:	b3 90                	mov    $0x90,%bl
40645b:	eb 03                	jmp    0x406460
40645d:	8d 49 00             	lea    0x0(%ecx),%ecx
406460:	80 3c 3e 40          	cmpb   $0x40,(%esi,%edi,1)
406464:	8d 44 3e 01          	lea    0x1(%esi,%edi,1),%eax
406468:	89 45 f4             	mov    %eax,-0xc(%ebp)
40646b:	75 4e                	jne    0x4064bb
40646d:	81 38 90 90 90 48    	cmpl   $0x48909090,(%eax)
406473:	75 46                	jne    0x4064bb
406475:	8d 44 3e 05          	lea    0x5(%esi,%edi,1),%eax
406479:	33 f6                	xor    %esi,%esi
40647b:	eb 03                	jmp    0x406480
40647d:	8d 49 00             	lea    0x0(%ecx),%ecx
406480:	38 1c 30             	cmp    %bl,(%eax,%esi,1)
406483:	75 12                	jne    0x406497
406485:	38 5c 30 01          	cmp    %bl,0x1(%eax,%esi,1)
406489:	75 0c                	jne    0x406497
40648b:	38 5c 30 02          	cmp    %bl,0x2(%eax,%esi,1)
40648f:	75 06                	jne    0x406497
406491:	38 5c 30 03          	cmp    %bl,0x3(%eax,%esi,1)
406495:	74 05                	je     0x40649c
406497:	46                   	inc    %esi
406498:	3b f1                	cmp    %ecx,%esi
40649a:	72 e4                	jb     0x406480
40649c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40649f:	81 c1 a4 07 00 00    	add    $0x7a4,%ecx
4064a5:	51                   	push   %ecx
4064a6:	56                   	push   %esi
4064a7:	50                   	push   %eax
4064a8:	e8 73 1e 00 00       	call   0x408320
4064ad:	8b 45 f4             	mov    -0xc(%ebp),%eax
4064b0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4064b3:	83 c4 0c             	add    $0xc,%esp
4064b6:	03 fe                	add    %esi,%edi
4064b8:	8b 75 fc             	mov    -0x4(%ebp),%esi
4064bb:	80 3c 3e 41          	cmpb   $0x41,(%esi,%edi,1)
4064bf:	75 4a                	jne    0x40650b
4064c1:	81 38 90 90 90 49    	cmpl   $0x49909090,(%eax)
4064c7:	75 42                	jne    0x40650b
4064c9:	8d 44 3e 05          	lea    0x5(%esi,%edi,1),%eax
4064cd:	33 f6                	xor    %esi,%esi
4064cf:	90                   	nop
4064d0:	38 1c 30             	cmp    %bl,(%eax,%esi,1)
4064d3:	75 12                	jne    0x4064e7
4064d5:	38 5c 30 01          	cmp    %bl,0x1(%eax,%esi,1)
4064d9:	75 0c                	jne    0x4064e7
4064db:	38 5c 30 02          	cmp    %bl,0x2(%eax,%esi,1)
4064df:	75 06                	jne    0x4064e7
4064e1:	38 5c 30 03          	cmp    %bl,0x3(%eax,%esi,1)
4064e5:	74 05                	je     0x4064ec
4064e7:	46                   	inc    %esi
4064e8:	3b f1                	cmp    %ecx,%esi
4064ea:	72 e4                	jb     0x4064d0
4064ec:	8b 4d 08             	mov    0x8(%ebp),%ecx
4064ef:	81 c1 a4 07 00 00    	add    $0x7a4,%ecx
4064f5:	51                   	push   %ecx
4064f6:	56                   	push   %esi
4064f7:	50                   	push   %eax
4064f8:	e8 23 1e 00 00       	call   0x408320
4064fd:	8b 45 f4             	mov    -0xc(%ebp),%eax
406500:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406503:	83 c4 0c             	add    $0xc,%esp
406506:	03 fe                	add    %esi,%edi
406508:	8b 75 fc             	mov    -0x4(%ebp),%esi
40650b:	80 3c 3e 42          	cmpb   $0x42,(%esi,%edi,1)
40650f:	75 4a                	jne    0x40655b
406511:	81 38 90 90 90 4a    	cmpl   $0x4a909090,(%eax)
406517:	75 42                	jne    0x40655b
406519:	8d 44 3e 05          	lea    0x5(%esi,%edi,1),%eax
40651d:	33 f6                	xor    %esi,%esi
40651f:	90                   	nop
406520:	38 1c 30             	cmp    %bl,(%eax,%esi,1)
406523:	75 12                	jne    0x406537
406525:	38 5c 30 01          	cmp    %bl,0x1(%eax,%esi,1)
406529:	75 0c                	jne    0x406537
40652b:	38 5c 30 02          	cmp    %bl,0x2(%eax,%esi,1)
40652f:	75 06                	jne    0x406537
406531:	38 5c 30 03          	cmp    %bl,0x3(%eax,%esi,1)
406535:	74 05                	je     0x40653c
406537:	46                   	inc    %esi
406538:	3b f1                	cmp    %ecx,%esi
40653a:	72 e4                	jb     0x406520
40653c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40653f:	81 c1 a4 07 00 00    	add    $0x7a4,%ecx
406545:	51                   	push   %ecx
406546:	56                   	push   %esi
406547:	50                   	push   %eax
406548:	e8 d3 1d 00 00       	call   0x408320
40654d:	8b 45 f4             	mov    -0xc(%ebp),%eax
406550:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406553:	83 c4 0c             	add    $0xc,%esp
406556:	03 fe                	add    %esi,%edi
406558:	8b 75 fc             	mov    -0x4(%ebp),%esi
40655b:	80 3c 3e 43          	cmpb   $0x43,(%esi,%edi,1)
40655f:	75 4a                	jne    0x4065ab
406561:	81 38 90 90 90 4b    	cmpl   $0x4b909090,(%eax)
406567:	75 42                	jne    0x4065ab
406569:	8d 44 3e 05          	lea    0x5(%esi,%edi,1),%eax
40656d:	33 f6                	xor    %esi,%esi
40656f:	90                   	nop
406570:	38 1c 30             	cmp    %bl,(%eax,%esi,1)
406573:	75 12                	jne    0x406587
406575:	38 5c 30 01          	cmp    %bl,0x1(%eax,%esi,1)
406579:	75 0c                	jne    0x406587
40657b:	38 5c 30 02          	cmp    %bl,0x2(%eax,%esi,1)
40657f:	75 06                	jne    0x406587
406581:	38 5c 30 03          	cmp    %bl,0x3(%eax,%esi,1)
406585:	74 05                	je     0x40658c
406587:	46                   	inc    %esi
406588:	3b f1                	cmp    %ecx,%esi
40658a:	72 e4                	jb     0x406570
40658c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40658f:	81 c1 a4 07 00 00    	add    $0x7a4,%ecx
406595:	51                   	push   %ecx
406596:	56                   	push   %esi
406597:	50                   	push   %eax
406598:	e8 83 1d 00 00       	call   0x408320
40659d:	8b 45 f4             	mov    -0xc(%ebp),%eax
4065a0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4065a3:	83 c4 0c             	add    $0xc,%esp
4065a6:	03 fe                	add    %esi,%edi
4065a8:	8b 75 fc             	mov    -0x4(%ebp),%esi
4065ab:	80 3c 3e 44          	cmpb   $0x44,(%esi,%edi,1)
4065af:	75 47                	jne    0x4065f8
4065b1:	81 38 90 90 90 4c    	cmpl   $0x4c909090,(%eax)
4065b7:	75 3f                	jne    0x4065f8
4065b9:	8d 44 3e 05          	lea    0x5(%esi,%edi,1),%eax
4065bd:	33 f6                	xor    %esi,%esi
4065bf:	90                   	nop
4065c0:	38 1c 30             	cmp    %bl,(%eax,%esi,1)
4065c3:	75 12                	jne    0x4065d7
4065c5:	38 5c 30 01          	cmp    %bl,0x1(%eax,%esi,1)
4065c9:	75 0c                	jne    0x4065d7
4065cb:	38 5c 30 02          	cmp    %bl,0x2(%eax,%esi,1)
4065cf:	75 06                	jne    0x4065d7
4065d1:	38 5c 30 03          	cmp    %bl,0x3(%eax,%esi,1)
4065d5:	74 05                	je     0x4065dc
4065d7:	46                   	inc    %esi
4065d8:	3b f1                	cmp    %ecx,%esi
4065da:	72 e4                	jb     0x4065c0
4065dc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4065df:	81 c1 a4 07 00 00    	add    $0x7a4,%ecx
4065e5:	51                   	push   %ecx
4065e6:	56                   	push   %esi
4065e7:	50                   	push   %eax
4065e8:	e8 33 1d 00 00       	call   0x408320
4065ed:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4065f0:	83 c4 0c             	add    $0xc,%esp
4065f3:	03 fe                	add    %esi,%edi
4065f5:	8b 75 fc             	mov    -0x4(%ebp),%esi
4065f8:	47                   	inc    %edi
4065f9:	3b f9                	cmp    %ecx,%edi
4065fb:	0f 82 5f fe ff ff    	jb     0x406460
406601:	8b 5d 10             	mov    0x10(%ebp),%ebx
406604:	8b 45 08             	mov    0x8(%ebp),%eax
406607:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
40660b:	74 10                	je     0x40661d
40660d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406610:	6a 02                	push   $0x2
406612:	53                   	push   %ebx
406613:	51                   	push   %ecx
406614:	50                   	push   %eax
406615:	e8 c6 fa 00 00       	call   0x4160e0
40661a:	83 c4 10             	add    $0x10,%esp
40661d:	5f                   	pop    %edi
40661e:	5e                   	pop    %esi
40661f:	5b                   	pop    %ebx
406620:	8b e5                	mov    %ebp,%esp
406622:	5d                   	pop    %ebp
406623:	c3                   	ret
406624:	91                   	xchg   %eax,%ecx
406625:	9f                   	lahf
406626:	b4 e8                	mov    $0xe8,%ah
406628:	5d                   	pop    %ebp
406629:	7c 97                	jl     0x4065c2
40662b:	14 a2                	adc    $0xa2,%al
40662d:	96                   	xchg   %eax,%esi
40662e:	d4 fb                	aam    $0xfb
406630:	55                   	push   %ebp
406631:	8b ec                	mov    %esp,%ebp
406633:	81 ec 20 06 00 00    	sub    $0x620,%esp
406639:	56                   	push   %esi
40663a:	8b 75 08             	mov    0x8(%ebp),%esi
40663d:	57                   	push   %edi
40663e:	56                   	push   %esi
40663f:	e8 ac 67 00 00       	call   0x40cdf0
406644:	33 ff                	xor    %edi,%edi
406646:	68 a4 02 00 00       	push   $0x2a4
40664b:	8d 85 10 fc ff ff    	lea    -0x3f0(%ebp),%eax
406651:	57                   	push   %edi
406652:	50                   	push   %eax
406653:	89 bd 0c fc ff ff    	mov    %edi,-0x3f4(%ebp)
406659:	e8 82 1d 01 00       	call   0x4183e0
40665e:	8d 8d 0c fc ff ff    	lea    -0x3f4(%ebp),%ecx
406664:	8b d1                	mov    %ecx,%edx
406666:	52                   	push   %edx
406667:	56                   	push   %esi
406668:	89 8e 78 0b 00 00    	mov    %ecx,0xb78(%esi)
40666e:	e8 7d b1 00 00       	call   0x4117f0
406673:	83 c4 18             	add    $0x18,%esp
406676:	85 c0                	test   %eax,%eax
406678:	0f 84 e8 01 00 00    	je     0x406866
40667e:	e8 0d 16 01 00       	call   0x417c90
406683:	b9 02 00 00 00       	mov    $0x2,%ecx
406688:	2b 4e 04             	sub    0x4(%esi),%ecx
40668b:	8d 95 0c fc ff ff    	lea    -0x3f4(%ebp),%edx
406691:	52                   	push   %edx
406692:	03 c1                	add    %ecx,%eax
406694:	56                   	push   %esi
406695:	89 85 0c fc ff ff    	mov    %eax,-0x3f4(%ebp)
40669b:	e8 80 b1 00 00       	call   0x411820
4066a0:	83 c4 08             	add    $0x8,%esp
4066a3:	85 c0                	test   %eax,%eax
4066a5:	0f 84 bb 01 00 00    	je     0x406866
4066ab:	53                   	push   %ebx
4066ac:	6a 34                	push   $0x34
4066ae:	8d 45 bc             	lea    -0x44(%ebp),%eax
4066b1:	57                   	push   %edi
4066b2:	50                   	push   %eax
4066b3:	89 7d b8             	mov    %edi,-0x48(%ebp)
4066b6:	e8 25 1d 01 00       	call   0x4183e0
4066bb:	8d 4d b8             	lea    -0x48(%ebp),%ecx