40671f:	00 6c 65 00          	add    %ch,0x0(%ebp,%eiz,2)
406723:	00 44 03 00          	add    %al,0x0(%ebx,%eax,1)
406727:	00 2e                	add    %ch,(%esi)
406729:	72 64                	jb     0x40678f
40672b:	61                   	popa
40672c:	74 61                	je     0x40678f
40672e:	24 7a                	and    $0x7a,%al
406730:	7a 7a                	jp     0x4067ac
406732:	64 62 67 00          	bound  %esp,%fs:0x0(%edi)
406736:	00 00                	add    %al,(%eax)
406738:	b0 68                	mov    $0x68,%al
40673a:	00 00                	add    %al,(%eax)
40673c:	60                   	pusha
40673d:	01 00                	add    %eax,(%eax)
40673f:	00 2e                	add    %ch,(%esi)
406741:	74 65                	je     0x4067a8
406743:	78 74                	js     0x4067b9
406745:	00 00                	add    %al,(%eax)
406747:	00 10                	add    %dl,(%eax)
406749:	6a 00                	push   $0x0
40674b:	00 e0                	add    %ah,%al
40674d:	00 00                	add    %al,(%eax)
40674f:	00 2e                	add    %ch,(%esi)
406751:	74 65                	je     0x4067b8
406753:	78 74                	js     0x4067c9
406755:	24 64                	and    $0x64,%al
406757:	69 00 00 00 00 f0    	imul   $0xf0000000,(%eax),%eax
40675d:	6a 00                	push   $0x0
40675f:	00 40 5b             	add    %al,0x5b(%eax)
406762:	01 00                	add    %eax,(%eax)
406764:	2e 74 65             	je,pn  0x4067cc
406767:	78 74                	js     0x4067dd
406769:	24 6d                	and    $0x6d,%al
40676b:	6e                   	outsb  %ds:(%esi),(%dx)
40676c:	00 00                	add    %al,(%eax)
40676e:	00 00                	add    %al,(%eax)
406770:	30 c6                	xor    %al,%dh
406772:	01 00                	add    %eax,(%eax)
406774:	10 1c 00             	adc    %bl,(%eax,%eax,1)
406777:	00 2e                	add    %ch,(%esi)
406779:	74 65                	je     0x4067e0
40677b:	78 74                	js     0x4067f1
40677d:	24 78                	and    $0x78,%al
40677f:	00 40 e2             	add    %al,-0x1e(%eax)
406782:	01 00                	add    %eax,(%eax)
406784:	30 00                	xor    %al,(%eax)
406786:	00 00                	add    %al,(%eax)
406788:	2e 74 65             	je,pn  0x4067f0
40678b:	78 74                	js     0x406801
40678d:	24 79                	and    $0x79,%al
40678f:	64 00 00             	add    %al,%fs:(%eax)
406792:	00 00                	add    %al,(%eax)
406794:	70 e2                	jo     0x406778
406796:	01 00                	add    %eax,(%eax)
406798:	04 1c                	add    $0x1c,%al
40679a:	00 00                	add    %al,(%eax)
40679c:	2e 78 64             	js,pn  0x406803
40679f:	61                   	popa
4067a0:	74 61                	je     0x406803
4067a2:	24 78                	and    $0x78,%al
4067a4:	00 00                	add    %al,(%eax)
4067a6:	00 00                	add    %al,(%eax)
4067a8:	00 00                	add    %al,(%eax)
4067aa:	02 00                	add    (%eax),%al
4067ac:	54                   	push   %esp
4067ad:	00 00                	add    %al,(%eax)
4067af:	00 2e                	add    %ch,(%esi)
4067b1:	64 61                	fs popa
4067b3:	74 61                	je     0x406816
4067b5:	24 62                	and    $0x62,%al
4067b7:	72 63                	jb     0x40681c
4067b9:	00 00                	add    %al,(%eax)
4067bb:	00 54 00 02          	add    %dl,0x2(%eax,%eax,1)
4067bf:	00 8c 05 00 00 2e 64 	add    %cl,0x642e0000(%ebp,%eax,1)
4067c6:	61                   	popa
4067c7:	74 61                	je     0x40682a
4067c9:	24 72                	and    $0x72,%al
4067cb:	24 62                	and    $0x62,%al
4067cd:	72 63                	jb     0x406832
4067cf:	00 e0                	add    %ah,%al
4067d1:	05 02 00 c0 00       	add    $0xc00002,%eax
4067d6:	00 00                	add    %al,(%eax)
4067d8:	2e 64 61             	cs fs popa
4067db:	74 61                	je     0x40683e
4067dd:	00 00                	add    %al,(%eax)
4067df:	00 a0 06 02 00 08    	add    %ah,0x8000206(%eax)
4067e5:	1b 00                	sbb    (%eax),%eax
4067e7:	00 2e                	add    %ch,(%esi)
4067e9:	62 73 73             	bound  %esi,0x73(%ebx)
4067ec:	00 00                	add    %al,(%eax)
4067ee:	00 00                	add    %al,(%eax)
4067f0:	00 30                	add    %dh,(%eax)
4067f2:	02 00                	add    (%eax),%al
4067f4:	f0 05 00 00 2e 69    	lock add $0x692e0000,%eax
4067fa:	64 61                	fs popa
4067fc:	74 61                	je     0x40685f
4067fe:	24 35                	and    $0x35,%al
406800:	00 00                	add    %al,(%eax)
406802:	00 00                	add    %al,(%eax)
406804:	f0 35 02 00 04 00    	lock xor $0x40002,%eax
40680a:	00 00                	add    %al,(%eax)
40680c:	2e 30 30             	xor    %dh,%cs:(%eax)
40680f:	63 66 67             	arpl   %esp,0x67(%esi)
406812:	00 00                	add    %al,(%eax)
406814:	f4                   	hlt
406815:	35 02 00 f0 00       	xor    $0xf00002,%eax
40681a:	00 00                	add    %al,(%eax)
40681c:	2e 69 64 61 74 61 24 	imul   $0x322461,%cs:0x74(%ecx,%eiz,2),%esp
406823:	32 00
406825:	00 00                	add    %al,(%eax)
406827:	00 e4                	add    %ah,%ah
406829:	36 02 00             	add    %ss:(%eax),%al
40682c:	14 00                	adc    $0x0,%al
40682e:	00 00                	add    %al,(%eax)
406830:	2e 69 64 61 74 61 24 	imul   $0x332461,%cs:0x74(%ecx,%eiz,2),%esp
406837:	33 00
406839:	00 00                	add    %al,(%eax)
40683b:	00 f8                	add    %bh,%al
40683d:	36 02 00             	add    %ss:(%eax),%al
406840:	f0 05 00 00 2e 69    	lock add $0x692e0000,%eax
406846:	64 61                	fs popa
406848:	74 61                	je     0x4068ab
40684a:	24 34                	and    $0x34,%al
40684c:	00 00                	add    %al,(%eax)
40684e:	00 00                	add    %al,(%eax)
406850:	e8 3c 02 00 50       	call   0x50406a91
406855:	0b 00                	or     (%eax),%eax
406857:	00 2e                	add    %ch,(%esi)
406859:	69 64 61 74 61 24 36 	imul   $0x362461,0x74(%ecx,%eiz,2),%esp
406860:	00
406861:	00 00                	add    %al,(%eax)
406863:	00 00                	add    %al,(%eax)
406865:	50                   	push   %eax
406866:	02 00                	add    (%eax),%al
406868:	80 01 00             	addb   $0x0,(%ecx)
40686b:	00 2e                	add    %ch,(%esi)
40686d:	72 73                	jb     0x4068e2
40686f:	72 63                	jb     0x4068d4
406871:	24 30                	and    $0x30,%al
406873:	31 00                	xor    %eax,(%eax)
406875:	00 00                	add    %al,(%eax)
406877:	00 80 51 02 00 c0    	add    %al,-0x3ffffdaf(%eax)
40687d:	0c 00                	or     $0x0,%al
40687f:	00 2e                	add    %ch,(%esi)
406881:	72 73                	jb     0x4068f6
406883:	72 63                	jb     0x4068e8
406885:	24 30                	and    $0x30,%al
406887:	32 00                	xor    (%eax),%al
406889:	00 00                	add    %al,(%eax)
40688b:	00 20                	add    %ah,(%eax)
40688d:	00 00                	add    %al,(%eax)
40688f:	00 75 cb             	add    %dh,-0x35(%ebp)
406892:	b3 5a                	mov    $0x5a,%bl
406894:	4f                   	dec    %edi
406895:	0f 47 bf fe b9 67 0b 	cmova  0xb67b9fe(%edi),%edi
40689c:	ae                   	scas   %es:(%edi),%al
40689d:	69 2f 20 a8 93 f7    	imul   $0xf793a820,(%edi),%ebp
4068a3:	eb 76                	jmp    0x40691b
4068a5:	91                   	xchg   %eax,%ecx
4068a6:	b9 6b 31 b4 f7       	mov    $0xf7b4316b,%ecx
4068ab:	9d                   	popf
4068ac:	ce                   	into
4068ad:	c5 6a 00             	lds    0x0(%edx),%ebp
4068b0:	8b ff                	mov    %edi,%edi
4068b2:	55                   	push   %ebp
4068b3:	8b ec                	mov    %esp,%ebp
4068b5:	83 ec 14             	sub    $0x14,%esp
4068b8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4068bb:	56                   	push   %esi
4068bc:	8b 75 08             	mov    0x8(%ebp),%esi
4068bf:	0f b6 01             	movzbl (%ecx),%eax
4068c2:	8d 51 01             	lea    0x1(%ecx),%edx
4068c5:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
4068c8:	c1 e0 18             	shl    $0x18,%eax
4068cb:	89 45 ec             	mov    %eax,-0x14(%ebp)
4068ce:	0f b7 02             	movzwl (%edx),%eax
4068d1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4068d4:	8b 42 02             	mov    0x2(%edx),%eax
4068d7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4068da:	8b 42 06             	mov    0x6(%edx),%eax
4068dd:	83 c2 0a             	add    $0xa,%edx
4068e0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4068e3:	8b 46 04             	mov    0x4(%esi),%eax
4068e6:	83 61 04 00          	andl   $0x0,0x4(%ecx)
4068ea:	89 01                	mov    %eax,(%ecx)
4068ec:	8b 46 04             	mov    0x4(%esi),%eax
4068ef:	51                   	push   %ecx
4068f0:	ff 75 18             	push   0x18(%ebp)
4068f3:	0f b7 00             	movzwl (%eax),%eax
4068f6:	83 61 14 00          	andl   $0x0,0x14(%ecx)
4068fa:	ff 75 14             	push   0x14(%ebp)
4068fd:	89 41 08             	mov    %eax,0x8(%ecx)
406900:	ff 75 10             	push   0x10(%ebp)
406903:	c7 41 0c 02 00 00 00 	movl   $0x2,0xc(%ecx)
40690a:	89 51 10             	mov    %edx,0x10(%ecx)
40690d:	0f b7 02             	movzwl (%edx),%eax
406910:	89 41 18             	mov    %eax,0x18(%ecx)
406913:	b8 68 65 40 00       	mov    $0x406568,%eax
406918:	c7 41 1c 01 00 00 00 	movl   $0x1,0x1c(%ecx)
40691f:	2d a8 64 40 00       	sub    $0x4064a8,%eax
406924:	89 45 fc             	mov    %eax,-0x4(%ebp)
406927:	8d 45 ec             	lea    -0x14(%ebp),%eax
40692a:	50                   	push   %eax
40692b:	ff 76 1c             	push   0x1c(%esi)
40692e:	ff 76 18             	push   0x18(%esi)
406931:	ff 15 04 30 42 00    	call   *0x423004
406937:	5e                   	pop    %esi
406938:	c9                   	leave
406939:	c2 18 00             	ret    $0x18
40693c:	8b ff                	mov    %edi,%edi
40693e:	55                   	push   %ebp
40693f:	8b ec                	mov    %esp,%ebp
406941:	8b 0d 18 00 42 00    	mov    0x420018,%ecx
406947:	a1 1c 00 42 00       	mov    0x42001c,%eax
40694c:	23 4d 08             	and    0x8(%ebp),%ecx
40694f:	23 45 0c             	and    0xc(%ebp),%eax
406952:	0b c8                	or     %eax,%ecx
406954:	74 25                	je     0x40697b
406956:	a1 20 00 42 00       	mov    0x420020,%eax
40695b:	8b 15 24 00 42 00    	mov    0x420024,%edx
406961:	23 45 08             	and    0x8(%ebp),%eax
406964:	23 55 0c             	and    0xc(%ebp),%edx
406967:	3b 05 20 00 42 00    	cmp    0x420020,%eax
40696d:	75 0c                	jne    0x40697b
40696f:	3b 15 24 00 42 00    	cmp    0x420024,%edx
406975:	75 04                	jne    0x40697b
406977:	b0 01                	mov    $0x1,%al
406979:	eb 02                	jmp    0x40697d
40697b:	32 c0                	xor    %al,%al
40697d:	5d                   	pop    %ebp
40697e:	c2 08 00             	ret    $0x8
406981:	cc                   	int3
406982:	cc                   	int3
406983:	cc                   	int3
406984:	cc                   	int3
406985:	cc                   	int3
406986:	cc                   	int3
406987:	cc                   	int3
406988:	cc                   	int3
406989:	cc                   	int3
40698a:	cc                   	int3
40698b:	cc                   	int3
40698c:	cc                   	int3
40698d:	cc                   	int3
40698e:	cc                   	int3
40698f:	cc                   	int3
406990:	8b ff                	mov    %edi,%edi
406992:	55                   	push   %ebp
406993:	8b ec                	mov    %esp,%ebp
406995:	8b 45 28             	mov    0x28(%ebp),%eax
406998:	85 c0                	test   %eax,%eax
40699a:	74 6b                	je     0x406a07
40699c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40699f:	8b 55 10             	mov    0x10(%ebp),%edx
4069a2:	53                   	push   %ebx
4069a3:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
4069a6:	57                   	push   %edi
4069a7:	8b 7d 20             	mov    0x20(%ebp),%edi
4069aa:	83 e9 00             	sub    $0x0,%ecx
4069ad:	74 2a                	je     0x4069d9
4069af:	83 e9 01             	sub    $0x1,%ecx
4069b2:	75 28                	jne    0x4069dc
4069b4:	84 d2                	test   %dl,%dl
4069b6:	74 06                	je     0x4069be
4069b8:	0f b6 ca             	movzbl %dl,%ecx
4069bb:	41                   	inc    %ecx
4069bc:	eb 05                	jmp    0x4069c3
4069be:	b9 00 01 00 00       	mov    $0x100,%ecx
4069c3:	89 08                	mov    %ecx,(%eax)
4069c5:	8b 4d 14             	mov    0x14(%ebp),%ecx
4069c8:	89 48 08             	mov    %ecx,0x8(%eax)
4069cb:	8b 4d 18             	mov    0x18(%ebp),%ecx
4069ce:	89 48 0c             	mov    %ecx,0xc(%eax)
4069d1:	89 58 10             	mov    %ebx,0x10(%eax)
4069d4:	89 78 14             	mov    %edi,0x14(%eax)
4069d7:	eb 06                	jmp    0x4069df
4069d9:	83 20 00             	andl   $0x0,(%eax)
4069dc:	8b 4d 18             	mov    0x18(%ebp),%ecx
4069df:	56                   	push   %esi
4069e0:	8b 70 20             	mov    0x20(%eax),%esi
4069e3:	85 f6                	test   %esi,%esi
4069e5:	74 1d                	je     0x406a04
4069e7:	ff 70 24             	push   0x24(%eax)
4069ea:	ff 75 24             	push   0x24(%ebp)
4069ed:	57                   	push   %edi
4069ee:	53                   	push   %ebx
4069ef:	51                   	push   %ecx
4069f0:	ff 75 14             	push   0x14(%ebp)
4069f3:	8b ce                	mov    %esi,%ecx
4069f5:	52                   	push   %edx
4069f6:	ff 75 0c             	push   0xc(%ebp)
4069f9:	ff 75 08             	push   0x8(%ebp)
4069fc:	ff 15 f0 35 42 00    	call   *0x4235f0
406a02:	ff d6                	call   *%esi
406a04:	5e                   	pop    %esi
406a05:	5f                   	pop    %edi
406a06:	5b                   	pop    %ebx
406a07:	5d                   	pop    %ebp
406a08:	c2 24 00             	ret    $0x24
406a0b:	cc                   	int3
406a0c:	cc                   	int3
406a0d:	cc                   	int3
406a0e:	cc                   	int3
406a0f:	cc                   	int3
406a10:	6a 04                	push   $0x4
406a12:	b8 68 c6 41 00       	mov    $0x41c668,%eax
406a17:	e8 1c 5a 01 00       	call   0x41c438
406a1c:	6a 00                	push   $0x0
406a1e:	b9 60 1b 42 00       	mov    $0x421b60,%ecx
406a23:	ff 15 38 32 42 00    	call   *0x423238
406a29:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406a2d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
406a30:	c7 05 60 1b 42 00 10 	movl   $0x401010,0x421b60
406a37:	10 40 00
406a3a:	ff 15 40 32 42 00    	call   *0x423240
406a40:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406a44:	8d 55 f0             	lea    -0x10(%ebp),%edx
406a47:	6a 66                	push   $0x66
406a49:	59                   	pop    %ecx
406a4a:	e8 f2 7d 00 00       	call   0x40e841
406a4f:	85 c0                	test   %eax,%eax
406a51:	74 0f                	je     0x406a62
406a53:	ff 75 f0             	push   -0x10(%ebp)
406a56:	ff 15 80 35 42 00    	call   *0x423580
406a5c:	59                   	pop    %ecx
406a5d:	a3 dc 1b 42 00       	mov    %eax,0x421bdc
406a62:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406a66:	8d 4d f0             	lea    -0x10(%ebp),%ecx
406a69:	ff 15 44 32 42 00    	call   *0x423244
406a6f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406a73:	68 40 e2 41 00       	push   $0x41e240
406a78:	e8 56 4c 01 00       	call   0x41b6d3
406a7d:	59                   	pop    %ecx
406a7e:	e8 83 59 01 00       	call   0x41c406
406a83:	c3                   	ret
406a84:	cc                   	int3
406a85:	cc                   	int3
406a86:	cc                   	int3
406a87:	cc                   	int3
406a88:	cc                   	int3
406a89:	cc                   	int3
406a8a:	cc                   	int3
406a8b:	cc                   	int3
406a8c:	cc                   	int3
406a8d:	cc                   	int3
406a8e:	cc                   	int3
406a8f:	cc                   	int3
406a90:	b9 24 1c 42 00       	mov    $0x421c24,%ecx
406a95:	ff 15 ec 30 42 00    	call   *0x4230ec
406a9b:	68 50 e2 41 00       	push   $0x41e250