419c14:	55                   	push   %ebp
419c15:	8b ec                	mov    %esp,%ebp
419c17:	8b 45 08             	mov    0x8(%ebp),%eax
419c1a:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
419c1f:	53                   	push   %ebx
419c20:	56                   	push   %esi
419c21:	33 d2                	xor    %edx,%edx
419c23:	8b 18                	mov    (%eax),%ebx
419c25:	8b 70 04             	mov    0x4(%eax),%esi
419c28:	8b c6                	mov    %esi,%eax
419c2a:	c1 e8 14             	shr    $0x14,%eax
419c2d:	23 c1                	and    %ecx,%eax
419c2f:	57                   	push   %edi
419c30:	3b c1                	cmp    %ecx,%eax
419c32:	75 43                	jne    0x419c77
419c34:	3b d2                	cmp    %edx,%edx
419c36:	75 3f                	jne    0x419c77
419c38:	8b fe                	mov    %esi,%edi
419c3a:	8b c3                	mov    %ebx,%eax
419c3c:	81 e7 ff ff 0f 00    	and    $0xfffff,%edi
419c42:	0b c7                	or     %edi,%eax
419c44:	75 03                	jne    0x419c49
419c46:	40                   	inc    %eax
419c47:	eb 30                	jmp    0x419c79
419c49:	8b ce                	mov    %esi,%ecx
419c4b:	8b c2                	mov    %edx,%eax
419c4d:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
419c53:	0b c1                	or     %ecx,%eax
419c55:	b8 00 00 08 00       	mov    $0x80000,%eax
419c5a:	74 0d                	je     0x419c69
419c5c:	3b da                	cmp    %edx,%ebx
419c5e:	75 09                	jne    0x419c69
419c60:	3b f8                	cmp    %eax,%edi
419c62:	75 05                	jne    0x419c69
419c64:	6a 04                	push   $0x4
419c66:	58                   	pop    %eax
419c67:	eb 10                	jmp    0x419c79
419c69:	23 f0                	and    %eax,%esi
419c6b:	0b d6                	or     %esi,%edx
419c6d:	74 04                	je     0x419c73
419c6f:	6a 02                	push   $0x2
419c71:	eb f3                	jmp    0x419c66
419c73:	6a 03                	push   $0x3
419c75:	eb ef                	jmp    0x419c66
419c77:	33 c0                	xor    %eax,%eax
419c79:	5f                   	pop    %edi
419c7a:	5e                   	pop    %esi
419c7b:	5b                   	pop    %ebx
419c7c:	5d                   	pop    %ebp
419c7d:	c3                   	ret
419c7e:	8b ff                	mov    %edi,%edi
419c80:	55                   	push   %ebp
419c81:	8b ec                	mov    %esp,%ebp
419c83:	8b 45 08             	mov    0x8(%ebp),%eax
419c86:	33 d2                	xor    %edx,%edx
419c88:	8b 48 04             	mov    0x4(%eax),%ecx
419c8b:	8b c2                	mov    %edx,%eax
419c8d:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
419c93:	0b c1                	or     %ecx,%eax
419c95:	74 01                	je     0x419c98
419c97:	42                   	inc    %edx
419c98:	8a c2                	mov    %dl,%al
419c9a:	5d                   	pop    %ebp
419c9b:	c3                   	ret
419c9c:	8b ff                	mov    %edi,%edi
419c9e:	55                   	push   %ebp
419c9f:	8b ec                	mov    %esp,%ebp
419ca1:	83 ec 30             	sub    $0x30,%esp
419ca4:	53                   	push   %ebx
419ca5:	56                   	push   %esi
419ca6:	57                   	push   %edi
419ca7:	8b 7d 1c             	mov    0x1c(%ebp),%edi
419caa:	33 db                	xor    %ebx,%ebx
419cac:	85 ff                	test   %edi,%edi
419cae:	79 02                	jns    0x419cb2
419cb0:	8b fb                	mov    %ebx,%edi
419cb2:	8b 75 0c             	mov    0xc(%ebp),%esi
419cb5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
419cb8:	ff 75 28             	push   0x28(%ebp)
419cbb:	88 1e                	mov    %bl,(%esi)
419cbd:	e8 06 2b ff ff       	call   0x40c7c8
419cc2:	8d 47 0b             	lea    0xb(%edi),%eax
419cc5:	39 45 10             	cmp    %eax,0x10(%ebp)
419cc8:	77 14                	ja     0x419cde
419cca:	e8 9c ad ff ff       	call   0x414a6b
419ccf:	6a 22                	push   $0x22
419cd1:	5f                   	pop    %edi
419cd2:	89 38                	mov    %edi,(%eax)
419cd4:	e8 09 20 ff ff       	call   0x40bce2
419cd9:	e9 a8 02 00 00       	jmp    0x419f86
419cde:	8b 55 08             	mov    0x8(%ebp),%edx
419ce1:	8b 02                	mov    (%edx),%eax
419ce3:	8b 4a 04             	mov    0x4(%edx),%ecx
419ce6:	89 45 e0             	mov    %eax,-0x20(%ebp)
419ce9:	8b c1                	mov    %ecx,%eax
419ceb:	c1 e8 14             	shr    $0x14,%eax
419cee:	25 ff 07 00 00       	and    $0x7ff,%eax
419cf3:	3d ff 07 00 00       	cmp    $0x7ff,%eax
419cf8:	75 52                	jne    0x419d4c
419cfa:	3b db                	cmp    %ebx,%ebx
419cfc:	75 4e                	jne    0x419d4c
419cfe:	53                   	push   %ebx
419cff:	ff 75 24             	push   0x24(%ebp)
419d02:	53                   	push   %ebx
419d03:	57                   	push   %edi
419d04:	ff 75 18             	push   0x18(%ebp)
419d07:	ff 75 14             	push   0x14(%ebp)
419d0a:	ff 75 10             	push   0x10(%ebp)
419d0d:	56                   	push   %esi
419d0e:	52                   	push   %edx
419d0f:	e8 8b 02 00 00       	call   0x419f9f
419d14:	8b f8                	mov    %eax,%edi
419d16:	83 c4 24             	add    $0x24,%esp
419d19:	85 ff                	test   %edi,%edi
419d1b:	74 07                	je     0x419d24
419d1d:	88 1e                	mov    %bl,(%esi)
419d1f:	e9 62 02 00 00       	jmp    0x419f86
419d24:	6a 65                	push   $0x65
419d26:	56                   	push   %esi
419d27:	e8 e4 c8 00 00       	call   0x426610
419d2c:	59                   	pop    %ecx
419d2d:	59                   	pop    %ecx
419d2e:	85 c0                	test   %eax,%eax
419d30:	74 13                	je     0x419d45
419d32:	38 5d 20             	cmp    %bl,0x20(%ebp)
419d35:	0f 94 c1             	sete   %cl
419d38:	fe c9                	dec    %cl
419d3a:	80 e1 e0             	and    $0xe0,%cl
419d3d:	80 c1 70             	add    $0x70,%cl
419d40:	88 08                	mov    %cl,(%eax)
419d42:	88 58 03             	mov    %bl,0x3(%eax)
419d45:	8b fb                	mov    %ebx,%edi
419d47:	e9 3a 02 00 00       	jmp    0x419f86
419d4c:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
419d52:	8b c3                	mov    %ebx,%eax
419d54:	0b c1                	or     %ecx,%eax
419d56:	74 04                	je     0x419d5c
419d58:	c6 06 2d             	movb   $0x2d,(%esi)
419d5b:	46                   	inc    %esi
419d5c:	8b 4a 04             	mov    0x4(%edx),%ecx
419d5f:	33 db                	xor    %ebx,%ebx
419d61:	38 5d 20             	cmp    %bl,0x20(%ebp)
419d64:	6a 30                	push   $0x30
419d66:	0f 94 c3             	sete   %bl
419d69:	c7 45 f4 ff 03 00 00 	movl   $0x3ff,-0xc(%ebp)
419d70:	4b                   	dec    %ebx
419d71:	33 c0                	xor    %eax,%eax
419d73:	83 e3 e0             	and    $0xffffffe0,%ebx
419d76:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
419d7c:	83 c3 27             	add    $0x27,%ebx
419d7f:	0b c1                	or     %ecx,%eax
419d81:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
419d84:	58                   	pop    %eax
419d85:	75 1f                	jne    0x419da6
419d87:	88 06                	mov    %al,(%esi)
419d89:	46                   	inc    %esi
419d8a:	8b 42 04             	mov    0x4(%edx),%eax
419d8d:	8b 0a                	mov    (%edx),%ecx
419d8f:	25 ff ff 0f 00       	and    $0xfffff,%eax
419d94:	0b c8                	or     %eax,%ecx
419d96:	75 05                	jne    0x419d9d
419d98:	21 4d f4             	and    %ecx,-0xc(%ebp)
419d9b:	eb 0d                	jmp    0x419daa
419d9d:	c7 45 f4 fe 03 00 00 	movl   $0x3fe,-0xc(%ebp)
419da4:	eb 04                	jmp    0x419daa
419da6:	c6 06 31             	movb   $0x31,(%esi)
419da9:	46                   	inc    %esi
419daa:	8b ce                	mov    %esi,%ecx
419dac:	46                   	inc    %esi
419dad:	89 4d e8             	mov    %ecx,-0x18(%ebp)
419db0:	85 ff                	test   %edi,%edi
419db2:	75 05                	jne    0x419db9
419db4:	c6 01 00             	movb   $0x0,(%ecx)
419db7:	eb 0f                	jmp    0x419dc8
419db9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
419dbc:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
419dc2:	8b 00                	mov    (%eax),%eax
419dc4:	8a 00                	mov    (%eax),%al
419dc6:	88 01                	mov    %al,(%ecx)
419dc8:	8b 42 04             	mov    0x4(%edx),%eax
419dcb:	25 ff ff 0f 00       	and    $0xfffff,%eax
419dd0:	89 45 f0             	mov    %eax,-0x10(%ebp)
419dd3:	77 09                	ja     0x419dde
419dd5:	83 3a 00             	cmpl   $0x0,(%edx)
419dd8:	0f 86 c5 00 00 00    	jbe    0x419ea3
419dde:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419de2:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
419de7:	6a 30                	push   $0x30
419de9:	58                   	pop    %eax
419dea:	89 45 f8             	mov    %eax,-0x8(%ebp)
419ded:	89 4d f0             	mov    %ecx,-0x10(%ebp)
419df0:	85 ff                	test   %edi,%edi
419df2:	7e 53                	jle    0x419e47
419df4:	8b 02                	mov    (%edx),%eax
419df6:	8b 52 04             	mov    0x4(%edx),%edx
419df9:	23 45 fc             	and    -0x4(%ebp),%eax
419dfc:	23 d1                	and    %ecx,%edx
419dfe:	8b 4d f8             	mov    -0x8(%ebp),%ecx
419e01:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
419e07:	0f bf c9             	movswl %cx,%ecx
419e0a:	e8 e1 c5 00 00       	call   0x4263f0
419e0f:	6a 30                	push   $0x30
419e11:	59                   	pop    %ecx
419e12:	66 03 c1             	add    %cx,%ax
419e15:	0f b7 c0             	movzwl %ax,%eax
419e18:	83 f8 39             	cmp    $0x39,%eax
419e1b:	76 02                	jbe    0x419e1f
419e1d:	03 c3                	add    %ebx,%eax
419e1f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
419e22:	8b 55 08             	mov    0x8(%ebp),%edx
419e25:	88 06                	mov    %al,(%esi)
419e27:	46                   	inc    %esi
419e28:	8b 45 fc             	mov    -0x4(%ebp),%eax
419e2b:	0f ac c8 04          	shrd   $0x4,%ecx,%eax
419e2f:	89 45 fc             	mov    %eax,-0x4(%ebp)
419e32:	8b 45 f8             	mov    -0x8(%ebp),%eax
419e35:	c1 e9 04             	shr    $0x4,%ecx
419e38:	83 e8 04             	sub    $0x4,%eax
419e3b:	4f                   	dec    %edi
419e3c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
419e3f:	89 45 f8             	mov    %eax,-0x8(%ebp)
419e42:	66 85 c0             	test   %ax,%ax
419e45:	79 a9                	jns    0x419df0
419e47:	66 85 c0             	test   %ax,%ax
419e4a:	78 57                	js     0x419ea3
419e4c:	8b 02                	mov    (%edx),%eax
419e4e:	8b 52 04             	mov    0x4(%edx),%edx
419e51:	23 45 fc             	and    -0x4(%ebp),%eax
419e54:	23 d1                	and    %ecx,%edx
419e56:	8b 4d f8             	mov    -0x8(%ebp),%ecx
419e59:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
419e5f:	0f bf c9             	movswl %cx,%ecx
419e62:	e8 89 c5 00 00       	call   0x4263f0
419e67:	66 83 f8 08          	cmp    $0x8,%ax
419e6b:	76 36                	jbe    0x419ea3
419e6d:	6a 30                	push   $0x30
419e6f:	8d 46 ff             	lea    -0x1(%esi),%eax
419e72:	5b                   	pop    %ebx
419e73:	8a 08                	mov    (%eax),%cl
419e75:	80 f9 66             	cmp    $0x66,%cl
419e78:	74 05                	je     0x419e7f
419e7a:	80 f9 46             	cmp    $0x46,%cl
419e7d:	75 05                	jne    0x419e84
419e7f:	88 18                	mov    %bl,(%eax)
419e81:	48                   	dec    %eax
419e82:	eb ef                	jmp    0x419e73
419e84:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
419e87:	3b 45 e8             	cmp    -0x18(%ebp),%eax
419e8a:	74 14                	je     0x419ea0
419e8c:	8a 08                	mov    (%eax),%cl
419e8e:	80 f9 39             	cmp    $0x39,%cl
419e91:	75 07                	jne    0x419e9a
419e93:	80 c3 3a             	add    $0x3a,%bl
419e96:	88 18                	mov    %bl,(%eax)
419e98:	eb 09                	jmp    0x419ea3
419e9a:	fe c1                	inc    %cl
419e9c:	88 08                	mov    %cl,(%eax)
419e9e:	eb 03                	jmp    0x419ea3
419ea0:	fe 40 ff             	incb   -0x1(%eax)
419ea3:	85 ff                	test   %edi,%edi
419ea5:	7e 10                	jle    0x419eb7
419ea7:	57                   	push   %edi
419ea8:	6a 30                	push   $0x30
419eaa:	58                   	pop    %eax
419eab:	50                   	push   %eax
419eac:	56                   	push   %esi
419ead:	e8 2e eb fe ff       	call   0x4089e0
419eb2:	83 c4 0c             	add    $0xc,%esp
419eb5:	03 f7                	add    %edi,%esi
419eb7:	8b 45 e8             	mov    -0x18(%ebp),%eax
419eba:	80 38 00             	cmpb   $0x0,(%eax)
419ebd:	75 02                	jne    0x419ec1
419ebf:	8b f0                	mov    %eax,%esi
419ec1:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
419ec5:	b1 34                	mov    $0x34,%cl
419ec7:	8b 55 08             	mov    0x8(%ebp),%edx
419eca:	0f 94 c0             	sete   %al
419ecd:	fe c8                	dec    %al
419ecf:	24 e0                	and    $0xe0,%al
419ed1:	04 70                	add    $0x70,%al
419ed3:	88 06                	mov    %al,(%esi)
419ed5:	8b 02                	mov    (%edx),%eax
419ed7:	8b 52 04             	mov    0x4(%edx),%edx
419eda:	e8 11 c5 00 00       	call   0x4263f0
419edf:	8b c8                	mov    %eax,%ecx
419ee1:	33 db                	xor    %ebx,%ebx
419ee3:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
419ee9:	2b 4d f4             	sub    -0xc(%ebp),%ecx
419eec:	1b db                	sbb    %ebx,%ebx
419eee:	78 0f                	js     0x419eff
419ef0:	7f 04                	jg     0x419ef6
419ef2:	85 c9                	test   %ecx,%ecx
419ef4:	72 09                	jb     0x419eff
419ef6:	c6 46 01 2b          	movb   $0x2b,0x1(%esi)
419efa:	83 c6 02             	add    $0x2,%esi
419efd:	eb 0e                	jmp    0x419f0d
419eff:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
419f03:	83 c6 02             	add    $0x2,%esi
419f06:	f7 d9                	neg    %ecx
419f08:	83 d3 00             	adc    $0x0,%ebx
419f0b:	f7 db                	neg    %ebx
419f0d:	8b fe                	mov    %esi,%edi
419f0f:	6a 30                	push   $0x30
419f11:	58                   	pop    %eax
419f12:	88 06                	mov    %al,(%esi)
419f14:	85 db                	test   %ebx,%ebx
419f16:	7c 3f                	jl     0x419f57
419f18:	b8 e8 03 00 00       	mov    $0x3e8,%eax
419f1d:	7f 04                	jg     0x419f23
419f1f:	3b c8                	cmp    %eax,%ecx
419f21:	72 16                	jb     0x419f39
419f23:	6a 00                	push   $0x0
419f25:	50                   	push   %eax
419f26:	53                   	push   %ebx
419f27:	51                   	push   %ecx
419f28:	e8 43 c5 00 00       	call   0x426470
419f2d:	04 30                	add    $0x30,%al
419f2f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
419f32:	88 06                	mov    %al,(%esi)
419f34:	46                   	inc    %esi
419f35:	3b f7                	cmp    %edi,%esi
419f37:	75 0b                	jne    0x419f44
419f39:	85 db                	test   %ebx,%ebx
419f3b:	7c 1a                	jl     0x419f57
419f3d:	7f 05                	jg     0x419f44
419f3f:	83 f9 64             	cmp    $0x64,%ecx
419f42:	72 13                	jb     0x419f57
419f44:	6a 00                	push   $0x0
419f46:	6a 64                	push   $0x64
419f48:	53                   	push   %ebx
419f49:	51                   	push   %ecx
419f4a:	e8 21 c5 00 00       	call   0x426470
419f4f:	04 30                	add    $0x30,%al
419f51:	89 55 e4             	mov    %edx,-0x1c(%ebp)
419f54:	88 06                	mov    %al,(%esi)
419f56:	46                   	inc    %esi
419f57:	3b f7                	cmp    %edi,%esi
419f59:	75 0b                	jne    0x419f66
419f5b:	85 db                	test   %ebx,%ebx
419f5d:	7c 1a                	jl     0x419f79
419f5f:	7f 05                	jg     0x419f66
419f61:	83 f9 0a             	cmp    $0xa,%ecx
419f64:	72 13                	jb     0x419f79
419f66:	6a 00                	push   $0x0
419f68:	6a 0a                	push   $0xa
419f6a:	53                   	push   %ebx
419f6b:	51                   	push   %ecx
419f6c:	e8 ff c4 00 00       	call   0x426470
419f71:	04 30                	add    $0x30,%al
419f73:	89 55 e4             	mov    %edx,-0x1c(%ebp)