415cdb:	8b 55 f8             	mov    -0x8(%ebp),%edx
415cde:	8b cf                	mov    %edi,%ecx
415ce0:	8b c2                	mov    %edx,%eax
415ce2:	39 3a                	cmp    %edi,(%edx)
415ce4:	74 08                	je     0x415cee
415ce6:	8d 40 04             	lea    0x4(%eax),%eax
415ce9:	41                   	inc    %ecx
415cea:	39 38                	cmp    %edi,(%eax)
415cec:	75 f8                	jne    0x415ce6
415cee:	8b c7                	mov    %edi,%eax
415cf0:	89 0d d4 a0 83 02    	mov    %ecx,0x283a0d4
415cf6:	89 45 f8             	mov    %eax,-0x8(%ebp)
415cf9:	8b df                	mov    %edi,%ebx
415cfb:	89 15 d8 a0 83 02    	mov    %edx,0x283a0d8
415d01:	50                   	push   %eax
415d02:	e8 09 f0 ff ff       	call   0x414d10
415d07:	59                   	pop    %ecx
415d08:	89 7d f8             	mov    %edi,-0x8(%ebp)
415d0b:	56                   	push   %esi
415d0c:	e8 ff ef ff ff       	call   0x414d10
415d11:	59                   	pop    %ecx
415d12:	5f                   	pop    %edi
415d13:	8b c3                	mov    %ebx,%eax
415d15:	5b                   	pop    %ebx
415d16:	5e                   	pop    %esi
415d17:	8b e5                	mov    %ebp,%esp
415d19:	5d                   	pop    %ebp
415d1a:	c3                   	ret
415d1b:	8b ff                	mov    %edi,%edi
415d1d:	55                   	push   %ebp
415d1e:	8b ec                	mov    %esp,%ebp
415d20:	51                   	push   %ecx
415d21:	8b 45 14             	mov    0x14(%ebp),%eax
415d24:	53                   	push   %ebx
415d25:	8b 5d 18             	mov    0x18(%ebp),%ebx
415d28:	56                   	push   %esi
415d29:	8b 75 08             	mov    0x8(%ebp),%esi
415d2c:	57                   	push   %edi
415d2d:	83 23 00             	andl   $0x0,(%ebx)
415d30:	8b 7d 10             	mov    0x10(%ebp),%edi
415d33:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
415d39:	8b 45 0c             	mov    0xc(%ebp),%eax
415d3c:	85 c0                	test   %eax,%eax
415d3e:	74 08                	je     0x415d48
415d40:	89 38                	mov    %edi,(%eax)
415d42:	83 c0 04             	add    $0x4,%eax
415d45:	89 45 0c             	mov    %eax,0xc(%ebp)
415d48:	32 c9                	xor    %cl,%cl
415d4a:	88 4d ff             	mov    %cl,-0x1(%ebp)
415d4d:	80 3e 22             	cmpb   $0x22,(%esi)
415d50:	75 0d                	jne    0x415d5f
415d52:	84 c9                	test   %cl,%cl
415d54:	b0 22                	mov    $0x22,%al
415d56:	0f 94 c1             	sete   %cl
415d59:	46                   	inc    %esi
415d5a:	88 4d ff             	mov    %cl,-0x1(%ebp)
415d5d:	eb 35                	jmp    0x415d94
415d5f:	ff 03                	incl   (%ebx)
415d61:	85 ff                	test   %edi,%edi
415d63:	74 05                	je     0x415d6a
415d65:	8a 06                	mov    (%esi),%al
415d67:	88 07                	mov    %al,(%edi)
415d69:	47                   	inc    %edi
415d6a:	8a 06                	mov    (%esi),%al
415d6c:	46                   	inc    %esi
415d6d:	88 45 fe             	mov    %al,-0x2(%ebp)
415d70:	0f be c0             	movsbl %al,%eax
415d73:	50                   	push   %eax
415d74:	e8 5e ed ff ff       	call   0x414ad7
415d79:	59                   	pop    %ecx
415d7a:	85 c0                	test   %eax,%eax
415d7c:	74 0c                	je     0x415d8a
415d7e:	ff 03                	incl   (%ebx)
415d80:	85 ff                	test   %edi,%edi
415d82:	74 05                	je     0x415d89
415d84:	8a 06                	mov    (%esi),%al
415d86:	88 07                	mov    %al,(%edi)
415d88:	47                   	inc    %edi
415d89:	46                   	inc    %esi
415d8a:	8a 45 fe             	mov    -0x2(%ebp),%al
415d8d:	84 c0                	test   %al,%al
415d8f:	74 19                	je     0x415daa
415d91:	8a 4d ff             	mov    -0x1(%ebp),%cl
415d94:	84 c9                	test   %cl,%cl
415d96:	75 b5                	jne    0x415d4d
415d98:	3c 20                	cmp    $0x20,%al
415d9a:	74 04                	je     0x415da0
415d9c:	3c 09                	cmp    $0x9,%al
415d9e:	75 ad                	jne    0x415d4d
415da0:	85 ff                	test   %edi,%edi
415da2:	74 07                	je     0x415dab
415da4:	c6 47 ff 00          	movb   $0x0,-0x1(%edi)
415da8:	eb 01                	jmp    0x415dab
415daa:	4e                   	dec    %esi
415dab:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
415daf:	80 3e 00             	cmpb   $0x0,(%esi)
415db2:	0f 84 c2 00 00 00    	je     0x415e7a
415db8:	8a 06                	mov    (%esi),%al
415dba:	3c 20                	cmp    $0x20,%al
415dbc:	74 04                	je     0x415dc2
415dbe:	3c 09                	cmp    $0x9,%al
415dc0:	75 03                	jne    0x415dc5
415dc2:	46                   	inc    %esi
415dc3:	eb f3                	jmp    0x415db8
415dc5:	80 3e 00             	cmpb   $0x0,(%esi)
415dc8:	0f 84 ac 00 00 00    	je     0x415e7a
415dce:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415dd1:	85 c9                	test   %ecx,%ecx
415dd3:	74 08                	je     0x415ddd
415dd5:	89 39                	mov    %edi,(%ecx)
415dd7:	83 c1 04             	add    $0x4,%ecx
415dda:	89 4d 0c             	mov    %ecx,0xc(%ebp)
415ddd:	8b 45 14             	mov    0x14(%ebp),%eax
415de0:	ff 00                	incl   (%eax)
415de2:	33 d2                	xor    %edx,%edx
415de4:	42                   	inc    %edx
415de5:	33 c0                	xor    %eax,%eax
415de7:	eb 02                	jmp    0x415deb
415de9:	46                   	inc    %esi
415dea:	40                   	inc    %eax
415deb:	80 3e 5c             	cmpb   $0x5c,(%esi)
415dee:	74 f9                	je     0x415de9
415df0:	80 3e 22             	cmpb   $0x22,(%esi)
415df3:	75 31                	jne    0x415e26
415df5:	a8 01                	test   $0x1,%al
415df7:	75 1e                	jne    0x415e17
415df9:	8a 4d ff             	mov    -0x1(%ebp),%cl
415dfc:	84 c9                	test   %cl,%cl
415dfe:	74 0f                	je     0x415e0f
415e00:	8d 4e 01             	lea    0x1(%esi),%ecx
415e03:	80 39 22             	cmpb   $0x22,(%ecx)
415e06:	75 04                	jne    0x415e0c
415e08:	8b f1                	mov    %ecx,%esi
415e0a:	eb 0b                	jmp    0x415e17
415e0c:	8a 4d ff             	mov    -0x1(%ebp),%cl
415e0f:	33 d2                	xor    %edx,%edx
415e11:	84 c9                	test   %cl,%cl
415e13:	0f 94 45 ff          	sete   -0x1(%ebp)
415e17:	d1 e8                	shr    $1,%eax
415e19:	eb 0b                	jmp    0x415e26
415e1b:	48                   	dec    %eax
415e1c:	85 ff                	test   %edi,%edi
415e1e:	74 04                	je     0x415e24
415e20:	c6 07 5c             	movb   $0x5c,(%edi)
415e23:	47                   	inc    %edi
415e24:	ff 03                	incl   (%ebx)
415e26:	85 c0                	test   %eax,%eax
415e28:	75 f1                	jne    0x415e1b
415e2a:	8a 06                	mov    (%esi),%al
415e2c:	84 c0                	test   %al,%al
415e2e:	74 3b                	je     0x415e6b
415e30:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
415e34:	75 08                	jne    0x415e3e
415e36:	3c 20                	cmp    $0x20,%al
415e38:	74 31                	je     0x415e6b
415e3a:	3c 09                	cmp    $0x9,%al
415e3c:	74 2d                	je     0x415e6b
415e3e:	85 d2                	test   %edx,%edx
415e40:	74 23                	je     0x415e65
415e42:	85 ff                	test   %edi,%edi
415e44:	74 03                	je     0x415e49
415e46:	88 07                	mov    %al,(%edi)
415e48:	47                   	inc    %edi
415e49:	0f be 06             	movsbl (%esi),%eax
415e4c:	50                   	push   %eax
415e4d:	e8 85 ec ff ff       	call   0x414ad7
415e52:	59                   	pop    %ecx
415e53:	85 c0                	test   %eax,%eax
415e55:	74 0c                	je     0x415e63
415e57:	46                   	inc    %esi
415e58:	ff 03                	incl   (%ebx)
415e5a:	85 ff                	test   %edi,%edi
415e5c:	74 05                	je     0x415e63
415e5e:	8a 06                	mov    (%esi),%al
415e60:	88 07                	mov    %al,(%edi)
415e62:	47                   	inc    %edi
415e63:	ff 03                	incl   (%ebx)
415e65:	46                   	inc    %esi
415e66:	e9 77 ff ff ff       	jmp    0x415de2
415e6b:	85 ff                	test   %edi,%edi
415e6d:	74 04                	je     0x415e73
415e6f:	c6 07 00             	movb   $0x0,(%edi)
415e72:	47                   	inc    %edi
415e73:	ff 03                	incl   (%ebx)
415e75:	e9 35 ff ff ff       	jmp    0x415daf
415e7a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415e7d:	5f                   	pop    %edi
415e7e:	5e                   	pop    %esi
415e7f:	5b                   	pop    %ebx
415e80:	85 c9                	test   %ecx,%ecx
415e82:	74 03                	je     0x415e87
415e84:	83 21 00             	andl   $0x0,(%ecx)
415e87:	8b 45 14             	mov    0x14(%ebp),%eax
415e8a:	ff 00                	incl   (%eax)
415e8c:	8b e5                	mov    %ebp,%esp
415e8e:	5d                   	pop    %ebp
415e8f:	c3                   	ret
415e90:	8b ff                	mov    %edi,%edi
415e92:	55                   	push   %ebp
415e93:	8b ec                	mov    %esp,%ebp
415e95:	56                   	push   %esi
415e96:	8b 75 08             	mov    0x8(%ebp),%esi
415e99:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
415e9f:	72 04                	jb     0x415ea5
415ea1:	33 c0                	xor    %eax,%eax
415ea3:	eb 3d                	jmp    0x415ee2
415ea5:	57                   	push   %edi
415ea6:	83 cf ff             	or     $0xffffffff,%edi
415ea9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415eac:	33 d2                	xor    %edx,%edx
415eae:	8b c7                	mov    %edi,%eax
415eb0:	f7 75 10             	divl   0x10(%ebp)
415eb3:	3b c8                	cmp    %eax,%ecx
415eb5:	73 0d                	jae    0x415ec4
415eb7:	0f af 4d 10          	imul   0x10(%ebp),%ecx
415ebb:	c1 e6 02             	shl    $0x2,%esi
415ebe:	2b fe                	sub    %esi,%edi
415ec0:	3b f9                	cmp    %ecx,%edi
415ec2:	77 04                	ja     0x415ec8
415ec4:	33 c0                	xor    %eax,%eax
415ec6:	eb 19                	jmp    0x415ee1
415ec8:	8d 04 31             	lea    (%ecx,%esi,1),%eax
415ecb:	6a 01                	push   $0x1
415ecd:	50                   	push   %eax
415ece:	e8 5c e5 ff ff       	call   0x41442f
415ed3:	6a 00                	push   $0x0
415ed5:	8b f0                	mov    %eax,%esi
415ed7:	e8 34 ee ff ff       	call   0x414d10
415edc:	83 c4 0c             	add    $0xc,%esp
415edf:	8b c6                	mov    %esi,%eax
415ee1:	5f                   	pop    %edi
415ee2:	5e                   	pop    %esi
415ee3:	5d                   	pop    %ebp
415ee4:	c3                   	ret
415ee5:	8b ff                	mov    %edi,%edi
415ee7:	55                   	push   %ebp
415ee8:	8b ec                	mov    %esp,%ebp
415eea:	5d                   	pop    %ebp
415eeb:	e9 07 fd ff ff       	jmp    0x415bf7
415ef0:	83 3d a8 9c 83 02 00 	cmpl   $0x0,0x2839ca8
415ef7:	74 03                	je     0x415efc
415ef9:	33 c0                	xor    %eax,%eax
415efb:	c3                   	ret
415efc:	56                   	push   %esi
415efd:	57                   	push   %edi
415efe:	e8 88 93 00 00       	call   0x41f28b
415f03:	e8 08 97 00 00       	call   0x41f610
415f08:	8b f0                	mov    %eax,%esi
415f0a:	85 f6                	test   %esi,%esi
415f0c:	75 05                	jne    0x415f13
415f0e:	83 cf ff             	or     $0xffffffff,%edi
415f11:	eb 2a                	jmp    0x415f3d
415f13:	56                   	push   %esi
415f14:	e8 30 00 00 00       	call   0x415f49
415f19:	59                   	pop    %ecx
415f1a:	85 c0                	test   %eax,%eax
415f1c:	75 05                	jne    0x415f23
415f1e:	83 cf ff             	or     $0xffffffff,%edi
415f21:	eb 12                	jmp    0x415f35
415f23:	50                   	push   %eax
415f24:	b9 a8 9c 83 02       	mov    $0x2839ca8,%ecx
415f29:	a3 b4 9c 83 02       	mov    %eax,0x2839cb4
415f2e:	e8 fb 01 00 00       	call   0x41612e
415f33:	33 ff                	xor    %edi,%edi
415f35:	6a 00                	push   $0x0
415f37:	e8 d4 ed ff ff       	call   0x414d10
415f3c:	59                   	pop    %ecx
415f3d:	56                   	push   %esi
415f3e:	e8 cd ed ff ff       	call   0x414d10
415f43:	59                   	pop    %ecx
415f44:	8b c7                	mov    %edi,%eax
415f46:	5f                   	pop    %edi
415f47:	5e                   	pop    %esi
415f48:	c3                   	ret
415f49:	8b ff                	mov    %edi,%edi
415f4b:	55                   	push   %ebp
415f4c:	8b ec                	mov    %esp,%ebp
415f4e:	51                   	push   %ecx
415f4f:	51                   	push   %ecx
415f50:	53                   	push   %ebx
415f51:	56                   	push   %esi
415f52:	57                   	push   %edi
415f53:	8b 7d 08             	mov    0x8(%ebp),%edi
415f56:	33 d2                	xor    %edx,%edx
415f58:	8b f7                	mov    %edi,%esi
415f5a:	8a 07                	mov    (%edi),%al
415f5c:	eb 18                	jmp    0x415f76
415f5e:	3c 3d                	cmp    $0x3d,%al
415f60:	74 01                	je     0x415f63
415f62:	42                   	inc    %edx
415f63:	8b ce                	mov    %esi,%ecx
415f65:	8d 59 01             	lea    0x1(%ecx),%ebx
415f68:	8a 01                	mov    (%ecx),%al
415f6a:	41                   	inc    %ecx
415f6b:	84 c0                	test   %al,%al
415f6d:	75 f9                	jne    0x415f68
415f6f:	2b cb                	sub    %ebx,%ecx
415f71:	46                   	inc    %esi
415f72:	03 f1                	add    %ecx,%esi
415f74:	8a 06                	mov    (%esi),%al
415f76:	84 c0                	test   %al,%al
415f78:	75 e4                	jne    0x415f5e
415f7a:	8d 42 01             	lea    0x1(%edx),%eax
415f7d:	6a 04                	push   $0x4
415f7f:	50                   	push   %eax
415f80:	e8 aa e4 ff ff       	call   0x41442f
415f85:	8b d8                	mov    %eax,%ebx
415f87:	59                   	pop    %ecx
415f88:	59                   	pop    %ecx
415f89:	85 db                	test   %ebx,%ebx
415f8b:	74 6d                	je     0x415ffa
415f8d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
415f90:	eb 52                	jmp    0x415fe4
415f92:	8b cf                	mov    %edi,%ecx
415f94:	8d 51 01             	lea    0x1(%ecx),%edx
415f97:	8a 01                	mov    (%ecx),%al
415f99:	41                   	inc    %ecx
415f9a:	84 c0                	test   %al,%al
415f9c:	75 f9                	jne    0x415f97
415f9e:	2b ca                	sub    %edx,%ecx
415fa0:	80 3f 3d             	cmpb   $0x3d,(%edi)
415fa3:	8d 41 01             	lea    0x1(%ecx),%eax
415fa6:	89 45 f8             	mov    %eax,-0x8(%ebp)
415fa9:	74 37                	je     0x415fe2
415fab:	6a 01                	push   $0x1
415fad:	50                   	push   %eax
415fae:	e8 7c e4 ff ff       	call   0x41442f
415fb3:	8b f0                	mov    %eax,%esi
415fb5:	59                   	pop    %ecx
415fb6:	59                   	pop    %ecx
415fb7:	85 f6                	test   %esi,%esi
415fb9:	74 30                	je     0x415feb
415fbb:	57                   	push   %edi
415fbc:	ff 75 f8             	push   -0x8(%ebp)
415fbf:	56                   	push   %esi
415fc0:	e8 a0 1b 00 00       	call   0x417b65
415fc5:	83 c4 0c             	add    $0xc,%esp
415fc8:	85 c0                	test   %eax,%eax
415fca:	75 41                	jne    0x41600d
415fcc:	8b 45 fc             	mov    -0x4(%ebp),%eax
415fcf:	6a 00                	push   $0x0
415fd1:	89 30                	mov    %esi,(%eax)
415fd3:	83 c0 04             	add    $0x4,%eax
415fd6:	89 45 fc             	mov    %eax,-0x4(%ebp)
415fd9:	e8 32 ed ff ff       	call   0x414d10
415fde:	8b 45 f8             	mov    -0x8(%ebp),%eax
415fe1:	59                   	pop    %ecx
415fe2:	03 f8                	add    %eax,%edi
415fe4:	80 3f 00             	cmpb   $0x0,(%edi)
415fe7:	75 a9                	jne    0x415f92