412cc7:	38 55 18             	cmp    %dl,0x18(%ebp)
412cca:	74 14                	je     0x412ce0
412ccc:	3b ce                	cmp    %esi,%ecx
412cce:	75 10                	jne    0x412ce0
412cd0:	33 c0                	xor    %eax,%eax
412cd2:	83 3b 2d             	cmpl   $0x2d,(%ebx)
412cd5:	0f 94 c0             	sete   %al
412cd8:	03 c1                	add    %ecx,%eax
412cda:	66 c7 04 38 30 00    	movw   $0x30,(%eax,%edi,1)
412ce0:	83 3b 2d             	cmpl   $0x2d,(%ebx)
412ce3:	8b cf                	mov    %edi,%ecx
412ce5:	89 7d fc             	mov    %edi,-0x4(%ebp)
412ce8:	75 09                	jne    0x412cf3
412cea:	8d 4f 01             	lea    0x1(%edi),%ecx
412ced:	c6 07 2d             	movb   $0x2d,(%edi)
412cf0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
412cf3:	8b 43 04             	mov    0x4(%ebx),%eax
412cf6:	85 c0                	test   %eax,%eax
412cf8:	7f 2e                	jg     0x412d28
412cfa:	75 0a                	jne    0x412d06
412cfc:	8b 43 08             	mov    0x8(%ebx),%eax
412cff:	80 38 30             	cmpb   $0x30,(%eax)
412d02:	75 02                	jne    0x412d06
412d04:	b2 01                	mov    $0x1,%dl
412d06:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
412d0a:	74 04                	je     0x412d10
412d0c:	84 d2                	test   %dl,%dl
412d0e:	75 12                	jne    0x412d22
412d10:	6a 01                	push   $0x1
412d12:	51                   	push   %ecx
412d13:	ff 75 0c             	push   0xc(%ebp)
412d16:	57                   	push   %edi
412d17:	e8 dd 01 00 00       	call   0x412ef9
412d1c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
412d1f:	83 c4 10             	add    $0x10,%esp
412d22:	33 c0                	xor    %eax,%eax
412d24:	c6 01 30             	movb   $0x30,(%ecx)
412d27:	40                   	inc    %eax
412d28:	03 c1                	add    %ecx,%eax
412d2a:	89 45 fc             	mov    %eax,-0x4(%ebp)
412d2d:	85 f6                	test   %esi,%esi
412d2f:	7e 52                	jle    0x412d83
412d31:	6a 01                	push   $0x1
412d33:	50                   	push   %eax
412d34:	ff 75 0c             	push   0xc(%ebp)
412d37:	57                   	push   %edi
412d38:	e8 bc 01 00 00       	call   0x412ef9
412d3d:	8b 45 f0             	mov    -0x10(%ebp),%eax
412d40:	83 c4 10             	add    $0x10,%esp
412d43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
412d46:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
412d4c:	8b 00                	mov    (%eax),%eax
412d4e:	8a 00                	mov    (%eax),%al
412d50:	88 01                	mov    %al,(%ecx)
412d52:	41                   	inc    %ecx
412d53:	8b 43 04             	mov    0x4(%ebx),%eax
412d56:	85 c0                	test   %eax,%eax
412d58:	79 29                	jns    0x412d83
412d5a:	f7 d8                	neg    %eax
412d5c:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
412d60:	75 04                	jne    0x412d66
412d62:	3b c6                	cmp    %esi,%eax
412d64:	7d 02                	jge    0x412d68
412d66:	8b f0                	mov    %eax,%esi
412d68:	56                   	push   %esi
412d69:	51                   	push   %ecx
412d6a:	ff 75 0c             	push   0xc(%ebp)
412d6d:	57                   	push   %edi
412d6e:	e8 86 01 00 00       	call   0x412ef9
412d73:	8b 45 fc             	mov    -0x4(%ebp),%eax
412d76:	56                   	push   %esi
412d77:	40                   	inc    %eax
412d78:	6a 30                	push   $0x30
412d7a:	50                   	push   %eax
412d7b:	e8 90 63 ff ff       	call   0x409110
412d80:	83 c4 1c             	add    $0x1c,%esp
412d83:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
412d87:	5f                   	pop    %edi
412d88:	5e                   	pop    %esi
412d89:	5b                   	pop    %ebx
412d8a:	74 0a                	je     0x412d96
412d8c:	8b 45 ec             	mov    -0x14(%ebp),%eax
412d8f:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
412d96:	33 c0                	xor    %eax,%eax
412d98:	c9                   	leave
412d99:	c3                   	ret
412d9a:	8b ff                	mov    %edi,%edi
412d9c:	55                   	push   %ebp
412d9d:	8b ec                	mov    %esp,%ebp
412d9f:	83 ec 14             	sub    $0x14,%esp
412da2:	53                   	push   %ebx
412da3:	56                   	push   %esi
412da4:	57                   	push   %edi
412da5:	ff 75 18             	push   0x18(%ebp)
412da8:	33 c0                	xor    %eax,%eax
412daa:	8d 7d ec             	lea    -0x14(%ebp),%edi
412dad:	ff 75 14             	push   0x14(%ebp)
412db0:	ab                   	stos   %eax,%es:(%edi)
412db1:	ab                   	stos   %eax,%es:(%edi)
412db2:	ab                   	stos   %eax,%es:(%edi)
412db3:	8d 45 ec             	lea    -0x14(%ebp),%eax
412db6:	8b 7d 1c             	mov    0x1c(%ebp),%edi
412db9:	50                   	push   %eax
412dba:	8b 45 08             	mov    0x8(%ebp),%eax
412dbd:	57                   	push   %edi
412dbe:	ff 70 04             	push   0x4(%eax)
412dc1:	ff 30                	push   (%eax)
412dc3:	e8 40 25 00 00       	call   0x415308
412dc8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
412dcb:	33 d2                	xor    %edx,%edx
412dcd:	83 c4 18             	add    $0x18,%esp
412dd0:	89 45 fc             	mov    %eax,-0x4(%ebp)
412dd3:	83 7d ec 2d          	cmpl   $0x2d,-0x14(%ebp)
412dd7:	8b 45 f0             	mov    -0x10(%ebp),%eax
412dda:	0f 94 c2             	sete   %dl
412ddd:	48                   	dec    %eax
412dde:	89 45 f8             	mov    %eax,-0x8(%ebp)
412de1:	83 c8 ff             	or     $0xffffffff,%eax
412de4:	8d 34 1a             	lea    (%edx,%ebx,1),%esi
412de7:	39 45 10             	cmp    %eax,0x10(%ebp)
412dea:	74 05                	je     0x412df1
412dec:	8b 45 10             	mov    0x10(%ebp),%eax
412def:	2b c2                	sub    %edx,%eax
412df1:	ff 75 28             	push   0x28(%ebp)
412df4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
412df7:	ff 75 fc             	push   -0x4(%ebp)
412dfa:	51                   	push   %ecx
412dfb:	57                   	push   %edi
412dfc:	50                   	push   %eax
412dfd:	56                   	push   %esi
412dfe:	e8 8e 1f 00 00       	call   0x414d91
412e03:	83 c4 18             	add    $0x18,%esp
412e06:	85 c0                	test   %eax,%eax
412e08:	74 05                	je     0x412e0f
412e0a:	c6 03 00             	movb   $0x0,(%ebx)
412e0d:	eb 50                	jmp    0x412e5f
412e0f:	8b 45 f0             	mov    -0x10(%ebp),%eax
412e12:	48                   	dec    %eax
412e13:	83 f8 fc             	cmp    $0xfffffffc,%eax
412e16:	7c 2b                	jl     0x412e43
412e18:	3b c7                	cmp    %edi,%eax
412e1a:	7d 27                	jge    0x412e43
412e1c:	39 45 f8             	cmp    %eax,-0x8(%ebp)
412e1f:	7d 0a                	jge    0x412e2b
412e21:	8a 06                	mov    (%esi),%al
412e23:	46                   	inc    %esi
412e24:	84 c0                	test   %al,%al
412e26:	75 f9                	jne    0x412e21
412e28:	88 46 fe             	mov    %al,-0x2(%esi)
412e2b:	ff 75 2c             	push   0x2c(%ebp)
412e2e:	8d 45 ec             	lea    -0x14(%ebp),%eax
412e31:	6a 01                	push   $0x1
412e33:	50                   	push   %eax
412e34:	57                   	push   %edi
412e35:	ff 75 10             	push   0x10(%ebp)
412e38:	53                   	push   %ebx
412e39:	e8 64 fe ff ff       	call   0x412ca2
412e3e:	83 c4 18             	add    $0x18,%esp
412e41:	eb 1c                	jmp    0x412e5f
412e43:	ff 75 2c             	push   0x2c(%ebp)
412e46:	8d 45 ec             	lea    -0x14(%ebp),%eax
412e49:	6a 01                	push   $0x1
412e4b:	50                   	push   %eax
412e4c:	ff 75 24             	push   0x24(%ebp)
412e4f:	ff 75 20             	push   0x20(%ebp)
412e52:	57                   	push   %edi
412e53:	ff 75 10             	push   0x10(%ebp)
412e56:	53                   	push   %ebx
412e57:	e8 6d fc ff ff       	call   0x412ac9
412e5c:	83 c4 20             	add    $0x20,%esp
412e5f:	5f                   	pop    %edi
412e60:	5e                   	pop    %esi
412e61:	5b                   	pop    %ebx
412e62:	c9                   	leave
412e63:	c3                   	ret
412e64:	8b ff                	mov    %edi,%edi
412e66:	55                   	push   %ebp
412e67:	8b ec                	mov    %esp,%ebp
412e69:	51                   	push   %ecx
412e6a:	8a 4d 0c             	mov    0xc(%ebp),%cl
412e6d:	8b 55 14             	mov    0x14(%ebp),%edx
412e70:	0f b6 c1             	movzbl %cl,%eax
412e73:	83 c0 04             	add    $0x4,%eax
412e76:	3b d0                	cmp    %eax,%edx
412e78:	73 0b                	jae    0x412e85
412e7a:	8b 45 10             	mov    0x10(%ebp),%eax
412e7d:	6a 0c                	push   $0xc
412e7f:	c6 00 00             	movb   $0x0,(%eax)
412e82:	58                   	pop    %eax
412e83:	c9                   	leave
412e84:	c3                   	ret
412e85:	84 c9                	test   %cl,%cl
412e87:	8b 4d 10             	mov    0x10(%ebp),%ecx
412e8a:	74 0d                	je     0x412e99
412e8c:	c6 01 2d             	movb   $0x2d,(%ecx)
412e8f:	41                   	inc    %ecx
412e90:	c6 01 00             	movb   $0x0,(%ecx)
412e93:	83 fa ff             	cmp    $0xffffffff,%edx
412e96:	74 01                	je     0x412e99
412e98:	4a                   	dec    %edx
412e99:	8b 45 08             	mov    0x8(%ebp),%eax
412e9c:	53                   	push   %ebx
412e9d:	56                   	push   %esi
412e9e:	57                   	push   %edi
412e9f:	0f b6 7d 18          	movzbl 0x18(%ebp),%edi
412ea3:	8d 1c 85 fc ff ff ff 	lea    -0x4(,%eax,4),%ebx
412eaa:	83 f7 01             	xor    $0x1,%edi
412ead:	03 ff                	add    %edi,%edi
412eaf:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
412eb2:	8b 34 85 98 ec 41 00 	mov    0x41ec98(,%eax,4),%esi
412eb9:	8d 46 01             	lea    0x1(%esi),%eax
412ebc:	89 45 fc             	mov    %eax,-0x4(%ebp)
412ebf:	8a 06                	mov    (%esi),%al
412ec1:	46                   	inc    %esi
412ec2:	84 c0                	test   %al,%al
412ec4:	75 f9                	jne    0x412ebf
412ec6:	2b 75 fc             	sub    -0x4(%ebp),%esi
412ec9:	3b f2                	cmp    %edx,%esi
412ecb:	1b c0                	sbb    %eax,%eax
412ecd:	43                   	inc    %ebx
412ece:	03 c3                	add    %ebx,%eax
412ed0:	03 c7                	add    %edi,%eax
412ed2:	ff 34 85 98 ec 41 00 	push   0x41ec98(,%eax,4)
412ed9:	52                   	push   %edx
412eda:	51                   	push   %ecx
412edb:	e8 c1 93 ff ff       	call   0x40c2a1
412ee0:	83 c4 0c             	add    $0xc,%esp
412ee3:	5f                   	pop    %edi
412ee4:	5e                   	pop    %esi
412ee5:	5b                   	pop    %ebx
412ee6:	85 c0                	test   %eax,%eax
412ee8:	75 02                	jne    0x412eec
412eea:	c9                   	leave
412eeb:	c3                   	ret
412eec:	33 c0                	xor    %eax,%eax
412eee:	50                   	push   %eax
412eef:	50                   	push   %eax
412ef0:	50                   	push   %eax
412ef1:	50                   	push   %eax
412ef2:	50                   	push   %eax
412ef3:	e8 2e bd ff ff       	call   0x40ec26
412ef8:	cc                   	int3
412ef9:	8b ff                	mov    %edi,%edi
412efb:	55                   	push   %ebp
412efc:	8b ec                	mov    %esp,%ebp
412efe:	8b 55 14             	mov    0x14(%ebp),%edx
412f01:	85 d2                	test   %edx,%edx
412f03:	74 26                	je     0x412f2b
412f05:	56                   	push   %esi
412f06:	8b 75 10             	mov    0x10(%ebp),%esi
412f09:	8b ce                	mov    %esi,%ecx
412f0b:	57                   	push   %edi
412f0c:	8d 79 01             	lea    0x1(%ecx),%edi
412f0f:	8a 01                	mov    (%ecx),%al
412f11:	41                   	inc    %ecx
412f12:	84 c0                	test   %al,%al
412f14:	75 f9                	jne    0x412f0f
412f16:	2b cf                	sub    %edi,%ecx
412f18:	8d 41 01             	lea    0x1(%ecx),%eax
412f1b:	50                   	push   %eax
412f1c:	8d 04 16             	lea    (%esi,%edx,1),%eax
412f1f:	56                   	push   %esi
412f20:	50                   	push   %eax
412f21:	e8 aa 6c ff ff       	call   0x409bd0
412f26:	83 c4 0c             	add    $0xc,%esp
412f29:	5f                   	pop    %edi
412f2a:	5e                   	pop    %esi
412f2b:	5d                   	pop    %ebp
412f2c:	c3                   	ret
412f2d:	8b ff                	mov    %edi,%edi
412f2f:	55                   	push   %ebp
412f30:	8b ec                	mov    %esp,%ebp
412f32:	53                   	push   %ebx
412f33:	8b 5d 14             	mov    0x14(%ebp),%ebx
412f36:	56                   	push   %esi
412f37:	8b 75 08             	mov    0x8(%ebp),%esi
412f3a:	57                   	push   %edi
412f3b:	0f bf cb             	movswl %bx,%ecx
412f3e:	8b 56 04             	mov    0x4(%esi),%edx
412f41:	23 55 10             	and    0x10(%ebp),%edx
412f44:	8b 06                	mov    (%esi),%eax
412f46:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
412f4c:	23 45 0c             	and    0xc(%ebp),%eax
412f4f:	e8 bc 64 00 00       	call   0x419410
412f54:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
412f58:	0f b7 f8             	movzwl %ax,%edi
412f5b:	75 09                	jne    0x412f66
412f5d:	83 ff 08             	cmp    $0x8,%edi
412f60:	1a c0                	sbb    %al,%al
412f62:	fe c0                	inc    %al
412f64:	eb 55                	jmp    0x412fbb
412f66:	e8 a4 38 00 00       	call   0x41680f
412f6b:	85 c0                	test   %eax,%eax
412f6d:	75 12                	jne    0x412f81
412f6f:	53                   	push   %ebx
412f70:	ff 75 10             	push   0x10(%ebp)
412f73:	ff 75 0c             	push   0xc(%ebp)
412f76:	56                   	push   %esi
412f77:	e8 f3 f6 ff ff       	call   0x41266f
412f7c:	83 c4 10             	add    $0x10,%esp
412f7f:	eb 3a                	jmp    0x412fbb
412f81:	3d 00 02 00 00       	cmp    $0x200,%eax
412f86:	75 16                	jne    0x412f9e
412f88:	33 c0                	xor    %eax,%eax
412f8a:	66 85 ff             	test   %di,%di
412f8d:	74 2c                	je     0x412fbb
412f8f:	39 46 04             	cmp    %eax,0x4(%esi)
412f92:	7c 27                	jl     0x412fbb
412f94:	7f 04                	jg     0x412f9a
412f96:	39 06                	cmp    %eax,(%esi)
412f98:	72 21                	jb     0x412fbb
412f9a:	b0 01                	mov    $0x1,%al
412f9c:	eb 1d                	jmp    0x412fbb
412f9e:	3d 00 01 00 00       	cmp    $0x100,%eax
412fa3:	75 14                	jne    0x412fb9
412fa5:	33 c0                	xor    %eax,%eax
412fa7:	66 85 ff             	test   %di,%di
412faa:	74 0f                	je     0x412fbb
412fac:	39 46 04             	cmp    %eax,0x4(%esi)
412faf:	7f 0a                	jg     0x412fbb
412fb1:	7c e7                	jl     0x412f9a
412fb3:	39 06                	cmp    %eax,(%esi)
412fb5:	73 04                	jae    0x412fbb
412fb7:	eb e1                	jmp    0x412f9a
412fb9:	32 c0                	xor    %al,%al
412fbb:	5f                   	pop    %edi
412fbc:	5e                   	pop    %esi
412fbd:	5b                   	pop    %ebx
412fbe:	5d                   	pop    %ebp
412fbf:	c3                   	ret
412fc0:	8b ff                	mov    %edi,%edi
412fc2:	55                   	push   %ebp
412fc3:	8b ec                	mov    %esp,%ebp
412fc5:	51                   	push   %ecx
412fc6:	51                   	push   %ecx
412fc7:	56                   	push   %esi
412fc8:	57                   	push   %edi
412fc9:	8b 7d 0c             	mov    0xc(%ebp),%edi
412fcc:	85 ff                	test   %edi,%edi
412fce:	75 16                	jne    0x412fe6
412fd0:	e8 fe bc ff ff       	call   0x40ecd3
412fd5:	6a 16                	push   $0x16
412fd7:	5e                   	pop    %esi
412fd8:	89 30                	mov    %esi,(%eax)
412fda:	e8 37 bc ff ff       	call   0x40ec16
412fdf:	8b c6                	mov    %esi,%eax
412fe1:	e9 32 01 00 00       	jmp    0x413118
412fe6:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
412fea:	76 e4                	jbe    0x412fd0
412fec:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)