40650c:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
406512:	50                   	push   %eax
406513:	8b 45 f8             	mov    -0x8(%ebp),%eax
406516:	50                   	push   %eax
406517:	e8 9c ae ff ff       	call   0x4013b8
40651c:	85 c0                	test   %eax,%eax
40651e:	74 22                	je     0x406542
406520:	8d 45 e8             	lea    -0x18(%ebp),%eax
406523:	50                   	push   %eax
406524:	8d 45 ee             	lea    -0x12(%ebp),%eax
406527:	50                   	push   %eax
406528:	6a 00                	push   $0x0
40652a:	6a 00                	push   $0x0
40652c:	68 c4 66 40 00       	push   $0x4066c4
406531:	8b 45 f8             	mov    -0x8(%ebp),%eax
406534:	50                   	push   %eax
406535:	e8 7e ae ff ff       	call   0x4013b8
40653a:	85 c0                	test   %eax,%eax
40653c:	74 04                	je     0x406542
40653e:	c6 45 ee 00          	movb   $0x0,-0x12(%ebp)
406542:	c6 45 f2 00          	movb   $0x0,-0xe(%ebp)
406546:	33 c0                	xor    %eax,%eax
406548:	5a                   	pop    %edx
406549:	59                   	pop    %ecx
40654a:	59                   	pop    %ecx
40654b:	64 89 10             	mov    %edx,%fs:(%eax)
40654e:	68 64 65 40 00       	push   $0x406564
406553:	8b 45 f8             	mov    -0x8(%ebp),%eax
406556:	50                   	push   %eax
406557:	e8 4c ae ff ff       	call   0x4013a8
40655c:	c3                   	ret
40655d:	e9 aa dc ff ff       	jmp    0x40420c
406562:	eb ef                	jmp    0x406553
406564:	68 05 01 00 00       	push   $0x105
406569:	8b 45 fc             	mov    -0x4(%ebp),%eax
40656c:	50                   	push   %eax
40656d:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
406573:	50                   	push   %eax
406574:	e8 17 ae ff ff       	call   0x401390
406579:	6a 05                	push   $0x5
40657b:	8d 45 f3             	lea    -0xd(%ebp),%eax
40657e:	50                   	push   %eax
40657f:	6a 03                	push   $0x3
406581:	e8 f2 ad ff ff       	call   0x401378
406586:	50                   	push   %eax
406587:	e8 c4 ad ff ff       	call   0x401350
40658c:	33 f6                	xor    %esi,%esi
40658e:	80 bd e3 fe ff ff 00 	cmpb   $0x0,-0x11d(%ebp)
406595:	0f 84 e3 00 00 00    	je     0x40667e
40659b:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
40659f:	75 0a                	jne    0x4065ab
4065a1:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
4065a5:	0f 84 d3 00 00 00    	je     0x40667e
4065ab:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4065b1:	50                   	push   %eax
4065b2:	e8 e1 ad ff ff       	call   0x401398
4065b7:	8b d8                	mov    %eax,%ebx
4065b9:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4065bf:	03 d8                	add    %eax,%ebx
4065c1:	eb 01                	jmp    0x4065c4
4065c3:	4b                   	dec    %ebx
4065c4:	80 3b 2e             	cmpb   $0x2e,(%ebx)
4065c7:	74 0a                	je     0x4065d3
4065c9:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4065cf:	3b d8                	cmp    %eax,%ebx
4065d1:	75 f0                	jne    0x4065c3
4065d3:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
4065d9:	3b d8                	cmp    %eax,%ebx
4065db:	0f 84 9d 00 00 00    	je     0x40667e
4065e1:	43                   	inc    %ebx
4065e2:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
4065e6:	74 28                	je     0x406610
4065e8:	8b d3                	mov    %ebx,%edx
4065ea:	2b d0                	sub    %eax,%edx
4065ec:	b8 05 01 00 00       	mov    $0x105,%eax
4065f1:	2b c2                	sub    %edx,%eax
4065f3:	50                   	push   %eax
4065f4:	8d 45 ee             	lea    -0x12(%ebp),%eax
4065f7:	50                   	push   %eax
4065f8:	53                   	push   %ebx
4065f9:	e8 92 ad ff ff       	call   0x401390
4065fe:	6a 02                	push   $0x2
406600:	6a 00                	push   $0x0
406602:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
406608:	50                   	push   %eax
406609:	e8 72 ad ff ff       	call   0x401380
40660e:	8b f0                	mov    %eax,%esi
406610:	85 f6                	test   %esi,%esi
406612:	75 6a                	jne    0x40667e
406614:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
406618:	74 64                	je     0x40667e
40661a:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
406620:	8b d3                	mov    %ebx,%edx
406622:	2b d0                	sub    %eax,%edx
406624:	b8 05 01 00 00       	mov    $0x105,%eax
406629:	2b c2                	sub    %edx,%eax
40662b:	50                   	push   %eax
40662c:	8d 45 f3             	lea    -0xd(%ebp),%eax
40662f:	50                   	push   %eax
406630:	53                   	push   %ebx
406631:	e8 5a ad ff ff       	call   0x401390
406636:	6a 02                	push   $0x2
406638:	6a 00                	push   $0x0
40663a:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
406640:	50                   	push   %eax
406641:	e8 3a ad ff ff       	call   0x401380
406646:	8b f0                	mov    %eax,%esi
406648:	85 f6                	test   %esi,%esi
40664a:	75 32                	jne    0x40667e
40664c:	c6 45 f5 00          	movb   $0x0,-0xb(%ebp)
406650:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
406656:	8b d3                	mov    %ebx,%edx
406658:	2b d0                	sub    %eax,%edx
40665a:	b8 05 01 00 00       	mov    $0x105,%eax
40665f:	2b c2                	sub    %edx,%eax
406661:	50                   	push   %eax
406662:	8d 45 f3             	lea    -0xd(%ebp),%eax
406665:	50                   	push   %eax
406666:	53                   	push   %ebx
406667:	e8 24 ad ff ff       	call   0x401390
40666c:	6a 02                	push   $0x2
40666e:	6a 00                	push   $0x0
406670:	8d 85 e3 fe ff ff    	lea    -0x11d(%ebp),%eax
406676:	50                   	push   %eax
406677:	e8 04 ad ff ff       	call   0x401380
40667c:	8b f0                	mov    %eax,%esi
40667e:	8b c6                	mov    %esi,%eax
406680:	5e                   	pop    %esi
406681:	5b                   	pop    %ebx
406682:	8b e5                	mov    %ebp,%esp
406684:	5d                   	pop    %ebp
406685:	c3                   	ret
406686:	00 00                	add    %al,(%eax)
406688:	53                   	push   %ebx
406689:	6f                   	outsl  %ds:(%esi),(%dx)
40668a:	66 74 77             	data16 je 0x406704
40668d:	61                   	popa
40668e:	72 65                	jb     0x4066f5
406690:	5c                   	pop    %esp
406691:	42                   	inc    %edx
406692:	6f                   	outsl  %ds:(%esi),(%dx)
406693:	72 6c                	jb     0x406701
406695:	61                   	popa
406696:	6e                   	outsb  %ds:(%esi),(%dx)
406697:	64 5c                	fs pop %esp
406699:	4c                   	dec    %esp
40669a:	6f                   	outsl  %ds:(%esi),(%dx)
40669b:	63 61 6c             	arpl   %esp,0x6c(%ecx)
40669e:	65 73 00             	gs jae 0x4066a1
4066a1:	00 00                	add    %al,(%eax)
4066a3:	00 53 6f             	add    %dl,0x6f(%ebx)
4066a6:	66 74 77             	data16 je 0x406720
4066a9:	61                   	popa
4066aa:	72 65                	jb     0x406711
4066ac:	5c                   	pop    %esp
4066ad:	42                   	inc    %edx
4066ae:	6f                   	outsl  %ds:(%esi),(%dx)
4066af:	72 6c                	jb     0x40671d
4066b1:	61                   	popa
4066b2:	6e                   	outsb  %ds:(%esi),(%dx)
4066b3:	64 5c                	fs pop %esp
4066b5:	44                   	inc    %esp
4066b6:	65 6c                	gs insb (%dx),%es:(%edi)
4066b8:	70 68                	jo     0x406722
4066ba:	69 5c 4c 6f 63 61 6c 	imul   $0x656c6163,0x6f(%esp,%ecx,2),%ebx
4066c1:	65
4066c2:	73 00                	jae    0x4066c4
4066c4:	00 00                	add    %al,(%eax)
4066c6:	00 00                	add    %al,(%eax)
4066c8:	e8 0b 00 00 00       	call   0x4066d8
4066cd:	c3                   	ret
4066ce:	8b c0                	mov    %eax,%eax
4066d0:	e8 23 00 00 00       	call   0x4066f8
4066d5:	c3                   	ret
4066d6:	8b c0                	mov    %eax,%eax
4066d8:	53                   	push   %ebx
4066d9:	8b d8                	mov    %eax,%ebx
4066db:	b8 08 00 00 00       	mov    $0x8,%eax
4066e0:	e8 c7 c0 ff ff       	call   0x4027ac
4066e5:	8b 15 2c a0 68 00    	mov    0x68a02c,%edx
4066eb:	89 10                	mov    %edx,(%eax)
4066ed:	89 58 04             	mov    %ebx,0x4(%eax)
4066f0:	a3 2c a0 68 00       	mov    %eax,0x68a02c
4066f5:	5b                   	pop    %ebx
4066f6:	c3                   	ret
4066f7:	90                   	nop
4066f8:	53                   	push   %ebx
4066f9:	56                   	push   %esi
4066fa:	8b 35 2c a0 68 00    	mov    0x68a02c,%esi
406700:	85 f6                	test   %esi,%esi
406702:	74 22                	je     0x406726
406704:	8b 56 04             	mov    0x4(%esi),%edx
406707:	3b d0                	cmp    %eax,%edx
406709:	75 1b                	jne    0x406726
40670b:	a1 2c a0 68 00       	mov    0x68a02c,%eax
406710:	8b 00                	mov    (%eax),%eax
406712:	a3 2c a0 68 00       	mov    %eax,0x68a02c
406717:	ba 08 00 00 00       	mov    $0x8,%edx
40671c:	8b c6                	mov    %esi,%eax
40671e:	e8 a9 c0 ff ff       	call   0x4027cc
406723:	5e                   	pop    %esi
406724:	5b                   	pop    %ebx
406725:	c3                   	ret
406726:	8b d6                	mov    %esi,%edx
406728:	85 d2                	test   %edx,%edx
40672a:	74 27                	je     0x406753
40672c:	8b 0a                	mov    (%edx),%ecx
40672e:	85 c9                	test   %ecx,%ecx
406730:	74 1b                	je     0x40674d
406732:	8b 59 04             	mov    0x4(%ecx),%ebx
406735:	3b d8                	cmp    %eax,%ebx
406737:	75 14                	jne    0x40674d
406739:	8b f1                	mov    %ecx,%esi
40673b:	8b 01                	mov    (%ecx),%eax
40673d:	89 02                	mov    %eax,(%edx)
40673f:	ba 08 00 00 00       	mov    $0x8,%edx
406744:	8b c6                	mov    %esi,%eax
406746:	e8 81 c0 ff ff       	call   0x4027cc
40674b:	eb 06                	jmp    0x406753
40674d:	8b 12                	mov    (%edx),%edx
40674f:	85 d2                	test   %edx,%edx
406751:	75 d9                	jne    0x40672c
406753:	5e                   	pop    %esi
406754:	5b                   	pop    %ebx
406755:	c3                   	ret
406756:	8b c0                	mov    %eax,%eax
406758:	55                   	push   %ebp
406759:	8b ec                	mov    %esp,%ebp
40675b:	83 c4 f8             	add    $0xfffffff8,%esp
40675e:	53                   	push   %ebx
40675f:	56                   	push   %esi
406760:	57                   	push   %edi
406761:	89 45 fc             	mov    %eax,-0x4(%ebp)
406764:	a1 2c a0 68 00       	mov    0x68a02c,%eax
406769:	89 45 f8             	mov    %eax,-0x8(%ebp)
40676c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
406770:	74 39                	je     0x4067ab
406772:	33 c0                	xor    %eax,%eax
406774:	55                   	push   %ebp
406775:	68 93 67 40 00       	push   $0x406793
40677a:	64 ff 30             	push   %fs:(%eax)
40677d:	64 89 20             	mov    %esp,%fs:(%eax)
406780:	8b 5d f8             	mov    -0x8(%ebp),%ebx
406783:	8b 45 fc             	mov    -0x4(%ebp),%eax
406786:	ff 53 04             	call   *0x4(%ebx)
406789:	33 c0                	xor    %eax,%eax
40678b:	5a                   	pop    %edx
40678c:	59                   	pop    %ecx
40678d:	59                   	pop    %ecx
40678e:	64 89 10             	mov    %edx,%fs:(%eax)
406791:	eb 0a                	jmp    0x40679d
406793:	e9 c0 d7 ff ff       	jmp    0x403f58
406798:	e8 23 db ff ff       	call   0x4042c0
40679d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4067a0:	8b 00                	mov    (%eax),%eax
4067a2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4067a5:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4067a9:	75 c7                	jne    0x406772
4067ab:	5f                   	pop    %edi
4067ac:	5e                   	pop    %esi
4067ad:	5b                   	pop    %ebx
4067ae:	59                   	pop    %ecx
4067af:	59                   	pop    %ecx
4067b0:	5d                   	pop    %ebp
4067b1:	c3                   	ret
4067b2:	8b c0                	mov    %eax,%eax
4067b4:	8b 15 28 a0 68 00    	mov    0x68a028,%edx
4067ba:	89 10                	mov    %edx,(%eax)
4067bc:	a3 28 a0 68 00       	mov    %eax,0x68a028
4067c1:	c3                   	ret
4067c2:	8b c0                	mov    %eax,%eax
4067c4:	55                   	push   %ebp
4067c5:	8b ec                	mov    %esp,%ebp
4067c7:	51                   	push   %ecx
4067c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4067cb:	33 d2                	xor    %edx,%edx
4067cd:	55                   	push   %ebp
4067ce:	68 28 68 40 00       	push   $0x406828
4067d3:	64 ff 32             	push   %fs:(%edx)
4067d6:	64 89 22             	mov    %esp,%fs:(%edx)
4067d9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4067dc:	8b 40 04             	mov    0x4(%eax),%eax
4067df:	e8 74 ff ff ff       	call   0x406758
4067e4:	33 c0                	xor    %eax,%eax
4067e6:	5a                   	pop    %edx
4067e7:	59                   	pop    %ecx
4067e8:	59                   	pop    %ecx
4067e9:	64 89 10             	mov    %edx,%fs:(%eax)
4067ec:	68 2f 68 40 00       	push   $0x40682f
4067f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4067f4:	3b 05 28 a0 68 00    	cmp    0x68a028,%eax
4067fa:	75 0c                	jne    0x406808
4067fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4067ff:	8b 00                	mov    (%eax),%eax
406801:	a3 28 a0 68 00       	mov    %eax,0x68a028
406806:	eb 1f                	jmp    0x406827
406808:	a1 28 a0 68 00       	mov    0x68a028,%eax
40680d:	85 c0                	test   %eax,%eax
40680f:	74 16                	je     0x406827
406811:	8b 10                	mov    (%eax),%edx
406813:	3b 55 fc             	cmp    -0x4(%ebp),%edx
406816:	75 09                	jne    0x406821
406818:	8b 55 fc             	mov    -0x4(%ebp),%edx
40681b:	8b 12                	mov    (%edx),%edx
40681d:	89 10                	mov    %edx,(%eax)
40681f:	eb 06                	jmp    0x406827
406821:	8b 00                	mov    (%eax),%eax
406823:	85 c0                	test   %eax,%eax
406825:	75 ea                	jne    0x406811
406827:	c3                   	ret
406828:	e9 df d9 ff ff       	jmp    0x40420c
40682d:	eb c2                	jmp    0x4067f1
40682f:	59                   	pop    %ecx
406830:	5d                   	pop    %ebp
406831:	c3                   	ret
406832:	8b c0                	mov    %eax,%eax
406834:	8b 10                	mov    (%eax),%edx
406836:	85 d2                	test   %edx,%edx
406838:	74 0e                	je     0x406848
40683a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
406840:	50                   	push   %eax
406841:	52                   	push   %edx
406842:	8b 02                	mov    (%edx),%eax
406844:	ff 50 08             	call   *0x8(%eax)
406847:	58                   	pop    %eax
406848:	c3                   	ret
406849:	8d 40 00             	lea    0x0(%eax),%eax
40684c:	85 d2                	test   %edx,%edx
40684e:	74 19                	je     0x406869
406850:	52                   	push   %edx
406851:	50                   	push   %eax
406852:	8b 02                	mov    (%edx),%eax
406854:	52                   	push   %edx
406855:	ff 50 04             	call   *0x4(%eax)
406858:	58                   	pop    %eax
406859:	8b 08                	mov    (%eax),%ecx
40685b:	8f 00                	pop    (%eax)
40685d:	85 c9                	test   %ecx,%ecx
40685f:	75 01                	jne    0x406862
406861:	c3                   	ret
406862:	8b 01                	mov    (%ecx),%eax
406864:	51                   	push   %ecx
406865:	ff 50 08             	call   *0x8(%eax)
406868:	c3                   	ret
406869:	8b 08                	mov    (%eax),%ecx
40686b:	85 c9                	test   %ecx,%ecx
40686d:	89 10                	mov    %edx,(%eax)
40686f:	74 06                	je     0x406877
406871:	8b 01                	mov    (%ecx),%eax
406873:	51                   	push   %ecx