40d84e:	c6 46 04 81          	movb   $0x81,0x4(%esi)
40d852:	85 db                	test   %ebx,%ebx
40d854:	75 05                	jne    0x40d85b
40d856:	6a f6                	push   $0xfffffff6
40d858:	58                   	pop    %eax
40d859:	eb 0a                	jmp    0x40d865
40d85b:	8d 43 ff             	lea    -0x1(%ebx),%eax
40d85e:	f7 d8                	neg    %eax
40d860:	1b c0                	sbb    %eax,%eax
40d862:	83 c0 f5             	add    $0xfffffff5,%eax
40d865:	50                   	push   %eax
40d866:	ff 15 ac 90 41 00    	call   *0x4190ac
40d86c:	8b f8                	mov    %eax,%edi
40d86e:	83 ff ff             	cmp    $0xffffffff,%edi
40d871:	74 45                	je     0x40d8b8
40d873:	85 ff                	test   %edi,%edi
40d875:	74 41                	je     0x40d8b8
40d877:	57                   	push   %edi
40d878:	ff 15 d0 90 41 00    	call   *0x4190d0
40d87e:	85 c0                	test   %eax,%eax
40d880:	74 36                	je     0x40d8b8
40d882:	89 3e                	mov    %edi,(%esi)
40d884:	25 ff 00 00 00       	and    $0xff,%eax
40d889:	83 f8 02             	cmp    $0x2,%eax
40d88c:	75 08                	jne    0x40d896
40d88e:	0f be 46 04          	movsbl 0x4(%esi),%eax
40d892:	0c 40                	or     $0x40,%al
40d894:	eb 0b                	jmp    0x40d8a1
40d896:	83 f8 03             	cmp    $0x3,%eax
40d899:	75 09                	jne    0x40d8a4
40d89b:	0f be 46 04          	movsbl 0x4(%esi),%eax
40d89f:	0c 08                	or     $0x8,%al
40d8a1:	88 46 04             	mov    %al,0x4(%esi)
40d8a4:	68 a0 0f 00 00       	push   $0xfa0
40d8a9:	8d 46 0c             	lea    0xc(%esi),%eax
40d8ac:	50                   	push   %eax
40d8ad:	ff 15 94 90 41 00    	call   *0x419094
40d8b3:	ff 46 08             	incl   0x8(%esi)
40d8b6:	eb 22                	jmp    0x40d8da
40d8b8:	0f be 46 04          	movsbl 0x4(%esi),%eax
40d8bc:	0c 40                	or     $0x40,%al
40d8be:	88 46 04             	mov    %al,0x4(%esi)
40d8c1:	c7 06 fe ff ff ff    	movl   $0xfffffffe,(%esi)
40d8c7:	a1 34 2b 42 00       	mov    0x422b34,%eax
40d8cc:	85 c0                	test   %eax,%eax
40d8ce:	74 0a                	je     0x40d8da
40d8d0:	8b 04 98             	mov    (%eax,%ebx,4),%eax
40d8d3:	c7 40 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%eax)
40d8da:	43                   	inc    %ebx
40d8db:	e9 3c ff ff ff       	jmp    0x40d81c
40d8e0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40d8e7:	e8 05 00 00 00       	call   0x40d8f1
40d8ec:	e9 70 fd ff ff       	jmp    0x40d661
40d8f1:	6a 0b                	push   $0xb
40d8f3:	e8 13 ad ff ff       	call   0x40860b
40d8f8:	59                   	pop    %ecx
40d8f9:	c3                   	ret
40d8fa:	55                   	push   %ebp
40d8fb:	8b ec                	mov    %esp,%ebp
40d8fd:	51                   	push   %ecx
40d8fe:	51                   	push   %ecx
40d8ff:	83 3d 2c 2b 42 00 00 	cmpl   $0x0,0x422b2c
40d906:	75 05                	jne    0x40d90d
40d908:	e8 e0 e1 ff ff       	call   0x40baed
40d90d:	53                   	push   %ebx
40d90e:	56                   	push   %esi
40d90f:	57                   	push   %edi
40d910:	68 04 01 00 00       	push   $0x104
40d915:	bf 80 27 42 00       	mov    $0x422780,%edi
40d91a:	33 db                	xor    %ebx,%ebx
40d91c:	57                   	push   %edi
40d91d:	53                   	push   %ebx
40d91e:	88 1d 84 28 42 00    	mov    %bl,0x422884
40d924:	ff 15 dc 90 41 00    	call   *0x4190dc
40d92a:	8b 35 40 3b 42 00    	mov    0x423b40,%esi
40d930:	89 3d f0 20 42 00    	mov    %edi,0x4220f0
40d936:	85 f6                	test   %esi,%esi
40d938:	74 04                	je     0x40d93e
40d93a:	38 1e                	cmp    %bl,(%esi)
40d93c:	75 02                	jne    0x40d940
40d93e:	8b f7                	mov    %edi,%esi
40d940:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d943:	50                   	push   %eax
40d944:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d947:	50                   	push   %eax
40d948:	53                   	push   %ebx
40d949:	53                   	push   %ebx
40d94a:	56                   	push   %esi
40d94b:	e8 5b 00 00 00       	call   0x40d9ab
40d950:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40d953:	83 c4 14             	add    $0x14,%esp
40d956:	81 fb ff ff ff 3f    	cmp    $0x3fffffff,%ebx
40d95c:	73 45                	jae    0x40d9a3
40d95e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40d961:	83 f9 ff             	cmp    $0xffffffff,%ecx
40d964:	73 3d                	jae    0x40d9a3
40d966:	8d 14 99             	lea    (%ecx,%ebx,4),%edx
40d969:	3b d1                	cmp    %ecx,%edx
40d96b:	72 36                	jb     0x40d9a3
40d96d:	52                   	push   %edx
40d96e:	e8 2f b1 ff ff       	call   0x408aa2
40d973:	8b f8                	mov    %eax,%edi
40d975:	59                   	pop    %ecx
40d976:	85 ff                	test   %edi,%edi
40d978:	74 29                	je     0x40d9a3
40d97a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d97d:	50                   	push   %eax
40d97e:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d981:	50                   	push   %eax
40d982:	8d 04 9f             	lea    (%edi,%ebx,4),%eax
40d985:	50                   	push   %eax
40d986:	57                   	push   %edi
40d987:	56                   	push   %esi
40d988:	e8 1e 00 00 00       	call   0x40d9ab
40d98d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d990:	83 c4 14             	add    $0x14,%esp
40d993:	48                   	dec    %eax
40d994:	a3 dc 20 42 00       	mov    %eax,0x4220dc
40d999:	89 3d e0 20 42 00    	mov    %edi,0x4220e0
40d99f:	33 c0                	xor    %eax,%eax
40d9a1:	eb 03                	jmp    0x40d9a6
40d9a3:	83 c8 ff             	or     $0xffffffff,%eax
40d9a6:	5f                   	pop    %edi
40d9a7:	5e                   	pop    %esi
40d9a8:	5b                   	pop    %ebx
40d9a9:	c9                   	leave
40d9aa:	c3                   	ret
40d9ab:	55                   	push   %ebp
40d9ac:	8b ec                	mov    %esp,%ebp
40d9ae:	8b 45 14             	mov    0x14(%ebp),%eax
40d9b1:	53                   	push   %ebx
40d9b2:	8b 5d 18             	mov    0x18(%ebp),%ebx
40d9b5:	56                   	push   %esi
40d9b6:	83 23 00             	andl   $0x0,(%ebx)
40d9b9:	8b 75 08             	mov    0x8(%ebp),%esi
40d9bc:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40d9c2:	8b 45 0c             	mov    0xc(%ebp),%eax
40d9c5:	57                   	push   %edi
40d9c6:	8b 7d 10             	mov    0x10(%ebp),%edi
40d9c9:	85 c0                	test   %eax,%eax
40d9cb:	74 08                	je     0x40d9d5
40d9cd:	89 38                	mov    %edi,(%eax)
40d9cf:	83 c0 04             	add    $0x4,%eax
40d9d2:	89 45 0c             	mov    %eax,0xc(%ebp)
40d9d5:	33 c9                	xor    %ecx,%ecx
40d9d7:	89 4d 08             	mov    %ecx,0x8(%ebp)
40d9da:	80 3e 22             	cmpb   $0x22,(%esi)
40d9dd:	75 11                	jne    0x40d9f0
40d9df:	33 c0                	xor    %eax,%eax
40d9e1:	85 c9                	test   %ecx,%ecx
40d9e3:	0f 94 c0             	sete   %al
40d9e6:	46                   	inc    %esi
40d9e7:	8b c8                	mov    %eax,%ecx
40d9e9:	89 4d 08             	mov    %ecx,0x8(%ebp)
40d9ec:	b0 22                	mov    $0x22,%al
40d9ee:	eb 35                	jmp    0x40da25
40d9f0:	ff 03                	incl   (%ebx)
40d9f2:	85 ff                	test   %edi,%edi
40d9f4:	74 05                	je     0x40d9fb
40d9f6:	8a 06                	mov    (%esi),%al
40d9f8:	88 07                	mov    %al,(%edi)
40d9fa:	47                   	inc    %edi
40d9fb:	8a 06                	mov    (%esi),%al
40d9fd:	88 45 1b             	mov    %al,0x1b(%ebp)
40da00:	0f b6 c0             	movzbl %al,%eax
40da03:	50                   	push   %eax
40da04:	46                   	inc    %esi
40da05:	e8 1d a8 ff ff       	call   0x408227
40da0a:	59                   	pop    %ecx
40da0b:	85 c0                	test   %eax,%eax
40da0d:	74 0c                	je     0x40da1b
40da0f:	ff 03                	incl   (%ebx)
40da11:	85 ff                	test   %edi,%edi
40da13:	74 05                	je     0x40da1a
40da15:	8a 06                	mov    (%esi),%al
40da17:	88 07                	mov    %al,(%edi)
40da19:	47                   	inc    %edi
40da1a:	46                   	inc    %esi
40da1b:	8a 45 1b             	mov    0x1b(%ebp),%al
40da1e:	84 c0                	test   %al,%al
40da20:	74 19                	je     0x40da3b
40da22:	8b 4d 08             	mov    0x8(%ebp),%ecx
40da25:	85 c9                	test   %ecx,%ecx
40da27:	75 b1                	jne    0x40d9da
40da29:	3c 20                	cmp    $0x20,%al
40da2b:	74 04                	je     0x40da31
40da2d:	3c 09                	cmp    $0x9,%al
40da2f:	75 a9                	jne    0x40d9da
40da31:	85 ff                	test   %edi,%edi
40da33:	74 07                	je     0x40da3c
40da35:	c6 47 ff 00          	movb   $0x0,-0x1(%edi)
40da39:	eb 01                	jmp    0x40da3c
40da3b:	4e                   	dec    %esi
40da3c:	83 65 18 00          	andl   $0x0,0x18(%ebp)
40da40:	80 3e 00             	cmpb   $0x0,(%esi)
40da43:	0f 84 ca 00 00 00    	je     0x40db13
40da49:	8a 06                	mov    (%esi),%al
40da4b:	3c 20                	cmp    $0x20,%al
40da4d:	74 04                	je     0x40da53
40da4f:	3c 09                	cmp    $0x9,%al
40da51:	75 03                	jne    0x40da56
40da53:	46                   	inc    %esi
40da54:	eb f3                	jmp    0x40da49
40da56:	80 3e 00             	cmpb   $0x0,(%esi)
40da59:	0f 84 b4 00 00 00    	je     0x40db13
40da5f:	8b 55 0c             	mov    0xc(%ebp),%edx
40da62:	85 d2                	test   %edx,%edx
40da64:	74 08                	je     0x40da6e
40da66:	89 3a                	mov    %edi,(%edx)
40da68:	83 c2 04             	add    $0x4,%edx
40da6b:	89 55 0c             	mov    %edx,0xc(%ebp)
40da6e:	8b 45 14             	mov    0x14(%ebp),%eax
40da71:	ff 00                	incl   (%eax)
40da73:	33 d2                	xor    %edx,%edx
40da75:	42                   	inc    %edx
40da76:	33 c9                	xor    %ecx,%ecx
40da78:	eb 02                	jmp    0x40da7c
40da7a:	46                   	inc    %esi
40da7b:	41                   	inc    %ecx
40da7c:	80 3e 5c             	cmpb   $0x5c,(%esi)
40da7f:	74 f9                	je     0x40da7a
40da81:	80 3e 22             	cmpb   $0x22,(%esi)
40da84:	75 33                	jne    0x40dab9
40da86:	f6 c1 01             	test   $0x1,%cl
40da89:	75 1f                	jne    0x40daaa
40da8b:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
40da8f:	74 0c                	je     0x40da9d
40da91:	8d 46 01             	lea    0x1(%esi),%eax
40da94:	80 38 22             	cmpb   $0x22,(%eax)
40da97:	75 04                	jne    0x40da9d
40da99:	8b f0                	mov    %eax,%esi
40da9b:	eb 0d                	jmp    0x40daaa
40da9d:	33 c0                	xor    %eax,%eax
40da9f:	33 d2                	xor    %edx,%edx
40daa1:	39 45 18             	cmp    %eax,0x18(%ebp)
40daa4:	0f 94 c0             	sete   %al
40daa7:	89 45 18             	mov    %eax,0x18(%ebp)
40daaa:	d1 e9                	shr    $1,%ecx
40daac:	eb 0b                	jmp    0x40dab9
40daae:	49                   	dec    %ecx
40daaf:	85 ff                	test   %edi,%edi
40dab1:	74 04                	je     0x40dab7
40dab3:	c6 07 5c             	movb   $0x5c,(%edi)
40dab6:	47                   	inc    %edi
40dab7:	ff 03                	incl   (%ebx)
40dab9:	85 c9                	test   %ecx,%ecx
40dabb:	75 f1                	jne    0x40daae
40dabd:	8a 06                	mov    (%esi),%al
40dabf:	84 c0                	test   %al,%al
40dac1:	74 41                	je     0x40db04
40dac3:	39 4d 18             	cmp    %ecx,0x18(%ebp)
40dac6:	75 08                	jne    0x40dad0
40dac8:	3c 20                	cmp    $0x20,%al
40daca:	74 38                	je     0x40db04
40dacc:	3c 09                	cmp    $0x9,%al
40dace:	74 34                	je     0x40db04
40dad0:	85 d2                	test   %edx,%edx
40dad2:	74 2a                	je     0x40dafe
40dad4:	0f be c0             	movsbl %al,%eax
40dad7:	50                   	push   %eax
40dad8:	e8 4a a7 ff ff       	call   0x408227
40dadd:	59                   	pop    %ecx
40dade:	85 ff                	test   %edi,%edi
40dae0:	74 13                	je     0x40daf5
40dae2:	85 c0                	test   %eax,%eax
40dae4:	74 08                	je     0x40daee
40dae6:	8a 06                	mov    (%esi),%al
40dae8:	88 07                	mov    %al,(%edi)
40daea:	47                   	inc    %edi
40daeb:	46                   	inc    %esi
40daec:	ff 03                	incl   (%ebx)
40daee:	8a 06                	mov    (%esi),%al
40daf0:	88 07                	mov    %al,(%edi)
40daf2:	47                   	inc    %edi
40daf3:	eb 07                	jmp    0x40dafc
40daf5:	85 c0                	test   %eax,%eax
40daf7:	74 03                	je     0x40dafc
40daf9:	46                   	inc    %esi
40dafa:	ff 03                	incl   (%ebx)
40dafc:	ff 03                	incl   (%ebx)
40dafe:	46                   	inc    %esi
40daff:	e9 6f ff ff ff       	jmp    0x40da73
40db04:	85 ff                	test   %edi,%edi
40db06:	74 04                	je     0x40db0c
40db08:	c6 07 00             	movb   $0x0,(%edi)
40db0b:	47                   	inc    %edi
40db0c:	ff 03                	incl   (%ebx)
40db0e:	e9 2d ff ff ff       	jmp    0x40da40
40db13:	8b 55 0c             	mov    0xc(%ebp),%edx
40db16:	5f                   	pop    %edi
40db17:	5e                   	pop    %esi
40db18:	5b                   	pop    %ebx
40db19:	85 d2                	test   %edx,%edx
40db1b:	74 03                	je     0x40db20
40db1d:	83 22 00             	andl   $0x0,(%edx)
40db20:	8b 45 14             	mov    0x14(%ebp),%eax
40db23:	ff 00                	incl   (%eax)
40db25:	5d                   	pop    %ebp
40db26:	c3                   	ret
40db27:	83 3d 2c 2b 42 00 00 	cmpl   $0x0,0x422b2c
40db2e:	75 05                	jne    0x40db35
40db30:	e8 b8 df ff ff       	call   0x40baed
40db35:	56                   	push   %esi
40db36:	8b 35 48 1c 42 00    	mov    0x421c48,%esi
40db3c:	57                   	push   %edi
40db3d:	33 ff                	xor    %edi,%edi
40db3f:	85 f6                	test   %esi,%esi
40db41:	75 17                	jne    0x40db5a
40db43:	83 c8 ff             	or     $0xffffffff,%eax
40db46:	e9 96 00 00 00       	jmp    0x40dbe1
40db4b:	3c 3d                	cmp    $0x3d,%al
40db4d:	74 01                	je     0x40db50
40db4f:	47                   	inc    %edi
40db50:	56                   	push   %esi
40db51:	e8 9a 81 ff ff       	call   0x405cf0
40db56:	46                   	inc    %esi
40db57:	59                   	pop    %ecx
40db58:	03 f0                	add    %eax,%esi
40db5a:	8a 06                	mov    (%esi),%al
40db5c:	84 c0                	test   %al,%al
40db5e:	75 eb                	jne    0x40db4b
40db60:	8d 47 01             	lea    0x1(%edi),%eax
40db63:	6a 04                	push   $0x4
40db65:	50                   	push   %eax
40db66:	e8 ed ae ff ff       	call   0x408a58
40db6b:	8b f8                	mov    %eax,%edi
40db6d:	59                   	pop    %ecx
40db6e:	59                   	pop    %ecx
40db6f:	89 3d e8 20 42 00    	mov    %edi,0x4220e8
40db75:	85 ff                	test   %edi,%edi
40db77:	74 ca                	je     0x40db43
40db79:	8b 35 48 1c 42 00    	mov    0x421c48,%esi
40db7f:	53                   	push   %ebx
40db80:	80 3e 00             	cmpb   $0x0,(%esi)
40db83:	74 3e                	je     0x40dbc3
40db85:	56                   	push   %esi
40db86:	e8 65 81 ff ff       	call   0x405cf0
40db8b:	80 3e 3d             	cmpb   $0x3d,(%esi)
40db8e:	59                   	pop    %ecx
40db8f:	8d 58 01             	lea    0x1(%eax),%ebx
40db92:	74 22                	je     0x40dbb6
40db94:	6a 01                	push   $0x1
40db96:	53                   	push   %ebx
40db97:	e8 bc ae ff ff       	call   0x408a58
40db9c:	59                   	pop    %ecx
40db9d:	59                   	pop    %ecx
40db9e:	89 07                	mov    %eax,(%edi)
40dba0:	85 c0                	test   %eax,%eax
40dba2:	74 40                	je     0x40dbe4
40dba4:	56                   	push   %esi