4317c9:	8b c2                	mov    %edx,%eax
4317cb:	f7 d0                	not    %eax
4317cd:	a8 01                	test   $0x1,%al
4317cf:	75 19                	jne    0x4317ea
4317d1:	e8 e5 31 00 00       	call   0x4349bb
4317d6:	89 18                	mov    %ebx,(%eax)
4317d8:	e8 cb 31 00 00       	call   0x4349a8
4317dd:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4317e3:	e8 86 2b 00 00       	call   0x43436e
4317e8:	eb 36                	jmp    0x431820
4317ea:	8b c2                	mov    %edx,%eax
4317ec:	d1 e8                	shr    $1,%eax
4317ee:	89 4d 10             	mov    %ecx,0x10(%ebp)
4317f1:	3b c1                	cmp    %ecx,%eax
4317f3:	72 03                	jb     0x4317f8
4317f5:	89 45 10             	mov    %eax,0x10(%ebp)
4317f8:	ff 75 10             	push   0x10(%ebp)
4317fb:	e8 3b 4c 00 00       	call   0x43643b
431800:	8b d8                	mov    %eax,%ebx
431802:	59                   	pop    %ecx
431803:	89 5d f0             	mov    %ebx,-0x10(%ebp)
431806:	85 db                	test   %ebx,%ebx
431808:	75 1e                	jne    0x431828
43180a:	e8 99 31 00 00       	call   0x4349a8
43180f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
431815:	e8 a1 31 00 00       	call   0x4349bb
43181a:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
431820:	83 c8 ff             	or     $0xffffffff,%eax
431823:	e9 6e 04 00 00       	jmp    0x431c96
431828:	6a 01                	push   $0x1
43182a:	6a 00                	push   $0x0
43182c:	6a 00                	push   $0x0
43182e:	ff 75 08             	push   0x8(%ebp)
431831:	e8 78 91 00 00       	call   0x43a9ae
431836:	8b 0f                	mov    (%edi),%ecx
431838:	89 44 0e 28          	mov    %eax,0x28(%esi,%ecx,1)
43183c:	83 c4 10             	add    $0x10,%esp
43183f:	89 54 0e 2c          	mov    %edx,0x2c(%esi,%ecx,1)
431843:	8b 0f                	mov    (%edi),%ecx
431845:	03 ce                	add    %esi,%ecx
431847:	f6 41 04 48          	testb  $0x48,0x4(%ecx)
43184b:	8b c3                	mov    %ebx,%eax
43184d:	74 7a                	je     0x4318c9
43184f:	8a 49 05             	mov    0x5(%ecx),%cl
431852:	80 f9 0a             	cmp    $0xa,%cl
431855:	74 72                	je     0x4318c9
431857:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
43185b:	74 6c                	je     0x4318c9
43185d:	ff 4d 10             	decl   0x10(%ebp)
431860:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
431864:	88 0b                	mov    %cl,(%ebx)
431866:	8b 0f                	mov    (%edi),%ecx
431868:	8d 43 01             	lea    0x1(%ebx),%eax
43186b:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
431872:	c6 44 0e 05 0a       	movb   $0xa,0x5(%esi,%ecx,1)
431877:	74 50                	je     0x4318c9
431879:	8b 0f                	mov    (%edi),%ecx
43187b:	8a 4c 0e 25          	mov    0x25(%esi,%ecx,1),%cl
43187f:	80 f9 0a             	cmp    $0xa,%cl
431882:	74 45                	je     0x4318c9
431884:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
431888:	74 3f                	je     0x4318c9
43188a:	88 08                	mov    %cl,(%eax)
43188c:	8b 0f                	mov    (%edi),%ecx
43188e:	40                   	inc    %eax
43188f:	ff 4d 10             	decl   0x10(%ebp)
431892:	80 7d fe 01          	cmpb   $0x1,-0x2(%ebp)
431896:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
43189d:	c6 44 0e 25 0a       	movb   $0xa,0x25(%esi,%ecx,1)
4318a2:	75 25                	jne    0x4318c9
4318a4:	8b 0f                	mov    (%edi),%ecx
4318a6:	8a 4c 0e 26          	mov    0x26(%esi,%ecx,1),%cl
4318aa:	80 f9 0a             	cmp    $0xa,%cl
4318ad:	74 1a                	je     0x4318c9
4318af:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4318b3:	74 14                	je     0x4318c9
4318b5:	88 08                	mov    %cl,(%eax)
4318b7:	8b 0f                	mov    (%edi),%ecx
4318b9:	40                   	inc    %eax
4318ba:	ff 4d 10             	decl   0x10(%ebp)
4318bd:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
4318c4:	c6 44 0e 26 0a       	movb   $0xa,0x26(%esi,%ecx,1)
4318c9:	6a 00                	push   $0x0
4318cb:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4318ce:	51                   	push   %ecx
4318cf:	ff 75 10             	push   0x10(%ebp)
4318d2:	50                   	push   %eax
4318d3:	8b 07                	mov    (%edi),%eax
4318d5:	ff 34 06             	push   (%esi,%eax,1)
4318d8:	ff 15 ec 34 47 00    	call   *0x4734ec
4318de:	85 c0                	test   %eax,%eax
4318e0:	0f 84 78 03 00 00    	je     0x431c5e
4318e6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4318e9:	85 c9                	test   %ecx,%ecx
4318eb:	0f 88 6d 03 00 00    	js     0x431c5e
4318f1:	3b 4d 10             	cmp    0x10(%ebp),%ecx
4318f4:	0f 87 64 03 00 00    	ja     0x431c5e
4318fa:	8b 07                	mov    (%edi),%eax
4318fc:	01 4d f4             	add    %ecx,-0xc(%ebp)
4318ff:	8d 44 06 04          	lea    0x4(%esi,%eax,1),%eax
431903:	f6 00 80             	testb  $0x80,(%eax)
431906:	0f 84 e4 01 00 00    	je     0x431af0
43190c:	80 7d fe 02          	cmpb   $0x2,-0x2(%ebp)
431910:	0f 84 14 02 00 00    	je     0x431b2a
431916:	85 c9                	test   %ecx,%ecx
431918:	74 0a                	je     0x431924
43191a:	80 3b 0a             	cmpb   $0xa,(%ebx)
43191d:	75 05                	jne    0x431924
43191f:	80 08 04             	orb    $0x4,(%eax)
431922:	eb 03                	jmp    0x431927
431924:	80 20 fb             	andb   $0xfb,(%eax)
431927:	8b 5d f0             	mov    -0x10(%ebp),%ebx
43192a:	8b 45 f4             	mov    -0xc(%ebp),%eax
43192d:	03 c3                	add    %ebx,%eax
43192f:	89 5d 10             	mov    %ebx,0x10(%ebp)
431932:	89 45 f4             	mov    %eax,-0xc(%ebp)
431935:	3b d8                	cmp    %eax,%ebx
431937:	0f 83 d1 00 00 00    	jae    0x431a0e
43193d:	8b 4d 10             	mov    0x10(%ebp),%ecx
431940:	8a 01                	mov    (%ecx),%al
431942:	3c 1a                	cmp    $0x1a,%al
431944:	0f 84 af 00 00 00    	je     0x4319f9
43194a:	3c 0d                	cmp    $0xd,%al
43194c:	74 0c                	je     0x43195a
43194e:	88 03                	mov    %al,(%ebx)
431950:	43                   	inc    %ebx
431951:	41                   	inc    %ecx
431952:	89 4d 10             	mov    %ecx,0x10(%ebp)
431955:	e9 91 00 00 00       	jmp    0x4319eb
43195a:	8b 45 f4             	mov    -0xc(%ebp),%eax
43195d:	48                   	dec    %eax
43195e:	3b c8                	cmp    %eax,%ecx
431960:	73 18                	jae    0x43197a
431962:	8d 41 01             	lea    0x1(%ecx),%eax
431965:	80 38 0a             	cmpb   $0xa,(%eax)
431968:	75 0b                	jne    0x431975
43196a:	83 c1 02             	add    $0x2,%ecx
43196d:	89 4d 10             	mov    %ecx,0x10(%ebp)
431970:	c6 03 0a             	movb   $0xa,(%ebx)
431973:	eb 75                	jmp    0x4319ea
431975:	89 45 10             	mov    %eax,0x10(%ebp)
431978:	eb 6d                	jmp    0x4319e7
43197a:	ff 45 10             	incl   0x10(%ebp)
43197d:	6a 00                	push   $0x0
43197f:	8d 45 e8             	lea    -0x18(%ebp),%eax
431982:	50                   	push   %eax
431983:	6a 01                	push   $0x1
431985:	8d 45 ff             	lea    -0x1(%ebp),%eax
431988:	50                   	push   %eax
431989:	8b 07                	mov    (%edi),%eax
43198b:	ff 34 06             	push   (%esi,%eax,1)
43198e:	ff 15 ec 34 47 00    	call   *0x4734ec
431994:	85 c0                	test   %eax,%eax
431996:	75 0a                	jne    0x4319a2
431998:	ff 15 24 34 47 00    	call   *0x473424
43199e:	85 c0                	test   %eax,%eax
4319a0:	75 45                	jne    0x4319e7
4319a2:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4319a6:	74 3f                	je     0x4319e7
4319a8:	8b 07                	mov    (%edi),%eax
4319aa:	f6 44 06 04 48       	testb  $0x48,0x4(%esi,%eax,1)
4319af:	74 14                	je     0x4319c5
4319b1:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
4319b5:	74 b9                	je     0x431970
4319b7:	c6 03 0d             	movb   $0xd,(%ebx)
4319ba:	8b 07                	mov    (%edi),%eax
4319bc:	8a 4d ff             	mov    -0x1(%ebp),%cl
4319bf:	88 4c 06 05          	mov    %cl,0x5(%esi,%eax,1)
4319c3:	eb 25                	jmp    0x4319ea
4319c5:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
4319c8:	75 06                	jne    0x4319d0
4319ca:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
4319ce:	74 a0                	je     0x431970
4319d0:	6a 01                	push   $0x1
4319d2:	6a ff                	push   $0xffffffff
4319d4:	6a ff                	push   $0xffffffff
4319d6:	ff 75 08             	push   0x8(%ebp)
4319d9:	e8 d0 8f 00 00       	call   0x43a9ae
4319de:	83 c4 10             	add    $0x10,%esp
4319e1:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
4319e5:	74 04                	je     0x4319eb
4319e7:	c6 03 0d             	movb   $0xd,(%ebx)
4319ea:	43                   	inc    %ebx
4319eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4319ee:	39 45 10             	cmp    %eax,0x10(%ebp)
4319f1:	0f 82 46 ff ff ff    	jb     0x43193d
4319f7:	eb 15                	jmp    0x431a0e
4319f9:	8b 07                	mov    (%edi),%eax
4319fb:	8d 44 06 04          	lea    0x4(%esi,%eax,1),%eax
4319ff:	f6 00 40             	testb  $0x40,(%eax)
431a02:	75 05                	jne    0x431a09
431a04:	80 08 02             	orb    $0x2,(%eax)
431a07:	eb 05                	jmp    0x431a0e
431a09:	8a 01                	mov    (%ecx),%al
431a0b:	88 03                	mov    %al,(%ebx)
431a0d:	43                   	inc    %ebx
431a0e:	8b c3                	mov    %ebx,%eax
431a10:	2b 45 f0             	sub    -0x10(%ebp),%eax
431a13:	80 7d fe 01          	cmpb   $0x1,-0x2(%ebp)
431a17:	89 45 f4             	mov    %eax,-0xc(%ebp)
431a1a:	0f 85 d0 00 00 00    	jne    0x431af0
431a20:	85 c0                	test   %eax,%eax
431a22:	0f 84 c8 00 00 00    	je     0x431af0
431a28:	4b                   	dec    %ebx
431a29:	8a 0b                	mov    (%ebx),%cl
431a2b:	84 c9                	test   %cl,%cl
431a2d:	78 06                	js     0x431a35
431a2f:	43                   	inc    %ebx
431a30:	e9 86 00 00 00       	jmp    0x431abb
431a35:	33 c0                	xor    %eax,%eax
431a37:	40                   	inc    %eax
431a38:	0f b6 c9             	movzbl %cl,%ecx
431a3b:	eb 0f                	jmp    0x431a4c
431a3d:	83 f8 04             	cmp    $0x4,%eax
431a40:	7f 13                	jg     0x431a55
431a42:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
431a45:	72 0e                	jb     0x431a55
431a47:	4b                   	dec    %ebx
431a48:	0f b6 0b             	movzbl (%ebx),%ecx
431a4b:	40                   	inc    %eax
431a4c:	80 b9 a0 f2 46 00 00 	cmpb   $0x0,0x46f2a0(%ecx)
431a53:	74 e8                	je     0x431a3d
431a55:	8a 13                	mov    (%ebx),%dl
431a57:	0f b6 ca             	movzbl %dl,%ecx
431a5a:	0f be 89 a0 f2 46 00 	movsbl 0x46f2a0(%ecx),%ecx
431a61:	85 c9                	test   %ecx,%ecx
431a63:	75 0d                	jne    0x431a72
431a65:	e8 3e 2f 00 00       	call   0x4349a8
431a6a:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
431a70:	eb 7a                	jmp    0x431aec
431a72:	41                   	inc    %ecx
431a73:	3b c8                	cmp    %eax,%ecx
431a75:	75 04                	jne    0x431a7b
431a77:	03 d8                	add    %eax,%ebx
431a79:	eb 40                	jmp    0x431abb
431a7b:	8b 0f                	mov    (%edi),%ecx
431a7d:	f6 44 31 04 48       	testb  $0x48,0x4(%ecx,%esi,1)
431a82:	74 25                	je     0x431aa9
431a84:	43                   	inc    %ebx
431a85:	88 54 31 05          	mov    %dl,0x5(%ecx,%esi,1)
431a89:	83 f8 02             	cmp    $0x2,%eax
431a8c:	7c 09                	jl     0x431a97
431a8e:	8a 13                	mov    (%ebx),%dl
431a90:	8b 0f                	mov    (%edi),%ecx
431a92:	88 54 0e 25          	mov    %dl,0x25(%esi,%ecx,1)
431a96:	43                   	inc    %ebx
431a97:	83 f8 03             	cmp    $0x3,%eax
431a9a:	75 09                	jne    0x431aa5
431a9c:	8a 13                	mov    (%ebx),%dl
431a9e:	8b 0f                	mov    (%edi),%ecx
431aa0:	88 54 0e 26          	mov    %dl,0x26(%esi,%ecx,1)
431aa4:	43                   	inc    %ebx
431aa5:	2b d8                	sub    %eax,%ebx
431aa7:	eb 12                	jmp    0x431abb
431aa9:	f7 d8                	neg    %eax
431aab:	99                   	cltd
431aac:	6a 01                	push   $0x1
431aae:	52                   	push   %edx
431aaf:	50                   	push   %eax
431ab0:	ff 75 08             	push   0x8(%ebp)
431ab3:	e8 f6 8e 00 00       	call   0x43a9ae
431ab8:	83 c4 10             	add    $0x10,%esp
431abb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
431abe:	2b 5d f0             	sub    -0x10(%ebp),%ebx
431ac1:	d1 e8                	shr    $1,%eax
431ac3:	50                   	push   %eax
431ac4:	ff 75 0c             	push   0xc(%ebp)
431ac7:	53                   	push   %ebx
431ac8:	ff 75 f0             	push   -0x10(%ebp)
431acb:	6a 00                	push   $0x0
431acd:	68 e9 fd 00 00       	push   $0xfde9
431ad2:	ff 15 e8 34 47 00    	call   *0x4734e8
431ad8:	89 45 f4             	mov    %eax,-0xc(%ebp)
431adb:	85 c0                	test   %eax,%eax
431add:	75 34                	jne    0x431b13
431adf:	ff 15 24 34 47 00    	call   *0x473424
431ae5:	50                   	push   %eax
431ae6:	e8 e3 2e 00 00       	call   0x4349ce
431aeb:	59                   	pop    %ecx
431aec:	83 4d ec ff          	orl    $0xffffffff,-0x14(%ebp)
431af0:	8b 45 f0             	mov    -0x10(%ebp),%eax
431af3:	3b 45 0c             	cmp    0xc(%ebp),%eax
431af6:	74 07                	je     0x431aff
431af8:	50                   	push   %eax
431af9:	e8 9f ee ff ff       	call   0x43099d
431afe:	59                   	pop    %ecx
431aff:	8b 45 ec             	mov    -0x14(%ebp),%eax
431b02:	83 f8 fe             	cmp    $0xfffffffe,%eax
431b05:	0f 85 8b 01 00 00    	jne    0x431c96
431b0b:	8b 45 f4             	mov    -0xc(%ebp),%eax
431b0e:	e9 83 01 00 00       	jmp    0x431c96
431b13:	8b 45 f4             	mov    -0xc(%ebp),%eax
431b16:	8b 17                	mov    (%edi),%edx
431b18:	33 c9                	xor    %ecx,%ecx
431b1a:	3b c3                	cmp    %ebx,%eax
431b1c:	0f 95 c1             	setne  %cl
431b1f:	03 c0                	add    %eax,%eax
431b21:	89 45 f4             	mov    %eax,-0xc(%ebp)
431b24:	89 4c 16 30          	mov    %ecx,0x30(%esi,%edx,1)
431b28:	eb c6                	jmp    0x431af0
431b2a:	85 c9                	test   %ecx,%ecx
431b2c:	74 0b                	je     0x431b39
431b2e:	66 83 3b 0a          	cmpw   $0xa,(%ebx)
431b32:	75 05                	jne    0x431b39
431b34:	80 08 04             	orb    $0x4,(%eax)
431b37:	eb 03                	jmp    0x431b3c
431b39:	80 20 fb             	andb   $0xfb,(%eax)
431b3c:	8b 5d f0             	mov    -0x10(%ebp),%ebx
431b3f:	8b 45 f4             	mov    -0xc(%ebp),%eax
431b42:	03 c3                	add    %ebx,%eax
431b44:	89 5d 10             	mov    %ebx,0x10(%ebp)
431b47:	89 45 f4             	mov    %eax,-0xc(%ebp)
431b4a:	3b d8                	cmp    %eax,%ebx
431b4c:	0f 83 01 01 00 00    	jae    0x431c53
431b52:	8b 45 10             	mov    0x10(%ebp),%eax
431b55:	0f b7 08             	movzwl (%eax),%ecx
431b58:	83 f9 1a             	cmp    $0x1a,%ecx
431b5b:	0f 84 d9 00 00 00    	je     0x431c3a
431b61:	83 f9 0d             	cmp    $0xd,%ecx
431b64:	74 11                	je     0x431b77
431b66:	66 89 0b             	mov    %cx,(%ebx)
431b69:	83 c3 02             	add    $0x2,%ebx
431b6c:	83 c0 02             	add    $0x2,%eax
431b6f:	89 45 10             	mov    %eax,0x10(%ebp)
431b72:	e9 b5 00 00 00       	jmp    0x431c2c
431b77:	8b 4d f4             	mov    -0xc(%ebp),%ecx
431b7a:	83 c1 fe             	add    $0xfffffffe,%ecx
431b7d:	3b c1                	cmp    %ecx,%eax
431b7f:	73 1e                	jae    0x431b9f
431b81:	8d 48 02             	lea    0x2(%eax),%ecx
431b84:	66 83 39 0a          	cmpw   $0xa,(%ecx)
431b88:	75 0d                	jne    0x431b97
431b8a:	83 c0 04             	add    $0x4,%eax
431b8d:	89 45 10             	mov    %eax,0x10(%ebp)
431b90:	6a 0a                	push   $0xa
431b92:	e9 8e 00 00 00       	jmp    0x431c25
431b97:	89 4d 10             	mov    %ecx,0x10(%ebp)
431b9a:	e9 84 00 00 00       	jmp    0x431c23
431b9f:	83 45 10 02          	addl   $0x2,0x10(%ebp)
431ba3:	6a 00                	push   $0x0
431ba5:	8d 45 e8             	lea    -0x18(%ebp),%eax
431ba8:	50                   	push   %eax
431ba9:	6a 02                	push   $0x2
431bab:	8d 45 f8             	lea    -0x8(%ebp),%eax
431bae:	50                   	push   %eax
431baf:	8b 07                	mov    (%edi),%eax
431bb1:	ff 34 06             	push   (%esi,%eax,1)
431bb4:	ff 15 ec 34 47 00    	call   *0x4734ec
431bba:	85 c0                	test   %eax,%eax
431bbc:	75 0a                	jne    0x431bc8