4197c0:	8a 07                	mov    (%edi),%al
4197c2:	eb f3                	jmp    0x4197b7
4197c4:	84 c0                	test   %al,%al
4197c6:	0f 84 ae 00 00 00    	je     0x41987a
4197cc:	8b 55 0c             	mov    0xc(%ebp),%edx
4197cf:	85 d2                	test   %edx,%edx
4197d1:	74 08                	je     0x4197db
4197d3:	89 32                	mov    %esi,(%edx)
4197d5:	83 c2 04             	add    $0x4,%edx
4197d8:	89 55 0c             	mov    %edx,0xc(%ebp)
4197db:	8b 45 14             	mov    0x14(%ebp),%eax
4197de:	ff 00                	incl   (%eax)
4197e0:	33 db                	xor    %ebx,%ebx
4197e2:	43                   	inc    %ebx
4197e3:	33 c0                	xor    %eax,%eax
4197e5:	eb 02                	jmp    0x4197e9
4197e7:	47                   	inc    %edi
4197e8:	40                   	inc    %eax
4197e9:	8a 17                	mov    (%edi),%dl
4197eb:	80 fa 5c             	cmp    $0x5c,%dl
4197ee:	74 f7                	je     0x4197e7
4197f0:	80 fa 22             	cmp    $0x22,%dl
4197f3:	75 2e                	jne    0x419823
4197f5:	a8 01                	test   $0x1,%al
4197f7:	75 1b                	jne    0x419814
4197f9:	8a 55 ff             	mov    -0x1(%ebp),%dl
4197fc:	84 d2                	test   %dl,%dl
4197fe:	74 0c                	je     0x41980c
419800:	80 7f 01 22          	cmpb   $0x22,0x1(%edi)
419804:	75 03                	jne    0x419809
419806:	47                   	inc    %edi
419807:	eb 0b                	jmp    0x419814
419809:	8a 55 ff             	mov    -0x1(%ebp),%dl
41980c:	33 db                	xor    %ebx,%ebx
41980e:	84 d2                	test   %dl,%dl
419810:	0f 94 45 ff          	sete   -0x1(%ebp)
419814:	d1 e8                	shr    $1,%eax
419816:	eb 0b                	jmp    0x419823
419818:	48                   	dec    %eax
419819:	85 f6                	test   %esi,%esi
41981b:	74 04                	je     0x419821
41981d:	c6 06 5c             	movb   $0x5c,(%esi)
419820:	46                   	inc    %esi
419821:	ff 01                	incl   (%ecx)
419823:	85 c0                	test   %eax,%eax
419825:	75 f1                	jne    0x419818
419827:	8a 07                	mov    (%edi),%al
419829:	84 c0                	test   %al,%al
41982b:	74 3e                	je     0x41986b
41982d:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
419831:	75 08                	jne    0x41983b
419833:	3c 20                	cmp    $0x20,%al
419835:	74 34                	je     0x41986b
419837:	3c 09                	cmp    $0x9,%al
419839:	74 30                	je     0x41986b
41983b:	85 db                	test   %ebx,%ebx
41983d:	74 26                	je     0x419865
41983f:	85 f6                	test   %esi,%esi
419841:	74 03                	je     0x419846
419843:	88 06                	mov    %al,(%esi)
419845:	46                   	inc    %esi
419846:	0f be 07             	movsbl (%edi),%eax
419849:	50                   	push   %eax
41984a:	e8 da 94 00 00       	call   0x422d29
41984f:	59                   	pop    %ecx
419850:	8b 4d 18             	mov    0x18(%ebp),%ecx
419853:	85 c0                	test   %eax,%eax
419855:	74 0c                	je     0x419863
419857:	47                   	inc    %edi
419858:	ff 01                	incl   (%ecx)
41985a:	85 f6                	test   %esi,%esi
41985c:	74 05                	je     0x419863
41985e:	8a 07                	mov    (%edi),%al
419860:	88 06                	mov    %al,(%esi)
419862:	46                   	inc    %esi
419863:	ff 01                	incl   (%ecx)
419865:	47                   	inc    %edi
419866:	e9 75 ff ff ff       	jmp    0x4197e0
41986b:	85 f6                	test   %esi,%esi
41986d:	74 04                	je     0x419873
41986f:	c6 06 00             	movb   $0x0,(%esi)
419872:	46                   	inc    %esi
419873:	ff 01                	incl   (%ecx)
419875:	e9 33 ff ff ff       	jmp    0x4197ad
41987a:	8b 55 0c             	mov    0xc(%ebp),%edx
41987d:	5f                   	pop    %edi
41987e:	5e                   	pop    %esi
41987f:	5b                   	pop    %ebx
419880:	85 d2                	test   %edx,%edx
419882:	74 03                	je     0x419887
419884:	83 22 00             	andl   $0x0,(%edx)
419887:	8b 45 14             	mov    0x14(%ebp),%eax
41988a:	ff 00                	incl   (%eax)
41988c:	c9                   	leave
41988d:	c3                   	ret
41988e:	8b ff                	mov    %edi,%edi
419890:	55                   	push   %ebp
419891:	8b ec                	mov    %esp,%ebp
419893:	56                   	push   %esi
419894:	8b 75 08             	mov    0x8(%ebp),%esi
419897:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
41989d:	73 39                	jae    0x4198d8
41989f:	83 c8 ff             	or     $0xffffffff,%eax
4198a2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4198a5:	33 d2                	xor    %edx,%edx
4198a7:	f7 75 10             	divl   0x10(%ebp)
4198aa:	3b c8                	cmp    %eax,%ecx
4198ac:	73 2a                	jae    0x4198d8
4198ae:	0f af 4d 10          	imul   0x10(%ebp),%ecx
4198b2:	c1 e6 02             	shl    $0x2,%esi
4198b5:	8b c6                	mov    %esi,%eax
4198b7:	f7 d0                	not    %eax
4198b9:	3b c1                	cmp    %ecx,%eax
4198bb:	76 1b                	jbe    0x4198d8
4198bd:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
4198c0:	6a 01                	push   $0x1
4198c2:	50                   	push   %eax
4198c3:	e8 e8 d2 fe ff       	call   0x406bb0
4198c8:	6a 00                	push   $0x0
4198ca:	8b f0                	mov    %eax,%esi
4198cc:	e8 3f d3 fe ff       	call   0x406c10
4198d1:	83 c4 0c             	add    $0xc,%esp
4198d4:	8b c6                	mov    %esi,%eax
4198d6:	eb 02                	jmp    0x4198da
4198d8:	33 c0                	xor    %eax,%eax
4198da:	5e                   	pop    %esi
4198db:	5d                   	pop    %ebp
4198dc:	c3                   	ret
4198dd:	8b ff                	mov    %edi,%edi
4198df:	55                   	push   %ebp
4198e0:	8b ec                	mov    %esp,%ebp
4198e2:	5d                   	pop    %ebp
4198e3:	e9 f5 fc ff ff       	jmp    0x4195dd
4198e8:	a1 9c f7 43 00       	mov    0x43f79c,%eax
4198ed:	85 c0                	test   %eax,%eax
4198ef:	75 22                	jne    0x419913
4198f1:	39 05 98 f7 43 00    	cmp    %eax,0x43f798
4198f7:	74 18                	je     0x419911
4198f9:	e8 70 00 00 00       	call   0x41996e
4198fe:	85 c0                	test   %eax,%eax
419900:	74 09                	je     0x41990b
419902:	e8 eb 02 00 00       	call   0x419bf2
419907:	85 c0                	test   %eax,%eax
419909:	75 06                	jne    0x419911
41990b:	a1 9c f7 43 00       	mov    0x43f79c,%eax
419910:	c3                   	ret
419911:	33 c0                	xor    %eax,%eax
419913:	c3                   	ret
419914:	83 3d 98 f7 43 00 00 	cmpl   $0x0,0x43f798
41991b:	74 03                	je     0x419920
41991d:	33 c0                	xor    %eax,%eax
41991f:	c3                   	ret
419920:	56                   	push   %esi
419921:	e8 53 91 00 00       	call   0x422a79
419926:	e8 62 95 00 00       	call   0x422e8d
41992b:	8b f0                	mov    %eax,%esi
41992d:	85 f6                	test   %esi,%esi
41992f:	75 0c                	jne    0x41993d
419931:	50                   	push   %eax
419932:	e8 d9 d2 fe ff       	call   0x406c10
419937:	59                   	pop    %ecx
419938:	83 c8 ff             	or     $0xffffffff,%eax
41993b:	5e                   	pop    %esi
41993c:	c3                   	ret
41993d:	57                   	push   %edi
41993e:	56                   	push   %esi
41993f:	e8 7f 00 00 00       	call   0x4199c3
419944:	59                   	pop    %ecx
419945:	85 c0                	test   %eax,%eax
419947:	75 05                	jne    0x41994e
419949:	83 cf ff             	or     $0xffffffff,%edi
41994c:	eb 0c                	jmp    0x41995a
41994e:	a3 a4 f7 43 00       	mov    %eax,0x43f7a4
419953:	33 ff                	xor    %edi,%edi
419955:	a3 98 f7 43 00       	mov    %eax,0x43f798
41995a:	6a 00                	push   $0x0
41995c:	e8 af d2 fe ff       	call   0x406c10
419961:	56                   	push   %esi
419962:	e8 a9 d2 fe ff       	call   0x406c10
419967:	59                   	pop    %ecx
419968:	59                   	pop    %ecx
419969:	8b c7                	mov    %edi,%eax
41996b:	5f                   	pop    %edi
41996c:	5e                   	pop    %esi
41996d:	c3                   	ret
41996e:	83 3d 9c f7 43 00 00 	cmpl   $0x0,0x43f79c
419975:	74 03                	je     0x41997a
419977:	33 c0                	xor    %eax,%eax
419979:	c3                   	ret
41997a:	56                   	push   %esi
41997b:	e8 ad 95 00 00       	call   0x422f2d
419980:	8b f0                	mov    %eax,%esi
419982:	85 f6                	test   %esi,%esi
419984:	75 0c                	jne    0x419992
419986:	50                   	push   %eax
419987:	e8 84 d2 fe ff       	call   0x406c10
41998c:	59                   	pop    %ecx
41998d:	83 c8 ff             	or     $0xffffffff,%eax
419990:	5e                   	pop    %esi
419991:	c3                   	ret
419992:	57                   	push   %edi
419993:	56                   	push   %esi
419994:	e8 0c 01 00 00       	call   0x419aa5
419999:	59                   	pop    %ecx
41999a:	85 c0                	test   %eax,%eax
41999c:	75 05                	jne    0x4199a3
41999e:	83 cf ff             	or     $0xffffffff,%edi
4199a1:	eb 0c                	jmp    0x4199af
4199a3:	a3 a0 f7 43 00       	mov    %eax,0x43f7a0
4199a8:	33 ff                	xor    %edi,%edi
4199aa:	a3 9c f7 43 00       	mov    %eax,0x43f79c
4199af:	6a 00                	push   $0x0
4199b1:	e8 5a d2 fe ff       	call   0x406c10
4199b6:	56                   	push   %esi
4199b7:	e8 54 d2 fe ff       	call   0x406c10
4199bc:	59                   	pop    %ecx
4199bd:	59                   	pop    %ecx
4199be:	8b c7                	mov    %edi,%eax
4199c0:	5f                   	pop    %edi
4199c1:	5e                   	pop    %esi
4199c2:	c3                   	ret
4199c3:	8b ff                	mov    %edi,%edi
4199c5:	55                   	push   %ebp
4199c6:	8b ec                	mov    %esp,%ebp
4199c8:	51                   	push   %ecx
4199c9:	51                   	push   %ecx
4199ca:	53                   	push   %ebx
4199cb:	8b 5d 08             	mov    0x8(%ebp),%ebx
4199ce:	33 d2                	xor    %edx,%edx
4199d0:	56                   	push   %esi
4199d1:	57                   	push   %edi
4199d2:	8b f3                	mov    %ebx,%esi
4199d4:	8a 03                	mov    (%ebx),%al
4199d6:	eb 18                	jmp    0x4199f0
4199d8:	3c 3d                	cmp    $0x3d,%al
4199da:	74 01                	je     0x4199dd
4199dc:	42                   	inc    %edx
4199dd:	8b ce                	mov    %esi,%ecx
4199df:	8d 79 01             	lea    0x1(%ecx),%edi
4199e2:	8a 01                	mov    (%ecx),%al
4199e4:	41                   	inc    %ecx
4199e5:	84 c0                	test   %al,%al
4199e7:	75 f9                	jne    0x4199e2
4199e9:	2b cf                	sub    %edi,%ecx
4199eb:	46                   	inc    %esi
4199ec:	03 f1                	add    %ecx,%esi
4199ee:	8a 06                	mov    (%esi),%al
4199f0:	84 c0                	test   %al,%al
4199f2:	75 e4                	jne    0x4199d8
4199f4:	8d 42 01             	lea    0x1(%edx),%eax
4199f7:	6a 04                	push   $0x4
4199f9:	50                   	push   %eax
4199fa:	e8 b1 d1 fe ff       	call   0x406bb0
4199ff:	8b f0                	mov    %eax,%esi
419a01:	59                   	pop    %ecx
419a02:	59                   	pop    %ecx
419a03:	85 f6                	test   %esi,%esi
419a05:	75 0a                	jne    0x419a11
419a07:	50                   	push   %eax
419a08:	e8 03 d2 fe ff       	call   0x406c10
419a0d:	33 c0                	xor    %eax,%eax
419a0f:	eb 66                	jmp    0x419a77
419a11:	89 75 fc             	mov    %esi,-0x4(%ebp)
419a14:	eb 52                	jmp    0x419a68
419a16:	8b cb                	mov    %ebx,%ecx
419a18:	8d 79 01             	lea    0x1(%ecx),%edi
419a1b:	8a 01                	mov    (%ecx),%al
419a1d:	41                   	inc    %ecx
419a1e:	84 c0                	test   %al,%al
419a20:	75 f9                	jne    0x419a1b
419a22:	2b cf                	sub    %edi,%ecx
419a24:	8d 41 01             	lea    0x1(%ecx),%eax
419a27:	89 45 f8             	mov    %eax,-0x8(%ebp)
419a2a:	80 fa 3d             	cmp    $0x3d,%dl
419a2d:	74 37                	je     0x419a66
419a2f:	6a 01                	push   $0x1
419a31:	50                   	push   %eax
419a32:	e8 79 d1 fe ff       	call   0x406bb0
419a37:	8b f8                	mov    %eax,%edi
419a39:	59                   	pop    %ecx
419a3a:	59                   	pop    %ecx
419a3b:	85 ff                	test   %edi,%edi
419a3d:	74 3e                	je     0x419a7d
419a3f:	53                   	push   %ebx
419a40:	ff 75 f8             	push   -0x8(%ebp)
419a43:	57                   	push   %edi
419a44:	e8 8c 24 00 00       	call   0x41bed5
419a49:	83 c4 0c             	add    $0xc,%esp
419a4c:	85 c0                	test   %eax,%eax
419a4e:	75 48                	jne    0x419a98
419a50:	8b 45 fc             	mov    -0x4(%ebp),%eax
419a53:	6a 00                	push   $0x0
419a55:	89 38                	mov    %edi,(%eax)
419a57:	83 c0 04             	add    $0x4,%eax
419a5a:	89 45 fc             	mov    %eax,-0x4(%ebp)
419a5d:	e8 ae d1 fe ff       	call   0x406c10
419a62:	8b 45 f8             	mov    -0x8(%ebp),%eax
419a65:	59                   	pop    %ecx
419a66:	03 d8                	add    %eax,%ebx
419a68:	8a 13                	mov    (%ebx),%dl
419a6a:	84 d2                	test   %dl,%dl
419a6c:	75 a8                	jne    0x419a16
419a6e:	6a 00                	push   $0x0
419a70:	e8 9b d1 fe ff       	call   0x406c10
419a75:	8b c6                	mov    %esi,%eax
419a77:	59                   	pop    %ecx
419a78:	5f                   	pop    %edi
419a79:	5e                   	pop    %esi
419a7a:	5b                   	pop    %ebx
419a7b:	c9                   	leave
419a7c:	c3                   	ret
419a7d:	56                   	push   %esi
419a7e:	e8 40 01 00 00       	call   0x419bc3
419a83:	6a 00                	push   $0x0
419a85:	e8 86 d1 fe ff       	call   0x406c10
419a8a:	6a 00                	push   $0x0
419a8c:	e8 7f d1 fe ff       	call   0x406c10
419a91:	83 c4 0c             	add    $0xc,%esp
419a94:	33 c0                	xor    %eax,%eax
419a96:	eb e0                	jmp    0x419a78
419a98:	33 c0                	xor    %eax,%eax
419a9a:	50                   	push   %eax
419a9b:	50                   	push   %eax
419a9c:	50                   	push   %eax
419a9d:	50                   	push   %eax
419a9e:	50                   	push   %eax
419a9f:	e8 77 39 ff ff       	call   0x40d41b
419aa4:	cc                   	int3
419aa5:	8b ff                	mov    %edi,%edi
419aa7:	55                   	push   %ebp
419aa8:	8b ec                	mov    %esp,%ebp
419aaa:	83 ec 0c             	sub    $0xc,%esp
419aad:	53                   	push   %ebx
419aae:	8b 5d 08             	mov    0x8(%ebp),%ebx
419ab1:	56                   	push   %esi
419ab2:	57                   	push   %edi
419ab3:	33 ff                	xor    %edi,%edi
419ab5:	8b f3                	mov    %ebx,%esi
419ab7:	0f b7 03             	movzwl (%ebx),%eax
419aba:	8b d7                	mov    %edi,%edx
419abc:	89 7d fc             	mov    %edi,-0x4(%ebp)
419abf:	66 85 c0             	test   %ax,%ax
419ac2:	74 35                	je     0x419af9
419ac4:	6a 3d                	push   $0x3d
419ac6:	8b c8                	mov    %eax,%ecx
419ac8:	5b                   	pop    %ebx
419ac9:	66 3b cb             	cmp    %bx,%cx
419acc:	74 01                	je     0x419acf
419ace:	42                   	inc    %edx
419acf:	8b ce                	mov    %esi,%ecx